Overview
APOC Toolbelt
apoc.periodic.iterate, apoc.load.json, apoc.cypher.run — the standard-library extension.
Why it matters
APOC ships the procedures Cypher itself doesn't include — large-batch writes (periodic.iterate), external IO (load.json / load.csv), schema utilities.
Going deeper
APOC (Awesome Procedures On Cypher) ships procedures Cypher itself doesn't include. The flagship is batched writes:
CALL apoc.periodic.iterate(
'MATCH (o:Order) WHERE o.normalized IS NULL RETURN o',
'SET o.normalized = true',
{batchSize: 5000, parallel: false}
);
The outer query streams the work; the inner query runs per batch in its own transaction, so a multi-million-row update stays within heap. Other staples: apoc.load.json / apoc.load.csv for external IO, apoc.cypher.run for dynamic Cypher, and graph-refactoring helpers.
Modern Neo4j has folded some of this into core Cypher (CALL { } IN TRANSACTIONS now covers many periodic.iterate cases). Reach for native Cypher first; use APOC where the core still has a gap, and pin the APOC version to your DB version.
