目录
一、简介
Neo4j Graph Data Science是Neo4j官方提供的一套图算法库,它用来代替之前的Graph Algorithm算法库,适合Neo4j 4.0以上版本使用。
同时官方的sandbox提供了一系列的图数据库项目,可以在官网直接申请,同时每一套项目都配置一套指南,提供快速入门,其中就包含了Graph Data Science。
二、在沙盒上创建一个GDS项目
官方文档参考
首先进入sandbox官网
第一次进入需要先登录账号,进入后,点击左上角+New Project创建一个新项目,选择Graph Data Science进行创建。
创建成功后,就可以进入到Brower页面了(注意大坑:360浏览器无法打开,推荐使用谷歌浏览器操作)
但如果不想在浏览器打开,也可以使用bolt协议在本地的Neo4j进行远程连接配置,配置好后就可以在本地直接打开了。
三、GDS实践
GDS介绍
在Neo4j Brower输入以下命令可以打开GDS的指南卡片:
:play https://guides.neo4j.com/sandbox/graph-data-science
以下是关于GDS算法的一些介绍:【渣渣翻译】
Neo4j的图数据科学(GDS)库包含了一套图算法,通过Cypher过程来调用。这套图算法提供了对图结构和节点的计算和分析方法,例如计算中心性和相似性得分,以及社区检测。GDS库分为三个成熟度级别:分别是product、beta和alpha。
本指南提供以下普通工作流来运行product层的算法:PageRank、标签传播、弱连接分量、Louvain和节点相似性。
- 计算要运行的图和算法的内存使用情况;
- 创建并管理一个图数据库;
- 将算法配置为你所需要的其中一种模式:流、写和统计。
更多细节参考官方文档 https://neo4j.com/docs/graph-algorithms/current/
可视化
在使用算法前可以先查看当前图数据库的结构和规模
CALL db.schema.visualization()
统计数据
计算一些简单的统计值来观察数据的分布情况,包括最小值、最大值、平均值、标准差
MATCH (c:Person)-[:INTERACTS]->()
WITH c, count(*) AS num
RETURN min(num) AS min, max(num) AS max, avg(num) AS avg_interactions, stdev(num) AS stdev
根据book来分组
MATCH (c:Person