总邻居数
此功能在 Aura 图分析无服务器中不可用。 |
总邻居数算法根据节点拥有的唯一邻居数量来计算节点的接近程度。它的原理是,一个节点连接越多,就越有可能获得新的链接。
此功能处于 Alpha 级别。有关功能级别的更多信息,请参阅 API 级别。
历史与解释
总邻居数使用以下公式计算
其中 N(x)
是与 x
相邻的节点集合,N(y)
是与 y
相邻的节点集合。
值为 0 表示两个节点不接近,而较高的值表示节点更接近。
该库包含一个计算两个节点之间接近程度的函数。
语法
以下将运行算法并返回结果
RETURN gds.alpha.linkprediction.totalNeighbors(node1:Node, node2:Node, {
relationshipQuery: null,
direction: "BOTH"
})
名称 | 类型 | 默认值 | 可选 | 描述 |
---|---|---|---|---|
|
节点 |
null |
否 |
一个节点 |
|
节点 |
null |
否 |
另一个节点 |
|
字符串 |
null |
是 |
用于计算 |
|
字符串 |
BOTH |
是 |
用于计算 |
总邻居数算法示例
以下将创建一个示例图
CREATE (zhen:Person {name: 'Zhen'}),
(praveena:Person {name: 'Praveena'}),
(michael:Person {name: 'Michael'}),
(arya:Person {name: 'Arya'}),
(karin:Person {name: 'Karin'}),
(zhen)-[:FRIENDS]->(arya),
(zhen)-[:FRIENDS]->(praveena),
(praveena)-[:WORKS_WITH]->(karin),
(praveena)-[:FRIENDS]->(michael),
(michael)-[:WORKS_WITH]->(karin),
(arya)-[:FRIENDS]->(karin)
以下将返回 Michael 和 Karin 的总邻居数得分
MATCH (p1:Person {name: 'Michael'})
MATCH (p2:Person {name: 'Karin'})
RETURN gds.alpha.linkprediction.totalNeighbors(p1, p2) AS score
得分 |
---|
4.0 |
我们还可以根据特定的关系类型,计算一对节点的得分。
以下将仅基于
FRIENDS
关系返回 Michael 和 Karin 的总邻居数得分MATCH (p1:Person {name: 'Michael'})
MATCH (p2:Person {name: 'Karin'})
RETURN gds.alpha.linkprediction.totalNeighbors(p1, p2, {relationshipQuery: "FRIENDS"}) AS score
得分 |
---|
2.0 |