gpt4 book ai didi

neo4j - Cypher 查询从一个节点获取所有关系,并将它们附加到另一个节点

转载 作者:行者123 更新时间:2023-12-01 09:53:48 24 4
gpt4 key购买 nike

我的问题是.. 给定两个节点,节点 A 和节点 B,是否有一个密码查询从节点 A 中删除所有关系并将它们附加到节点 B,以便以前连接到节点 A 的所有节点现在都连接到节点 B?

我确信此类查询有很多用例,但我的用例与合并多个社交网络登录有关:

鉴于我有一个成员(member)帐户 (member1) 使用 google 作为登录提供商我有一个单独的成员(member)帐户 (member2),使用 facebook 作为登录提供商当 member1 尝试连接到 member2 用作登录提供商的同一 facebook 帐户时和 member1 请求合并(合并帐户)并且 member2 确认合并然后将合并 member1 和 member2 的帐户一名成员将继续使用 google 和 facebook 作为登录提供商。

执行此操作的密码查询是什么?

最佳答案

编辑:现在有办法动态指定关系类型。因此,下面的解决方法仅限于具有相同类型且没有属性的关系。


让我们创建一些数据:

CREATE (n1:Node1)
CREATE (n2:Node2)
CREATE (target1:Target)
CREATE (target2:Target)
CREATE (target3:Target)
CREATE (n1)-[:REL]->(target1)
CREATE (n1)-[:REL]->(target2)
CREATE (n1)-[:REL]->(target3);

我们现在有这样的数据:

data

现在我们要将关系从Node1“移动”到Node2

查询:

MATCH (n1:Node1)-[r:REL]->(target)
MATCH (n2:Node2)
CREATE (n2)-[:REL]->(target)
DELETE r

结果是:

result

我们基本上完成的是:

  • 从一条路径获取关系
  • 创建与其他节点的关系
  • 从原始节点删除关系

关于neo4j - Cypher 查询从一个节点获取所有关系,并将它们附加到另一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628783/

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