提升推荐结果
以下查询找到与源(本例中为Clark Kent
)在同一地点工作且源推荐的朋友。推荐的朋友认识源认识的人,并且他们自己还不认识源。
MATCH (origin)-[r1:KNOWS|WORKS_AT]-(c)-[r2:KNOWS|WORKS_AT]-(candidate)
WHERE origin.name = "Clark Kent"
AND type(r1)=type(r2) AND NOT (origin)-[:KNOWS]-(candidate)
RETURN origin.name AS origin, candidate.name AS candidate, collect(r2.activity) AS activity, collect(r2.weight) AS weight
此推荐根据关系r2
的权重进行加权,如果该关系上存在activity
属性,则权重提升2倍。
MATCH (origin)-[r1:KNOWS|WORKS_AT]-(c)-[r2:KNOWS|WORKS_AT]-(candidate)
WHERE origin.name = "Clark Kent"
AND type(r1)=type(r2) AND NOT (origin)-[:KNOWS]-(candidate)
RETURN origin.name AS origin, candidate.name AS candidate,
SUM(ROUND(r2.weight + (COALESCE(r2.activity, 0) * 2))) AS boost
ORDER BY boost DESC LIMIT 10
这返回了源节点推荐的朋友及其推荐得分。
此页面有帮助吗?