我想在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
Run Code Online (Sandbox Code Playgroud)