文章目录
- 1.1 Description Logics
- 1.2 用描述逻辑定义本体
- 1.3 描述逻辑的推理任务
- 2. 语法
- 2.1 Expressions
- 2.2 Concept Constructors
- 2.2.1 布尔概念构造器(Boolean Concept Constructors)
- 2.2.2 限制(Restrictions)
- 2.2.3 其他
- 2.3 Role Constructors
- 2.4 Knowledge Bases
- 2.4.1 TBox Axioms
- 2.4.2 ABox Axioms
- 3. 描述逻辑和谓词逻辑
- 简介
1.1 Description Logics
为什么使用DL:由于RDFS并不满足于所有的任务,有些内容无法被表达或推断。
描述逻辑(Description Logic)是基于对象的知识表示的形式化,是一阶谓词逻辑(FOPL)的一个子集。它是模型理论的形式语义,比FOPL更简单的语法。它具有以下两个重要特征:
-
可判别的(Decidable):表达能力与算法复杂性的权衡
-
易于理解(Well understood):源于80年代中期到90年代早期的工作
描述逻辑限制了可以使用的谓词类型,其基本的依照造句法构建的模块有原子概念(一元谓词)、一元角色(二元谓词)和个体(常量)。
-
一元谓词(Unary predicates)表示概念(concept membership): P e r s o n ( x ) Person(x) Person(x)
-
二元谓词(Binary predicates)表示实例之间的角色(roles between instances): h a s C h i l d ( x , y ) hasChild(x,y) hasChild(x,y)
关于术语的说明:DL文献中使用的术语与RDFS中的术语略有不同,类和概念(class and concept)是可以互换的术语;角色、关系和属性(role, relation and property)是可以互换的术语。
1.2 用描述逻辑定义本体
通过使用必要条件和充分条件来描述类(概念)的情况:
考虑一个类C的一个属性A。
-
属性A是C类的一个必要条件。
- 如果一个对象是C的一个实例,那么它就有属性A
-
属性A是C类的充分条件。
- 如果一个对象有属性A,那么它就是C的一个实例
1.3 描述逻辑的推理任务
-
满足(Satisfaction):这个类可以有任何实例吗?
-
归纳(Subsumption):C类的每一个实例是否一定是D类的实例?
-
分类(Classification):这个对象是哪些类的实例?
2. 语法
2.1 Expressions
描述逻辑的表达包括:
-
概念和角色(concept & role)描述:
-
原子概念(Atomic concepts):Person
-
原子角色(Atomic roles): hasChild
-
复杂概念(Complex concepts):“person with two living parents”
-
复杂角色(Complex roles):“has parent’s brother” (i.e. “has uncle”)
-
-
公理(Axioms),即对概念或角色之间的关系进行陈述:
-
“Every person with two living parents is thankful”
-
“hasUncle is equivalent to has parent’s brother”
-
2.2 Concept Constructors
概念构造器用于构建复杂的概念。
2.2.1 布尔概念构造器(Boolean Concept Constructors)
-
Intersection
-
C h i l d ⊓ H a p p y Child⊓Happy Child⊓Happy
-
⊓
代表“与”,即为既是Child
又是Happy
的一类事物,读作“Child AND Happy”
-
-
Union
-
R i c h ⊔ F a m o u s Rich⊔Famous Rich⊔Famous
-
⊓
代表“或”,即为是Rich
或者是Famous
(或两者皆是)的一类事物,读作“Rich OR Famous”
-
-
Complement
-
¬ H a p p y ¬Happy ¬Happy
-
¬
代表“非”,即为不是Happy
的一类事物,读作“NOT Happy”
-
2.2.2 限制(Restrictions)
-
Existential
-
∃ h a s P e t . C a t ∃hasPet.Cat ∃hasPet.Cat
-
∃
代表“存在”,即为有一些宠物是猫的一类事物,必须有 至少一个 宠物,读作“hasPet SOME Cat”
-
-
Universal
-
∀ h a s P e t . C a t ∀hasPet. Cat ∀hasPet.Cat
-
∀
代表“任意”,即为所有宠物都是猫(宠物只有猫)的一类事物,包括 没有 宠物,读作“hasPet ONLY Cat”
-
-
Number
-
= 1 h a s P e t =1 hasPet =1hasPet:有且只有一只宠物的一类事物
-
≥ 2 h a s P e t ≥2 hasPet ≥2hasPet:有至少两只宠物的一类事物
-
2.2.3 其他
-
Universal concept
⊤
代表全集,读作“top”
-
Contradiction
⊥
代表空集,读作“bottom”
-
Nominals (singleton concepts)
- { 𝑥 } \{𝑥\} {x}
2.3 Role Constructors
角色构造器用于构建复杂的角色。
-
具体领域(数据类型)
-
Inverse roles: R − R^- R−
-
Role composition: R ∘ S R ∘ S R∘S
-
Transitive roles: R + R^+ R+
2.4 Knowledge Bases
一个描述逻辑知识库(knowledge base, KB)由两个部分组成:
-
TBox:术语(terminology)
-
一组描述领域结构的公理(即概念模式)
-
Concepts, roles
-
-
ABox:断言(assertions)
-
一组描述具体情形(数据)的公理
-
Instances
-
2.4.1 TBox Axioms
含义 | 写法 |
---|---|
Concept inclusion (C是D的一个子类,即C是一个原始的或部分的类) | C ⊑ D C⊑D C⊑D |
Concept equivalence (C与D相等) | C ≡ D C≡D C≡D |
Role inclusion (R是S的一个子属性) | R ⊑ S R⊑S R⊑S |
Role equivalence (R与S相等) | R ≡ S R≡S R≡S |
Role transitivity (R composed with itself is a subproperty of R) | R + ⊑ R R^+⊑R R+⊑R |
D是C的的一个必要条件: 𝐶 ⊑ 𝐷 𝐶⊑𝐷 C⊑D
D是C的一个充分条件: 𝐶 ⊒ 𝐷 𝐶⊒𝐷 C⊒D
D是C的充要条件: C ≡ D C≡D C≡D
2.4.2 ABox Axioms
-
概念实例化(Concept instantiation)
-
𝐶 ( 𝑥 ) 𝐶(𝑥) C(x)
-
x is of type C
-
-
角色实例化(Role instantiation)
-
𝑅 ( 𝑥 , 𝑦 ) 𝑅(𝑥, 𝑦) R(x,y)
-
x has R of y
-
Every person is either living or dead: P e r s o n ⊑ L i v i n g ⊔ D e a d Person⊑Living⊔Dead Person⊑Living⊔Dead
Every child who eats only cake is unhealthy: C h i l d ⊓ ∀ e a t s . C a k e ⊓ ∃ e a t s . C a k e ⊑ ¬ H e a l t h y Child⊓∀eats.Cake⊓∃eats.Cake⊑¬Healthy Child⊓∀eats.Cake⊓∃eats.Cake⊑¬Healthy
No elephants can fly: E l e p h a n t ⊓ F l y i n g T h i n g ≡ ⊥ Elephant⊓FlyingThing≡ ⊥ Elephant⊓FlyingThing≡⊥
3. 描述逻辑和谓词逻辑
描述逻辑(Description Logics)是一阶谓词逻辑的一个子集,具有简化的句法。每一个DL表达式都可以转换为一个等价的FOPL表达式。
谓词逻辑(Predicate Logic)是一种形式语言,其中命题用谓词、变量和量词表示。在谓词逻辑中:
每个概念 𝐶 都被转化为一个公式 ϕ C ( 𝑥 ) ϕ_C(𝑥) ϕC(x) 。
每个角色 𝑅 都被翻译成一个公式 ϕ R ( 𝑥 , 𝑦 ) ϕ_R(𝑥,𝑦) ϕR(x,y) 。
布尔概念构造器:
-
ϕ ( ¬ C ) ( x ) = ¬ ϕ C ( x ) ϕ_(¬C) (x)=¬ϕ_C (x) ϕ(¬C)(x)=¬ϕC(x)
-
ϕ ( C ⊔ D ) ( x ) = ϕ C ( x ) ∨ ϕ D ( x ) ϕ_(C⊔D) (x)=ϕ_C (x)∨ϕ_D (x) ϕ(C⊔D)(x)=ϕC(x)∨ϕD(x)
-
ϕ ( C ⊓ D ) ( x ) = ϕ C ( x ) ∧ ϕ D ( x ) ϕ_(C⊓D) (x)=ϕ_C (x)∧ϕ_D (x) ϕ(C⊓D)(x)=ϕC(x)∧ϕD(x)
限制条件:
-
ϕ ( ∃ R . C ) ( x ) = ∃ y . ϕ R ( x , y ) ∧ ϕ C ( y ) ϕ_(∃R.C) (x)=∃y.ϕ_R (x,y)∧ϕ_C (y) ϕ(∃R.C)(x)=∃y.ϕR(x,y)∧ϕC(y)
-
ϕ ( ∀ R . C ) ( x ) = ∀ y . ϕ R ( x , y ) ⇒ ϕ C ( y ) ϕ_(∀R.C) (x)=∀y.ϕ_R (x,y)⇒ϕ_C (y) ϕ(∀R.C)(x)=∀y.ϕR(x,y)⇒ϕC(y)
Axioms通过如下方式翻译:
-
Concept inclusion C ⊑ D C⊑D C⊑D
- ∀ x . ϕ C ( x ) ⇒ ϕ D ( x ) ∀x.ϕ_C (x)⇒ϕ_D (x) ∀x.ϕC(x)⇒ϕD(x)
-
Concept equivalence C ≡ D C≡D C≡D
- ∀ x . ϕ C ( x ) ⇔ ϕ D ( x ) ∀x.ϕ_C (x)⇔ϕ_D (x) ∀x.ϕC(x)⇔ϕD(x)
example: “Every child who eats cake is happy”
DL: C h i l d ⊓ ∃ e a t s . C a k e ⊑ H a p p y Child⊓∃eats.Cake⊑Happy Child⊓∃eats.Cake⊑Happy
(1) ∀ x ϕ ( C h i l d ⊓ ∃ e a t s . C a k e ) ( x ) ⇒ ϕ H a p p y ( x ) ∀x ϕ_(Child⊓∃eats.Cake) (x)⇒ϕ_Happy (x) ∀xϕ(Child⊓∃eats.Cake)(x)⇒ϕHappy(x)
(2) ∀ x ϕ C h i l d ( x ) ∧ ϕ ( ∃ e a t s . C a k e ) ( x ) ⇒ ϕ H a p p y ( x ) ∀x ϕ_Child (x)∧ϕ_(∃eats.Cake) (x)⇒ϕ_Happy (x) ∀xϕChild(x)∧ϕ(∃eats.Cake)(x)⇒ϕHappy(x)
(3) ∀ x ϕ C h i l d ( x ) ∧ ∃ y ϕ e a t s ( x , y ) ∧ ϕ C a k e ( y ) ⇒ ϕ H a p p y ( x ) ∀x ϕ_Child (x)∧∃y ϕ_eats (x,y)∧ϕ_Cake (y)⇒ϕ_Happy (x) ∀xϕChild(x)∧∃yϕeats(x,y)∧ϕCake(y)⇒ϕHappy(x)
因此我们可以得到最终的PL即为(3)