2016-04-11 8 views
0

現在、ムービーID、ディレクター、アクターを使用してneo4jデータベースにCSVファイルをインポートしようとしています。 CSVそれは次のようになります。分割されたノードを別のノードに接続する方法は?

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

私の問題:私は区切られ、ユニークなノードに役者を分割することですが、彼らは彼らが行動MovieIDsに接続されていない

後私は映画の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) 

答えて

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) 
     ) 
関連する問題