如何将分裂的节点连接到另一个节点?

How to connect splitted nodes to another node?

我目前正在尝试在我的 neo4j 数据库中导入一个包含电影 ID、导演和演员的 csv 文件。 csv 看起来像这样:

 |id|    directors   |           actors                |
 |33|Steven Spielberg|Tom Hanks; Brad Pitt; Tim Allen  |
 |34|John Lasseter   |Ryan Goslin; Brad Pitt; Tom Hardy|

我的问题:我能够将演员拆分成单独且唯一的节点,但他们没有连接到他们表演的电影 ID。

为电影 ID 和 director/actor 名称设置唯一约束后,我的 Cypherquery 如下所示:

 LOAD CSV WITH HEADERS FROM  
 'file:///C:/Users/Jens/Documents/SeminarDB/kleinefilmDB.csv' AS line
 CREATE (movie:Movie {id: TOINT(line.id)}) 
 MERGE (director:Director {name: line.director} )
 FOREACH (n IN SPLIT(line.actors, ";")| MERGE (actor:Actor {name: n}))

 CREATE (actor)-[:ACTED_IN]->(movie)
 CREATE (director)-[:DIRECTED]->(movie)

您需要在 FOREACH 中创建关系。

LOAD CSV WITH HEADERS FROM  
'file:///C:/Users/Jens/Documents/SeminarDB/kleinefilmDB.csv' AS line
CREATE (movie:Movie {id: TOINT(line.id)}) 
MERGE  (director:Director {name: line.director} )
CREATE (director)-[:DIRECTED]->(movie)   
FOREACH (n IN SPLIT(line.actors, ";")| 
         MERGE (actor:Actor {name: n})
         CREATE (actor)-[:ACTED_IN]->(movie)
        )