Neo4j加载CSV以创建动态关系类型
我可以将CSV加载到Neo4j中,以获得特定标签(例如Neo4j加载CSV以创建动态关系类型,neo4j,Neo4j,我可以将CSV加载到Neo4j中,以获得特定标签(例如PERSON),节点在标签PERSON下创建 我还有另一个CSV来说明人与人之间的关系,它看起来像: name1, relation, name2 a, LOVE, b a, HATE, c 我想在这些对之间创建一个关系,这样创建的关系应该是“爱”、“恨”等,而不是像下面的脚本那样僵化的关系: load csv with headers from "file:///d:/Resources/Neo4j/person-rel.csv" as
PERSON
),节点在标签PERSON
下创建
我还有另一个CSV来说明人与人之间的关系,它看起来像:
name1, relation, name2
a, LOVE, b
a, HATE, c
我想在这些对之间创建一个关系,这样创建的关系应该是“爱”、“恨”等,而不是像下面的脚本那样僵化的关系
:
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
-关系
换句话说,我希望动态分配脚本最后一行中的REL
。然后我可以使用neo4japi查询出所有的关系类型
这可能吗?您可以安装,然后使用apoc.merge.relationship
关系(startNode,relType,{key:value,…},{key:value,…},endNode)-使用动态类型合并关系
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(*);