APOC Extended can be downloaded using one of the methods described in the sections below.
Since APOC relies on Neo4j’s internal APIs you need to use the matching APOC version for your Neo4j installation. Make sure that the first two version numbers match between Neo4j and APOC.
Go to here for all the APOC extended releases and download the binary jar to place into your
After you move the jar file to the plugins folder you have to restart neo4j with
Since APOC relies on Neo4j’s internal APIs, you need to use the right APOC version for your Neo4j installation.
APOC uses a consistent versioning scheme:
<apoc> part of the version number will be incremented with every apoc release.
The version compatibility matrix explains the mapping between Neo4j and APOC versions:
|apoc version||neo4j version|
If by mistake a jar not compatible with the neo4j version is inserted, a
log.warn like this will appear in
The apoc version (<APOC_VERSION>) and the Neo4j DBMS versions [NEO4J_VERSION] are incompatible. See the compatibility matrix in https://neo4j.com/labs/apoc/4.4/installation/ to see the correct version
APOC Extended can be used with Docker.
This feature is intended to facilitate using APOC in development environments, but it is not recommended for use in production environments.
Download the APOC release matching our Neo4j version and, copy it to a local folder, and supply it as a data volume mounted at
pluginsdirectory and then mounts that folder to the Neo4j Docker container
mkdir plugins pushd plugins wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.0.0-rc01/apoc-5.0.0-rc01-extended.jar popd docker run --rm -e NEO4J_AUTH=none -p 7474:7474 -v $PWD/plugins:/plugins -p 7687:7687 neo4j:5.0
If you want to pass custom apoc config to your Docker instance, you can use environment variables, like here:
docker run \ -p 7474:7474 -p 7687:7687 \ -v $PWD/data:/data -v $PWD/plugins:/plugins \ --name neo4j-apoc \ -e NEO4J_apoc_export_file_enabled=true \ -e NEO4J_apoc_import_file_enabled=true \ -e NEO4J_apoc_import_file_use__neo4j__config=true \ neo4j
For security reasons, procedures that use internal APIs are disabled by default.
They can be enabled by specifying config in
If you want to do this when using the Neo4j Docker container, you need to amend
-e NEO4J_dbms_security_procedures_unrestricted=apoc.\\\* to your
docker run … command.
The three backslashes are necessary to prevent wildcard expansions.
You can also whitelist procedures and functions in general to be loaded using:
Was this page helpful?