我有一个csv文件,其中包含我朋友的名字(人物)列表;以及代表我(Person)的节点。我想要做的是自动在csv文件中创建我和每个其他朋友之间的“朋友”关系。
我找到了一个例子,它使用命令“FOREACH”创建了一个列表“mark,anna,jhon,bob”和一个人“x”之间的关系,但我的情况更为笼统。
提前致谢。
答案 0 :(得分:0)
使用Cypher中的LOAD CSV
子句,这应该非常简单:
LOAD CSV WITH HEADERS FROM 'file:///path/to/file.csv' AS line
MATCH
(me:Person {id: {my_id}}),
(friend:Person {id: toInt(line.id)})
WHERE {my_id} <> toInt(line.id)
CREATE (me)-[:FRIEND_WITH]->(friend)
您也可以按照文档中的说明使用LOAD CSV WITH HEADERS
。
我不确定你的CSV文件到底是什么样的,所以我猜了一下。您可能需要修改该文件。如果您的名字一再重复,您可以使用MERGE
,并仍然使用MATCH
给朋友。