Ich habe eine komplexe Abfrage, die ich versuche, mit OPTIONAL MATCH
Aussagen zu tun. Es sieht wie folgt aus:Neo4j Cypher - Spalten zusammenführen und eindeutige Werte aus allen bekommen
MATCH (p:Person {name:'Victoria'})
OPTIONAL MATCH (p)-[:MANAGES]->(:Office)<-[MERGES_INTO*0..]-(:Office)<-[:WORKS_WITH]-(target1)
OPTIONAL MATCH (p)-[:SUPPORTS]->(:Office)<-[MERGES_INTO*0..]-(:Office)<-[:WORKS_WITH]-(target2)
OPTIONAL MATCH (p)-[:ASSISTS]->(:Person)-[*0..1]->(:Group)<--(target3)
OPTIONAL MATCH (p)-->(:Group)<--(target4)
RETURN DISTINCT target1,target2,target3,target4
Was ich will ist, die Ergebnisse zu tun bekommen, als ob sie eine einzige Säule waren target
genannt, anstatt sich target1
, target2
, target3
und target4
zurück als separate Spalten.
Gibt es eine Möglichkeit, die vier möglichen Zielspalten zu sammeln/abzuwickeln, um sie als einspaltige Ergebnismenge zurückzugeben?
Ich weiß, ich könnte das gewünschte Ergebnis mit einem UNION
von vier separaten Abfragen erhalten, die einen Wert namens target zurückgeben, aber ich fragte mich, ob es einen besseren Weg gab.
Danke.
Das ist genau das Beispiel, das ich brauchte, um 'collect' und' with' in den Griff zu bekommen. Vielen Dank. –