2017-12-08 8 views
0

異なる関係とノードのリストを持つグラフがあります。このリストのノード間のタイプ "E"の関係を知りたい。neo4j:リスト内のノード間の関係のタイプのクイック検索

現在、我々は次のようにします:

With ["0","1","2","10"] as list1 
MATCH p=(x)-[:E]-(y) 
WHERE (x.frag IN list1) AND (y.frag IN list1) 
RETURN p  

それは少数のノードのために動作しますが、それもわずか100ノードと非常に遅くなります。

たとえば、APOCでこの結果をより速くする方法はありますか?

よろしくお願いいたします。

+1

を私は最初のステップとして、あなたがすべきだと思う:1.特定のノードラベル2。 'frag'がそのノードラベルに対して索引付けされていることを確認してください。つまり、' CREATE INDEX ON:SomeLabel(frag) 'を実行してください。 –

+0

こんにちは。あなたの答えをGaborにありがとう。 「そのフラグがそのノードラベルに対して索引付けされていることを確認する」と言うと、CSVファイルの場合、最初の行には "frag:ID"が含まれていなければなりません。それを確認できますか? –

答えて

1

ラベルを使用してパラメータを索引付けするだけで、パフォーマンスが大幅に向上することがあります。

MATCHのP =(X:NODE_LABELX) - [:E] - (Y:NODE_LABELY)

もチェックアウト:https://graphaware.com/neo4j/2015/01/16/neo4j-graph-model-design-labels-versus-indexed-properties.html

+0

こんにちは、あなたの情報より。 Aラベルが追加され、より速くなりましたが、150ノードのリストではまだ非常に遅いです!解決策はありますか? –

+0

あなたも使用しているプロパティのインデックスを作成しましたか?グラフにはどのくらいのノードや関係がありますか? –

関連する問題