GraphGists

以下查询找到与源(本例中为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

这返回了源节点推荐的朋友及其推荐得分。

© . All rights reserved.