架构

AuraDS 通过集成两个主要组件来简化在 Neo4j 上运行图算法的操作。

  • Neo4j 数据库,用于加载和存储图数据,并执行 Cypher 查询和所有数据库操作(例如用户管理、查询终止等);

  • 图数据科学,安装在 Neo4j 数据库中的软件组件,其主要目的是在 Neo4j 数据库数据的内存投影上运行图算法。

Neo4j 图数据科学概念

Neo4j 图数据科学 (GDS) 库包含用于投影和管理图、运行算法和训练机器学习模型的程序。

图目录

通过 GDS 程序使用 图目录 来存储和管理投影的图。

算法

GDS 包含许多 图算法,这些算法被调用为 Cypher 程序并在投影的图上运行。

GDS 算法分为三个成熟度级别。

  • Alpha:实验性算法,可能随时更改或删除。此级别的算法以 gds.alpha.<algorithm> 为前缀。

  • Beta:从 Alpha 级别提升到生产级别的候选算法。此级别的算法以 gds.beta.<algorithm> 为前缀。

  • 生产:经过严格测试以确保稳定性和可扩展性的算法。此级别的算法以 gds.<algorithm> 为前缀。

模型目录

一些机器学习算法(例如节点分类和 GraphSage)需要在计算中使用训练过的模型。模型目录 用于存储和管理命名训练过的模型。

管道目录

通过 管道目录 来管理机器学习管道。管道将支持的机器学习任务(例如节点分类)的所有阶段(从图特征提取到模型训练)在一个单一的端到端工作流中组合在一起。

图数据流

由于 GDS 算法只能在内存中运行,因此典型的数据流涉及

  1. 从 Neo4j 数据库读取图数据

  2. 将数据加载(投影)到内存图中

  3. 在投影的图上运行算法

  4. 将结果写回 Neo4j 数据库(如果算法在 写入 模式下运行)

architecture