ich diese folgende Art von Graphen, die ich diese Abfrage erhalten mit:Erhalten Beziehung zwischen den Knoten
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;
Use Case:
1. Wen möchte ich finden In welcher Ebene befindet sich ein Knoten in Bezug auf den Knoten F
? Beispiel:
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....
Ich habe versucht, dieses Problem zu lösen, indem eine variable i
einleitet und das Ganze mit jeder Iteration erhöht (aber es nicht gearbeitet haben).
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. Gegeben zwei Knoten finden Beziehung zwischen dann
beispiels Find relation between F and X?
answer = 3 (as it is at level 3)
Erwartet
Wie gehe ich vor, diese Anwendungsfälle zu lösen?
Hinweis: Grafische Antwort von Neo4j Server wird nicht unbedingt benötigt, Json Antwort wird auch in Ordnung sein.
Vielen Dank:
shortestPath
Funktion 'Anwendungsfall 1' gelöst, aber wie geht es mit 'Anwendungsfall 2' weiter? –@PrakashPandey hat Antwort auf uc2 hinzugefügt –