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数据库。
导入Neo4j-graph-algorithms算法库源码
这里可以使用IntelliJ IDEA,直接open 或者 import已存在的源码项目,将项目添加为maven项目。
neo4j算法库支持很多种算法,这些算法都是基于图论的算法,在neo4j控制台使用CALL algo.list()
可以看到所有算法的种类以及每种算法的使用方式。
在doc模块详细记录了每个算法的原理,参数,计算用例。文档基于asciidoc
语法格式编写,有兴趣的朋友可以安装adoc插件查看的。
下载neo4j算法指导手册《graph-algorithms-book》
算法的核心模块是core以及algo两个子maven项目,
以后我会基于test单元测试类模块作为入口对整个算法体系进行分析。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。