Installation
APOC Extended can be downloaded using one of the methods described in the sections below.
Neo4j Server
Since APOC relies on Neo4j’s internal APIs you need to use the matching APOC version for your Neo4j installation.
APOC uses a consistent versioning scheme: <neo4j-version>.<apoc>
version.
The trailing <apoc>
part of the version number will be incremented with every apoc release.
Make sure that the first two version numbers match between Neo4j and APOC.
Go here for all the APOC extended releases and download the binary jar to place into your $NEO4J_HOME/plugins
folder.
After you move the jar file to the plugins folder you have to restart neo4j with neo4j restart
Version Compatibility Matrix
APOC uses a consistent versioning scheme: <neo4j-version>.<apoc>
version.
The trailing <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 |
---|---|
5.19.0 (5.19.x) |
|
5.18.0 (5.18.x) |
|
5.17.0 (5.17.x) |
|
5.16.0 (5.16.x) |
|
5.15.0 (5.15.x) |
|
5.14.0 (5.14.x) |
|
5.13.0 (5.13.x) |
|
5.12.0 (5.12.x) |
|
5.11.0 (5.11.x) |
|
5.10.0 (5.10.x) |
|
5.9.0 (5.9.x) |
|
5.8.0 (5.8.x) |
|
5.7.0 (5.7.x) |
|
5.6.0 (5.6.x) |
|
5.5.0 (5.5.x) |
|
5.4.0 (5.4.x) |
|
5.3.0 (5.3.x) |
|
5.2.0 (5.2.x) |
|
5.1.0 (5.1.x) |
|
4.4.0 (4.4.x) |
If by mistake a jar not compatible with the neo4j version is inserted, a log.warn
like this will appear in neo4j.log
:
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
Neo4j Desktop
APOC Extended cannot be installed via the Plugins
tab.
The present "APOC" box installs APOC core instead, that is:
In order to install APOC Extended, we necessarily have to download the compatible version from here,
and the put it manually into the $NEO4J_HOME/plugins
folder.
Docker
APOC Extended can be used with the Neo4j Docker image via the NEO4J_PLUGINS=apoc-extended
environment variable.
If we use this environment variable, the APOC plugin will be downloaded and configured at runtime.
This feature is intended to facilitate using APOC in development environments, but it is not recommended for use in production environments. |
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 \
-e NEO4J_PLUGINS=\[\"apoc-extended\"\] \
neo4j:{neo4j-version}
We should see the following two lines in the output after running this command:
Fetching versions.json for Plugin 'apoc' from https://neo4j-contrib.github.io/neo4j-apoc-procedures/versions.json
Installing Plugin 'apoc' from https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.21.0/5.21.0-extended.jar to /plugins/apoc.jar
In a production environment we should download the APOC release matching our Neo4j version and, copy it to a local folder, and supply it as a data volume mounted at /plugins
.
plugins
directory and then mounts that folder to the Neo4j Docker containermkdir plugins
pushd plugins
wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.21.0/apoc-5.21.0-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
Maven Repository
In a pom.xml
of a maven project, you can add these two dependencies from Maven Repository:
<dependency>
<groupId>org.neo4j.procedure</groupId>
<artifactId>apoc-extended</artifactId>
<version>5.21.0</version>
<classifier>extended</classifier>
</dependency>
Alternatively, you can download the jar from here
and put it into plugin
folder.