apoc.trigger.propertiesByKey
Function APOC Full
This procedure is not intended to be used in a cluster environment, and may act unpredictably. |
Usage Examples
This function is used inside a apoc.trigger.add Cypher statement.
We can use it to conditionally run Cypher statements when properties are added or removed.
For example, we can connect nodes with a genre
property to a Genre
node, with the following trigger:
CALL apoc.trigger.add(
'triggerTest',
'UNWIND apoc.trigger.propertiesByKey($assignedNodeProperties, "genre") as prop
WITH prop.node as n
MERGE (g:Genre {name: n.genre})
MERGE (n)-[:HAS_GENRE]->(g)
',
{}
);
Let’s now create a Movie
node with a genre
property:
CREATE (:Movie {title: "The White Tiger", genre: "Crime"});
And now let’s find all HAS_GENRE
relationships:
MATCH path = ()-[:HAS_GENRE]->()
RETURN path;
path |
---|
(:Movie {genre: "Crime", title: "The White Tiger"})-[:HAS_GENRE]→(:Genre {name: "Crime"}) |