Neo4j 合并密码单节点关系中的节点

Neo4j consolidate nodes in cypher single node relationship

我拼命想了解如何在 Neo4J 中合并节点以获得更简化的关系。 我有一个包含四列的数据集:Person_1_ID、Person_1_Name、Person_2_ID、Person_2_Name

当 ID 存在于两列时,如何合并 ID 以便只显示一个节点?

例如:

我的数据集如下所示:

如果我像这样进行简单的匹配和合并:

LOAD CSV WITH HEADERS FROM 'file:///users.csv' AS row
MATCH (Person_1:Person_1 {Person_1_ID: row.Person_1_ID})
MATCH (Person_2:Person_2 {Person_2_ID: row.Person_2_ID })
MERGE (Person_2)-[pr:REFERRING]->(Person_1);

它产生这个:

我正在尝试在 names/IDs 上合并,以便关系如下所示:

拼命想了解如何在此处正确合并节点,以便巩固关系。非常感谢任何指导和代码示例!

道格

您有几个问题:

在初始节点导入中,不要使用 Person_1 和 Person_2 节点标签。只需坚持使用单个节点标签 Person。 person id 节点 属性 也是如此。如果我是你,我会删除现有图表并使用以下 Cypher 生成所需的结果:

LOAD CSV WITH HEADERS FROM 'file:///users.csv' AS row
MERGE (Person_1:Person {id: row.Person_1_ID})
MERGE (Person_2:Person {id: row.Person_2_ID })
MERGE (Person_2)-[pr:REFERRING]->(Person_1);