知识图谱定义与三元组:实体、关系、属性
04-知识图谱基础
入门
约 15 分钟
#知识图谱#三元组#实体#关系
更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),关键结论建议对照经典文献复核。
一句话定义
知识图谱(KG)用有向图组织知识:节点是实体(人、组织、产品、概念),边是带类型的关系(属于、生产、位于),节点与边可携带属性——最小知识单元是三元组(主语,谓语,宾语),如(华为,总部位于,深圳)。
为什么重要
文档是"给人读的":信息按叙述展开,隐式关系靠读者脑补。图是"给机器查的":关系显式化后,多跳查询(A 的供应商的母公司)、聚合(某类实体计数)、精确关系判断(谁在何时收购了谁)都变成一次图遍历。这是 kp-022 论证"RAG 需要图"的表示层基础。
前置知识
kp-001(RAG 处理的对象是文本)、基本图概念(节点/边)。
核心概念
- 实体(entity):现实或概念世界中可区分的对象:"任正非""华为""Mate 70""5G"。
- 关系(relation):实体间的有向连接,带类型:"任职于""隶属于""研发了"。
- 属性(property/attribute):实体或关系上的键值对:"成立日期=1987"、"持股比例=51%"。
- 三元组(triple):(head, relation, tail) 或 (实体, 属性, 值);知识图谱是三元组的集合。
- schema(本体):定义有哪些实体类型、关系类型及其约束——图的"数据字典"(kp-019)。
- 里程碑项目:WordNet(词汇关系)、Freebase/DBpedia/YAGO(开放域常识 KG)、Wikidata(免费协作 KG)、谷歌知识面板(2012 年让 KG 出圈)。
原理与机制
三元组的表达能力:任何事实可拆成主谓宾——"任正非 1987 年在深圳创立华为"拆为(任正非,创立,华为)+(任正非,角色,创始人)+(华为,成立时间,1987)+(华为,总部,深圳)。拆解粒度是工程核心决策:太粗丢细节,太细节点爆炸。
图的查询能力 vs 文本检索:
| 问题类型 | 文本/向量检索 | 图查询 |
|---|---|---|
| "退货政策是什么" | ✅ 擅长 | 劣势(政策是文本不是关系) |
| "华为的供应商的母公司是谁" | ❌ 多跳跨文档 | ✅ 两次遍历 |
| "A 类零件有几个供应商" | ❌ 无法聚合 | ✅ 一条 Cypher |
| "2023 年后谁收购了谁" | ⚠️ 靠运气 | ✅ 带时间属性过滤 |
隐式 vs 显式:文档里"A 公司(B 集团子公司)从 C 厂采购"这句包含两跳关系,向量检索只能按"字面相似"命中;KG 显式存边后查询与文档措辞彻底解耦。
图示
(任正非)──创立──►(华为)──总部位于──►(深圳)
│ │──生产──►(Mate 70)
(人)类型 │──持股──51%──►(海思)
节点=实体 边=带类型关系 节点/边可挂属性(键值对)
实例或案例
- 企业供应链图谱:供应商—物料—工厂—产品网络,风险传导查询(某供应商停产影响哪些产品线)是向量检索不可能完成的。
- 反欺诈/风控图谱:账号—设备—IP—银行卡环状关联发现。
- 医药图谱:药物—靶点—疾病—不良反应,多跳副作用推理。
常见误区
- 误区一:"知识图谱要像 Google 一样大而全"。企业 KG 只需覆盖业务问题的实体与关系;规模服务于问题,不是越大越好。
- 误区二:"KG 是文档的替代品"。文本承载叙述与上下文(政策原文、条款细则),图承载结构与关系;两者互补(kp-022、kp-026)。
- 误区三:"三元组能表达一切"。否定、条件、时态、概率性知识用平面三元组表达会很别扭——这正是需要本体设计与约定(kp-019)的原因。
与其他知识点的关系
自测题
- 举出一条文档中隐含、图中显式的两跳关系例子。
答:如"华为旗下的海思设计的芯片由台积电代工"隐含(华为)—拥有→(海思)—设计→(芯片)←代工—(台积电),图中两次遍历可答"谁代工华为设计的芯片"。
- 三元组如何表达"2023 年华为净利润 870 亿"?
答:(华为,2023年净利润,870亿元)——把时间与口径编码进属性/关系命名;更严格做法用关系带时间限定(时态建模)。
- 为什么说图与文本互补而非替代?
答:图强于结构与关系查询,文本强于叙述性内容与上下文语义;政策原文、解释性内容仍需文本检索承载。
延伸阅读
- Hogan 等, "Knowledge Graphs"(ACM Computing Surveys 2021 综述,可免费获取)。
- 刘峤等《知识图谱构建技术综述》。
- Google 官方博客 "Introducing the Knowledge Graph"(2012)。