2017-07-27 4 views
1

Neo4jには非常に新しいですが、私は興奮しています。しかし、私はCSVファイルの形で次のデータをモデル化しようとするのが難しくなっています。Neo4jでのデータモデリングの問題

ID  Document Word 
123  Book  Potter,Love,Bond 
124  Book  Love,Game 
134  Pad   Game,Hate 
111  BB   Hate,Level,Awesome 
109  Feat  Awesome 

理想的には私は、ドキュメントの列には、ノードのプロパティの一つとして、各ノードのユニークな要素として、IDを持って見ていると関係HASと、各IDに添付個々のノードとしてすべての単語のです。だから、愛は両方のIDに関連付けられる123と

124 CYPHERクエリ上の任意のヘルプは

答えて

2

まず、文書ノードと単語ノード上の制約を作成する素晴らしいことだ

CREATE CONSTRAINT ON (d:Document) ASSERT d.id IS UNIQUE 

CREATE CONSTRAINT ON (w:Word) ASSERT d.name IS UNIQUE 

イムあなたが推測使用方法:LOAD CSV

LOAD CSV WITH HEADERS FROM "url" as row 
MERGE (d:Document{id:row.ID}) 
ON CREATE SET d.type = row.Document 
with d,split(row.Word,",") as words 
UNWIND words as word  
MERGE (w:Word{name:word}) 
MERGE (d)-[:HAS]->(w) 
+0

ありがとうございます。ちょうど2つのこと、それは誤植でなければなりません。しかし、私はそれらのエラーを解決することができません 1. 2番目のCREATE制約ステートメントは、d.nameの代わりにw.nameが必要と思われる 2. MERGE(d:Document {row.ID})ステートメントは、私はエラー "入力時に実行可能な代替手段はありません" 次のマージを見ると、私はIDでローを置き換えました。しかし、これは次のような別のエラーを投げた: "変数' id'が定義されていない(行2、列21(オフセット:60)) "MERGE(d:ドキュメント{d:id})" グッド。 ありがとう –

+0

答えを編集... cypherは、あなたのcsvのように見えるだけで良いです –

+0

他の編集を追加...ドキュメントが見つかりませんでしたID: –

関連する問題