2017-05-01 1 views
-1

Stellen Sie sich vor meine Abfrage Ergebnisse in Knoten mit anderen Namen, aber in meiner nächsten Abfrage möchte ich in der zusammengeführten Version des vorherigen Ergebnisses suchen. Wie kann ich zwei Listen oder zwei Knoten zusammenführen? Als Beispiel vorstellen, ich habeMERGE die Ergebnisse/Liste in Neo4j mit Cypher

(: class1) -> (c1: Klasse 2) -> (: Klasse 3) - (: class4) -> (c2: class2)

und dann Ich möchte ein MATCH basierend auf den verschiedenen Elementen in der Zusammenführung von c1.name und c2.name erstellen.

+4

beschreiben Sie bitte detaillierter und teilen Sie, was Sie getan haben. Eine vage Antwort auf eine vage Frage wäre, wenn Sie Daten aus früheren Abfragen im nächsten verwenden möchten, speichern Sie den Zwischenschritt auf Neo4j. –

+0

@ Tomaž Bratanič Tut mir leid, ich habe die Beschreibung aktualisiert, ich hoffe, es ist jetzt klarer. – Afshin

Antwort

0

Der Trick, den ich irgendwo gelernt, diese Arbeit zu machen, ist

MATCH (:class1)-->(c1:class2)-->(:class3)--(:class4)-->(c2:class2) 
WITH collect(c1)+collect(c2) as nodez 
UNWIND nodez as c 
RETURN c 

Beachten Sie, dass Sie nicht eine Liste von Knoten + Beziehungen auf diese Weise kombinieren. Sie müssen alle Knoten oder alle Beziehungen sein.