0
との関係を取得します。私はこのクエリを使用して取得し、グラフのこの次のタイプ持っているノード
MATCH (p:Person)-[:REPORTS_TO *]->(c:Person) WHERE p.name="F"
WITH COLLECT (c) + p AS all
UNWIND all as p MATCH (p)-[:REPORTS_TO]-(c)
RETURN p,c;
ユースケース:
1.私が見つけたいですノードのレベルはノードF
に対してどのレベルですか? 例:
Node `D`, `E` are direct child of `F`, hence they are at level 1
Node `A,B,C` are childs of `D` (which is child of `F`) hence level 2
Node `X` is child of `A' (which is at level 2), hence level 3
and so onnnnn....
Iは、(それは働いていなかった)変数i
を導入することによってこの問題を解決し、各反復でそれを増加しようとしました。
MATCH (p:Person)-[:REPORTS_TO *]->(c:Person) WHERE p.name="F"
WITH COLLECT (c) + p AS all ,i:int=0
UNWIND all as p MATCH (p)-[:REPORTS_TO]->(c)
RETURN p,c, i=i+1;
2.与えられた2つのノードが関係を見つけ、その後
例えばanswer = 3 (as it is at level 3)
どのように私はこれらのユースケースを解決するために進むべきを期待Find relation between F and X?
?
注意:Neo4jサーバーからのグラフィカルな応答は必ずしも必要ではありませんが、Jsonの応答もうまくいきます。
感謝:
shortestPath
関数を使用'use-case 1'を解決しましたが、' use-case 2'を進める方法 –@PrakashPandeyはuc2に答えを追加しました –