知识图谱实战(三):图查询调用与 GraphRAG(完整代码)
知识图谱实战(三):图查询调用与 GraphRAG(完整代码)
图谱建好了怎么用?三层用法:Neo4j Browser 手动查、Python API 封装调用、和 LLM 结合做 GraphRAG(把图谱当"资料库"让大模型基于图谱回答)。这篇给完整可运行代码,收尾"采集→构建→调用"全流程。
前言
《知识图谱(一)数据采集》采数据、《知识图谱(二)Neo4j 构建》建图,这篇解决"怎么用":别人/系统怎么问知识图谱?答案分三种层次:
-
直接查
:Neo4j Browser 里写 Cypher(《知识图谱(二)Neo4j 构建》讲过基础);
-
程序调用
:Python 把图查询封装成函数,供业务系统调用;
-
GraphRAG
:把"图查询结果"当作事实喂给大模型,让 LLM 基于图谱回答——这是当前最火的结合方式,比纯 RAG(向量检索)更能回答"关系型问题"。
一、Cypher 查询进阶(三种常见问题)
<span leaf=""><span>// 1. 某实体的所有直接关系</span></span>
shortestPath 回答"两人几度人脉"这类问题,是图的独有能力,SQL 很难写。
二、Python API 封装(供业务调用,完整代码)
<span leaf=""><span>pip</span> install neo4j requests</span>
<span leaf=""><span># kg_query.py — 图查询 API 封装(完整可运行)</span></span>
运行验证:python kg_query.py,期望打印出 《知识图谱(一)数据采集》/《知识图谱(二)Neo4j 构建》导入的三元组对应结果(如 华为的直接关系: [('总部位于', '深圳'), ('创始人', '任正非'), ...])——程序调用链路即通。
三、GraphRAG:图谱 + 大模型(完整代码)
核心思路:问题 → LLM 抽出实体 → 图库查该实体的周边事实 → 把事实拼给 LLM 回答。这样回答有"图谱依据",还能追关系链,比向量 RAG 更精确:
<span leaf=""><span># kg_rag.py — GraphRAG(完整可运行;需本地 Ollama,见 《ControlNet 精准控图与 LoRA》装法)</span></span>
运行验证:先确认 Ollama 在跑(ollama list),再 python kg_rag.py,期望模型基于图谱事实回答"任正非是华为的创始人"这类答案(而不是瞎编)。实体没抽准/回答不对,先看"常见坑"。
四、RAG vs GraphRAG(什么时候用哪个)
| 对比
|
向量 RAG(《RAG 知识库实战》)
|
GraphRAG(本篇)
数据形态
|
文档切片 + 向量
|
实体 + 关系图
| |
擅长
|
“文档里有什么"模糊检索
|
“A 和 B 什么关系"精确查询
| |
回答依据
|
相似段落
|
图结构事实
| |
结合使用
|
两者互补:常规问答用 RAG,关系型问题走图谱
| |
实践建议:文档多先上 RAG;关系密集(组织架构、供应链、人脉)再叠图谱——两个都做就是完整的"企业知识中台”。
五、常见坑
| 坑
|
解决
实体没抽准
|
提示词约束"从问题中提取名词实体”;图谱里做实体归一化《知识图谱(一)数据采集》
| |
图里查不到
|
实体名要和导入时一致(大小写/全称);先 MATCH (n) RETURN n.name 看有哪些
| |
Ollama 没装/没启动
|
按 《ControlNet 精准控图与 LoRA》装 Ollama 并 ollama run qwen2.5:7b 拉模型
| |
回答胡说
|
提示词里强调"仅依据图谱事实";事实不足要求"明确说明"
| |
数据太少答不了
|
扩充采集《知识图谱(一)数据采集》+ 导入《知识图谱(二)Neo4j 构建》数据量
|
六、总结
-
一句话:图谱调用 = Cypher 查询 + Python 封装 + GraphRAG 喂给大模型;
-
三篇连起来就是完整闭环:47 采集抽取 → 48 Neo4j 建图 → 49 查询与 GraphRAG——从数据到可用的知识图谱服务;
-
接单角度:企业知识图谱问答、智能档案检索、供应链关系分析都能用这套骨架交付,加界面/接口就是完整产品。
觉得有用点个赞收藏,知识图谱三连篇完结,有问题评论区见。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20260823/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1%E5%AE%9E%E6%88%98%E4%B8%89%E5%9B%BE%E6%9F%A5%E8%AF%A2%E8%B0%83%E7%94%A8%E4%B8%8E-GraphRAG%E5%AE%8C%E6%95%B4%E4%BB%A3%E7%A0%81/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com