Ein Knoten A hat 3 verbundene Knoten B1, B2, B3. Diese Bx-Knoten haben wieder die Knoten C1, C2, C3 und C4 verbunden. Auch Knoten A haben 2 verbundene Knoten C5 und C6.Finden Sie verbundene Gruppen über Ebenen
Beginnend mit Knoten A möchte ich alle C-Knoten sammeln. Ich habe eine Abfrage für den A-Knoten durchgeführt, sammle die zwei C-Knoten, dann eine Abfrage für die B-Knoten, sammle wieder alle C-Knoten und führe beide Arrays zusammen. Arbeit, ist aber nicht sehr schlau.
Ich versuchte (Pseudocode)
MATCH (g)<-[:IS_SUBGROUP_OF*1]-(i)-[:HAS_C_NODES]->(c) WHERE g = A.uuid RETURN C_NODES
Aber ich bekomme entweder alle c-Knoten für A oder für die B-Knoten
Wie würde ich tun, um eine Abfrage, die alle C-Knoten beginnen sammelt mit Knoten A?
* bearbeitet * Hier ist ein Beispiel Daten:
CREATE (a:A), (b1:B1), (b2:B2), (b3:B3), (c1:C1), (c2:C2), (c3:C3), (c4:C4), (a)-[r:HAS]->(c4), (a)-[r1:HAS]->(b1), (a)-[r2:HAS]->(b2), (a)-[r3:HAS]->(b3), (b1)-[r4:HAS]->(c1), (b1)-[r5:HAS]->(c2), (b2)-[r6:HAS]->(c3)
Eine Abfrage, um alle Knoten mit C zurückkehren sollte beginnen, um ganz gleich, welcher Knoten sie verbunden sind (A oder B).
Es wäre besser, wenn Sie ein Beispiel von Eingabedaten zeigen, das gewünschte Ergebnis und wie versuchen Sie es zu bekommen. –