2017-05-25 9 views
0

私は最初のneo4jプロジェクトを開始しています。私はあなたにサッカーの試合についての統計を与えることができるアプリを作りたいと思っています。私はこのモデルを思いついたので、あなたが考えていることを読んでみたいです。すべてのstatにノードです - - 私は簡単に多くのアシストを作っ人のような質問に答えることができ、このようにそれをやってneo4jで統計をモデル化する方法

enter image description here

私はそれを見る方法、。または、各チームの集計統計情報は何ですか。

私の質問は規模に関するものです。これはどのようにスケールされますか?チームと選手は最終的にはstat_ofタイプの関係をたくさん持っています。

答えて

2

それがそうであるように、あなたは複数の次元に基づいて統計を検索しようとしているので、統計が増加し、より多くのゲームがプレイされるので問題になる可能性が高く、最終的にあなたが望むすべての次元を得ることができます。

たとえば、similar questionに類似のモデルと要件があります。最後の5試合で最も多くのゴールを決めたトップ5の選手が見つかりました。

これは、各プレイヤーの最後の5試合(チームノードと発注)でマッチングを行い、最後の5試合のゴールに合致し、プレイヤーごとに合計する必要があります。

高速化するために、モデルに中間ノードを追加して、これらのトラバーサルを簡単にすることができます。

たとえば、各チームと各ゲームに対応する各プレーヤーのPlayerStatsノードは、目標とアシストに関係しています(目標とアシストとの関係を維持したい場合は:Goalと:AssistノードをPlayerおよび:チームノード)。モデルが少し複雑になり、隣接ノード間の関係がさらに必要になりますが、プレーヤ、チーム、ゲームごとの統計を簡単にグループ化できるため、関連性のない統計情報をトラバースする必要がなくなります。

また、いくつかのクエリのノードに展開する代わりに、ノードからdegrees of relationshipsを使用してクエリを実行できるように、STAT_OFではなく関連するノードとの関係にASSISTEDと:SCOREDを使用することをおすすめします。

アシストノードをアシストノードに置き換えて、それを:アシストされた関係と置き換えることができます。

関連する問題