使用Neo4j图数据科学库(GDS)实现中心度分析

407 个字
2 分钟
使用Neo4j图数据科学库(GDS)实现中心度分析

安装并加载GDS库

​ 确保已安装并启用GDS插件。若未安装,需从Neo4j官网下载对应版本。 ​

创建图投影#

在 GDS 中创建内存中的图投影:

CALL gds.graph.project(
'nodeGraph', // 图名称
'Node', // 节点标签
'NEIGHBOR', // 关系类型
{
nodeProperties: ['degree'], // 需要加载的节点属性
relationshipProperties: {} // 关系属性(可选)
}
);


运行度中心性算法并写入属性

使用gds.degree.write方法计算每个节点的度(可指定入度、出度或总度数),并将结果存储为节点属性degree

CALL gds.degree.write('nodeGraph', {
writeProperty: 'degree', // 写入的属性名
orientation: 'UNDIRECTED' // 方向:UNDIRECTED(总度数)、NATURAL(出度)、REVERSE(入度)
})
YIELD nodePropertiesWritten

计算中心性指标#

1. PageRank#

CALL gds.pageRank.write('nodeGraph', {
maxIterations: 20,
dampingFactor: 0.85,
writeProperty: 'pagerank'
});

2. 度中心性 (Degree Centrality)#

CALL gds.degree.write('nodeGraph', {
writeProperty: 'degree_centrality'
});

3. 亲密中心性 (Closeness Centrality)#

CALL gds.closeness.write('nodeGraph', {
writeProperty: 'closeness_centrality'
});

4. 介数中心性 (Betweenness Centrality)#

CALL gds.betweenness.write('nodeGraph', {
writeProperty: 'betweenness_centrality'
});


查询结果#

MATCH (n:Node)
RETURN
n.address AS Address,
n.pagerank AS PageRank,
n.degree_centrality AS DegreeCentrality,
n.closeness_centrality AS ClosenessCentrality,
n.betweenness_centrality AS BetweennessCentrality
ORDER BY PageRank DESC;
╒═════════════╤═══════════════════╤════════════════╤═══════════════════╤═════════════════════╕
│Address │PageRank │DegreeCentrality│ClosenessCentrality│BetweennessCentrality│
╞═════════════╪═══════════════════╪════════════════╪═══════════════════╪═════════════════════╡
│"10.104.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.105.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.105.0.72"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.101.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.103.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.101.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.107.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.108.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.107.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.103.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.106.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.101.0.72"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.104.0.71"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.109.0.72"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.109.0.73"│0.17143947585331437│0.0 │1.0 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.103.0.72"│0.16639351504031516│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.102.0.73"│0.16639351504031516│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.102.0.71"│0.16639351504031516│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.107.0.72"│0.16638840173142871│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.106.0.73"│0.16638840173142871│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.100.0.72"│0.16638840173142871│28.0 │1.0 │6.833333333333333 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.104.0.73"│0.16620703459522992│27.0 │1.0 │4.166666666666666 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.102.0.72"│0.16620703459522992│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.109.0.71"│0.16532947619296923│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.100.0.72"│0.16532947619296923│23.0 │1.0 │2.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.105.0.73"│0.16532947619296923│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.108.0.71"│0.16532947619296923│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.104.0.72"│0.16532947619296923│0.0 │0.8 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.100.0.74"│0.16028351537997002│27.0 │0.75 │2.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.106.0.72"│0.16009703493488484│0.0 │0.6666666666666666 │0.0 │
├─────────────┼───────────────────┼────────────────┼───────────────────┼─────────────────────┤
│"10.108.0.72"│0.16009703493488484│0.0 │0.6666666666666666 │0.0 │
└─────────────┴───────────────────┴────────────────┴───────────────────┴─────────────────────┘

分享到社交平台

将本文分享给你的朋友们

使用Neo4j图数据科学库(GDS)实现中心度分析
https://firefly.cuteleaf.cn/posts/使用neo4j图数据科学库gds进行中心度分析/
作者
Zhongye
发布于
2025-04-02
版权声明
CC BY-NC-SA 4.0

评论

Profile Image of the Author
Zhongye
南漂中
公告
新的博客站!旧站点传送门 zhongye1.github.io/Arknight-notes
音乐
专辑封面

音乐

暂无播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章数
142
分类数
14
标签数
214
总字数
339,690
运行天数
0
最后更新
0 天前

目录