Neo4j 如何在事务性密码HTTP中正确使用参数
我有点卡住了。我试图在http请求中使用参数以减少开销,但我不明白为什么这样做行不通:Neo4j 如何在事务性密码HTTP中正确使用参数,neo4j,Neo4j,我有点卡住了。我试图在http请求中使用参数以减少开销,但我不明白为什么这样做行不通: { "statements" : [ { "statement" : "MATCH (n:Person) WHERE n.name = {name} SET n.dogs={dogs} RETURN n", "parameters" : [{ "name" : "Andres", "dogs":5 },{ "name" : "Michael", "dogs":3 },{ "name" : "Som
{
"statements" : [ {
"statement" : "MATCH (n:Person) WHERE n.name = {name} SET n.dogs={dogs} RETURN n",
"parameters" : [{
"name" : "Andres",
"dogs":5
},{
"name" : "Michael",
"dogs":3
},{
"name" : "Someone",
"dogs":2
}
]
}]
}
我尝试过在I/COMMIT之前用一条语句打开一个事务,并将单独的“行”作为后续事务的参数输入,但没有成功
我从手册中的示例中了解到这一点
我遗漏了什么?后来我修改了来自的答案,它似乎通过使用FOREACH语句来允许多个参数的“集合”来工作
{
"statements" : [
{
"parameters": {
"props": [
{
"userid": "177032492760",
"username": "John"
},
{
"userid": "177032492760",
"username": "Mike"
},
{
"userid": "100007496328",
"username": "Wilber"
}
]
},
"statement": "FOREACH (p in {props} | MERGE (user:People {id:p.userid}) ON CREATE SET user.name = p.username) "
}
]
}
在这种情况下,您也可以使用“展开”: 声明:
UNWIND props as prop
MERGE (user:People {id: {prop}.id}) // and the rest of your query
{"props":[ {"id": 1234, "name": "John"},{"id": 4567, "name": "Chris"}]}
参数:
UNWIND props as prop
MERGE (user:People {id: {prop}.id}) // and the rest of your query
{"props":[ {"id": 1234, "name": "John"},{"id": 4567, "name": "Chris"}]}
这是Graphgen上用于从webapp将生成的图形加载到本地数据库中的内容 参数是键值的映射,其中的值可以是标量,也可以是列表或映射列表。非常感谢。