[英]How do you update multiple nodes in neo4j using cypher?
我有產品的日期我想在批處理操作中更新。 這是我正在使用的密碼的一部分,它不起作用:
match (p { Date:9102013 }) set p.Date = '9/10/2013' with p
match (p { Date:9302013 }) set p.Date = '9/30/2013' with p
match (p { Date:1092013 }) set p.Date = '1/0/2013' with p
match (p { Date:1292013 }) set p.Date = '1/2/2013' with p
match (p { Date:6182013 }) set p.Date = '6/18/2013' with p
match (p { Date:9202013 }) set p.Date = '9/20/2013' with p
match (p { Date:4262013 }) set p.Date = '4/26/2013' with p
match (p { Date:4162013 }) set p.Date = '4/16/2013' with p
match (p { Date:1142013 }) set p.Date = '1/1/2013' with p
match (p { Date:9252013 }) set p.Date = '9/25/2013' with p
match (p { Date:1151900 }) set p.Date = '1/1/1900' with p
match (p { Date:4112013 }) set p.Date = '4/11/2013' with p
match (p { Date:1242013 }) set p.Date = '1/2/2013' with p
match (p { Date:10142013 }) set p.Date = '10/14/2013' with p
match (p { Date:5202013 }) set p.Date = '5/20/2013' with p
match (p { Date:212013 }) set p.Date = '2/12/2013' with p
match (p { Date:10292013 }) set p.Date = '10/29/2013' with p
match (p { Date:262013 }) set p.Date = '2/6/2013' with p
match (p { Date:10242013 }) set p.Date = '10/24/2013' with p
match (p { Date:312013 }) set p.Date = '3/12/2013' with p
match (p { Date:5102013 }) set p.Date = '5/10/2013' with p
match (p { Date:2282013 }) set p.Date = '2/28/2013' with p
match (p { Date:5302013 }) set p.Date = '5/30/2013' with p
match (p { Date:5152013 }) set p.Date = '5/15/2013' with p
match (p { Date:362013 }) set p.Date = '3/6/2013' return p;**
您提供的示例是單個Cypher語句。 在這種情況下,第一個匹配將設置標識符p
以匹配具有Date
= 9102013
(如果有)的任何節點。 因此,后續匹配語句將無法匹配任何內容,因為p
已經綁定。
您應該將其修改為多個單獨的查詢,並使用Neo4j批處理API( http://docs.neo4j.org/chunked/stable/rest-api-transactional.html )將它們作為單獨的cypher語句發送。
例如(只有前3個),你會:
POST http://localhost:7474/db/data/transaction
Accept: application/json; charset=UTF-8
Content-Type: application/json
{
"statements" : [ {
"statement" : "MATCH (p { Date: {fromDate} }) SET p.Date = {toDate} RETURN p",
"parameters" : {
"props" : { "fromDate" : "9102013", "toDate": "9/10/2013" }
}
}, {
"statement" : "MATCH (p { Date: {fromDate} }) SET p.Date = {toDate} RETURN p",
"parameters" : {
"props" : { "fromDate" : "9302013", "toDate": "9/30/2013" }
}
}, {
"statement" : "MATCH (p { Date: {fromDate} }) SET p.Date = {toDate} RETURN p",
"parameters" : {
"props" : { "fromDate" : "1092013", "toDate": "1/0/2013" }
}
} ]
}
請注意,我還添加了參數使用,因為它更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.