2017-04-04 5 views
0

Ich habe diese Knoten in meinem neo4j. Es handelt sich um einen Stammbaum. HierWie finde ich die Nachbarn eines Knotens in neo4j?

ist das Bild: Graph View

Ich möchte die alle Nachbarn für einen bestimmten Knoten aus dem Blatt zu finden. Ist das möglich? Kann mir jemand helfen?

Erklärung:

Diese Cypher Abfrage, um die Enkelkinder alle für ‚Lucas Hankinson‘ zurück:

MATCH(n:FamilyTree{name: 'Lucas Hankinson'})-[*2..2]->(m) RETURN collect(m) 

Wenn ich den Namen eines von Lucas Enkel gegeben wurde, und ich möchte alle seine/ihre sehen Cousins ​​und Geschwister (im Grunde die Nachbarknoten dieses Enkels), wie kann ich das in einer Cypher-Abfrage tun.

+0

Können Sie erklären, was Sie mit "Nachbarn" verstehen? Wie möchten Sie, dass die Traversierung funktioniert und welche Knoten bei einem Knoten in Ihrer Beispielansicht zurückgegeben werden sollen? – InverseFalcon

Antwort

0

Sie können versuchen, den Pfadbegriff zu verwenden. z.B. Von dem gegebenen Grand Child Namen (z. B. Elwood Alger) finden Sie den Grand Parent unter Verwendung des Pfades (in diesem Fall Lucas Hankinson) und dann finden Sie alle Grand Children.

Abfrage:

MATCH (gc:FamilyTree{name: 'Elwood Alger'})<--(p:FamilyTree)<--(gp:FamilyTree) 
OPTIONAL MATCH (gp) -[*2..2]->(m) WHERE m.name <> 'Elwood Alger' RETURN collect(m) 

Danke, Vishal

Verwandte Themen