我想读取一个csv文件,其中前两列具有节点名称,第三列具有节点关系。目前,我在py2neo中使用它:
query2 =“”“
使用定期提交
从“ file:///data.csv” AS行加载带有标题的CSV文件>
MERGE(topic:Topic {name:line.Topic})
合并(结果:结果{name:line.Result})
创建唯一主题(主题)-[:讨论]->(结果)
“”“
我尝试过此操作,但是它没有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 ...
实际上,您的第二个查询几乎是正确的(除了它具有无关的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