我正在使用Neo4j 2.2.0。我有两个csv文件。第一个csv是所有节点的不同列表,例如朋友节点。第二个csv是朋友之间关系的列表。我正在使用浏览器加载数据并创建关系。但是,在创建关系时,它会为Friends创建新节点,而不是使用现有节点。
Cypher用于加载好友 -
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "http://localhost/csv/Friends.csv" AS row
CREATE (:Friends {Friend_Name: row.Friend_Name});
Cypher用于加载关系 -
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "http://localhost/csv/Relationships.csv" AS row
MATCH (Friend1:Friends {Friend_Name: row.Friend_Name})
MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name})
CREATE (Friend1)-[:Friend_With]->(Friend2);
请有人指出我正确的方向。
答案 0 :(得分:2)
这是正常的,在你的第二个LOAD CSV语句中,你有这一行:
MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name})
您正在使用Relationships标签,这是错误的。您需要更改为:
MATCH (Friend2:Friends {Friend_Name: row.Friend_Name})
此外,朋友们向我看一个不合适的标签,一个人的标签会更准确,因为友情实际上是你的关系告诉你的关于图的