安装

APOC 扩展可以使用以下部分中描述的方法之一下载。

Neo4j 服务器

由于 APOC 依赖于 Neo4j 的内部 API,因此您需要使用与 Neo4j 安装匹配的APOC 版本

APOC 使用一致的版本控制方案:<neo4j-version>.<apoc> 版本。版本号的尾随 <apoc> 部分将随着每次 apoc 版本发布而递增。

确保Neo4j 和 APOC 之间的第一个版本号匹配

转到此处获取所有 APOC 扩展版本,并下载二进制 jar 文件以将其放置到 $NEO4J_HOME/plugins 文件夹中。

将 jar 文件移到 plugins 文件夹后,您需要使用 neo4j restart 重新启动 neo4j。

版本兼容性矩阵

APOC 使用一致的版本控制方案:<neo4j-version>.<apoc> 版本。版本号的尾随 <apoc> 部分将随着每次 apoc 版本发布而递增。

版本兼容性矩阵解释了 Neo4j 和 APOC 版本之间的映射

apoc 版本 neo4j 版本

5.19.0

5.19.0 (5.19.x)

5.18.0

5.18.0 (5.18.x)

5.17.1

5.17.0 (5.17.x)

5.16.0

5.16.0 (5.16.x)

5.15.0

5.15.0 (5.15.x)

5.14.0

5.14.0 (5.14.x)

5.13.0

5.13.0 (5.13.x)

5.12.0

5.12.0 (5.12.x)

5.11.0

5.11.0 (5.11.x)

5.10.0

5.10.0 (5.10.x)

5.9.0

5.9.0 (5.9.x)

5.8.0

5.8.0 (5.8.x)

5.7.0

5.7.0 (5.7.x)

5.6.0

5.6.0 (5.6.x)

5.5.0

5.5.0 (5.5.x)

5.4.0

5.4.0 (5.4.x)

5.3.1

5.3.0 (5.3.x)

5.2.0

5.2.0 (5.2.x)

5.1.0

5.1.0 (5.1.x)

4.4.0.28

4.4.0 (4.4.x)

如果错误地插入了与 neo4j 版本不兼容的 jar 文件,则 neo4j.log 中将出现类似以下内容的 log.warn

The apoc version (<APOC_VERSION>) and the Neo4j DBMS versions [NEO4J_VERSION] are incompatible.
See the compatibility matrix in https://neo4j.ac.cn/labs/apoc/4.4/installation/ to see the correct version

Neo4j 桌面

无法通过 插件 选项卡安装 APOC 扩展。当前的“APOC”框安装的是 APOC 核心,即

desktop apoc

为了安装 APOC 扩展,我们必须从此处下载兼容的版本,然后手动将其放入 $NEO4J_HOME/plugins 文件夹中。

Docker

APOC 扩展可以使用Neo4j Docker 镜像 通过 NEO4J_PLUGINS=apoc-extended 环境变量。

如果我们使用此环境变量,APOC 插件将在运行时下载和配置。

此功能旨在简化在开发环境中使用 APOC,但建议不要在生产环境中使用。

以下在使用最新版本的 APOC 库的 Docker 容器中运行 Neo4j {neo4j-version}
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}

运行此命令后,我们应该在输出中看到以下两行

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

在生产环境中,我们应该下载与 Neo4j 版本匹配的APOC 版本,将其复制到本地文件夹,并将其作为数据卷挂载到 /plugins

以下将 APOC 扩展库下载到 plugins 目录中,然后将该文件夹挂载到 Neo4j Docker 容器中
mkdir 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

如果要将自定义 apoc 配置传递到 Docker 实例,可以使用环境变量,例如

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 存储库

在 Maven 项目的 pom.xml 文件中,您可以从 Maven 仓库 添加以下两个依赖项。

<dependency>
    <groupId>org.neo4j.procedure</groupId>
    <artifactId>apoc-extended</artifactId>
    <version>5.21.0</version>
    <classifier>extended</classifier>
</dependency>

或者,您可以从 这里 下载 jar 包,并将其放置在 plugin 文件夹中。

加载并解除限制