架构
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 算法只能在内存中运行,因此典型的数据流涉及
-
从 Neo4j 数据库读取图数据
-
将数据加载(投影)到内存图中
-
在投影的图上运行算法
-
将结果写回 Neo4j 数据库(如果算法在 写入 模式下运行)
