gpt4 book ai didi

neo4j - 如何使用 Cypher 在 Neo4j 中建立关系 "replace"?

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

我有一组想要“替换”的关系,即创建一个新的然后删除旧的,因为关系是不可变的。

我最初是这样认为的:

MATCH paths=()-[:BRANCH]-()
FOREACH (old in relationships(paths) |
WITH startNode(old) as n1, endNode(old) as n2
MERGE (n1)-[new:CONTAINS]-(n2)
SET new = old
DELETE r
)

但是 WITH 关键字是不允许的,并且必须能够弄清楚如何将局部变量分配给开始和结束节点。

最佳答案

您可以再次使用 FOREACH 来破解 WITH,例如:

FOREACH (n1 in [startNode(old)]| ... // you now have an identifier n1 referring to startNode(old)

如果这只是长度为 1 的路径,我不确定我是否看到这样做的值(value)。你不能这样做吗:

MATCH (n1)-[old:BRANCH]->(n2) 
CREATE (n1)-[new:CONTAINS]->(n2)
DELETE old

关于neo4j - 如何使用 Cypher 在 Neo4j 中建立关系 "replace"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20733024/

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