2017-08-18 15 views
1

Neo4jを初めて使用しました。現在、引用ネットワークを構築中です。Neo4j Cypher - 2つのCSVファイルを使用してリレーションシップを作成する

ノードプロパティとその他の関係プロパティを含む2つのCSVファイルがあります。

PAPERS.CSV -

paperId, title, year 
123, abc, 1900 
234, cde, 1902 
456, efg, 1904 

CITES.CSV -

fromId, ToId 
123, 234 
234, 456 

私のグラフは(123)--cites-->(234)--cites-->(456)のようになります。 これらのファイルを使用すると、ノード間の関係を作成する方法は?

答えて

3

ヘッダー名とデータにもスペースを入れないでください。 コントロールから外れている場合は、トリム機能とバッククィックを使用してヘッドネームを参照できます。しかし、通常、あなたのcsvはきれいでなければなりません。 ファイルはneo4jのインポートディレクトリにある必要があります。それ以外の場合は、neo4j.confのdbms.directories.import = importプロパティをコメントアウトする必要があります。

あなたは、このようなノードを作成することができます。

LOAD CSV WITH HEADERS FROM "file:///PAPERS.CSV" as line 
    CREATE (p:Paper {paperId:trim(line.paperId), title: trim(line.` title`), year: trim(line.` year`)}); 

をそして、あなたはこのような関係を作成することができます

LOAD CSV WITH HEADERS FROM "file:///CITES.CSV" as line 
    MATCH (p1:Paper {paperId:trim(line.fromId)}) 
    MATCH (p2:Paper {paperId:trim(line.` ToId`)}) 
    CREATE (p1)-[:CITES]->(p2); 
+0

ありがとうございました!!それは動作しますが、 'match(n)return(n)'をクエリすると。私はノードしか見ることができません。関係を持つグラフ全体を見るために使用すべき他のクエリはありますか? – Anusha

+0

私はあなたが正常に関係を見るべきだと思います。そうでない場合は、ノードをクリックするとノードを展開し、[子関係を展開]をクリックします。 または、次のクエリを使用できます。MATCH p =() - [r:CITES] - >()RETURN p LIMIT 25 – szenyo

関連する問題