2017-03-04 102 views
0

我是Neo4j的新手,在Neo4j上做了一些練習。Neo4j導入csv製作特定圖形

我有頭csv文件:

product,material 
aa,bb 
aa,cc 
cc,bb 
dd,aa 

我想將它導入到N4j和創造「從」 已命名的關係,並希望它的圖形是這樣的:graph 起初,我認爲這是很容易,我努力爭取2ds,放棄... 我需要幫助。 我的代碼是在這裏:

load csv with headers from"files:\\test.csv" as file 
merge (p:product {id:file.product}) 
merge (m:material {id:file.material}) 
create (p)-[:from]->(m) 

,然後將結果是在這裏:graph2

所以,

1.How可我做 「AA」 創造只有一個節點?

2.如何讓節點顯示「aa」「bb」...而不是數字?

3.btw,在n4j手冊中,「導入工具」和「加載csv」有什麼區別?

回答

1

問題是您在創建查詢中使用了不同的標籤。

CSV中的第2行創建了一個ID爲'cc'的素材節點。 雖然您在第3行中具有'cc'作爲您的ID,但它適用於:產品節點。在第3行執行時,沒有這樣的產品節點:id爲'cc'(有一個:帶有該id的材料節點,但由於標籤不同,匹配失敗),因此創建了一個新的product節點。

同樣與'aa'。 CSV中的第1行和第2行合併a:產品節點'aa',但第4行中的id用於:材料節點。再次,標籤是不同的,所以它不會重用您以前創建的節點。

要實現您所需的圖形,如果所有的id都指向同一個節點,那麼合併中的標籤也必須相同。