我正在尝试更新节点,但我遇到了一些麻烦。
我的数据是这样的:
(node1 {prop:1})&lt ;-( node2 {prop:null})&lt ;-(node3 {prop:null})
我想更新node2 {prop:2}和node3 {prop:3},具体取决于node1 {prop1}值(+1)
我的要求是:
MATCH (n) <-[r]- (m) WHERE n.prop IS NOT NULL AND m.prop IS NULL SET m.prop = n.prop + 1;
但是这只更新了node2,我需要再次执行请求来更新node3。
有没有办法为每个节点执行此操作?我不知道我将更新多少个节点(此时我需要做10次请求,但未来可能需要15次,具体取决于数据)
非常感谢:)
答案 0 :(得分: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