2017-07-27 55 views
0

我正在嘗試請求更新節點,但我遇到了一些麻煩。遞歸請求?同時搜索和更新節點

我的數據都是這樣的:

(節點{道具:1})< - (節點2 {道具:空})< - (節點3 {道具:空})

我想更新節點2 {丙:2}和{節點3道具:3}取決於節點1 {PROP1}值(1)

我的要求是:

MATCH (n) <-[r]- (m) WHERE n.prop IS NOT NULL AND m.prop IS NULL SET m.prop = n.prop + 1; 

但這僅更新節點2,我需要執行日再次請求更新節點3。

有沒有辦法爲每個節點做到這一點?我不知道我會更新多少個節點(此時我需要做10次請求,但根據數據將來可能會有15次)

非常感謝:)

回答

0

您可以嘗試以下查詢。

//get the first node 
MATCH (head{prop:1}) 
// match all the following 
MATCH p=(head)<-[r*1..]-(node) 
// set the sequence 
SET node.prop = length(p) + 1