描述逻辑(Description Logics)

news/2025/1/13 2:38:09/

文章目录

    • 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.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 ChildHappy

    • 代表“与”,即为既是 Child 又是 Happy 的一类事物,读作“Child AND Happy”

  • Union

    • R i c h ⊔ F a m o u s Rich⊔Famous RichFamous

    • 代表“或”,即为是 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 RS

  • 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 CD
Concept equivalence
(C与D相等)
C ≡ D C≡D CD
Role inclusion
(R是S的一个子属性)
R ⊑ S R⊑S RS
Role equivalence
(R与S相等)
R ≡ S R≡S RS
Role transitivity
(R composed with itself is a subproperty of R)
R + ⊑ R R^+⊑R R+R

D是C的的一个必要条件: 𝐶 ⊑ 𝐷 𝐶⊑𝐷 CD

D是C的一个充分条件: 𝐶 ⊒ 𝐷 𝐶⊒𝐷 CD

D是C的充要条件: C ≡ D C≡D CD

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 PersonLivingDead

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 Childeats.Cakeeats.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≡ ⊥ ElephantFlyingThing

3. 描述逻辑和谓词逻辑

描述逻辑(Description Logics)是一阶谓词逻辑的一个子集,具有简化的句法。每一个DL表达式都可以转换为一个等价的FOPL表达式。

谓词逻辑(Predicate Logic)是一种形式语言,其中命题用谓词、变量和量词表示。在谓词逻辑中:

每个概念 𝐶 都被转化为一个公式 ϕ C ( 𝑥 ) ϕ_C(𝑥) ϕC(x)

每个角色 𝑅 都被翻译成一个公式 ϕ R ( 𝑥 , 𝑦 ) ϕ_R(𝑥,𝑦) ϕR(xy)

布尔概念构造器:

  • ϕ ( ¬ 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) ϕ(CD)(x)=ϕC(x)ϕD(x)

  • ϕ ( C ⊓ D ) ( x ) = ϕ C ( x ) ∧ ϕ D ( x ) ϕ_(C⊓D) (x)=ϕ_C (x)∧ϕ_D (x) ϕ(CD)(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 CD

    • ∀ x . ϕ C ( x ) ⇒ ϕ D ( x ) ∀x.ϕ_C (x)⇒ϕ_D (x) x.ϕC(x)ϕD(x)
  • Concept equivalence C ≡ D C≡D CD

    • ∀ 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 Childeats.CakeHappy

(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ϕ(Childeats.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)


http://www.ppmy.cn/news/809469.html

相关文章

逻辑分析

逻辑分析 今天刚好分析出了一个自己给自己挖的坑,刚好晚上睡不着,就写一篇关于逻辑分析的吧。 我这水平的往上聊不了数学算法,往下也聊不了物理定律,就最最最平常的逻辑知识还是可以谈谈的。很多刚做电子这行的朋友经常问我这个怎…

业务逻辑。

OSS 通过断点续传上传的方式将文件上传到OSS前,您可以指定断点记录点。 上传过程中,如果出现网络异常或程序崩溃导致文件上传失败时,将从断点记录处继续上传未上传完成的部分。 参数 可以通过ossClient.uploadFile方法实现断点续传上传。…

逻辑教育python怎么样_逻辑教育 - 主页

${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录。 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: ${content} {if multiple} {else} {/if} {if defined("xlist")&&!!xl…

逻辑与

求下面函数的返回值 int func(x) { int countx 0; while(x) { countx ; x x&(x-1); } return countx; } 假定x 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。 注: 每执…

逻辑非

逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值,无论这个值是什么数据类型,这个操作符都会返回一个布尔值。逻辑非操作符首先会将它的操作符转换为一个布尔值,然后再对其求反。 例: 如果操作数是一个对象,返回false

逻辑运算

C语言中&#xff0c;逻辑运算包括大于(>)、小于(<)、等于()、不等于(!)、大于等于(>)、小于等于(<)、逻辑与&#xff08;&&&#xff09;、逻辑或(||)、逻辑非(!)等&#xff0c;这些运算的结果被称为逻辑值。逻辑值只有两个值&#xff0c;即真和假&#xff…

逻辑英语

一切的一切都只是套路&#xff01; ——鲁迅 核心公式&#xff1a; En&#xff1a; &#xff08;状语1&#xff09; 主&#xff08;定语1&#xff09; 谓&#xff08;状语2&#xff09; &#xff08;宾&#xff09;&#xff08;定语2&#xff09; &#xff08;状语…

逻辑 - 概念

1. 什么是概念&#xff1f; 概念是反映事物的本质属性的思维方式 2. 概念的特征 2.1 内涵 指概念的含义&#xff0c;即概念所反映的事物对象所特有的本质属性&#xff0c;用来明确概念“是什么”。 2.2 外延 指概念所反映的事物对象的范围&#xff0c;即具有概念所反映本质属性…