如何使用py2neo读取csv文件在neo4j中创建不同的关系?

问题描述 投票:0回答:1

我想读取一个csv文件,其中前两列具有节点名称,第三列具有节点关系。目前,我在py2neo中使用它:

query2 =“”“

使用定期提交

从“ file:///data.csv” AS行加载带有标题的CSV文件>

MERGE(topic:Topic {name:line.Topic})

合并(结果:结果{name:line.Result})

创建唯一主题(主题)-[:讨论]->(结果)

“”“

如何使用csv文件中的第三列来设置关系,而不是将所有关系都设置为“ DISCUSSES”?

我尝试过此操作,但是它没有UNIQUE选项:

query1 =“”“

使用定期提交

从“ file:///data.csv” AS行加载带有标题的CSV文件>

MERGE(topic:Topic {name:line.Topic})

合并(结果:结果{name:line.Result})

合并(relation:Relation {name:line.Relation})

与主题,结果,行

CALL apoc.merge.relationship(topic,line.Relation,{},{},结果)以rel1作为rel1

返回主题,结果

“”“

我想读取一个csv文件,其中前两列具有节点名称,第三列具有节点关系。当前我在py2neo中使用它:query2 =“”“ USING PERIODIC COMMIT ...

neo4j cypher py2neo
1个回答
0
投票

实际上,您的第二个查询几乎是正确的(除了它具有无关的MERGE子句)。这是更正后的查询:

USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:///data.csv" AS line
MERGE (topic:Topic {name: line.Topic})
MERGE (result:Result {name: line.Result})
WITH topic, result, line
CALL apoc.merge.relationship(topic, line.Relation, {}, {}, result) YIELD rel
RETURN topic, result
© www.soinside.com 2019 - 2024. All rights reserved.