2015-10-28 95 views
0

我有一個CSV文件,其中包含要使用Neo4j轉換爲圖形數據庫的數據。文件中的列採用以下格式:使用LOAD CSV創建Neo4j圖形數據庫

Person1 | Person2 | Points

現在Person1和Person2中的id是多餘的,所以我使用的是合併語句。但我沒有得到正確的結果。 對於示例數據集,輸出似乎是正確的,但是當我導入由2M行組成的數據集時,它不知何故不會創建關係。

我正在使用我正在使用的密碼代碼。

USING PERIODIC COMMIT 1000 
LOAD CSV WITH HEADERS FROM "file:C:/Users/yogi/Documents/Neo4j/default.graphdb/sample.csv" AS csvline 
MERGE (p1:Person {id:toInt(csvline.id1)}) 
MERGE (p2:Person {id:toInt(csvline.id2)}) 
CREATE (p1)-[:points{count:toInt(csvline.c)}]->(p2) 
+1

您的查詢看起來正確。節點是否正確創建? –

+0

嘿@MartinPreusse,節點正在創建,但關係數量顯示爲0.也許我錯過了總共35,000個節點中的200個節點。 –

+0

爲了排除故障,您可以在兩個查詢中拆分節點和關係的創建。查看Stefan答案的鏈接。 –

回答

0

有些事情你應該檢查:

  1. 您使用一個索引:CREATE INDEX ON :Person(id)應該取決於你使用的Neo4j版進口
  2. 運行之前,語句可能會受到到基本防止定期提交的「急切管道」。欲瞭解更多熱心管道,請參閱http://www.markhneedham.com/blog/2014/10/23/neo4j-cypher-avoiding-the-eager/
+0

渴望的事情實際上工作。我試着先創建節點,然後再匹配它們來創建關係。 –

相關問題