Protégé术语解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Protégé术语解释
3种OWL语⾔
OWL可以分为三种⼦语⾔:OWL-Lite,OWL-DL,OWL-Full。
⼦语⾔的特征是由它的描述能⼒来分类的。
其中,OWL-Lite描述能⼒最弱,OWL-Full描述能⼒最强,OWL-DL的能⼒属于中间,同时,OWL-Full可以视为是OWL-DL的⼀个扩展。
OWL-Lite:在语法上,OWL-Lite是最简单的语⾔。
⼀般⽤于只有⼀个简单的类层次和定义的约束⽐较简单的情况。
⽐如,根据⼀个现有的百科全书建⽴的本体。
OWL-DL:OWL-DL是建⽴在描述逻辑基础上的的,描述能⼒⽐OWL-Lite强得多。
描述逻辑是第⼀顺序逻辑的决定性部分,可以进⾏⾃动推理。
因此,可以⾃动的计算分类层次,并且检查本体的⼀致性。
OWL-Full:OWL-Full的表达能⼒是最强的。
OWL-Full可以适⽤于需要很强的表达能⼒的情况。
OWL本体的组成
OWL本体由个体、关联和类组成,三者分别和实例(Instances)、扩展连接点(Slot)、类(Classes)相通信。
个体(Individuals):个体就是在领域中,我们所感兴趣的物体。
Protégé和OWL之间有⼀个显著的区别,就是OWL没有独⽴名字假定(Unique Name Assumption, UNA)。
这意味着两个不同的名字可以指向同⼀个个体。
个体就是我们常说的实例,个体可以被理解为“类的实例”。
关联(Properties):关联指的是两个个体之间的⼆元关系,⽐如,⼀个关联可以把两个个体连接在⼀起。
例:关联hasSibling,因为Matthew和Gemma是两兄弟,就可以通过hasSibling这个关系把Matthew和Gemma连在了⼀起,关联也可以只有⼀个参数,如使某种功能化的关联,如transitive(传递)或symmetric(对称)。
在Protégé中,关联基本和扩展连接点(Slot)的意思是⼀致的。
在描述逻辑中,扩展连接点是⼀个⾓⾊,在UML中是关系,也可以是指向其他物体的概念。
在GRAIL(另⼀种本体语⾔)和其他的形式化语⾔中,也被称作属性。
类(Classes):OWL类是⼀组包含了个体的集合。
它是通过使⽤形式化的数学语⾔,精确描述类成员的特性。
⽐如,类Cat包括了特定领域中所有包括“猫”的类。
类由超类(superclass)和⼦类(subclass)的层次结构分类构成,也被称作taxonomy。
⼦类是超类的细化,⼦类可以继承超类的性质,也就是说,超类的条件是形成⼦类的必要条件。
同时超类-⼦类关系式OWL-DL的关键特性之⼀,这可以为推理机⾃动调⽤。
同时,概念(concept)⼀词也类中也时有出现,类是表述概念的基础。
建⽴⼀个OWL类,就是建⽴⼀个说明类的环境的描述,这个环境⾸先必须满⾜描述此类的⼀个个体成员的要求。
OWL本体的构建
建⽴类
⼀个类层次(class hierarchy)也被称之为⼀个分类法(taxonomy)。
不相交类(disjoint class):不相交类的定义是,⼀个个体(或事物)不可能成为多个(>1)类的实例。
⼦类(subclass)
建⽴关联(properties)
关联的作⽤是表⽰两个个体之间的关系。
关联主要分为两种:事物关联(object properties)和数据类型关联(datatype properties)。
事物关联连接两个个体。
数据类型关联连接⼀个个体和⼀个XML Schema 数据类型值(XML Schema Datatype value)或RDF描述(RDF literal)。
OWL也有第三种关联,称为注释关联(Annotation properties),注释关联可以向类、个体或者事物/数据类型关联⾥添加信息(元数据)
逆关联(Inverse Properties):每个事物关联都可能有⼀个逆关联。
如果⼀个关联连接个体a和b,那么它的逆关联就将连接b和a。
⽐如关联hasChild就是关联hasParent的逆关联
OWL关联的特征(OWL Property Characteristics)
功能性关联(Functional Properties):具有某种特定功能的关联。
最常见的是,通过⼀个关联,将两个个体连接在⼀起。
反向功能关联(Inverse Functional Properties)
传递关联(Transitive Properties):若⼀个关联是传递的,那么如果关联P关联了a和b,且P也关联了b和c,那么,可以推知,P也可以关联a和c。
对称关联(Symmetric Properties):若关联P是对称的,P关联了个体a和b,那么P同样可以关联a和b。
关联的定义域和值域:关联把个体从定义域连接到值域。
例⼦……在关联P中,把个体从定义域a连接到值域b。
那么在它的反向关联P’中,定义域就是b,值域是a,就是把个体从定义域b连接到值域a。
描述和定义类
关联约束:OWL关联的作⽤是定义约束,约束的作⽤是限制归属类的个体,OWL中的约束主要有三种:
计量约束(Quantifier Restrictions)
基数约束(Cardinality Restrictions)
赋值约束(hasVaule Restrictions)
⾸先我们来看计量约束:
存在约束(existential restrictions ])
任意约束(universal restrictions ∨)
例如,约束 hasTopping MozzarellaTopping表⽰存在⼀个个体中类或者集合,其中⾄少有⼀个个体含有MozzarellaTopping。
事实上,约束所描述的是⼀个佚名的类,这个类包含的个体满⾜这个约束。
当约束描述⼀个类的时候,它事实上也描述了(限定)这个类的超类,⽐
如,MargheritaPizza是⼀个事物的⼦类,那么Pizza也⾄少含有⼀个满⾜MozzarellaTopping的⼦类。
存在约束.在OWL本体中,存在约束是最常⽤的约束。
存在约束定义了,存在⼀个特定类的个体,满⾜⼀个给定的关联关系。
例如,]hasBase PizzaBase描述了在所有的个体中,⾄少有⼀个个体,满⾜在hasBase关联中,与类PizzaBase的⼀个个体相连接。
使⽤推理机
前⾯谈到OWL有3种⼦语⾔:OWL-Lite,OWL-DL(Description Logics)和OWL-Full。
本体的⼀个主要特征就是可以被OWL-DL语⾔所描述,并被推理机所运⾏。
推理机的⼀个主要服务就是测试⼀个类是否是其他类的⼀个⼦类,测试的结果被放在Protégé的inferred ontology class hierarchy中。
推理机提供的另⼀个标准服务是⼀致性检查,推理机给予类的描述可以确定,类是否可能拥有实例,当类被认为是不可能实例化的,类就是不⼀致的,⽐如与其他的类(如⽗类)的定义相冲突。
调⽤RACER。
完成了RACER或者其他的推理机的设置以后,本体会“⾃动的”发送到推理机,⾃动计算分类层次,并且检查本体的逻辑完整性。
Protégé中,⼿动建⽴的类层次叫做“asserted hierarchy”,通过推理过后⽣成的类层次叫做“inferred hierarchy”。
必要和充分条件(Necessary And Sufficient Conditions)
⽬前,我们创建的所有类,都只⽤了必要条件来描述。
必要条件就是,如果某个个体是⼀个类的成员,那么它必须满⾜的条件。
换句话说,就是如果某个个体满⾜这些条件,那么它⼀定是这个类的成员。
如果⼀个类只有必要条件,我们称之为简单类(Primitive Class)。
如果⼀个类⾄少含有⼀组充分必要条件,我们称之为规范类(Defined Class)。
如果⼀个类只有必要条件,也可称之为部分类(Partial Class),如果⼀个类⾄少含有⼀组充分必要条件,就可以成为完整类(Complete Class)。
如果类A有⼀个必要条件,我们就可以说如果⼀个个体是类A的成员,它⼀定满⾜该条件。
但是我们不能说任意满⾜这个条件的个体⼀定是类A的成员。
如果类A是规范的,有⼀个充分必要条件,我们可以说,如果某个个体满⾜这个条件,这个个体就是A的成员;且任意⼀个满⾜这个条件的个体,都⼀定是类A的成员,这个条件不仅对A的成员是必要的,也是充分的,因此,满⾜此条件的个体,⼀定是A的成员。
简单类和规范类(Primitive And Defined Classes)
⾄少有⼀组充分必要条件的类就是规范类,我们可以定义,任何⼀个满⾜这个定义的个体都是这个类的成员。
只有⼀个必要条件的类是简单类。
⾃动分类
使⽤OWL-DL⼦语⾔可以⾃动的对本体的类层次进⾏分类,当建⽴⼀个很⼤的本体时,我们可以通过推理机计算⼦类-超类之间的关系,从⽽提⾼⼀个⼤规模本体的可维护性,保持其处于⼀个逻辑上的正确状态。
当⼀个本体的类有很多的超类的时候,最好的办法就是把类层次关系构建成为⼀个树的结构。
因此,在asserted hierarchy中(⼈⼯构建的层次)的类不能有多个超类。
计算和维护复杂的类关系是推理机的主要功能,通过推理计算,使类之间的关系保持⼀个可维护和标准的状态。
这不仅提⾼了本体的可重⽤性,也把维护复杂层次关系时的⼈⼯错误降到了最低。
任意约束(universal restrictions):任意约束限制了在⼀个给定的关联关系中,和某⼀个个体相连接的⼀个特定类的所有成员;该约束所包括的是符合这⼀条件的所有成员,⽽不是特定成员。
任意约束和存在约束的区别在于,在⼀个给定的关联中,任意约束不是指定⼀个关系的存在,它仅仅表⽰,如果⼀个关联关系存在,其关联的个体⼀定是特定类的所有成员。
⾃动分类和开放世界推理(Automatic Classification and Open World Reasoning)
闭合公理(Closure Axioms):关联的闭合公理由⼀个任意约束构成,表⽰只能被特定的参数所填充的关联关系。
此约束有⼀个参数集,
该参数集是所有该关联的存在约束参数的并集。
例如,对MargheritalPizza⽽⾔,hasTopping的闭合公理是关联hasTopping的任意约束,其参数是MozzarellaTopping和TomatoTopping的并集,就是∨hasTopping (MozzarellaTopping∪TomatoTopping)。
值分割(Value Partitions):值分割不是OWL的⼀部分,也不是其他本体语⾔的内容,⽽是⼀种设计模式(design pattern),其作⽤是⽤于改进对类的描述。
在本体设计中,设计模式的作⽤类似于在⾯向对象程序设计中——对⼀个模式化的问题可以重复使⽤的解决⽅案。
这些设计模式通常由专家设计,其正确性经过证明,可以解决⼀般的模式化问题。
⽐如,创建⼀个“SpicinessValuePartition”的值分割,⽤于描述PizzaTopping的⾹味,值分割限定了⼀个可能值范围的⼀个详细列表,其中枚举出所有可能值。
⽐如,在SpicinessValuePartition中限定范围为“Mild”,“Medium”,“Hot”。
覆盖公理(Covering Axioms):覆盖公理包括两部分,被覆盖的类和形成覆盖的类。
例如,我们有类A、B和C,类B和C是A的⼦类。
假设A被B和C所覆盖,这意味着A的成员必须是B和/或C的成员。
如果B和C是不相交(disjoint)的,A的成员必须是B或者C的成员。
基数约束(Cardinality Restrictions):OWL中,我们可以描述与其他个体或者数据类型有关系的类的个体的⾄少、⾄多或者准确的数⽬。
这个描述的约束就是基数约束。
对于⼀个给定的关联P,最⼩基数约束定义了可以加⼊P关系的个体的最⼩数⽬;最⼤基数约束确定了这个最⼤数⽬;也可以确定可以加⼊P关系的个体的准确个数。