说明:使用neo4j算法库时需引入跟neo4j数据库对应的算法库插件或自定义算法库
1.简介
公共邻居捕捉到两个共同朋友比没有任何共同朋友的陌生人更有可能被介绍的想法。
它使用如下公式进行计算的:,其中N(x)是与节点x相邻的节点集,N(y)是与y节点相邻的节点集,PA(x,y)即为计算x和y节点的共同节点
值0表示两个节点不接近,而较高的值表示节点相近。
2.使用场景
进入抖音app,常常会弹出一个框,可能认识,上面显示显示由多少个共同朋友,即使用公共邻居算法。
neo4j算法库中提供了algo.linkprediction.commonNeighbors函数
3.源码解析
公共邻居算法源码实现如下:
public double commonNeighbors(@Name("node1") Node node1, @Name("node2") Node node2,
@Name(value = "config", defaultValue = "{}") Map<String, Object> config) {
if (node1 == null || node2 == nul