我有一个Neo4J数据库启动并运行当前2个标签:公司和个人。Neo4j通过相同的属性关联节点
每个公司节点都有一个名为old_id的属性。
每个人节点都有一个名为company的属性。
现在我想建立每个公司和每个人之间的关系,其中old_id和公司共享相同的值。
已经尝试过建议,由:Find Nodes with the same properties in Neo4J和 Find Nodes with the same properties in Neo4J
第一个链接我尝试以下操作:
MATCH (p:Person)
MATCH (c:Company) WHERE p.company = c.old_id
CREATE (p)-[:BELONGS_TO]->(c)
导致在没有变化,并通过第二个链接我试过建议:
START
p=node(*), c=node(*)
WHERE
HAS(p.company) AND HAS(c.old_id) AND p.company = c.old_id
CREATE (p)-[:BELONGS_TO]->(c)
RETURN p, c;
导致运行时间大于36小时。现在,我不得不放弃命令而不知道它是否最终会奏效。因此,我想问问它的理论是否正确,我只是不耐烦(数据集相当大tbh)。或者如果这样做更有效的方式。
1.什么是您当前的模式2.请输出一些公司和人员节点的值,以确保字符串和整数之间不存在不匹配 –
您的第一个查询应该可以正常工作,尤其是,如果你有':Company(old_id)'的索引 –