编者按:在人工智能与知识图谱的浪潮中,我们常将关联数据奉为基石。但它那些沿袭已久的最佳实践是否已成禁锢我们的陈规?

本文作者以其深厚的行业洞察,犀利地剖析了这些神圣的信条,并指明了 SHACL 等更现代、更务实的解决之道。

作者:KURT CAGLE

日期:2025年7月27日

大约在2001年,蒂姆·伯纳斯-李提出了一个极具吸引力的构想。

他认为,如果能用“图”来表达信息并赋予其结构,就可以通过超链接将这些结构串联起来,从而创建一个名为「关联数据」的网络。


大多数人都见过关联数据云图的某种形态,它看起来极其震撼,仿佛一个由恒星组成的星系,或是星系团的集群。

资讯配图

然而,这种对关联数据的看法,在很多方面都具有强烈的误导性。

首先,能够被直接大量引用的知识图谱数量极少,而绝大多数知识图谱根本无法访问,形成了一种典型的长尾分布。

其次,许多知识图谱曾一度可供访问,但出于性能或成本的考量,它们要么被关闭,要么其访问权限受到了严格限制。

再者,很多知识图谱在设计之初便基于静态原则,这导致它们迅速过时。

同样,知识图谱的一个核心要素——一个可用的本体——要么付之阙如,要么极为原始。这意味着,除了反复试错,我们几乎没有任何结构可依赖来查询这些数据。

正因如此,这个分布式知识系统的首个范例,成了一个有趣的失败。

说它有趣,在于它代表了我们思考数据方式的重大转变;说它失败,则是因为即便在二十五年后,关联数据网络的存在,更多是潜力而非现实。


有一些所谓的最佳实践,在本体论者之间代代相传,仿佛神圣的知识。

其中一些在语义网早期尚有其道理,一些是早期工具的附带产物,还有一些则仅仅是从未遭受真正挑战的设计方法,最终沉淀为公认的智慧。

我认为,其中不少已沦为陈规旧习,尤其是在业界正从 OWL 转向 SHACL 与 SPARQL 的当下。

陈规旧习:一种用于区分特定人群的习俗、原则或信念,尤其指那些被视为过时或不再重要的长期观念。

这些陈规旧习可以概括如下:

  1. 改编优于创建
  2. 每个本体都应是全局的
  3. 每个本体都必须是可推理的
  4. 具体化是糟糕的
  5. 命名图是糟糕的
  6. 只有本体论者才能创建本体

让我来逐一深入剖析。


一、改编优于创建

这个陈规的核心论点是:最好不要重复造轮子。

许多现成的本体已经解决了大量数据建模的难题,通过改编它们,你可以绕过设计关,更快地启动项目。

但这套最佳实践至少存在两个问题。

其一,设计工作最多不过数周或数月,而系统的维护却可能长达数年。

一旦外部本体发生变更,或不再满足你的特殊需求,你要么得彻底重建相关模块,要么只能以越来越扭曲的方式去兼容它。

其二,问题更为微妙。OWL 的表达方式灵活多变,这反而会引发查询难题。

因为每导入一个外部组件,你就可能需要更专业的 SPARQL 知识来应对其独特的设计。

相比之下,一个能够建立一致性设计模式的组织,远比那些东拼西凑、各自为战的组织更容易成功


更好的替代方案,是采用屏蔽或间接的策略,在不同本体间识别等效节点。

你可以在自己的本体中创建节点来引用外部本体,并通过元数据来精确说明转换规则。这正是 SHACL 的魅力之一:它的核心异常简洁,却能灵活定义各种非一对一的映射。

换个角度思考:我们不应总想着直接利用外部本体,而应将重点放在构建转换机制上。

通过 SPARQL 的 CONSTRUCT 或 INSERT 语句,我们能以一种一致且文档完备的方式,高效地实现本体间的映射。


二、每个本体都应是全局的

本体,本质上是定义数据模型的一种方式。

有些数据模型覆盖面极广,但其深度也因此被刻意限制。另一些则在范围上要精炼得多,比如一个企业内部模型,它在设计时就没指望能直接转换给同行使用。

范围与精度,是一对常见的矛盾体。范围越广,模型越粗糙,反之亦然。

范围越广,需要考虑的用例就越多,本体的复杂性也随之剧增。

许多本体论者都有一种难以抑制的冲动,渴望创建出”那个唯一的本体“,那枚一统天下的至尊魔戒。

除非已有公认的行业标准,否则强行追求全局性,往往得不偿失。

更明智的做法是:缩小范围,并更精细地定义从标签到数据结构的每一处细节。

如果你确实需要遵从某个行业标准,那就将其视为一个需要适配的转换目标,而不是你自身模型的枷锁。


三、每个本体都必须是可推理的

OWL 的诞生,比 SPARQL 早了大约七年。

在它初次登台时,内置的硬编码推理规则使其能够处理链式关系、传递闭包等复杂逻辑。

这些规则虽简化了某些操作,但在另一些场景下却会导致数据爆炸,owl:sameAs 就是一个臭名昭著的例子。

SPARQL 的出现,极大地削弱了对推理的依赖

它允许你将大量业务逻辑置于查询之中,而非固化在数据模型里,从而提供了推理无法企及的灵活性和上下文控制。

SHACL 则接管了数据建模的核心职责,如基数、范围、域和节点类型的定义。

SHACL 与 SPARQL 的组合,几乎能处理所有验证场景,使得推理越来越像一种历史遗物。


四、具体化是糟糕的

具体化,是用一个 IRI 来指代一个完整的“主-谓-宾”断言。

理论上这没问题,但实践中却很复杂,因为它要求为每个三元组额外建立索引,还可能产生多个指向同一断言的标识符。

早期的 RDF 规范虽包含此概念,但因实现过于困难,OWL 在很大程度上将其忽略了。

当时的主流观点是:你可以用更清晰、高效的建模方式来替代具体化,它不过是语法糖。

这个看法一度成为行业共识,直到 2007 年 Neo4J 的出现。

Neo4J 成为了标签属性图的典范,它允许在关系(边)上附加属性。例如,在两个机场的“连接”关系上,你可以直接标注航线、距离、飞行时间等信息。

这种表达在传统 RDF 中非常笨拙。最终,在 2017 年,RDF-Star 规范应运而生,它优雅地解决了这个问题。

RDF-Star 的出现比 OWL 晚了二十年。因此,“具体化是糟糕设计”这一陈旧观念,正在被彻底重新评估


五、命名图是糟糕的

如果说具体化是施加于“三元组”之上的标识符,那么命名图就是施加于“图”之上的标识符。

这一概念同样在 OWL 的信徒与 SPARQL 的拥护者之间引发了深刻的对立。

从概念上讲,命名图为一个三元组集合打上标签,使其成为一个逻辑单元。

命名图对于信息划分和隔离尤其有效,它能创建出不同的“关注范围”,让你可以在不干扰主图的情况下,独立操作特定的子图。

当年此标准被提出时,遭到了巨大反对,因为它将颠覆大量基于 OWL 构建的关联数据架构。

可以说,SHACL 的前身 SHEX 之所以会出现,很大程度上就是为了应对命名图带来的冲击。

如今,围绕命名图正涌现出大量激动人心的工作,但这些都比关联数据的原始构想要晚近二十年,相关的方法论也仍在演进之中。


六、只有本体论者才能创建本体

关联数据的方法论,其思想源头可以追溯到罗素等哲学家的数理逻辑,经由 CYC 项目,最终由蒂姆·伯纳斯-李等人将其整理为“语义网”。

现代意义上的“本体”,由汤姆·格鲁伯在1993年定义为“对概念化的显式规范”。

由此推论,一个本体论者,似乎必须是精通一阶逻辑、图论和计算机科学的数学家。

然而,创建数据模型,几乎是任何人的本能

一个孩子会把猫描述为“有四条腿、毛茸茸、长尾巴、会喵喵叫的动物”。这本身就是一种对“猫”这个类的描述和约束。

从这个层面说,我们每个人,都是天生的本体论者

一个专业的本体论者,其优势在于拥有更丰富的建模模式经验,并掌握了一套更系统的建模方法论。


SHACL 的演进,正是源于一种清醒的认识:以 OWL 为代表的旧方法论对大多数人来说过于复杂。

通过重新思考约束建模,我们将语义数据建模的大门,向传统数据建模、编程、图书馆学、金融、医疗、出版等众多领域的专家敞开。

我的学生们普遍发现 SHACL 比 OWL 更易理解,因为它更贴近人们思考数据建模的直觉。

SHACL 与 SPARQL 的组合,足以取代 OWL 的大部分结构

再辅以具体化和命名图,我们便能更好地在不同层级上组织信息,并将数据视为在特定上下文中才成立的、有条件的知识,而非必须全局一致的绝对断言。

这种思维方式,已经超越了最初的关联数据范式。


我预感,未来的本体管理,将能够根据上下文动态派生,无论通过符号方法,还是某种形式的生成式AI。

这至关重要,因为数据鲜有静止,它在持续演化。任何静态的模型,都可能随着底层假设的变动而失效。

我个人更倾向于将本体视为一种契约。

你我双方约定,在此时此地,数据应呈现此种形态,以确保信息顺畅流通。一旦上下文变更,我们就重新审视这份契约。

随着我们与数据关系的不断进化,也许,是时候告别关联数据的旧梦,向前看了。


一键三连点赞」「转发」「小心心

欢迎在评论区留下你的想法!