我想將一個csv加載到Neo4j數據庫中。我有followed this guideline但仍不明白爲什麼不爲我工作。從一個csv文件在Neo4j中創建關係
我可以正確創建節點(它的屬性是除一個之外的所有列),我想在所有節點之間建立一個只剩下沒有添加到節點的屬性的關係。
我在file.csv
數據的樣子:
列,instaGramId,imageDateCreated,imageTagCount,ImageFilter的,googleLabel_list 0,1165524631240624607_638926073,1453161384,7,正常, 「[卡通,漫畫, 藝術品]」
...
我以下步驟:
步驟1:創建節點此工作正常
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
CREATE (:Post {instaGramId: row.instaGramId,
imageDateCreated: toInt(row.imageDateCreated),
imageTagCount: row.imageTagCount,
imageFilter: row.imageFilter});
只有屬性左邊是googleLabel_list
,其必須是在一個不同的節點
步驟2:創建一個索引此我猜
CREATE INDEX ON :Post(instaGramId);
第3步:創建關係這是不正常工作
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
MATCH (post:Post {id: row.instaGramId})
MATCH (objects:Post {id: row.googleLabel_list})
MERGE (post)-[:CONTAINS_OBJECTS]->(objects);
'MATCH(post:Post {id:row.instaGramId})'不會匹配任何東西,因爲該屬性被稱爲'instaGramId',而不是'id'。 –
非常感謝您的回答。我將'id'改爲'instaGramId',但沒有任何內容仍然匹配。爲了創建實例相同的CSV數據集的列之間的關係,我看到他們這樣做: '使用週期性COMMIT' '頁眉LOAD CSV FROM「文件:employees.csv」 AS row' 'MATCH (員工:員工{employeeID:row.EmployeeID})' 'MATCH(manager:Employee {employeeID:row.ReportsTo})' 'MERGE(employee) - [:REPORTS_TO] - >(manager);' – EnriqueH
也許。 ..我必須創建'googleLabel_list'屬性中的新節點嗎? – EnriqueH