如何将分裂的节点连接到另一个节点?
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)
)
我目前正在尝试在我的 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)
)