我是neo4j中的新手,我試圖從兩個csv文件導入數據,但我無法做到。 兩個CSV文件的結構如下:如何從csv文件導入數據
master.csv:
ID NAME LASTNAME COLLEGE
01 aaa bbb ABC
02 xxx yyy BCE
award.csv:
playerID award year
01 best_player 2010
01 rookie_of_the_year 2011
02 best_player 2012
我怎樣才能創建pl的節點ayers和獎項以及我如何連接它們?
我嘗試使用此代碼:(但顯然它不工作)
CREATE CONSTRAINT ON (a:PLAYER) ASSERT a.id IS UNIQUE;
CREATE CONSTRAINT ON (b:AWARD) ASSERT b.award IS UNIQUE;
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "File:///master.csv" as line fieldterminator ';'
CREATE (:PLAYER {id:line.playerID, name:line.firstName, lastName:line.lastName});
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "File:///award.csv" as line fieldterminator ';'
MATCH (player:Player {id:line.playerID})
MERGE (award:AWARD {award:line.award})
CREATE (player)-[r:won]->(award)
set r += {year:line.year}
如果我還要爲學校添加節點,是不是?
CREATE CONSTRAINT ON (c:COLLEGE) ASSERT c.name IS UNIQUE;
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///master.csv" as line fieldterminator ';'
WITH line
MATCH (player:PLAYER {id:line.playerID})
MERGE (college:COLLEGE {name:line.college}})
CREATE (player)-[:studied]->(college)
感謝
* ... MATCH(玩家:PLAYER)... – manfr27
一切看起來不錯,問題可能是您嘗試在單個事務中運行它......您必須在單獨的事務中創建每個約束,然後分別運行第一個LOAD CSV和第二個LOAD CSV文件 –
是的,我單獨運行每個查詢。 可能是csv文件的問題? – manfr27