2015-05-27 23 views
0

我正在處理密碼請求,但我不明白如何根據條件設置屬性。我現在的要求是這樣的:根據密碼請求中的條件設置propery

"MATCH (p:Picto{uuid : {pictoUuid}}) OPTIONAL MATCH (p)-[:PICTO_OF]->(e:Element) SET p.deleted = true, e.deleted = true" 

我想要做的是設置什麼「e.deleted =真正的」只有一個元素的所有浮雕已刪除屬性等於爲true。

我認爲在this post有一些事情要做,但我不明白如何實現這一點。

非常感謝

回答

1

此查詢是否適合您?它將指定的Picto標記爲已刪除,然後檢查與其Element(如果有)關聯的所有Pictos是否已被標記爲刪除。如果是這樣,那麼標記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; 
+0

非常感謝您的幫助。經過一些修改以修復錯誤「無法在已經綁定的節點上添加標籤或屬性」後,它運行良好。事實上,你不能在第二個MATCH中重複'e'(e:Element)的類型。 – clement

+0

修正了這個問題。謝謝。另外,請不要忘記提高我的答案。 – cybersam