Neo4j图算法的落地路径
典型业务场景与算法映射
| 场景 | 关键问题 | 常用算法 | 关键指标/动作 |
|---|---|---|---|
| 金融反欺诈 | 团伙识别、异常路径、共享设备/IP | Louvain、WCC/SCC、路径模式匹配 | 团伙数量、风险评分、可疑路径告警 |
| 电商推荐 | 冷启动、多跳关联、去重排序 | Node Similarity/Jaccard、个性化遍历、结果去重与融合 | CTR、转化率、GMV 贡献 |
| 知识图谱问答 | 多跳推理、证据路径 | 多跳MATCH、路径过滤 | 命中率、置信度 |
| 运维与供应链 | 连通性、关键节点、最短路径 | WCC、PageRank、Shortest Path | MTTR、风险提前期、关键节点清单 |
关键算法与示例
CALL gds.louvain.stream({
nodeQuery: 'MATCH (p) RETURN id(p) AS id',
relationshipQuery: 'MATCH (a)-[r:TRANSFER]->(b) RETURN id(a) AS source, id(b) AS target, r.amount AS weight',
relationshipWeightProperty: 'weight'
})
YIELD nodeId, communityId
RETURN gds.util.asNode(nodeId).id AS accountId, communityId
ORDER BY communityId;
CALL gds.wcc.stream('fraud-graph')
YIELD nodeId, componentId
RETURN gds.util.asNode(nodeId).id AS accountId, componentId
ORDER BY componentId;
MATCH path=(src:Account)-[rels:TRANSFER*3..5]->(src)
WHERE ALL(r IN rels WHERE r.amount > 10000)
RETURN path LIMIT 20;
CALL gds.nodeSimilarity.stream({
nodeQuery: 'MATCH (p:Product) RETURN id(p) AS id',
relationshipQuery: 'MATCH (a)-[:PURCHASED]->(p)<-[:PURCHASED]-(b) RETURN id(a) AS source, id(b) AS target',
similarityCutoff: 0.6
})
YIELD node1, node2, similarity
RETURN gds.util.asNode(node1).id AS pid1, gds.util.asNode(node2).id AS pid2, similarity
ORDER BY similarity DESC
LIMIT 100;
CALL gds.pageRank.stream('influence-graph', {
relationshipWeightProperty: 'weight'
})
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).id AS id, score
ORDER BY score DESC
LIMIT 10;
性能与工程实践
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。