Neo4j系列-解读《权力的游戏》下

安装APOC 

参考文章:https://mp.csdn.net/postedit/81907108

图论

知乎上讨论图论概念:  https://www.zhihu.com/question/22610633

 

1.度中心性(Degree Centrality)

即为某个节点在网络中的联结数。在《权力的游戏》网络中提利昂·兰尼斯特(Tyrion)和最多的角色有接触。

MATCH (c:Character)
RETURN c.name AS character, size( (c)-[:INTERACTS]-() ) AS degree
ORDER BY degree DESC

Neo4j系列-解读《权力的游戏》下_第1张图片

2.加权度中心性(Weighted Degree Centrality)

存储一对角色接触的次数作为INTERACTS关系的weight属性。对该角色的INTERACTS关系的所有weight相加得到加权度中心性。在《权力的游戏》网络中提利昂·兰尼斯特(Tyrion)为加权度中心最高的人物。

MATCH (c:Character)-[r:INTERACTS]-()
RETURN c.name AS character, sum(r.weight) AS weightedDegree
ORDER BY weightedDegree DESC LIMIT 100

Neo4j系列-解读《权力的游戏》下_第2张图片

3.中介中心性(Betweenness Centrality)

识别在网络中具有战略定位的节点,这意味着信息通常会通过那个人。这样的中介地位赋予了这个人权力和影响力。中间性中心是通过给定节点的短路径数量的原始计数。例如,如果一个节点位于两个大型社区之间的瓶颈上,那么它将具有较高的中间性。

中介中心性指的是一个结点担任其它两个结点之间最短路的桥梁的次数。一个结点充当“中介”的次数越高,它的中介中心度就越大。这个有点像是我们身边那种社交达人,我们认识的不少朋友可能都是通过他/她认识的,这个人起到了中介的作用。

Neo4j系列-解读《权力的游戏》下_第3张图片

MATCH (c:Character)
WITH collect(c) AS characters
CALL apoc.algo.betweenness(['INTERACTS'], characters, 'BOTH') YIELD node, score
SET node.betweenness = score
RETURN node.name AS name, score
ORDER BY score DESC LIMIT 100

Neo4j系列-解读《权力的游戏》下_第4张图片

4.接近中心性(Closeness centrality)

衡量一个节点对其集群内所有邻居的集中程度。假定到所有其他节点的路径都是最短的,那么该节点就能够以最快的速度到达整个组。一般来说,那种需要让尽可能多的人使用的设施,它的接近中心度一般是比较高的。

在社交网络分析中,用于找到具有理想社交网络位置的人,以便更快地传播信息。

MATCH (c:Character)
WITH collect(c) AS characters
CALL apoc.algo.closeness(['INTERACTS'], characters, 'BOTH') YIELD node, score
RETURN node.name AS name, score
ORDER BY score DESC LIMIT 100

Neo4j系列-解读《权力的游戏》下_第5张图片

5.PageRank

估计当前节点对其相邻节点的重要性,然后再从其邻居那里获得节点的重要性。一个节点的排名来源于其传递链接的数量和质量。PageRank虽然被谷歌抛弃了,但它还是被广泛认为是检测任何网络中有影响力的节点的常用方式。

MATCH (c:Character) WITH collect(c) AS nodes
CALL apoc.algo.pageRankWithConfig(nodes,{types:'INTERACTS'}) YIELD node, score
RETURN node.name, score
ORDER BY score DESC LIMIT 100

Neo4j系列-解读《权力的游戏》下_第6张图片

你可能感兴趣的:(Neo4j)