apoc.refactor.rename.nodeProperty
语法 |
|
||
描述 |
将所有 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重命名的属性。 |
|
|
|
属性的新名称。 |
|
|
|
要应用新名称的节点。如果此列表为空,则所有具有旧属性名称的节点都将被重命名。默认值为: |
|
|
|
|
|
返回参数 |
名称 |
类型 |
描述 |
|
|
操作运行的批次数量。 |
|
|
|
执行的重命名总数。 |
|
|
|
完成操作所花费的时间。 |
|
|
|
已提交操作的总数。 |
|
|
|
失败操作的总数。 |
|
|
|
失败批次的总数。 |
|
|
|
重试的总次数。 |
|
|
|
收集到的错误消息。 |
|
|
|
|
|
|
|
|
|
|
|
与给定标签或类型关联的约束。 |
|
|
|
与给定标签或类型关联的索引。 |
|
使用 Cypher 设置和删除属性
在 Cypher 中可以动态引用属性,无需使用 APOC。
SET n[key] = <expr>
REMOVE n[key]
动态计算的键必须求值为 STRING 值。更多信息请参阅 Cypher 手册 → 动态设置或更新属性 和 Cypher 手册 → 动态删除属性。
用法示例
本节中的示例基于以下示例图:
CREATE (mark:DevRel {name: "Mark", city: "London"})
CREATE (jennifer:DevRel {name: "Jennifer", city: "St Louis"})
CREATE (michael:DevRel {name: "Michael", city: "Dresden"})
CREATE (jim:Engineer {name: "Jim", city: "London"})
CREATE (alistair:Engineer {name: "Alistair", city: "London"})
以下查询使用 APOC 和 Cypher 将所有带有 DevRel 标签的节点的属性 city 更改为 location
MATCH (person:DevRel)
WITH collect(person) AS people
CALL apoc.refactor.rename.nodeProperty("city", "location", people)
YIELD total
RETURN total
MATCH (person:DevRel)
SET person.location = person.city
REMOVE person.city
RETURN count(*) AS total
| total | |
|---|---|
3 |
以下查询返回重构完成后图中的所有节点:
MATCH (n)
RETURN (n)
| n |
|---|
(:DevRel {name: "Jennifer", location: "St Louis"}) |
(:DevRel {name: "Michael", location: "Dresden"}) |
(:Engineer {city: "London", name: "Jim"}) |
(:DevRel {name: "Mark", location: "London"}) |
(:Engineer {city: "London", name: "Alistair"}) |
|
此过程不会重命名属性;它会创建一个新属性,赋予新名称并从原始属性复制值,然后删除原始属性。 |