Cypher 查询示例(Neo4j 语法)
Cypher 查询示例(Neo4j 语法)
// 两跳之内可能认识的人(排除已关注的)
MATCH (me:User {id: 7})-[:FOLLOWS]->(b)-[:FOLLOWS]->(c)
WHERE NOT (me)-[:FOLLOWS]->(c) AND c <> me
RETURN c.id, count(*) AS paths
ORDER BY paths DESC LIMIT 10;| 适合 | 社交关系、反欺诈环路、权限继承、知识图谱等关系密集查询 |
|---|---|
| 不适合 | 以点查与统计报表为主的负载:图库不擅长全量聚合与大扫描 |
| 替代方案 | 浅层层级用 MongoDB $graphLookup;关系固定两点间查询用关系库 join 即可 |
图库选型关注遍历深度上限、写入一致性与运维复杂度;引入新组件前先验证核心查询在现有栈上确实无法满足。