Working with the FOREACH clause
The FOREACH
clause can be used to process a list and update the data in a graph. It can only be used to update data using the CREATE
, MERGE
, SET
, DELETE
, REMOVE
, and FOREACH
clauses. It is not possible to use the MATCH
clause within FOREACH
. Also, the variables in the context of the FOREACH
clause are limited to its scope only and there is no option to remove those variables to be used after FOREACH
.
Let’s look at an example usage:
MATCH (p:Patient) WHERE p.marital IS NULL WITH collect(p) as nodes FOREACH( n in nodes | SET n:UNKNOWN_STATUS)
In this query, we are finding all the patients whose marital status is null
, collecting all those patients into a list, and then using the FOREACH
clause to add an UNKNOWN_STATUS
label.
We can see from the screenshot that we have updated 388
patient nodes with the new label.
Figure 8.15 – Using FOREACH to add a new label to the node
Another usage of the FOREACH
clause...