2016-05-21 68 views
1

我想從csv文件中創建圖形,但我無法在現有節點中添加其他關係。如何在neo4j的現有節點中附加關係?

我實際的代碼是:

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] 

這應該是一個簡單的,它創造了很好的節點和首創的關係,但對於行[2],它只是創造新節點的關係。我能做什麼?

感謝

未在 WITH子句中管道

回答

1

一切都是不可查詢的下一部分:

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 

只需添加p標識,使其可在剩餘部分查詢:

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

非常感謝! 它完美的作品。 –

+0

酷可以請你接受答案 –