我有一个移动关系的查询,但如果存在现有的目标关系,它们不会被替换,所以我最终得到了两个相似的连接。
match (new:state) where new.val = {new}
match (b:state)-[r1:q]->(p:state)-[r2:q]->(n:state)
where b.val = {blast} and p.val = {past} and n.val = {now}
merge (b)-[nr1:q]->(new)-[nr2:q]->(n)
set nr1.val = r1.value, nr2.val = r2.val
delete r1, r2
如果 (b)-[:q]->(new) 存在,nr1 不会覆盖它,而是创建新关系,所以我最终得到两个 .
如果 r1 或 r2 尚不存在,我想创建 nr1 或 nr2 并且如果存在则对值求和,否则只需复制它们