动态向 Neo4j 添加属性

Bal*_*raj 4 neo4j cypher

如何动态添加新属性到现有节点?在这里,我想将键和值动态分配给我的 chypher 查询。任何建议将不胜感激:)

Chr*_*sen 5

您可以使用键值对创建映射,并使用 来添加键值对SET

示例1:添加属性,将删除其他属性

WITH {name:"Kenny", age:10} as kv
MATCH (n:Person {uid:"123-fff"}) SET n = kv
Run Code Online (Sandbox Code Playgroud)

示例 2:追加属性,将替换现有键的值:

WITH {name:"Kenny", age:10} as kv
MATCH (n:Person {uid:"123-fff"}) SET n += kv
Run Code Online (Sandbox Code Playgroud)

理想情况下,您将传递 kv 作为查询参数,因此为查询发送的 json 将如下所示:

{
  "statements": [
    {
      "statement": "MATCH (n:Person) SET n += {kv}",
      "params": {
        "kv": {
          "name": "kenny",
          "age": 10
        }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)