计算朋友网络的聚类系数
在这个例子中,改编自 Niko Gamulins 关于 Neo4j 用于社交网络分析的博客文章,图中显示的是一个样本人物的 2 跳关系,用节点表示,并具有 KNOWS
关系。所选节点的 聚类系数 定义为两个随机选择的邻居相互连接的概率。假设邻居数量为 n
,邻居之间的相互连接数量为 r
,则两个邻居之间可能连接的数量为 n!/(2!(n-2)!) = 4!/(2!(4-2)!) = 24/4 = 6
,其中 n
是邻居数量 n = 4
,实际连接数量 r
为 1
。因此,节点 1 的聚类系数为 1/6
。n
和 r
可以通过以下查询非常容易地获取
MATCH (a {name: "startnode"})--(b)
WITH a, count(distinct b) AS n
MATCH (a)--()-[r]-()--(a)
RETURN n, count(distinct r) AS r
这将返回上述计算的 n
和 r
。
此页面是否有用?