RDFS 与 OWL 入门
一、RDFS 入门:类、子类、属性、定义域与值域
RDFS 是 RDF 的扩展词汇表,用一组预定义的 IRI 描述「哪些是类、谁是谁的子类、哪些是属性、属性的定义域与值域」。
- rdfs:Class — 表示「这是一个类」;实例通过
rdf:type声明属于某类。 - rdfs:subClassOf — 类与类之间的子类关系;若 C1 subClassOf C2,则所有 C1 的实例也是 C2 的实例。
- rdfs:Property — 表示「这是一个属性/关系」。
- rdfs:domain — 属性的定义域:该属性的主体应属于哪个类(或多个类的并)。
- rdfs:range — 属性的值域:该属性的客体应属于哪个类或字面量类型。
推理规则示例:若 (a, created, b) 且 created 的 domain 是 Person、range 是 Theory,则可推出 a 是 Person、b 是 Theory(RDFS 推理机会自动做这类推断)。RDFS 不表达「等价」「逆」「传递」「基数」等,因此推理能力有限但简单、工具支持广泛。
# Classes ex:Person a rdfs:Class . ex:Scientist a rdfs:Class ; rdfs:subClassOf ex:Person . ex:Theory a rdfs:Class . # Property with domain and range ex:created a rdfs:Property ; rdfs:domain ex:Person ; rdfs:range ex:Theory .
二、OWL 简述:等价、逆、传递、对称、基数
OWL 在 RDFS 基础上增加了更丰富的公理,使推理机能做更多推断。常用构造简述如下。
等价 (equivalent)
owl:equivalentClass、owl:equivalentProperty、owl:sameAs 表示两类/两属性/两实体等价,可互相替换。用于融合不同本体的同义概念。
逆 (inverse)
owl:inverseOf:若 P 与 Q 互逆,则 (a, P, b) 蕴含 (b, Q, a)。例:created 与 createdBy 互逆。
传递 (transitive)
若 P 为 owl:TransitiveProperty,则 (a,P,b) 且 (b,P,c) 蕴含 (a,P,c)。例:locatedIn、partOf。
对称 (symmetric)
若 P 为 owl:SymmetricProperty,则 (a,P,b) 蕴含 (b,P,a)。例:knows、adjacentTo。
基数 (cardinality)
owl:minCardinality、maxCardinality、exactCardinality 限制某关系可连接的对象数量。例:每人至少有一个出生地。
# Inverse: created and createdBy ex:created a owl:ObjectProperty ; owl:inverseOf ex:createdBy . # Transitive: locatedIn ex:locatedIn a owl:ObjectProperty , owl:TransitiveProperty . # Symmetric: knows ex:knows a owl:ObjectProperty , owl:SymmetricProperty .
三、RDFS 与 OWL 的对比
RDFS 是 OWL 的子集(在表达力上):OWL 复用并扩展了 RDFS 的类与属性构造。主要差异在于:
| 维度 | RDFS | OWL |
|---|---|---|
| 类与属性 | Class, subClassOf, Property, domain, range | 同上 + 等价、交并补、受限类等 |
| 关系公理 | 无 | 逆、传递、对称、函数性、基数等 |
| 推理 | 子类继承、domain/range 推断 | 上述 + 逆/传递/对称等推导;可满足性检查 |
| 复杂度 | 低,线性可解 | OWL 2 DL 可判定但复杂度高;工具与推理机要求更高 |
四、何时用 RDFS、何时用 OWL
用 RDFS 即可:只需类层次、属性及 domain/range;不要求逆、传递、基数或复杂类表达式;希望 Schema 简单、工具兼容性好、推理轻量。很多关联数据与轻量知识图谱仅用 RDFS 就够。
需要 OWL:要表达「创立 与 被创立 互逆」「位于 传递」「每人至少一个出生地」等;要做一致性检查(类是否可满足、是否有逻辑矛盾);要复用或对齐已有 OWL 本体。此时应选用 OWL 2 的适当 profile(如 OWL 2 RL 在规则与推理间折中),并配合推理机(HermiT、Pellet、RDFox 等)。
一句话: RDFS 提供 Class、subClassOf、Property、domain、range,适合轻量 Schema 与基础推理。OWL 增加等价、逆、传递、对称、基数等公理,支撑更强推理与一致性检查。按需求选择:仅类与属性约束用 RDFS;需要逆/传递/基数或可满足性检查时用 OWL,并选用合适 profile 与推理机。
五、小结
RDFS 用 rdfs:Class、subClassOf、Property、domain、range 定义类层次与属性约束;推理限于子类继承与 domain/range 推断。OWL 在此基础上增加等价、逆、传递、对称、基数等公理,推理能力与复杂度更高。何时用 RDFS:类层次与 domain/range 即可、追求轻量与兼容。何时用 OWL:需要逆/传递/对称/基数或一致性检查时,选用 OWL 2 的适当 profile 与推理机。下一章讲Schema 设计:实体类型与关系类型的划分、命名与定义域/值域,以及 Schema 与数据的一致性。