2015-04-19 88 views
2

我正在使用Neo4j 2.2.0。我有兩個csv文件。第一個csv是所有節點的不同列表,例如,朋友節點。第二個csv是朋友之間關係的列表。我正在使用瀏覽器加載數據並創建關係。但是,在創建關係時,它會爲朋友創建新節點,而不是使用現有節點。使用節點csv和關係創建關係csv

Cypher支架加載FRIENDS-

USING PERIODIC COMMIT 10000 
    LOAD CSV WITH HEADERS FROM "http://localhost/csv/Friends.csv" AS row 
    CREATE (:Friends {Friend_Name: row.Friend_Name}); 

Cypher支架加載relationships-

USING PERIODIC COMMIT 10000 
    LOAD CSV WITH HEADERS FROM "http://localhost/csv/Relationships.csv" AS row 
    MATCH (Friend1:Friends {Friend_Name: row.Friend_Name}) 
    MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name}) 
    CREATE (Friend1)-[:Friend_With]->(Friend2); 

請可有人點我在正確的方向。

回答

2

這是正常的,在你的第二個LOAD CSV說法,你有這樣一行:

MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name}) 

您正在使用關係的標籤,這是不對的。您需要更改爲:

MATCH (Friend2:Friends {Friend_Name: row.Friend_Name}) 

而且,朋友看我非合適的標籤,一個人的標籤會更準確的友誼其實你的關係,告訴你有關圖形

+0

剛添加一些信息: 我的第一個csv只有一列:朋友的名字(Friend_Name)。 我的第二個csv有兩列 - 第一個(Friend_Name)和第二個朋友(Friend_Name2)的名字, –