我正在处理密码请求,但我不明白如何根据条件设置属性。我目前的要求如下:
"MATCH (p:Picto{uuid : {pictoUuid}}) OPTIONAL MATCH (p)-[:PICTO_OF]->(e:Element) SET p.deleted = true, e.deleted = true"
我想要做的是只有当元素的所有picto都已删除属性等于true时才设置“e.deleted = true”。
我认为在this post中有一些事可做,但我不明白如何实现这一目标。
非常感谢
答案 0 :(得分:1)
此查询是否适合您?它将指定的Picto
标记为已删除,然后检查与其Pictos
(如果有)关联的所有Element
是否已标记为已删除。如果是,则标记Element
也被删除。
MATCH (p:Picto{uuid : {pictoUuid}})
OPTIONAL MATCH (p)-[:PICTO_OF]->(e:Element)
SET p.deleted = TRUE
WITH e
MATCH (x)-[:PICTO_OF]->(e)
WITH e, COLLECT(x) AS pictos
WHERE ALL(p IN pictos WHERE p.deleted = TRUE)
SET e.deleted = TRUE;