Neo4j:创建slef关系密码查询

时间:2014-11-22 14:27:33

标签: neo4j cypher relationships

我有大量的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。

1 个答案:

答案 0 :(得分:1)

为了基于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)
)

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

克里斯