CREATE (home:Page {name:'Home'}),
(about:Page {name:'About'}),
(product:Page {name:'Product'}),
(links:Page {name:'Links'}),
(a:Page {name:'Site A'}),
(b:Page {name:'Site B'}),
(c:Page {name:'Site C'}),
(d:Page {name:'Site D'}),
(home)-[:LINKS]->(about),
(about)-[:LINKS]->(home),
(product)-[:LINKS]->(home),
(home)-[:LINKS]->(product),
(links)-[:LINKS]->(home),
(home)-[:LINKS]->(links),
(links)-[:LINKS]->(a),
(a)-[:LINKS]->(home),
(links)-[:LINKS]->(b),
(b)-[:LINKS]->(home),
(links)-[:LINKS]->(c),
(c)-[:LINKS]->(home),
(links)-[:LINKS]->(d),
(d)-[:LINKS]->(home)
CALL gds.alpha.eigenvector.stream({
nodeProjection: 'Page',
relationshipProjection: 'LINKS'
})
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS page, score
ORDER BY score DESC
As we might expect, the Home page has the highest Eigenvector Centrality because it has incoming links from all other pages. We can also see that it’s not only the number of incoming links that is important, but also the importance of the pages behind those links.
home具有最高的特征向量中心度,因为它具有来自所有其他页面的传入链接。我们还可以看到,不仅重要的传入链接数量很重要,而且这些链接后面的页面也很重要。
CALL gds.alpha.eigenvector.stream({
nodeProjection: 'Page',
relationshipProjection: 'LINKS',
normalization: 'max'
})
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS page, score
ORDER BY score DESC
CALL gds.alpha.eigenvector.stream({
nodeProjection: 'Page',
relationshipProjection: 'LINKS',
normalization: 'l1norm'
})
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS page, score
ORDER BY score DESC
CALL gds.alpha.eigenvector.stream({
nodeProjection: 'Page',
relationshipProjection: 'LINKS',
normalization: 'l2norm'
})
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS page, score
ORDER BY score DESC
该算法支持有向和无向的无权图,更关注节点的得分,相比于PageRank,后者更关注关系的权重。其数学本质就是计算特征向量,特征向量里面的元素就是对应位置的点的特征向量中心性。
上面这个截图来自链接:https://www.cnblogs.com/baiyunwanglai/p/13228813.html其中讲解了Eigenvector Centrality算法的数学原理和其他中心性算法的知识,总结的很好。如果有需要,可以移步去观看学习。