我想做一个棘手的查询。我需要检查一段关系是否存在;
财产可能会变成负数。
本质上,这就是我想要的,尽管这种格式无法工作,因为合并后不能有WITH语句:
MATCH (n1:Type1 {id:{id1}), (n2:Type2 {id: {id2})
MERGE (n1)-[r:RELATIONSHIP]->(n2) WITH CASE
WHEN r.prop + {val} < 0 THEN 0
ELSE r.prop + {val} END as prop
ON CREATE SET r.prop = prop
ON MATCH SET r.prop = prop这是它的两部分,尽管我不想查询两次:
MATCH (n1:Type1 {id:{id1}), (n2:Type2 {id: {id2})
MERGE (n1)-[r:RELATIONSHIP]->(n2)
ON CREATE SET r.prop = 0
MATCH (n1:Type1 {id:{id1})-[r:RELATIONSHIP]->n2:Type2 {id: {id2})
WITH r, CASE
WHEN r.prop + {val} < 0 THEN 0
ELSE r.prop + {val} END as prop
SET r.prop = prop发布于 2016-10-09 18:02:18
MATCH (n1:Type1 {id:{id1}), (n2:Type2 {id: {id2})
MERGE (n1)-[r:RELATIONSHIP]->(n2)
ON CREATE SET r.prop =
CASE
WHEN {val} < 0 THEN 0
ELSE {val}
END
ON MATCH SET r.prop =
CASE
WHEN r.prop + {val} < 0
THEN 0
ELSE r.prop + {val}
END发布于 2016-09-24 10:19:48
我认为这个查询应该能做到这一点:
MATCH (n1:Type1 {id:{id1}), (n2:Type2 {id: {id2})
MERGE (n1)-[r:RELATIONSHIP]->(n2)
ON CREATE SET r.prop = 0
ON MATCH SET r.prop =
CASE r.prop
WHEN r.prop + {val} < 0
THEN 0
ELSE r.prop + {val}
ENDhttps://stackoverflow.com/questions/39673199
复制相似问题