Neo4j 中的关系属性

Relationship properties in Neo4j

我对 Neo4j 的关系有疑问。我有 3 个扩展名为 .csv 的文件要加载到 Neo4j 中。前两个文件是我已经成功创建的节点。这些文件是:forum_0.csv & person_0.csv 他们得到了这个 headers:

idForum|titleForum|creationDateForum (forum_0.csv)

idPerson|firstNamePerson|lastNamePerson| ... (person_0.csv)

我成功创建了两个节点,但现在我需要在这些节点之间创建关系。为此,我需要加载第三个文件,forum_hasMember_person_0.csv (这个文件有这个 header: idForum|idPerson|joinDateFHMP)

我的问题就在这一点上。我用这段代码加载第三个文件:

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM ".../forum_has_Member_person_0.csv" AS row
FIELDTERMINATOR "|"
MATCH (forum:Forum(idForum: row.idForum))
MATCH (person:Person(idPerson: row.idPerson))
MERGE (forum)-[:FOR_HASMEMBER_PRS]->(person);

如何创建 FOR_HASMEMBER_PRS 与 "joinDateFHMP" 属性 的关系? 这是关系创建中唯一剩下的事情。我该如何解决?

我喜欢在关系上放置一个标识符,然后使用 SET:

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM ".../forum_has_Member_person_0.csv" AS row
FIELDTERMINATOR "|"
MATCH (forum:Forum {idForum: row.idForum})
MATCH (person:Person {idPerson: row.idPerson})
MERGE (forum)-[r:FOR_HASMEMBER_PRS]->(person)
SET r.joinDateFHMP = row.joinDateFHMP;

这对你有用吗?我还修正了您问题查询中的一些拼写错误。

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM ".../forum_has_Member_person_0.csv" AS row
FIELDTERMINATOR "|"
MATCH (forum:Forum {idForum: row.idForum})
MATCH (person:Person {idPerson: row.idPerson})
MERGE (forum)-[:FOR_HASMEMBER_PRS {joinDateFHMP: row.joinDateFHMP}]->(person);