2016-04-04 20 views
1

私は特定のノードのすべての子を見つけようとしています。Neo4j:1つのタグだけの関係を見つける

match(t:TAG)<-[children:CHILD_OF]-(subtag:TAG) where t.name="brand" return t.name, subtag.name 

上記のクエリから正しい結果が得られました。しかし、このクエリが効率的であるかどうかは疑問です。最初に「tagAはtagBの子です」という関係をすべて取得してから、tagBが与えられた場所にフィルタリングします。

これを書き込むには、より良い方法が必要です。助けてください。

答えて

3

あなたはprofile

+0

を使用して違いを確認することができます

match(t:TAG) where t.name="brand" with t Match (t)<-[children:CHILD_OF]-(subtag:TAG) return t.name, subtag.name 

驚くほど私のクエリは(あなたは小さなタグの数とのNeo4jは、クエリの最適化を持っている)それはあなたのデータセットのbecouseかもしれない – tanvi

+0

速くなり、これを試してみてください、キャッシュ。それが私には奇妙に見えない場合は、名前にインデックスがあることを確認してください。 – Evgen

+0

そうかもしれない。インデックスがあることを確認するにはどうすればよいですか? – tanvi

関連する問題