Lists and paths are key concepts in Cypher.
FOREACH can be used to update data, such as executing update commands on elements in a path, or on a list created by aggregation.
The variable context within the
FOREACH parenthesis is separate from the one outside it.
This means that if you
CREATE a node variable within a
FOREACH, you will not be able to use it outside of the foreach statement, unless you match to find it.
FOREACH parentheses, you can do any of the updating commands —
If you want to execute an additional
MATCH for each element in a list then
UNWIND (see UNWIND) would be a more appropriate command.
This query will set the property
marked to true on all nodes along a path.
MATCH p =(begin)-[*]->(END ) WHERE begin.name = 'A' AND END .name = 'D' FOREACH (n IN nodes(p)| SET n.marked = TRUE )
0 rows, Properties set: 4
Was this page helpful?