Neo4j图计算源码分析

neo4j提供了强大的OLAP能力,在数据库上支持多种图算法,包括路径、中心度、社区发现、相似度等算法。理论上来讲,neo4j通过图计算的插件可以计算2^31 -1 个顶点的数据,也也就是21亿左右。

安装Neo4j社区版图数据库

拉取neo4j图计算源码仓库到本地

https://github.com/neo4j-contrib/neo4j-graph-algorithms.git
目前该算法包的最新版本为3.5,对应的neo4j数据库版本也为3.5.不过该仓库已经停止更新了,最新的neo4j算法支持仓库是graph-data-science,用作科学计算库,包含了更多的算法,机器学习等。

本次源码分析还是基于图算法包3.5版本的,建议使用对应版本的Neo4j数据库。

image.png

导入Neo4j-graph-algorithms算法库源码

这里可以使用IntelliJ IDEA,直接open 或者 import已存在的源码项目,将项目添加为maven项目。
image.png

neo4j算法库支持很多种算法,这些算法都是基于图论的算法,在neo4j控制台使用CALL algo.list()可以看到所有算法的种类以及每种算法的使用方式。
在doc模块详细记录了每个算法的原理,参数,计算用例。文档基于asciidoc语法格式编写,有兴趣的朋友可以安装adoc插件查看的。
image.png
下载neo4j算法指导手册《graph-algorithms-book》

算法的核心模块是core以及algo两个子maven项目,
以后我会基于test单元测试类模块作为入口对整个算法体系进行分析。


fantazy
1 声望0 粉丝

图数据库开发工程师