Prev |  | Next

## 11.7. Foreach

Collections and paths are key concepts in Cypher. To use them for updating data, you can use the `FOREACH` construct. It allows you to do updating commands on elements in a collection — a path, or a collection created by aggregation.

The identifier context inside of the foreach parenthesis is separate from the one outside it. This means that if you `CREATE` a node identifier inside of a `FOREACH`, you will not be able to use it outside of the foreach statement, unless you match to find it.

Inside of the `FOREACH` parentheses, you can do any of the updating commands —`CREATE`, `CREATE UNIQUE`, `DELETE`, and `FOREACH`.

Figure 11.2. Data for the examples

### 11.7.1. Mark all nodes along a path

This query will set the property `marked` to true on all nodes along a path.

Query.

    MATCH p =(begin)-[*]->(END )
    WHERE begin.name='A' AND END .name='D'
    FOREACH (n IN nodes(p)| SET n.marked = TRUE )

Nothing is returned from this query, but four properties are set.

Result

Properties set: 4
`(empty result)`

Copyright © 2014 Neo Technology

Prev | Up | Next
| Home |