2016-05-21 8 views
1

Ich versuche, ein Diagramm aus einer CSV-Datei zu erstellen, aber ich bin nicht in der Lage, zusätzliche Beziehung in den vorhandenen Knoten hinzuzufügen.Wie kann man Beziehungen in bestehenden Knoten in neo4j anhängen?

Mein eigentlicher Code ist:

USING PERIODIC COMMIT 10000 
LOAD CSV FROM 'my_file.csv' AS line 
MERGE (p:Title { title: line[0]}) 

MERGE (a:Author { name: line[1]}) 
MERGE (a)-[:COLABORATE_IN]->(p) 

WITH line WHERE line[2] IS NOT NULL 
MERGE (b:Author {name: line[2]}) 
MERGE (b)-[:COLABORATE_IN]->(p) //not working 

RETURN line[2] 

Es soll eine einfach sein, es schafft auch die Knoten und die Premieren Beziehungen, sondern auch für die Linie [2] es nur um die Beziehungen für neue Knoten zu erstellen. Was könnte ich tuen?

Dank

Antwort

1

Alles, was in der WITH Klausel nicht verrohrt wird auf den nächsten Teil der Abfrage nicht verfügbar:

MERGE (a:Author { name: line[1]}) 
MERGE (a)-[:COLABORATE_IN]->(p) 

WITH line WHERE line[2] IS NOT NULL 
// p is no more available here 

Fügen Sie einfach die p Kennung Verfügung zu stellen in dem verbleibenden Teil der die Abfrage:

USING PERIODIC COMMIT 10000 
LOAD CSV FROM 'my_file.csv' AS line 
MERGE (p:Title { title: line[0]}) 

MERGE (a:Author { name: line[1]}) 
MERGE (a)-[:COLABORATE_IN]->(p) 

WITH p, line 
WHERE line[2] IS NOT NULL 
MERGE (b:Author {name: line[2]}) 
MERGE (b)-[:COLABORATE_IN]->(p) //not working 

RETURN line[2] 
+0

Vielen Dank! Es funktioniert perfekt. –

+0

Cool können Sie bitte die Antwort akzeptieren –