安装并加载GDS库
确保已安装并启用GDS插件。若未安装,需从Neo4j官网下载对应版本。
创建图投影 在 GDS 中创建内存中的图投影:
1 2 3 4 5 6 7 8 9 CALL gds.graph.project ( 'nodeGraph' , 'Node' , 'NEIGHBOR' , { nodeProperties: ['degree' ], relationshipProperties: {} } );
运行度中心性算法并写入属性
使用gds.degree.write
方法计算每个节点的度(可指定入度、出度或总度数),并将结果存储为节点属性degree
:
1 2 3 4 5 6 CALL gds.degree.write ('nodeGraph' , { writeProperty: 'degree' , orientation: 'UNDIRECTED' }) YIELD nodePropertiesWritten
计算中心性指标 1 2 3 4 5 CALL gds.pageRank.write ('nodeGraph' , { maxIterations : 20 , dampingFactor : 0.85 , writeProperty : 'pagerank' });
2. 度中心性 (Degree Centrality) 1 2 3 CALL gds.degree.write ('nodeGraph' , { writeProperty: 'degree_centrality' });
3. 亲密中心性 (Closeness Centrality) 1 2 3 CALL gds.closeness.write ('nodeGraph' , { writeProperty: 'closeness_centrality' });
4. 介数中心性 (Betweenness Centrality) 1 2 3 CALL gds.betweenness.write ('nodeGraph' , { writeProperty: 'betweenness_centrality' });
查询结果 1 2 3 4 5 6 7 8 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 BetweennessCentralityORDER BY PageRank DESC ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ╒═════════════╤═══════════════════╤════════════════╤═══════════════════╤═════════════════════╕ │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 │ └─────────────┴───────────────────┴────────────────┴───────────────────┴─────────────────────┘
```