2017-12-14 8 views
0

特定のラベル(たとえばPERSON)のNeo4jにCSVをロードして、ノードをラベルPERSONの下に作成できます。Neo4jはCSVをロードして動的関係タイプを作成します

私はまた、人との関係を説明するために、別のCSVを持っていると同じように見えます:「、ヘイトを私はこれらのペアの間の関係を作成するため、作成した関係は「LOVE」でなければなりません

name1, relation, name2 
a, LOVE, b 
a, HATE, c 

」など、代わりに以下のスクリプトによって行われるように剛性RELATIONの:これを行うことにより

load csv with headers from "file:///d:/Resources/Neo4j/person-rel.csv" as p 
match (a:PERSON) where a.name=p.name1 
match (b:PERSON) where b.name=p.name2 
merge (a)-[r:REL {relation: p.REL}]->(b) 

、私はREL型関係の束を持っていなくLOVE - とHATE -relations 。

つまり、スクリプトの最終行にあるRELを動的に割り当てる必要があります。そして、Neo4j APIを使ってすべてのリレーションシップタイプを照会することができます。

これは可能ですか?

答えて

1

あなたはAPOC libraryをインストールしてからapoc.merge.relationship(startNode、RELTYPE、apoc.merge.relationship

を使用することができます{キー:値、...}、{キー:値、...}、エンドノード) - 動的タイプとのマージの関係

load csv with headers from "file:///d:/Resources/Neo4j/person-rel.csv" as p 
match (a:PERSON) where a.name=p.name1 
match (b:PERSON) where b.name=p.name2 
call apoc.merge.relationship(a,p.REL,{},{},b) yield rel 
return count(*); 
+0

素晴らしい!できます! – TaylorR

関連する問題