首页 文章

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

提问于
浏览
0

我目前正试图在我的neo4j数据库中导入一个csv文件,其中包含movie-id,director和actors . 它看起来像这样的csv:

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

我的问题:我能够将演员分成独立的节点,但是他们没有连接到他们演出的MovieID .

在为影片ID和导演/演员名称设置了唯一约束后,我的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)

1 回答

  • 0

    您需要在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)
            )
    

相关问题