知识表示基础:实体、关系与三元组

一句话里藏着结构。 「北京是中国的首都」——有两个「事物」:北京、中国;有一种「关系」:是…的首都。知识表示要做的,就是把现实里这种「谁和谁、什么关系」变成机器能存、能查、能推理的形式:实体对应「事物」,关系对应「谁指向谁、什么类型」,而三元组就是把「主体–谓词–客体」打包成一条最小知识单元。本章从直观理解出发,把实体、关系、三元组、属性与关系的区别、以及多跳与路径讲清楚,为后面 RDF 与图模型打基础。

一、实体(Entity)的直观理解

实体是知识图谱中「可被指称、可被区分」的事物。现实世界里的人、地点、组织、作品、事件、概念、时间点等,只要需要在图中单独讨论、并与其他事物建立关系,就可以建模为一个实体。例如:爱因斯坦、北京、谷歌公司、《相对论》、1921 年、诺贝尔物理学奖,各自是一个实体。

实体的几个要点:可标识——每个实体要有稳定、唯一的标识(在 RDF 里常是 URI/IRI),避免「此北京」和「彼北京」混淆;可类型化——实体通常属于某类(人、城市、公司、事件等),类型影响可连哪些关系、可有哪些属性;可有多条关系——同一实体会参与多条三元组,既是某些关系的主体,也可以是另一些关系的客体,从而处在图的「交叉路口」。

实体示例:人、地点、概念等作为节点,通过带类型的关系相连

二、关系(Relation)的直观理解

关系描述「两个实体之间以何种方式关联」,在图中对应一条有向边,边上带有类型(谓词)。例如「爱因斯坦 –创立→ 相对论」「普林斯顿 –位于→ 美国」:前者是「人–创立–理论」,后者是「地点–位于–国家」。关系的方向很重要——「A 创立 B」和「B 创立 A」含义相反,图中用从 A 指向 B 的箭头表示。

关系通常有定义域与值域的约束:如「创立」的主体多为「人」或「组织」,客体多为「理论」「作品」「公司」等。这些约束由 Schema 或本体定义,既帮助人在建模时少犯错误,也为后续推理(如类型检查、推理规则)提供依据。同一对实体之间可以有多条不同关系:例如「北京」与「中国」之间可以有「是…首都」「位于」「属于」等,各自是一条边。

三、三元组(Subject–Predicate–Object)模型

知识图谱中最小的表达单位是三元组(Triple):由主体(Subject)谓词(Predicate)客体(Object)三部分构成,表示「主体与客体之间存在谓词所描述的关系」。习惯写成 (S, P, O) 或「S –P→ O」:S 和 O 是实体(或 O 有时为字面量,见下节),P 是关系的类型。

例如:(爱因斯坦, 创立, 相对论)、(北京, 是…首都, 中国)、(爱因斯坦, 获奖年份, 1921)。前两条的客体都是实体;第三条的客体是字面量「1921」,表示实体的某个属性值。一张知识图谱在逻辑上就是三元组的集合;把这些三元组画出来,节点即实体,边即关系,就得到我们熟悉的图视图。

三元组结构:主体 –谓词→ 客体,对应图中一条有向边
(爱因斯坦, 创立, 相对论)

读作:主体「爱因斯坦」与客体「相对论」之间存在谓词「创立」所描述的关系。

四、属性与关系的区别

在建模时经常要区分属性(Attribute)关系(Relation)

何时用属性、何时用关系?若这个「值」需要在图中被引用、被推理、或与别的实体并列讨论,往往建模成实体并用关系连接;若只是描述性信息、不参与图上的遍历,用属性即可。例如「获奖年份」若只用于展示,可以存成属性 1921;若要做「同年获奖的人」这类查询,把「1921年」也做成实体、用「获奖年份」关系连到「爱因斯坦」和「玻尔」更合适。

属性(实体 → 字面量)

客体是值:数字、字符串、日期。不参与图上的多跳。例:爱因斯坦 –出生年份→ 1879;北京 –人口→ 2188万。

关系(实体 → 实体)

客体是图中另一实体,可继续延伸。例:爱因斯坦 –任教→ 普林斯顿 –位于→ 美国。

属性:实体到值;关系:实体到实体,支持多跳
左:属性(实体到字面量);右:关系(实体到实体)

五、多跳与路径

单条三元组只表达「一步」关系。现实问题往往需要多步:从实体 A 经关系 R1 到实体 B,再经 R2 到实体 C,形成一条路径。例如「爱因斯坦 –任教→ 普林斯顿 –位于→ 美国」:两跳得到「爱因斯坦在美国的任教机构所在国」。多跳是知识图谱相比「单表查询」的核心优势——在关系库里需要多次 JOIN,在图里就是沿边遍历。

路径可以形式化为一串交替的实体与关系:E1 –R1→ E2 –R2→ E3 –R3→ …。查询时常用「从某实体出发、沿某类边、走若干步、到达某类实体」的模式;推理时也会利用「若存在路径 A→…→B,则可能蕴含某种结论」。后续章节会讲 SPARQL 中的属性路径、图上的最短路径与模式匹配,本质上都是在利用多跳与路径。

爱因斯坦 任教 普林斯顿 位于 美国
一条两跳路径:爱因斯坦 → 任教 → 普林斯顿 → 位于 → 美国
多跳路径:E1 –R1→ E2 –R2→ E3

一句话: 实体是可标识、可类型化的事物;关系是实体间的有向、带类型的边。三元组 (S, P, O)是知识的最小单位,图即三元组集合的直观表示。属性是实体到字面量的描述,关系是实体到实体、可多跳延伸。多跳路径由多条三元组首尾相接形成,是图上查询与推理的基础。

动手试试: 任选两个你熟悉的人或概念,写出 3~5 条三元组(中英文均可),再试着画成小图;然后加一条「属性」型三元组(如出生年份),体会属性与关系的区别。

六、小结

实体是可指称、可类型化的事物,对应图中的节点。关系是实体间的有向边,带谓词类型,可有定义域与值域。三元组 (S, P, O)表示「S 与 O 之间存在 P 关系」,是知识图谱的最小单元;图即三元组集合。属性连接实体与字面量,关系连接实体与实体,后者支持多跳。多跳与路径由多条三元组首尾相接形成,是复杂查询与推理的载体。下一章我们从图论视角看知识图谱:节点、边、有向/无向、度、路径与连通分量,把「图」的数学语言与知识表示对齐。