Neo4j使用记录--APOC和GDS的安装【实践】

本文介绍了Neo4j的两个重要插件APOC和GDS的安装步骤及注意事项。APOC是 Neo4j 的实用程序库,包含450多个功能,而GDS是图形数据科学库,提供了多种算法。安装时需注意版本匹配,将插件jar文件放入$NEO4J_HOME/plugins目录,并在配置文件中启用相关权限。安装成功后,可通过Cypher查询验证版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

APOC插件

APOC简介

APOC即Awesome Procedures on Cypher ,是 Neo4j 最大和最广泛使用的扩展库,是Neo4j过程和函数的标准实用程序库。它包括 450 多个标准程序,提供实用程序、转换、图形更新等功能。它们得到很好的支持,并且很容易作为单独的函数运行或包含在 Cypher 查询中。

注意事项

由于 APOC 依赖于 Neo4j 的内部 API,因此您需要为 Neo4j 安装使用匹配的 APOC 版本。确保前两个版本号在 Neo4j 和 APOC 之间匹配。除此之外,还得兼顾GDS版本号(如果你安装GDS插件库的话)
以下是APOCNeo4j版本匹配表

apoc versionneo4j version
5.11.05.11.0 (5.11.x)
5.10.05.10.0 (5.10.x)
5.9.05.9.0 (5.9.x)
5.8.05.8.0 (5.8.x)
5.7.05.7.0 (5.7.x)
5.6.05.6.0 (5.6.x)
5.5.05.5.0 (5.5.x)
5.4.05.4.0 (5.4.x)
5.3.15.3.0 (5.3.x)
5.2.05.2.0 (5.2.x)
5.1.05.1.0 (5.1.x)
4.4.0.194.4.0 (4.4.x)
4.4.0.14.4.0 (4.3.x)
4.3.0.44.3.7 (4.3.x)
4.2.0.94.2.11 (4.2.x)
4.1.0.104.1.11 (4.1.x)
4.0.0.184.0.12 (4.0.x)
3.5.0.153.5.30 (3.5.x)
3.4.0.83.4.18 (3.4.x)
3.3.0.43.3.9 (3.3.x)
3.2.3.63.2.14 (3.2.x)
3.1.3.93.1.9 (3.1.x)
3.0.8.63.0.12 (3.0.x)
3.5.0.03.5.0-beta01
3.4.0.23.4.5
3.3.0.33.3.5
3.2.3.53.2.3
3.1.3.83.1.5

安装流程

  1. 下载二进制 jar 并将其放到本地文件夹/plugins

  2. 将以下内容添加到$NEO4J_HOME/conf/neo4j.conf文件中:

    (出于安全原因,默认情况下Neo4j禁用使用内部 API 。它们可以通过在$NEO4J_HOME/conf/neo4j.conf指定配置来启用)

    dbms.security.procedures.unrestricted=apoc.*
    
  3. 将apoc中一般要加载的过程和函数列入白名单 (允许运行的程序列表中)

    dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*
    
  4. 重启Neo4j(不重启也行,哈哈哈),确认是否安装成功,如果返回APOC版本号,即为安装成功

    RETURN apoc.version() as version
    

APOC版本


GDS插件

GDS简介

GDS即Graph Data Science,Neo4j Graph Data Science 库包含大量算法。GDS有两个版本库:开源社区版本和企业版本。(下面安装是开源社区版本。)

GDS作为插件提供给 Neo4j 图形数据库。该插件需要安装到数据库中并添加到 Neo4j 配置中的允许列表中。

注意事项

应该为Neo4j 安装使用匹配的 GDS 版本,两者版本号需要进行匹配。(若安装APOC,需要考虑APOC版本)

GDS versionNeo4j versionJava Version
GDS 1.0.xNeo4j 3.5.9 - 3.5.20Java 1.8
GDS 1.1.xNeo4j 3.5.9 - 3.5.33
GDS 1.2.xNeo4j 4.0.0 – 4.0.6Java 11
GDS 1.3.xNeo4j 4.0.0 - 4.0.9
Neo4j 4.1.0 - 4.1.5
GDS 1.4.xNeo4j 4.0.0 - 4.0.11
Neo4j 4.1.0 - 4.1.7
Neo4j 4.2.0 - 4.2.3
GDS 1.5.xNeo4j 4.0.0 - 4.0.11
Neo4j 4.1.0 - 4.1.8
Neo4j 4.2.0 - 4.2.5
GDS 1.6.xNeo4j 4.0.0 - 4.0.12
Neo4j 4.1.0 - 4.1.10
Neo4j 4.2.0 - 4.2.15
Neo4j 4.3.0 - 4.3.4
GDS 1.7.xNeo4j 4.1.0 - 4.1.11
Neo4j 4.2.0 - 4.2.15
Neo4j 4.3.0 - 4.3.12
GDS 1.8.xNeo4j 4.1.0 - 4.1.11
Neo4j 4.2.0 - 4.2.18
Neo4j 4.3.0 - 4.3.12
Neo4j 4.4.0 - 4.4.5
GDS 2.0.xNeo4j 4.3.0 - 4.3.14
Neo4j 4.4.0 - 4.4.7
GDS 2.1.xNeo4j 4.3.0 - 4.3.17
Neo4j 4.4.0 - 4.4.10
GDS 2.2.xNeo4j 4.3.0 - 4.3.17
Neo4j 4.4.0 - 4.4.10
GDS 2.3.xNeo4j 5.8.0Java 17
Neo4j 5.7.0…17
Neo4j 5.6.0…17
Neo4j 5.5.0…17
Neo4j 5.4.0…17
Neo4j 5.3.0…17
Neo4j 5.2.0…17
Neo4j 5.1.0…17
Neo4j 4.4.9 - 4.4.22Java 11
GDS 2.4.xNeo4j 5.9.0…17
Neo4j 5.8.0…17
Neo4j 5.7.0…17
Neo4j 5.6.0…17
Neo4j 5.5.0…17
Neo4j 5.4.0Java 17
Neo4j 5.3.0…17
Neo4j 5.2.0…17
Neo4j 5.1.0…17
Neo4j 4.4.9 - 4.4.23Java 11
GDS 2.5.xNeo4j 5.9.0…17
Neo4j 5.8.0…17
Neo4j 5.7.0…17
Neo4j 5.6.0…17
Neo4j 5.5.0…17
Neo4j 5.4.0Java 17
Neo4j 5.3.0…17
Neo4j 5.2.0…17
Neo4j 5.1.0…17
Neo4j 4.4.9 - 4.4.23Java 11

安装流程

  1. neo4j-graph-data-science-[version].jarNeo4j GDS所有版本下载中心下载相应版本并复制到$NEO4J_HOME/plugins目录中。(你下载的是zip压缩版本,需要解压出来,将后缀为jar的压缩文件放进)

  2. 将以下内容添加到您的$NEO4J_HOME/conf/neo4j.conf文件中:

    dbms.security.procedures.unrestricted=gds.*
    

    此配置条目是必要的,因为 GDS 库访问 Neo4j 的低级组件以最大化性能。

  3. 检查文件中是否启用了过程许可列表,$NEO4J_HOME/conf/neo4j.conf并在必要时添加 GDS 库:

    dbms.security.procedures.allowlist=gds.*
    

    之前Neo4j 4.2,配置设置被调用dbms.security.procedures.whitelist

  4. 重启 Neo4j,确认是否安装成功,如果返回GDS版本号,即为安装成功

    RETURN gds.version() as version
    
    // 查看GDS所有基础信息
    CALL gds.debug.sysInfo() YIELD key, value
    

GDS所有基础信息

上面的安装流程中对$NEO4J_HOME/conf/neo4j.conf文件设置。只是针对单个插件的设置。如果你在community版本中既安装了APOC,又安装了GDS插件,你可以统一进行设置。

dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*,apoc.*,gds.*

dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*,apoc.*

也可以进行配置其他参数:

# 启用将本地文件写入磁盘
apoc.export.file.enabled=true

# 启用从磁盘读取本地文件
apoc.import.file.enabled=true

总结

本文主要对Neo4j的两个插件APOC和GDS在community版本中的安装进行了简单介绍,算是一个基础篇。对Cypher语句的学习可以看我的另一篇文章Neo4j使用记录–基础篇(Cypher)【语法】
以上是我个人在学习过程中的记录所学,希望对正在一起学习的小伙伴有所帮助!!!
如果对你有帮助,希望你能一键三连【关注、点赞、收藏】!!!

参考链接

neo4j-contrib/neo4j-apoc-procedures: Awesome Procedures On Cypher for Neo4j - codenamed “apoc” (github.com)
Releases · neo4j-contrib/neo4j-apoc-procedures (github.com)
neo4j/graph-data-science: Source code for the Neo4j Graph Data Science library of graph algorithms. (github.com)

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故事挺秃然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值