gpt4 book ai didi

neo4j - 如果 NEO4J 中存在先前的关系,则更新关系属性

转载 作者:行者123 更新时间:2023-12-01 08:50:57 25 4
gpt4 key购买 nike

我想在 cypher 中构造一个执行以下操作的查询:

  • 如果不存在任何关系,则在具有包含持续时间的属性的 2 个节点之间创建关系
  • 如果关系已经存在,则更新持续时间属性
    成为两个关系中持续时间最短的

  • 比较和更新部分是我无法在 cypher 中实现的。因此,非常感谢这方面的任何帮助。

    最佳答案

    您需要结合 MERGE ON CREATE | ON MATCH CASE expression .例如:

    MATCH (A:City {id: 1})
    MATCH (B:City {id: 2})
    WITH A, B, toInteger(rand()*100) as newDuration
    MERGE (A)-[r:next]->(B)
    ON CREATE SET r.duration = newDuration
    ON MATCH SET r.duration = CASE
    WHEN r.duration > newDuration
    THEN newDuration
    ELSE r.duration
    END
    RETURN r.duration

    关于neo4j - 如果 NEO4J 中存在先前的关系,则更新关系属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716898/

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