Neo4j 3.x introduced the concept of user-defined procedures and functions. Those are custom implementations of certain functionality, that can’t be (easily) expressed in Cypher itself. They are implemented in Java and can be easily deployed into your Neo4j instance, and then be called from Cypher directly.
The APOC library consists of many (about 450) procedures and functions to help with many different tasks in areas like data integration, graph algorithms or data conversion.
Starting from Neo4j 4.1.1, there are two available versions of the APOC Library:
- APOC Core
-
battle hardened procedures and functions that don’t have external dependencies or require configuration.
- APOC Full
-
contains everything in APOC core, as well as additional procedures and functions.
- APOC Core
-
APOC Core can be installed by moving the APOC jar file from the
$NEO4J_HOME/labs
directory to the$NEO4J_HOME/plugins
directory and restarting Neo4j. - APOC Full
-
If you want to download and run APOC Full, please download the JAR from the releases page and place it in the
$NEO4J_HOME/plugins
directory. For further instructions, see the installation documentation.
See the APOC User Guide for documentation of each of the major features of the library, including data import/export, graph refactoring, data conversion, and more.
All included procedures are listed in the overview in the documentation and detailed in subsequent sections.
Please provide feedback and report bugs as GitHub issues or join the Neo4j Community Forum and ask in the APOC & Procedures category.
You can build the library by running the following commands:
git clone http://github.com/neo4j-contrib/neo4j-apoc-procedures cd neo4j-apoc-procedures ./gradlew shadow cp build/libs/apoc-<version>-all.jar $NEO4J_HOME/plugins/ $NEO4J_HOME/bin/neo4j restart
A full build that also runs all tests can be run by the ./gradlew build
command.