gpt4 book ai didi

neo4j - 如果节点不存在,则使用密码在节点之间创建关联

转载 作者:行者123 更新时间:2023-12-04 10:23:20 25 4
gpt4 key购买 nike

假设有 2 个标签 P 和 M。M 具有名称为 M1,M2,M3..M10 的节点。我需要将 P 的 50 个节点与 M 的每个节点相关联。此外,标签 P 的节点不应与 M 的节点有 2 个关联。

这是我可以想出的密码查询,但似乎不起作用。

MATCH (u:P), (r:M{Name:'M1'}),(s:M) 
where not (s)-[:OWNS]->(u)
with u limit 50
CREATE (r)-[:OWNS]->(u);

通过这种方式,我会为 M 的所有 10 个节点运行。对纠正查询的任何帮助表示赞赏。

最佳答案

您可以利用 apoc.periodic.* 库进行批处理。更多信息在documentation

call apoc.periodic.commit("
MATCH (u:P), (r:M{Name:'M1'}),(s:M) where not (s)-[:OWNS]->(u)
with u,r limit {limit}
CREATE (r)-[:OWNS]->(u)
RETURN count(*)
",{limit:10000})

如果永远只有一个 (r)-[:OWNS]->(u)关系,我会改变我的第一场比赛以包括
call apoc.periodic.commit("
MATCH (u:P), (r:M{Name:'M1'}),(s:M) where not (s)-[:OWNS]->(u) and not (r)-[:OWNS]->(u)
with u,r limit {limit}
CREATE (r)-[:OWNS]->(u)
RETURN count(*)
",{limit:10000})

所以程序不会陷入循环

关于neo4j - 如果节点不存在,则使用密码在节点之间创建关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42642594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com