apoc.refactor.rename.typeProperty
Procedure APOC Core
apoc.refactor.rename.typeProperty(oldName, newName, [rels], {config}) | rename all relationship’s property from 'oldName' to 'newName'. If 'rels' is provided renaming is applied to this set only
Signature
apoc.refactor.rename.typeProperty(oldName :: STRING?, newName :: STRING?, rels = [] :: LIST? OF RELATIONSHIP?, config = {} :: MAP?) :: (batches :: INTEGER?, total :: INTEGER?, timeTaken :: INTEGER?, committedOperations :: INTEGER?, failedOperations :: INTEGER?, failedBatches :: INTEGER?, retries :: INTEGER?, errorMessages :: MAP?, batch :: MAP?, operations :: MAP?, constraints :: LIST? OF STRING?, indexes :: LIST? OF STRING?)
Input parameters
| Name | Type | Default | 
|---|---|---|
oldName  | 
STRING?  | 
null  | 
newName  | 
STRING?  | 
null  | 
rels  | 
LIST? OF RELATIONSHIP?  | 
[]  | 
config  | 
MAP?  | 
{}  | 
Output parameters
| Name | Type | 
|---|---|
batches  | 
INTEGER?  | 
total  | 
INTEGER?  | 
timeTaken  | 
INTEGER?  | 
committedOperations  | 
INTEGER?  | 
failedOperations  | 
INTEGER?  | 
failedBatches  | 
INTEGER?  | 
retries  | 
INTEGER?  | 
errorMessages  | 
MAP?  | 
batch  | 
MAP?  | 
operations  | 
MAP?  | 
constraints  | 
LIST? OF STRING?  | 
indexes  | 
LIST? OF STRING?  | 
Usage Examples
The examples in this section are based on the following sample graph:
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);
The following query changes the relationship property since to from for all relationships:
MATCH ()-[rel]->()
WITH collect(rel) AS rels
CALL apoc.refactor.rename.typeProperty("since", "from", rels)
YIELD batches, total, timeTaken, committedOperations
RETURN batches, total, timeTaken, committedOperations;
| batches | total | timeTaken | committedOperations | 
|---|---|---|---|
1  | 
3  | 
0  | 
3  | 
The following query returns all the paths in our graph after this refactoring has been done:
MATCH path = ()-[]->()
RETURN path
| path | 
|---|
[{"name":"Mark","location":"London"},{"from":"2018-02-01"},{"name":"Jennifer","location":"St Louis"}]  | 
[{"name":"Mark","location":"London"},{"from":"2013-05-01"},{"name":"Michael","location":"Dresden"}]  | 
[{"name":"Jim","city":"London"},{"from":"2006-05-01"},{"name":"Alistair","city":"London"}]  |