Neo4j:创建 slef 关系密码查询



我有大量的EmpBase(来自postgreSQL的csv文件)节点,例如:

neo4j-sh (?)$ match (e:EmpBase) return e limit 10;
+-------------------------------------------------------------------------+
| e                                                                       |
+-------------------------------------------------------------------------+
| Node[8992]{neo_eb_id:8993,neo_eb_name:"emp_no_8993",neo_eb_bossID:5503} |
| Node[8993]{neo_eb_id:8994,neo_eb_name:"emp_no_8994",neo_eb_bossID:8131} |
| Node[8994]{neo_eb_id:8995,neo_eb_name:"emp_no_8995",neo_eb_bossID:8624} |

什么密码查询可以在每个节点上创建自关系,以便每个具有neo_eb_bossid的节点都可以与足够的节点建立关系?

在postgreSQl中,数据约为1020MB表。在 Neo4j 中,导入后,如控制台所述,它是 6.42 GiB。

为了基于neo_eb_bossID创建关系,您可以匹配节点并运行一个 foreach 循环,该循环将创建与相关节点的关系:

MATCH (e:EmpBase) WITH collect(e) AS empbases
FOREACH (emp in empbases |
    MERGE (target:EmpBase {neo_eb_id:emp.neo_eb_bossID}
    MERGE (emp)-[:YOUR_RELATIONSHIP]->(target)
)

关于自我关系,我很难理解你到底想要什么。

克里斯

最新更新