Running Cypher fragments
We can use Cypher as a safe, graph-aware, partially compiled scripting language within APOC.
Procedure Overview
The supported procedures are described in the table below:
| Qualified Name | Type | Release | 
|---|---|---|
|  - executes fragments in parallel through a list defined in  | 
 | 
 | 
|  - executes fragments in parallel batches through a list defined in  | 
 | 
 | 
| 
 | 
 | 
 | 
| Apoc Extended | 
 | 
 | 
Example: Fast Node-Counts by Label
We can quickly compute the number of nodes for a specific label using the count function, but only if that’s the only single thing in the query.
For example:
MATCH (:Person) RETURN count(*);We can also combine several with UNION ALL:
MATCH (:Person) RETURN count(*)
UNION ALL
MATCH (:Movie) RETURN count(*);But we can’t do the same thing using the WITH clause:
MATCH (:Person)
WITH count(*) as people
MATCH (:Movie) RETURN people, count(*) as movies;This query will work out the count by iterating over all nodes, which is a very slow operation