neo4j apoc 系列

Neo4j APOC-01-图数据库 apoc 插件介绍

Neo4j APOC-01-图数据库 apoc 插件安装 neo4j on windows10

Neo4j APOC-03-图数据库 apoc 实战使用使用

Neo4j APOC-04-图数据库 apoc 实战使用使用 apoc.path.spanningTree 最小生成树

Neo4j APOC-05-图数据库 apoc 实战使用使用 labelFilter

Neo4j GDS-01-graph-data-science 图数据科学插件库概览

Neo4j GDS-02-graph-data-science 插件库安装实战笔记

Neo4j GDS-03-graph-data-science 简单聊一聊图数据科学插件库

Neo4j GDS-04-图的中心性分析介绍

Neo4j GDS-05-neo4j中的中心性分析算法

Neo4j 图数据科学

本仓库托管 Neo4j 图数据科学(GDS) 库的开源项目。

该库作为 Neo4j 图数据库的插件,集成了图算法、图转换和机器学习管道功能,通过 Cypher 过程在数据库内部操作。


Neo4j 图数据科学库是 Neo4j 图算法库的继任者。


📥 下载与安装

最新版本可通过 Neo4j 图数据科学下载页面 获取。

安装步骤如下:

  1. 将下载的 JAR 文件放入 Neo4j 数据库的 plugins 目录
  2. 重启数据库

Neo4j Desktop 用户:可直接在项目管理界面添加插件。

兼容性对照表

GDS 版本 Neo4j 版本 Java 版本
2.13 5.26 Java 21 / Java 17

注意
预览版需手动安装,不会自动出现在 Neo4j Desktop 中。


🔓 OpenGDS

Neo4j 官方构建的 GDS 包含闭源组件,而本仓库代码可独立构建为 OpenGDS

两者区别如下:

版本 协议 功能完整性
GDS 商业许可 包含闭源组件
OpenGDS GPL v3.0 完全开源

⚙️ 使用 Pregel API

通过 Pregel API 开发自定义算法(文档参考),建议从 pregel-bootstrap 项目 开始。

  [gradle]
1
2
3
4
// 在 build.gradle 中调整 GDS 版本 dependencies { implementation 'org.neo4j.gds:algo:2.13.3' }

注意
master 分支依赖未发布的库版本,需手动配置。


🐍 Python 客户端

库提供 graphdatascience 客户端,支持纯 Python 操作(需 GDS 2.0+):

  [python]
1
2
3
4
from graphdatascience import GraphDataScience gds = GraphDataScience("neo4j://localhost:7687", auth=("neo4j", "password")) gds.run_cypher("CALL gds.pageRank.stream(...)")

源码地址:graph-data-science-client


🛠️ OpenGDS 开发指南

Maven 依赖配置

核心模块

  [xml]
1
2
3
4
5
<dependency> <groupId>org.neo4j.gds</groupId> <artifactId>core</artifactId> <version>2.13.3</version> </dependency>

算法模块

  [xml]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- 基础框架 --> <dependency> <groupId>org.neo4j.gds</groupId> <artifactId>algo-common</artifactId> <version>2.13.3</version> </dependency> <!-- 正式算法 --> <dependency> <groupId>org.neo4j.gds</groupId> <artifactId>algo</artifactId> <version>2.13.3</version> </dependency> <!-- 实验性算法 --> <dependency> <groupId>org.neo4j.gds</groupId> <artifactId>alpha-algo</artifactId> <version>2.13.3</version> </dependency>

🔧 构建指南

环境准备

  1. 安装 SDKMAN:
      [bash]
    1
    2
    curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"
  2. 安装 JDK:
      [bash]
    1
    2
    sdk install java 11.0.19-tem # JDK 11 sdk install java 17.0.7-tem # JDK 17

构建命令

  [bash]
1
2
3
4
5
6
7
8
# 运行测试 ./gradlew check # 打包(输出至 build/distributions/) ./gradlew :open-packaging:shadowCopy # 指定 Neo4j 5.x + JDK 17 ./gradlew -Pneo4jVersion=5.1.0 build

文档预览
最新文档:https://neo4j.com/docs/graph-data-science/preview/


🤝 贡献指南

欢迎通过 GitHub Issues 提交问题,贡献流程详见 CONTRIBUTING.md


⚖️ 许可协议

OpenGDS 采用 GNU GPL v3.0 协议,所有内容版权归 Neo4j Sweden AB 所有。


chat

详细介绍一下 neo4j GDS 插件库

参考资料

https://github.com/neo4j/graph-data-science