apoc.refactor.rename.label
语法 |
|
||
描述 |
将所有 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
要重命名的标签。 |
|
|
|
标签的新名称。 |
|
|
|
要应用新名称的节点。如果此列表为空,则所有具有旧标签的节点都将被重命名。默认值为: |
|
返回参数 |
名称 |
类型 |
描述 |
|
|
操作运行的批次数量。 |
|
|
|
执行的重命名总数。 |
|
|
|
完成操作所需时间。 |
|
|
|
已提交操作的总数。 |
|
|
|
失败操作的总数。 |
|
|
|
失败批次的总数。 |
|
|
|
重试的总次数。 |
|
|
|
收集到的错误消息。 |
|
|
|
|
|
|
|
|
|
|
|
与给定标签或类型关联的约束。 |
|
|
|
与给定标签或类型关联的索引。 |
|
使用Cypher设置和移除标签
在Cypher中,无需使用APOC即可动态引用标签。
SET n:$(label)
REMOVE n:$(label)
动态计算的标签必须解析为STRING或LIST<STRING>。更多信息,请参阅《Cypher手册 → 动态设置标签》和《Cypher手册 → 动态移除标签》。
使用示例
本节示例基于以下示例图谱
CREATE (mark:Engineer {name: "Mark", city: "London"})
CREATE (jennifer:Engineer {name: "Jennifer", city: "St Louis"})
CREATE (michael:Engineer {name: "Michael", city: "Dresden"})
CREATE (jim:Engineer {name: "Jim", city: "London"})
CREATE (alistair:Engineer {name: "Alistair", city: "London"})
MERGE (jim)-[:COLLEAGUES {since: date("2006-05-01")}]->(alistair)
MERGE (mark)-[:COLLEAGUES {since: date("2018-02-01")}]->(jennifer)
MERGE (mark)-[:COLLEAGUES {since: date("2013-05-01")}]->(michael);
以下使用APOC和Cypher将Mark、Jennifer和Michael的标签从Engineer更改为DevRel
MATCH (person:Engineer)
WHERE person.name IN ["Mark", "Jennifer", "Michael"]
WITH collect(person) AS people
CALL apoc.refactor.rename.label("Engineer", "DevRel", people)
YIELD total
RETURN total
MATCH (person:Engineer)
WHERE person.name IN ["Mark", "Jennifer", "Michael"]
SET person:DevRel
REMOVE person:Engineer
RETURN count(*) AS total
| total | |
|---|---|
3 |
此查询运行后,我们将得到以下图谱