知识图谱构建Skill knowledge-graph-construction

这个技能帮助您从非结构化或半结构化数据源设计和构建知识图谱,指导数据模型选择、模式设计、实体提取、关系提取和分层架构构建。适用于人工智能应用,如RAG(检索增强生成)、推理和分析,关键词包括知识图谱构建、实体提取、关系提取、数据模型、RAG应用、人工智能。

RAG应用 0 次安装 0 次浏览 更新于 3/22/2026

name: 知识图谱构建 description: 当从非结构化数据设计和构建知识图谱时使用。当用户提到实体提取、模式设计、LPG vs RDF、图数据模型、本体对齐、知识图谱构建,或为RAG构建知识图谱时调用。提供提取管道、模式模式和数据模型选择指导。

目录

知识图谱构建

是什么?

这个技能帮助您从非结构化或半结构化数据源设计和构建知识图谱。给定一个领域和数据语料库,它指导您进行数据模型选择、模式设计、实体/关系提取管道和分层架构构建。

回报:构建良好的知识图谱提供结构化、验证的事实,夯实LLM推理,减少幻觉,实现可解释的检索,并支持平面向量搜索无法处理的复杂多跳查询。

工作流程

复制此清单并逐步完成每个步骤:

知识图谱构建进度:
- [ ] 步骤1:识别数据源和领域范围
- [ ] 步骤2:选择图数据模型
- [ ] 步骤3:设计模式和本体
- [ ] 步骤4:配置提取管道
- [ ] 步骤5:定义分层架构
- [ ] 步骤6:验证和质量检查图谱

步骤1:识别数据源和领域范围

编目输入数据:文档类型(论文、临床记录、网页、日志)、数量、更新频率和语言。定义领域边界——哪些实体类型和关系类型对目标用例重要。确定知识图谱将服务于RAG检索、推理/推断、分析还是组合。此范围步骤防止过度提取并保持模式聚焦。

步骤2:选择图数据模型

使用架构选择指南选择底层数据模型。关键权衡:LPG用于灵活性和快速原型设计,RDF/OWL用于基于标准的互操作性和推断,超图用于复杂N元关系,时序图用于时间演化知识。考虑查询语言、工具成熟度和向量集成需求。详细模型比较,见数据模型参考

步骤3:设计模式和本体

定义节点类型(实体类)、边类型(关系类)和属性模式。应用模式模式中的模式:用于简单领域的实体-关系、用于N元关系的事件具体化、用于多源集成的分层层级。决定受控词汇表、基数约束,以及是否采用或扩展现有本体(例如,Schema.org、UMLS、SNOMED)。方法学细节,见方法学参考

步骤4:配置提取管道

构建填充图谱的管道。核心组件:带有多轮验证的LLM辅助实体提取、基于提示或依赖解析的关系提取、实体规范化(同义词合并、本体链接)和通过后处理验证的模式执行。在提示中使用少样本示例以提高提取一致性。包括第二轮LLM验证以捕获遗漏的实体。完整管道设计,见方法学参考

步骤5:定义分层架构

将知识图谱结构化为层级以实现可维护性和信任。常见模式:第1层(实例数据)保存用户特定或案例特定的实体和关系;第2层(领域知识)保存来自文献或领域专家的策划事实;第3层(规范本体)保存正式模式和上层本体。添加出处和证据分层,以便每个事实追溯到其源文档、提取方法和置信度分数。时序子图捕获知识演化领域的时间索引状态。

步骤6:验证和质量检查图谱

在多个级别运行验证:模式一致性(所有节点和边是否匹配声明的类型?)、覆盖率(预期的实体类型是否填充?)、一致性(无矛盾边)和完整性(基于样本的人工审查)。使用第二个LLM作为验证器,对照源文档事实检查提取的三元组。计算图统计(节点度分布、连接组件、孤立节点)以识别提取差距。质量标准定义在质量评分标准中。

架构选择指南

按用例

模型 灵活性 标准化 推理 向量集成 查询语言 最适合
LPG 有限 原生(Neo4j) Cypher, Gremlin 快速开发、RAG管道
RDF/OWL 完全(OWL-DL) 通过扩展 SPARQL 互操作性、本体重的领域
超图 有限 自定义 自定义API N元关系、多实体事件
时序 基于时间 通过扩展 时序Cypher 演化知识、情景记忆

按领域

领域 推荐模型 理由
生物医学/临床 RDF/OWL UMLS/SNOMED本体,需要推理
企业/RAG LPG 快速迭代,向量搜索集成
以事件为中心(新闻、日志) 超图或时序 多参与者事件,时间演化
法律/合规 RDF/OWL 形式推理,出处链
科学文献 LPG + 分层 灵活提取,分层信任

模式模式

实体-关系模式

最简单的模式。节点代表实体,边代表二元关系。节点上的属性保存属性;边上的属性保存关系元数据(置信度、来源、时间戳)。

(:Person {name, role}) -[:WORKS_AT {since}]-> (:Organization {name, type})
(:Drug {name, class})  -[:TREATS {efficacy}]-> (:Disease {name, icd_code})

最适合:主要二元关系和中等复杂度的领域。

事件具体化模式

将N元关系和复杂事件建模为一级节点。一个事件节点通过类型化角色边连接到所有参与者。这避免了将N元关系强制为二元边的信息损失。

(:ClinicalTrial {id, phase, start_date})
  -[:HAS_DRUG]->     (:Drug {name})
  -[:HAS_CONDITION]-> (:Disease {name})
  -[:HAS_OUTCOME]->   (:Outcome {measure, value})
  -[:CONDUCTED_BY]->  (:Organization {name})

最适合:多参与者事件、临床数据、新闻事件、金融交易。

分层层级模式

将图分离为信任分层的层级,可以独立或一起查询。

第3层(规范本体):正式类层次结构、关系定义、约束
第2层(领域知识):来自文献的策划事实,专家验证
第1层(实例数据):从用户文档提取,案例特定,置信度较低

跨层边将实例链接到领域概念,领域概念链接到本体类。每条边上的出处元数据记录:源文档、提取方法、置信度分数和时间戳。

最适合:多源集成、带有信任评分的RAG、企业知识管理。

输出模板

知识图谱构建规范
============================================

领域:[目标领域和范围]
用例:[RAG / 推理 / 分析 / 混合]
数据源:[输入数据类型和数量列表]

数据模型:[LPG / RDF / 超图 / 时序]
查询语言:[Cypher / SPARQL / Gremlin / 自定义]
存储后端:[Neo4j / Amazon Neptune / Virtuoso / 等]

模式定义:
  节点类型:
  1. [实体类型] - [描述]
     属性:[带类型的列表]
  2. [实体类型] - [描述]
     属性:[带类型的列表]
  3. [继续每个节点类型...]

  边类型:
  1. [关系类型] (源 -> 目标) - [描述]
     属性:[带类型的列表]
  2. [继续每个边类型...]

  约束:
  - [基数、唯一性、必需属性]

提取管道:
  1. 实体提取
     - 方法:[LLM辅助 / NER / 混合]
     - 提示模板:[摘要或参考]
     - 验证:[多轮 / 第二LLM / 手动样本]
  2. 关系提取
     - 方法:[基于提示 / 依赖解析 / 混合]
     - 少样本示例:[数量和来源]
  3. 规范化
     - 去重:[方法]
     - 本体链接:[目标本体]
     - 同义词解析:[方法]

分层架构:
  第1层(实例):[实例级数据描述]
  第2层(领域):[策划领域知识描述]
  第3层(本体):[正式模式描述]
  出处:[如何跟踪来源/置信度/时间戳]

验证计划:
  - 模式一致性:[自动化检查]
  - 覆盖率:[预期实体/关系数量]
  - 一致性:[矛盾检测方法]
  - 人工审查:[抽样策略]

估计规模:[节点数量、边数量、每个节点的属性]
关键依赖:[库、API、本体]

下一步:
- 在样本数据上实现提取管道
- 填充图谱并运行验证套件
- 基于提取结果迭代模式
- 与下游应用程序集成(RAG、推理等)