安装
本手册涵盖了 APOC 核心的文档。有关 APOC 扩展版,请参阅APOC 扩展版手册。 |
APOC 与 Neo4j 打包在一起,可以在 $NEO4J_HOME/labs
目录中找到。
Neo4j Desktop
可以使用 Neo4j Desktop 安装 APOC。创建数据库后,进入 Manage
屏幕,然后点击 Plugins
标签页。在 APOC 框中点击 Install
,然后等待直到“APOC”旁边出现绿色对勾。

Neo4j 服务器
由于 APOC 依赖于 Neo4j 的内部 API,您需要为您的 Neo4j 安装使用匹配的 APOC 版本。请确保 Neo4j 和 APOC 的前两位版本号匹配。
请访问 最新版本,下载 Neo4j 2025.05 的二进制 jar 文件,并将其放入您的 $NEO4J_HOME/plugins
文件夹。
您可以在此处找到所有版本。
将 jar 文件移动到插件文件夹后,您必须使用 neo4j restart
命令重启 Neo4j。
APOC 采用一致的版本命名方案:<neo4j-version>.<apoc>
版本。版本号末尾的 <apoc>
部分将随每个 APOC 版本的发布而递增。
版本兼容性矩阵解释了 Neo4j 和 APOC 版本之间的映射关系
APOC 版本 | Neo4j 版本 |
---|---|
2025.05.0 (2025.05.x) |
|
2025.04.0 (2025.04.x) |
|
2025.03.0 (2025.03.x) |
|
2025.02.0 (2025.02.x) |
|
2025.01.0 (2025.01.x) |
|
5.26.8 (5.26.x) |
点击查看更早的 APOC 版本
APOC 版本 | Neo4j 版本 |
---|---|
5.25.1 (5.25.x) |
|
5.24.0 (5.24.x) |
|
5.23.0 (5.23.x) |
|
5.22.0 (5.22.x) |
|
5.21.0 (5.21.x) |
|
5.20.0 (5.20.x) |
|
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) |
|
5.0.0 (5.0.x) |
|
4.4.0 (4.4.x) |
如果在启动时检测到的 APOC jar 与 Neo4j 版本不兼容,则 neo4j.log
中将出现类似以下的 log.warn
警告:
The apoc version (<APOC_VERSION>) and the Neo4j DBMS versions [NEO4J_VERSION] are incompatible.
The two first numbers of both versions must be the same.
Docker
APOC 可以通过 NEO4J_PLUGINS
环境变量与 Neo4j Docker 镜像一起使用。如果使用此环境变量,APOC 插件文件将从 Docker 镜像中复制并在运行时进行配置。
此功能旨在方便在开发环境中使用 APOC,但不建议在生产环境中使用。 |
docker run \
-p 7474:7474 -p 7687:7687 \
--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\"\] \
neo4j:2025.05
运行此命令后,我们应该在输出中看到以下两行
Fetching versions.json for Plugin 'apoc' from https://neo4j.github.io/apoc/versions.json
Installing Plugin 'apoc' from https://github.com/neo4j/apoc/releases/download/2025.05.0/apoc-2025.05.0-core.jar to /plugins/apoc.jar
在生产环境中,我们应该下载与我们的 Neo4j 版本匹配的 APOC 版本,并将其复制到本地文件夹,然后将其作为数据卷挂载到 /plugins
。
plugins
目录,然后将该文件夹挂载到 Neo4j Docker 容器mkdir plugins
pushd plugins
wget https://github.com/neo4j/apoc/releases/download/2025.05.0/apoc-2025.05.0-core.jar
popd
docker run --rm -e NEO4J_AUTH=none -p 7474:7474 -v $PWD/plugins:/plugins -p 7687:7687 neo4j:2025.05
如果您想向 Docker 实例传递自定义的 APOC 配置,可以使用环境变量,如下所示
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:2025.05
要使用 Powershell 和 Docker 安装 APOC,需要正确的引用方式
请注意单引号和转义双引号的使用。 |
加载与解除限制
APOC 库包含数百个过程和函数。不建议将所有这些都加载到 DBMS 中,而是应遵循最小权限原则。此原则规定只应加载执行用户工作负载所需的那些过程和函数。
需要加载的过程和函数可以通过数据库配置设置 dbms.security.procedures.allowlist 指定,该设置位于 conf/neo4j.conf
文件中。例如,要加载 apoc.math.maxInt
和 apoc.rel
包中的所有函数,请使用:
-
dbms.security.procedures.allowlist=apoc.math.maxInt,apoc.rel.*
.
|
出于安全原因,默认情况下禁用使用内部 API 的过程和函数。在这种情况下,也建议使用最小权限原则,并且仅解除对确定会使用的那些过程和函数的限制。
需要解除限制的过程和函数可以通过数据库配置设置 dbms.security.procedures.unrestricted 指定,该设置位于 conf/neo4j.conf
文件中。例如,要解除对 apoc.cypher.runFirstColumn
以及 apoc.cypher
包中所有过程和函数的限制,请使用:
-
dbms.security.procedures.unrestricted=apoc.cypher.runFirstColumn,apoc.cypher.*
.
在使用 Neo4j Docker 容器时,要解除对整个 APOC 过程和函数包的限制,可以通过环境变量来实现。例如,要加载 apoc.cypher
包中的所有函数,用户必须将以下参数添加到 Docker 运行命令中
-
-e NEO4J_dbms_security_procedures_unrestricted="apoc.cypher.*"
有关加载和解除过程和函数限制的更多信息,请参阅 Neo4j 保护扩展指南。