第八章 · 开源生态地图
8.7 索引之外的十九个系统
趋势章节提到、却不在主索引里的项目
一份索引的边界往往由作者的关键词决定,而趋势论证又常常引用索引之外的项目。这一格把缺口补齐:一个 OBDA 实现、一个国产图引擎、一个带版本控制的图库、三个记忆层、四个本体工程工具、七个「本体优先」实验、两个代码图谱。
为什么值得单列:这批项目的星数比主索引高一个数量级,如果只看主索引,会严重低估「结构热」的规模。
Ontop
A虚拟知识图(OBDA)最长寿的实现:关系库不动,用 mapping 把表解释成本体,SPARQL 查询实时重写成 SQL 下推。数据不搬家是它唯一但足够大的卖点。
何时采纳已有关系库、不想为语义层重建数据资产时,先验方言兼容性。
OpenSPG
A蚂蚁与 OpenKG 的知识图引擎,核心是 SPG 框架:把属性图的结构与 RDF 的语义缝起来。README 的判词很硬——「RDF/OWL 的语义复杂度无法工业化落地」。配套 KGDSL 用领域语言写规则。
何时采纳需要在「属性图好落地」与「RDF 有语义」之间找折中时。
TerminusDB
A把 git 语义做进图库内核:每次更新是一个 commit,commit 之间可 diff / patch,支持 branch 与 time-travel 查询,自我定位是 system of record。核心用 Prolog 写。
何时采纳需要「任意时点可查 + 变更可 diff」的存储形态时。
Graphiti
A面向 Agent 的时序上下文图:每条事实带有效期窗口,矛盾以「失效」而非「覆盖」处理,全部派生事实可追回原始 episode。区分「预声明类型」与「从数据学出的类型」两种本体。
何时采纳设计双时态与溯源时,直接抄它的数据模型。
Cognee
B把记忆抽象成四个动词:remember / recall / improve / forget,并用 session distillation 把被接受的经验沉淀成永久记忆。可在无 LLM 模式下本地运行,也能整套跑在 Postgres 上。
何时采纳设计「经验如何变成规则」的沉淀机制时。
Mem0
BAgent 记忆层的事实标准,drop-in 的 add / search,自动抽取事实、去重、更新。它是对话场景的产物:没有类型系统、没有约束、不保证可复现。
何时采纳做对话型助手、需要长期记忆时。
Oxigraph
B基于 RocksDB 的 Rust SPARQL 存储,四种形态:Rust 库、Python 绑定 pyoxigraph、JS/WASM、CLI + HTTP 服务。覆盖 RDF 规范化。作者自述查询求值尚未优化。
何时采纳Python 项目里需要一个可持久化的本地 RDF 库时。
ROBOT
AOBO 社区的本体命令行工具:diff、merge、reason、report、extract、convert、query。架构上把纯逻辑的 Operations 与负责 IO 的 Commands 分开,这个切分值得抄。
何时采纳要列「本体 CI 该跑哪几步」时,拿它的命令清单当底稿。
OnToology
B把本体仓库接上 GitHub:每次 push 自动生成文档(Widoco)、类图(AR2DTool)、质量扫描(OOPS!)。产出物不写回源文件,流水线由一个配置文件声明。
何时采纳要给本体挂自动文档与质量报告时。
DeepOnto
B牛津 KRR 的本体处理库,底座是 OWLAPI。六个子模块里最有用的是 Verbaliser:把复杂类表达式翻成自然语言句子;以及 Pruner:抽取子本体用于发布。
何时采纳需要把约束或公理翻译成人话时。
OntoEKG
BLLM 驱动的企业本体构建,两阶段:先抽类与属性,再推断 subClassOf 层次并序列化成标准 RDF。论文覆盖数据、金融、物流三个领域。
何时采纳研究「从企业文本抽本体」的流程骨架时。
myKG
B知识图引擎,顺序与多数项目相反:先从文档诱导出全局 schema,再按 schema 抽实例。有 CI 与覆盖率门禁,支持多家模型服务。
何时采纳需要「先定 schema 再抽」的工程样例时。
OntoRAG
C以「Retrieve meaning, not paragraphs」为口号的 CLI 与核心库,星数很低,是「本体优先」这一提法的早期样本。
何时采纳只在追踪该口号来源时。
OntoKG
C把属性按「查表能拿到的」与「必须走关系的」提前分类(intrinsic-relational routing)。这个分类在建模阶段做,能省掉后期大量返工。
何时采纳设计属性表结构、需要区分固有属性与关系属性时。
LLM4VKG
C让 LLM 读表结构、生成 OBDA mapping,方向对准「已有数据库」而非新建图。风险是 mapping 错了不报错、只静默返回错数据。
何时采纳探索「mapping 自动化」时,作为问题清单。
OntoLearner
C本体学习的模块化库:术语抽取、概念形成、层次构建、关系抽取各成模块,服务 LLMs4OL 类评测。
何时采纳做本体学习实验、需要可替换模块时。
OntoAligner
C本体对齐工具箱,内置多种匹配器,用于找两个本体之间等价的类与属性。输出仍需人工复核。
何时采纳要把外部词表映射到自有词表时。
Understand Anything
B把代码库、知识库、文档变成可交互知识图的插件,支持主流编码 Agent。偏「给人看」的理解工具,不承诺类型系统。
何时采纳需要向非工程角色解释代码结构时。
CodeGraph
BRust 内核的语义代码智能 CLI:预索引、增量同步、100% 本地,为编码 Agent 提供「外科手术式上下文」。
何时采纳团队重度使用编码 Agent、想降低上下文成本时。