同一社区
历史与解释
如果两个节点属于同一社区,那么未来它们之间存在关系的可能性会更大,即使现在还没有。
值为 0 表示两个节点不在同一社区。值为 1 表示两个节点在同一社区。
该库包含一个用于计算两个节点之间接近度的函数。
语法
以下将运行算法并返回结果
RETURN gds.alpha.linkprediction.sameCommunity(node1:Node, node2:Node, communityProperty:String)
名称 | 类型 | 默认值 | 可选 | 描述 |
---|---|---|---|---|
|
节点 |
null |
否 |
一个节点 |
|
节点 |
null |
否 |
另一个节点 |
|
字符串 |
'community' |
是 |
包含节点所属社区的属性 |
同一社区算法示例
以下将创建一个示例图
CREATE (zhen:Person {name: 'Zhen', community: 1}),
(praveena:Person {name: 'Praveena', community: 2}),
(michael:Person {name: 'Michael', community: 1}),
(arya:Person {name: 'Arya', partition: 5}),
(karin:Person {name: 'Karin', partition: 5}),
(jennifer:Person {name: 'Jennifer'})
以下将表明 Michael 和 Zhen 属于同一社区
MATCH (p1:Person {name: 'Michael'})
MATCH (p2:Person {name: 'Zhen'})
RETURN gds.alpha.linkprediction.sameCommunity(p1, p2) AS score
分数 |
---|
1.0 |
以下将表明 Michael 和 Praveena 不属于同一社区
MATCH (p1:Person {name: 'Michael'})
MATCH (p2:Person {name: 'Praveena'})
RETURN gds.alpha.linkprediction.sameCommunity(p1, p2) AS score
分数 |
---|
0.0 |
如果其中一个节点没有社区,这意味着它不属于任何其他节点的社区。
以下将表明 Michael 和 Jennifer 不属于同一社区
MATCH (p1:Person {name: 'Michael'})
MATCH (p2:Person {name: 'Jennifer'})
RETURN gds.alpha.linkprediction.sameCommunity(p1, p2) AS score
分数 |
---|
0.0 |
默认情况下,社区从 community
属性读取,但也可以显式指定从哪个属性读取。
以下将表明 Arya 和 Karin 基于
partition
属性属于同一社区MATCH (p1:Person {name: 'Arya'})
MATCH (p2:Person {name: 'Karin'})
RETURN gds.alpha.linkprediction.sameCommunity(p1, p2, 'partition') AS score
分数 |
---|
1.0 |