4-语义Web本体语言_第1页
4-语义Web本体语言_第2页
4-语义Web本体语言_第3页
4-语义Web本体语言_第4页
4-语义Web本体语言_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Page1 语义Web本体语言OWL Page2 语义网的分层体系结构本讲的内容 Page3 引言 RDF模型的核心是用主体 谓词和客体三元组来描述资源间的二元关系 通过RDF S 可以表示一些简单的语义 子类和子属性关系属性的定义域和值域的约束以及类的实例等 但RDF S 用作一般的本体表示语言时 其语义表达能力显得太弱 还缺少一些特征 Page4 RDF S 在语义表达方面的缺陷 对于局部值域的属性定义 RDF S 中通过rdfs range定义了属性的值域 该值域是全局性的 无法说明该属性应用于某些具体的类时具有的特殊值域限制 类 属性 个体的等价性 RDF S 中无法声明两个或多个类 属性和个体是等价还是不等价 不相交类的定义 在RDF S 中只能声明子类关系 但无法声明两个类是不相交的 Page5 RDF S 在语义表达方面的缺陷 续 类的布尔结合定义 即通过类的并 交和补的声明事项对某些类的结合 从而构建新类 如定义人类为男人和女人这两个类的并 基数约束 即对某属性值可能或必须的取值范围进行约束 如说明一个人有双亲 包括两个人 一门课至少有一名教师等 关于属性特性的描述 即声明属性的某些特性 如传递性 函数性 对称性 以及声明一个属性是另一个属性的逆属性等 Page6 新的本体描述语言需求 正因为RDF S 具有上述一些缺陷 因此需要一种比其描述能力更为丰富的本体语言 要求该语言权衡表达能力和有效的推理支持既能支持合理有效的推理 又能对本体知识充分描述 W3C提出了OWL扩展RDF S 作为在语义网上表示本体的推荐语言 OWL通过提供附加的形式语义的词汇集 具有比XML RDF和RDFS更好的机器可理解性 Page7 提纲 早期本体语言 OWL简介 OWL的设计思路 OWL语言大纲 OWL文档结构 Page8 一 早期本体语言 Page9 本体描述语言的研究 Berners Lee的语义网的提出激发了许多对语义标记语言的研究 从W3C到美国和欧盟的科研项目 不同的研究团体提出了不同的针对语义网表达的很多建议和语言 这些语言构成了语义网的基础 Page10 美国的DAML ONT 1999年 致力于语义网研究的DAML DARPAAgentMarkupLanguage 委员会在美国成立 它的目标是为下一代语义网提供一个坚实的基础 该组织的共识是 采用一个通用的本体描述语言将有利于各个项目之间的语义互操作 当时RDFS已被建议为W3C本体描述语言 但它微弱的语义表达能力不能满足DAML的需求 为此 DAML吸取面向对象语言和基于框架的知识表达语言方面的经验 扩展了RDFS 形式了新的本体建模语言DAML ONT DAML ONT与RDFS耦合的非常紧密 它和RDFS一样缺乏充分的语义规范 导致在应用时很容易导致人机之间的语义冲突 Page11 欧洲的OIL 欧洲信息技术委员会资助项目On To Knolodge研究设计了另一个用于语义Web的本体描述语言OIL OntologyInferenceLayer 它将基于框架的本体中的建模原语 万维网标准语言 如XML RDF 以及描述逻辑 DL 中简单且定义完好的语义描述部分结合起来 OIL的设计实现了 提供了大多数在基于框架和面向描述逻辑的Ontology中常用的建模原语 具有简单 清楚和定义完备的语义 能够提供自动的推理支持 如类的一致性和包容关系的检查 Page12 DAML OIL DAML OIL是上述欧美两个组织共同协商的产物 它在最初的本体语言DAML ONT的基础上 结合了很多OIL的语言组件发展而成 它从描述逻辑入手 建立于W3C组织的标准RDF和RDFS之上 并且以更丰富的建模原语扩展了RDF和RDFS DAML OIL的目标是建立一项技术 使得智能主体 Agent 能够动态地识别和理解信息资源 并以语义方式提供代理之间的互操作 Page13 OWL的正式推出 W3C组织总结了以上几种语言的开发经验 于2004年2月正式推出了OWL WebOntologyLanguage OWL是语义网发展过程中的一个重要里程碑 它已经经过广泛的讨论并得到了比较一致的认可 OWL是针对各方面需求设计而成的 比如既要保持对DAML ONT OIL RDFS的兼容性 又要保证更强大的语义表达能力 还要保证描述逻辑的可判定推理等 诸多的功能需求使得开发人员对之难以做到完美的折衷 于是开发人员针对各类特征的需求定制了三种相应风格的变体 即子语言 分别是OWLLite OWLDL OWLFull 框架描述逻辑 本体表示模型和语言关系图RDF S DAML ONT OIL DAML OIL OWLPage14 Page15 二 OWL简介 Page16 W3C的Ontology语言栈 Page17 W3C的Ontology语言栈 Page18 18 OWL简介 W3C2002年7月31日透露了发行OWLWeb本体语言 OWLWebOntologyLanguage 工作草案的细节 其目的是为了更好地开发语义网 OWL的三个子语言 OWL OWL OWL LiteDLFull Full DLLite Page19 OWL的三个子语言 Page20 OWL的三个子语言的关系 每个合法的OWLLite都是一个合法的OWLDL 每个合法的OWLDL都是一个合法的OWLFull 每个有效的OWLLite结论都是一个有效的OWLDL结论 每个有效的OWLDL结论都是一个有效的OWLFull结论 Page21 本体建模时选择子语言的考虑 选择OWLLite还是OWLDL主要取决于用户需要整个语言在多大程度上给出约束的可表达性 选择OWLDL还是OWLFull主要取决于用户在多大程度上需要RDF的元模型机制 如定义类型的类型以及为类型赋予属性 在使用OWLFull而不是OWLDL时 推理的支持不可预测 因为目前还没有完全的OWLFull的实现 Page22 OWL三种子语言与RDF的关系 OWLFull可以看成是RDF的扩展 OWLLite和OWLFull可以看成是一个约束化的RDF的扩展 所有的OWL文档 Lite DL Full 都是一个RDF文档 所有的RDF文档都是一个OWLFull文档 只有一些RDF文档是一个合法的OWLLite和OWLDL文档 Page23 三 OWL的设计思路 Page24 OWL设计思路 对OWL的设计最大的影响是来自DAML OIL 描述逻辑 框架和RDF S OWL是DAML OIL的修订版OWL的语义受到描述逻辑的影响OWL本体知识的组织方式受到框架的影响OWL的交换语法是基于RDF XML Page25 OWL与描述逻辑的关系 描述逻辑是基于概念 对应OWL中的类 的知识表达形式 利用各种构造算子从简单类中构建复杂类 保证推理问题的完备性和可判定性 描述逻辑对于OWL设计 特别是语义上有着重要的影响 具体表现在 对语言算子的选择和数据类型与数据变量的集成上OWL的两个子语言OWLDL和OWLLite可以看作是与描述逻辑等价的知识表示语言 Page26 OWL与描述逻辑的关系 续 描述逻辑语言的表达能力取决于它支持的类和属性构造子 以及各种公理 但是 表达能力的提高不可避免地可能造成推理复杂性的增加 为了有效表示和使用网络本体 OWL要求在表达能力与有效推理之间找到一个平衡 OWL选择了SH语言族作为主要参考的描述逻辑语言SH支持概念层次 概念的布尔算子 交 并和补 属性约束 传递属性和属性层次 SH实际上在ALC的基础上扩展了传递属性和属性层次SH语言族中的SHIQ语言增加了对可逆属性和限定基数约束的声明OWL主要参考的前辈语言DAML OIL即是基于SHIQ的 Page27 OWL与描述逻辑的关系 续 OWL增加了两种有用的表达能力 通过枚举实例来定义一个类的方法对数据类型与数值的表达和推理 在SHIQ中添加对应的构造子即是SHOIQ D 语言 OWL实际上采用的是SHOIN D 对基数的约束加了一些限制 为了适应不同应用对表达能力和推理复杂度的不同的要求 OWLDL对应描述逻辑SHOIN D OWLLite对应较简单的SHIF D 去掉了枚举实例定义类的能力 并限制基数约束只能取0或1 Page28 OWL与框架的关系 在语义Web中 每个用户都可能希望去创建或修改本体 因此 对于一个本体语言而言 可读性和易用性是相当重要的 但描述逻辑的知识表示形式不适合一般人阅读和处理 OWL通过框架的组织方式来解决这个问题 框架将每个类的信息组合在一起 使得本体易读和易理解 框架形式被广泛用于很多知识表示系统 如Prot g 本体设计工具 Page29 OWL与框架的关系 在OWL框架中 每个类都用一个框架来描述 框架包括类名和一个槽列表一个槽可能由属性 变量或加载在变量上的约束组成 这里的变量可以是一个个体也可以是一个文字OWL语言在框架中对指定类和属性进行约束 如定义类名 超类 属性名 属性的定义域和值域约束 属性的传递性和可逆性等 Page30 OWL与RDF S 的关系 对OWL设计产生影响的第三个方面在于最大化地保持与现有Web语言向上兼容的需求 特别是与RDF S 的兼容 OWL成为一种Web语言 不在于它引入了描述逻辑的表达和推理能力 而在于它用URI引用替代了名称 将XMLSchema数据类型用于数据值 并且提供了连接到WWW文档上的能力 这些能力都是源于RDF S Page31 OWL与RDF S 的关系 续 理想上 OWL是对RDF S 的一个扩展 OWL可以使用RDF类和属性并增加支持更为丰富的表达元素 但不幸的是 对于RDF S 的扩展和有效推理的需求相冲突 RDF S 拥有一套相当强大和特殊的建模机制 如可以定义类的类 属性的类 属性的属性等 同时具有描述逻辑和RDF S 表达能力的知识表示语言 其推理问题是不可判定的 Page32 OWL与RDF S 的关系 续 OWLDL和OWLLite都没有完全继承RDF S 的表达能力 而是采用经典逻辑解释 对RDF S 的使用做了很多限制 要求个体 类 特性是不相交的集合所有的个体都是资源 类是资源的集合 特性是 资源 资源 的集合 类和特性都不解释为资源禁止出现递归 OWLFull则完全兼容RDF S 同时也包括了OWLDL的全部内容 但这也造成了OWLFull推理问题是不可判定的 Page33 四 OWL的语言大纲 Page34 OWLLite语言大纲 Page35 OWLLite语言大纲 续 Page36 OWLLite语言大纲 续 Page37 OWLDL和OWLFull语言大纲下面给出了在OWLLite基础上添加的OWLDL和OWLFull语言架构 Page38 OWLDL和OWLFull语言大纲 续 Page39 OWLLite语言描述和OWLDL和OWLFull相比 OWLLite只是使用了OWL语言的一些feature 并且做了限制 Class只能根据命名了的superclass 它不能是任意的逻辑表达式 进行定义 而且只能使用特定类型的classrestriction 类之间的Equivalence以及子类关系只能在命名了的class上做声明 不能应用于任意的类型表达式 OWLLite只允许属性限制应用于命名类型 OWLLite对cardinality的概念也有限制 它的取值范围只能是0和1 Page40 OWLLiteRDFSchemaFeatures Page41 OWLLiteRDFSchemaFeatures 续 Page42 OWLLiteRDFSchemaFeatures 续 Page43 OWLLiteRDFSchemaFeatures 续 Page44 OWLLiteEquality和InequalityFeatures Page45 OWLLiteEquality和InequalityFeatures 续 Page46 OWLLitePropertyCharacteristics Page47 OWLLitePropertyCharacteristics 续 Page48 OWLLitePropertyCharacteristics 续 Page49 OWLLitePropertyTypeRestriction 该约束针对某个属性 属于局部约束 Page50 OWLLiteRestrictedCardinality Page51 OWLLiteRestrictedCardinality 续 Page52 OWLLiteRestrictedCardinality 续 上只有一个值 该约束也是局部约束 而且OWLLite在Cardinality上的局部约束 只允许Cardinality的取值为0和1 这不同于其他两类OWL允许任意数目的Cardinality Page53 OWLLiteClassIntersection Page54 Datatypes和Header说明 OWL使用了RDF的datatypeschema 而后者又参考了XMLSchema的datatype 这些datatype能够通过URI被识别 每当有一个datatype的实例出现时 必须有一个RDF属性rdf datatype 它的值为URI引用的XMLSchemadatatype OWL支持ontology引用 包含以及元信息描述 上面提到的三个层次的OWL都包含了用于指定导入的ontology ontology版本信息和前版本信息 可向后兼容的ontology信息以及不兼容的ontology信息等一系列信息的方法 Page55 增量语言OWLDL和OWLFull描述 尽管OWLDL添加了一些约束 它和OWLLite实际上共享了词汇表 总的来讲 OWLDL引入了类型分割 一个class不能是一个property或者一个individual 一个property也不能是一个class或者individual 它要求property或者是ObjectProperties 或者是DatatypeProperties 后者RDFliteral XMLDatatype 前者是两个class实例之间的关系 Page56 OWLDL和OWLFull的扩展词汇 Page57 OWLDL和OWLFull的扩展词汇 续 Page58 五 OWL文档结构 Page59 提纲 命名空间 本体头部 OWL基本元素 本体映射 复杂类 本体的版本控制 Page60 5 1 命名空间 Page61 命名空间 在我们使用一组术语之前 我们需要一个精确地指出哪些具体的词汇表将被用到 一个标准的本体开头部分里包括一组XML命名空间 namespace 声明 被包含在rdf RDF标签里 一个Ontology的标准的初始模块是包含在rdf RDF标签中的一系列命名空间 namespace 的声明 这些声明用以准确解释文档中的标识符 从而使得Ontology的其他部分具有可读性 Page62 命名空间的典型例子 rdf RDF xmlns http www example org wine xmlns vin http www example org wine xmlns food http www example org food xmlns owl http www w3 org 2002 07 owl xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema xmlns xsd http www w3 org 2000 10 XMLSchema xmlns dte http www example org wine dt Page63 命名空间例子的解释说明 Page64 命名空间例子的解释说明 续 Page65 命名空间的补充说明 为帮助书写冗长的URLs 在本体的定义之前 在文档类型声明 DOCTYPE 中提供一些实体定义 entitydefinitions 常常是很有用的 在声明这些实体后 我们可以将 merlot 作为 http www example org owl wine merlot 的简写 Page62 命名空间的典型例子 Page66 5 2 本体头部 Page67 本体头部 建立了命名空间后 接下来我们通常要在owl Ontology标签里给出一组关于本体的声明 这些标签支持一些重要的常务工作比如注释 版本控制以及其他本体的引入等 AnexampleOWLontology Id Overview html v1 22002 11 0816 42 25connollyExp Page68 本体头部 续 Page69 5 3 OWL基本元素 Page70 简单的类 用到的标签 Class rdfs subClassOf 一个领域中的最基本概念应分别对应于各个分类层次树的根 OWL中的所有个体都是类owl Thing的成员 因此 各个用户自定义的类都隐含地是owl Thing的一个子类 要定义特定领域的根类 只需将它们声明为一个具名类 namedclass 即可 OWL也可以定义空类 owl Nothing Page71 基本分类构造符 rdfs subClassOf是用于类的基本分类构造符 它将一个较具体的类与一个较一般的类关联 如果X是Y的一个子类 subclass 那么X的每个实例同时也都是Y的实例 rdfs subClassOf关系是可传递的 即如果X是Y的一个子类 而Y又是Z的一个子类 那么X就是Z的一个子类 winevin Page72 个体 一个Individual可以通过声明它是某个类的成员得以表达 注意 下面代码的含义与上面的例子相同 Page73 类和个体的举例 Page74 简单属性 Property 定义属性 所用术语 ObjectProperty DatatypeProperty rdfs subPropertyOf rdfs domain rdfs range 一个属性是一个二元关系 有两种类型的属性 数据类型属性 datatypeproperties 类实例与RDF文字或XMLSchema数据类型间的关系 对象属性 objectproperties 两个类的实例间的关系 在我们定义一个属性的时候 有一些对该二元关系施加限定的方法 可以指定定义域 domain 和值域 range 可以将一个属性定义为某个已有属性的特殊化 子属性 Page75 简单属性举例在OWL中 不含显式操作符的元素序列代表一个隐式的合取 conjunction 属性madeFromGrape的定义域 domain 为Wine 且值域 range 为WineGrape 也就是说 它把Wine类的实例关联到WineGrape类的实例 为同一属性声明多个定义域表明该属性的定义域是所有这些类的交集 多个值域声明也类似这样 Page76 属性定义域和值域的作用 注意 OWL中值域和定义域信息的使用与程序设计语言中的类型信息有所不同 在程序设计中 类型被用来检查程序设计语言的一致性 而在OWL中 一个值域可被用来推断一个类型 比如 根据下面这段代码 我们可以推断出 LindemansBin65Chardonnay是一种葡萄酒 因为madeFromGrape的定义域为Wine Page77 属性的组织结构 hasColor是hasWineDescriptor的子属性 hasColor与hasWineDescriptor的不同在于它的值域被进一步限定为WineColor rdfs subPropertyOf关系表示 任何事物如果具有一个值为X的hasColor属性 那么它同时具有一个值为X的hasWineDescriptor属性 对属性的约束 owl minCardinality rdf datatype nonNegativeInteger 1 扩展Wine的定义来表达 一个葡萄酒是由至少一种WineGrape制成的 了 红色部分定义了一个无名类 unnamedclass 该无名类代表至少具有一个madeFromGrape属性的事物集合 我们称这些类为匿名类 在Wine类的定义中包含该限定表明属于Wine类的事物 也是该匿名类的成员 也就是说 任何葡萄酒都必须参与至少一个madeFromGrape关系 Page78 Page79 属性和数据类型 根据是将个体关联到个体 还是将个体关联到数据类型 我们可以区分两类属性 前者称为对象属性 objectproperties 后者称为数据类型属性 datatypeproperties 数据类型属性的值域范围是RDF文字或者是XMLSchema数据类型 http www w3 org TR xmlschema 2 中定义的那些简单类型 simpletypes Page80 XMLSchema定义的数据类型 OWL使用XMLSchema内嵌数据类型中的大部分 对这些数据类型的引用是通过对http www w3 org 2001 XMLSchema这个URI引用进行的 下列数据类型是推荐在OWL中使用的 xsd boolean xsd stringxsd decimal xsd normalizedStringxsd floatxsd double xsd integer xsd nonNegativeInteger xsd positiveInteger xsd nonPositiveInteger xsd negativeInteger xsd long xsd intxsd short xsd byte xsd unsignedLong xsd unsignedInt xsd unsignedShort xsd unsignedByte xsd hexBinary xsd base64Binary xsd dateTime xsd timexsd date xsd gYearMonth xsd gYear xsd gMonthDay xsd gDay xsd gMonth xsd anyURIxsd token xsd language xsd NMTOKEN xsd Name xsd NCName Page81 数据属性举例1 Page82 个体的描述1998 Page83 属性特性 TransitiveProperty 如果一个属性P被声明为传递属性 那么对于任意的x y和z P x y 与P y z 蕴含P x z 因为圣克鲁斯山地区 SantaCruzMountainsRegion 位于 locatedIn 加利福尼亚地区 CaliforniaRegion 那么它也应该位于 locatedIn 美国地区 USRegion 因为属性locatedIn是传递属性 Page84 属性特性 SymmetricProperty 如果一个属性P被声明为对称属性 那么对于任意的x和y P x y 当且仅当P y x MendocinoRegion地区与SonomaRegion地区相邻 反过来也是这样 由于adjacentRegion属性是对称属性 Page85 属性特性 FunctionalProperty 如果一个属性P被标记为函数型属性 那么对于所有的x y 和z P x y 与P x z 蕴含y zhasVintageYear属性是函数型属性 一种葡萄酒有着一个特定的制造年份 也即 一个给定的Vintage个体只能使用hasVintageYear属性与单独一个年份相关联 Page86 属性特性 inverseOf 如果一个属性P1被标记为属性P2的逆 owl inverseOf 那么对于所有的x和y P1 x y 当且仅当P2 y x 各种葡萄酒都有制造商 这些制造商在Wine类的定义中被限制为酿酒厂 Winery 而每个酿酒厂生产的酒均以该酿酒厂为制造商 Page87 属性特性 InverseFunctionalProperty 如果一个属性P被标记为反函数型的 InverseFunctional 那么对于所有的x y和z P y x 与P z x 蕴含y z一个函数型属性的逆必定是反函数型的 反函数型属性的值域中的元素可以看成是在数据库意义上定义一个唯一的键值 owl InverseFunctional意味着属性的值域中的元素为定义域中的每个元素提供了一个唯一的标识 Page88 属性限制 除了能够指定属性特性 我们还能够使用多种方法进一步在一个明确的上下文中限制属性的值域 这是通过 属性限制 来完成的 前面所讲述的机制都是全局的 global 因为这些机制都会应用到属性的所有实例 而接下来要讲述的两个属性限制机制 allValuesFrom与someValuesFrom 则是局部的 local 它们仅仅在包含它们的类的定义中起作用 Page89 属性限制 allValuesFrom owl allValuesFrom属性限制要求 对于每一个有指定属性实例的类实例 该属性的值必须是由owl allValuesFrom从句指定的类的成员 Wine的制造商必须是Winery allValuesFrom限制仅仅应用在Wine的hasMaker属性上 Cheese的制造商并不受这一局部限制的约束 Page90 属性限制 someValuesFrom allValuesFrom对于所有的葡萄酒 如果它们有制造商 那么所有的制造商都是酿酒厂 someValuesFrom对于所有的葡萄酒 它们中至少有一个的制造商是酿酒厂 这两种限制形式间的不同就是全称量词与存在量词间的不同 Page91 属性限制 基数限制1 值域限制在0和1的基数表达式 Cardinalityexpressions 是OWLLite的一部分 这使得用户能够表示 至少一个 不超过一个 和 恰好一个 这几种意思 OWLDL中还允许使用除0与1以外的正整数值 owl maxCardinality能够用来指定一个上界 owl minCardinality能够用来指定一个下界 使用二者的组合就能够将一个属性的基数限制为一个数值区间 Page92 属性限制 hasValue hasValue使得我们能够根据 特定的 属性值的存在来标识类 因此 一个个体只要至少有 一个 属性值等于hasValue的资源 这一个体就是该类的成员 这里我们声明了所有的Burgundy酒都是干 dry 的酒 也即 它们的hasSugar属性必须至少有一个是值等于Dry 干的 与allValuesFrom和someValuesFrom类似 这是一个局部的限制 它仅仅对Burgundy类的hasSugar属性作出限制 Page93 5 4 本体映射 Page94 本体映射 为了让本体发挥最大的作用 就需要让本体得到充分的共享 为了使得在开发本体时尽可能的节省人力 就需要使得开发出的本体能够被重用 更理想的情况是他们能够被组合使用 例如 可能同时使用来自某一来源的日期本体 dateontology 和来自另一来源的物理位置本体 physicallocationontology 并将位置 location 的概念加以扩展以包括这个位置所处在的时间段 如果能够找到已经经过广泛使用和精炼的本体 那么采用它才有意义 多个本体的合并工作是非常具有挑战性的 为了维护其一致性 几乎必然需要工具的支持 Page95 类和属性之间的等价关系 equivalentClass equivalentProperty 当我们要把一些本体组合在一起作为另一个新的本体的一部分时 能说明在一个本体中的某个类或者属性与另一个本体中的某个类或者属性是等价的 在食物本体中 我们现在想把在餐宴菜肴中对葡萄酒特点的描述与葡萄酒本体相联系起来 达到这一目的一种方法就是在食物本体中定义一个类 Wine Page96 类和属性之间的等价关系equivalentClass equivalentProperty TexasThings指的是那些恰好位于Texas 德克萨斯州 地区的事物 使用owl equivalentClass和使用rdfs subClassOf的不同就像必要条件和充要条件的不同一样 如果是使用subClassOf的话 位于Texas地区的事物不一定是TexasThings 但是 如果使用owl equivalentClass 位于Texas地区的事物一定属于TexasThings类 Page97 个体间的同一性 sameAs 描述个体之间相同的机制与描述类之间的相同的机制类似 仅仅只要将两个个体声明成一致的就可以了 注意 在OWLDL中 类仅仅代表着个体的集合而不是个体本身 然而在OWLFULL中 我们能够使用owl sameAs来表示两个类在各方面均完全一致 修饰 或引用 两个类用sameAs还是用equivalentClass效果是不同的 用sameAs的时候 把一个类解释为一个个体 就像在OWLFull中一样 这有利于对本体进行分类 在OWLFull中 sameAs可以用来引用两个东西 如一个类和一个个体 一个类和一个属性等等 无论什么情况 都将被解释为个体 Page98 不同的个体 differentFrom注意 在OWLDL中 类仅仅代表着个体的集合而不是个体本身 然而在OWLFULL中 我们能够使用owl sameAs来表示两个类在各方面均完全一致 修饰 或引用 两个类用sameAs还是用equivalentClass效果是不同的 用sameAs的时候 把一个类解释为一个个体 就像在OWLFull中一样 这有利于对本体进行分类 在OWLFull中 sameAs可以用来引用两个东西 如一个类和一个个体 一个类和一个属性等等 无论什么情况 都将被解释为个体 Page99 不同的个体 AllDifferent注意 owl distinctMembers属性声明只能和owl AllDifferent属性声明一起结合使用 注意 如果我们想要在其他的某个本体中添加一个新的酒的颜色 并表明它是与其他已定义的任何酒的颜色都是不同的 我们可能需要拷贝原来的owl AllDifferent属性声明 然后将新的颜色添加到列表中 在OWLDL中 没有更加简单的方法以扩展一个声明为owl AllDifferent的集合 而在OWLFull中 通过使用RDF三元组和rdf List构造 可以实现一些其他的方法来完成这一扩展 Page100 5 5 复杂类 Page101 复杂类 OWLDL OWL还提供了一些用于构建类的构造子 这些构造子被用于创建所谓的类表达式 OWL支持基本的集合操作 即并 交和补运算 它们分别被命名为owl unionOf owl intersectionOf 和owl complementOf 类还可以是枚举的 类的外延可以使用oneOf构造子来显示 的声明 同时 我们也可以声明类的外延必须是互不相交的 注意类表达式是可以嵌套的 它并不要求要为每一个中间类都提供一个名字 这样就允许我们通过使用集合操作来从匿名类或具有值约束的类来创建复合类 Page102 交运算 intersectionOf使用集合操作构造的类与我们目前所看到的所有语法中的定义类似 类的成员完全是通过集合操作来说明的 上面的语句说明WhiteWine恰好是类Wine与所有颜色是白色的事物的集合的交集 这就意味着如果某一事物是白色的并且是葡萄酒 那么它就是WhiteWine的实例 Page103 并运算 unionOfFruit类既包含了SweetFruit类的外延也包含了NonSweetFruit的外延 Page104 补运算 complementOf complementOf结构从某个论域 domainofdiscourse 选出不属于某个类的所有个体 通常它将指向一个非常大的个体集合 Page105 补运算 complementOf complementOf典型的用法是与其它集合运算符联合使用 该例子定义了一个NonFrenchWine类 它是Wine类与所有不位于法国的事物的集合的交集 Page106 枚举类 oneOf OWL提供了一种通过直接枚举类的成员的方法来描述类 这是通过使用oneof结构来完成 特别地 这个定义完整地描述了类的外延 因此任何其他个体都不能被声明为属于这个类 Page107 不相交类 disjointWith 使用owl disjointWith构造子可以表达一组类是不相交的 它保证了属于某一个类的个体不能同时又是另一个指定类的实例 Pasta例子声明了多个不相交类 注意它只声明了Pasta与其它所有类是不相交的 例如 它并没有保证Meat和Fruit是不相交的 为了声明一组类是互不相交的 我们必须对每两个类都使用owl disjointWith来声明 Page108 不相交类 disjointWith 续 一个常见的需求是定义一个类为一组互不相交的子类的联合 union Page109 5 6 本体的版本控制 Page110 本体的版本控制 本体和软件一样需要维护 因此它们将随着时间的推移而改变 在一个owl Ontology元素 如上面讨论的http www w3 org TR 2004 REC owl guide 20040210 OntologyHeaders 内 链接到一个以前定义的本体版本是可能的 属性owl priorVersion被用来提供这种链接 并能用它跟踪一个本体的版本历史 Page111 本体的版本控制 续 本体版本可能彼此互不兼容 一个本体以前的版本可能包含与现在版本中的陈述相矛盾的陈述 在一个owl Ontology元素中 我们使用owl backwardCompatibleWith和owl incompatibleWith这些属性来指出本体版本是兼容还是不兼容以前的版本 如果没有进行owl backwardCompatibleWith声明 那么我们假定就不存在兼容性 属性owl versionInfo适用与版本控制系统 它提供了一些相关信息 hook 和前面三个属性相反的是 owl versionInfo的客体是一个文字值 literal 这一属性除了可以用来注释本体之外还可以用来注释类和属性 OWL的名称间中包括了两个预定义的类owl DeprecatedClass和owl DeprecatedProperty来完成这个目的 他们被用来指明某个类或属性在未来发布的版本中可能以一种不兼容的方式发生变化 Page112 六 OWL2 Page113 提纲 新功能及基本原理 语法 语义 配置文件 Page114 6 1 新功能及基本原理 Page115 OWL2结构 Page116 OWL2新特性 OWL2与OWL1的整体结构非常类似 OWL2新添功能 语法糖属性新结构扩展数据类型的能力简单的元建模能力扩展的注释其他创新 Page117 语法糖 DisjointUnion Owl2 DisjointUnion定义了一个两两不相交的其他类的集合类 DisjointUnion A CCE1 CEn 其中 C代表一个类 CEi 1 i n代表类表达式 A 表示零个或多个注释 DisjointUnion BrainHemisphere LeftHemisphere RightHemisphere 上述例子表明了 BrainHemisphere或者是 LeftHemisphere 或者是 RightHemisphere 但不可能同时是它们两个 Page118 语法糖 DisjointClasses Owl1提供disjointWith仅表示两个类两两不相交 DisjointClasses A CCE1 CEn 其中 C代表一个类 CEi 1 i n代表类表达式 A 表示零个或多个注释 DisjointClasses UpperLobeOfLung MiddleLobeOfLung LowerLobeOfLung 上述例子表明了UpperLobeOfLung MiddleLobeOfLung和LowerLobeOfLung是两两排斥的 Page119 语法糖 NegativeObjectPropertyAssertion Owl1仅提供了个体所有的属性值 并未提供一个判断该个体没有某值的概念 Owl2 NegativeObjectPropertyAssertion表明一个给定的属性没有被该个体拥有 NegativeObjectPropertyAssertion A OPEa1a2 其中 OPE是一个对象属性表达式 a1 a2是个体 A 表示零个或多个注释 NegativeObjectPropertyAssertion livesIn ThisPatient IleDeFrance 上述例子表明了ThisPatient不住在IleDeFrance Page120 语法糖 NegativeDataPropertyAssertion Owl2 NegativeDataPropertyAssertion与Owl2 NegativeObjectPropertyAssertion类似 NegativeDataPropertyAssertion A DPEalt 其中 DPE是一个数据属性表达式 a表示一个个体 lt表示literal A 表示零个或多个注释 NegativeDataPropertyAssertion hasAge ThisPatient5 xsd integer 上述例子表明了ThisPatient不是5岁 Page121 属性新结构 OWL1主要集中于类和个体的信息表达 在属性的表达上存在较少的注意力 OWL2为属性的额外限制 新特征 不兼容性 属性链和键的表达提供了新的结构 Page122 属性新结构 属性合格基数限制 OWL1仅仅限制了属性的实例数 eg 定义一类人至少有三个孩子 OWL2新添基数限制 ObjectMinCardinalityObjectMaxCardinalityObjectExactCardinalityDataMinCardinalityDataMaxCardinalityDataExactCardinality Page123 属性新结构 属性合格基数限制 续 ObjectMinCardinality nOPE CE 其中 n是一个非负数 OPE是一个对象属性表达式 CE 是零个或一个类表达式 ObjectMaxCardinality ObjectExactCardinality类似 ObjectExactCardinality 1 hasDirectPart FrontalLobe 上述例子表示对象类恰好有1个frontallobe类型的directpart Page124 属性新结构 ReflexiveReflexiveObjectProperty A OPE 其中 OPE是一个对象属性表达式 A 是零或多个注释 ReflexiveObjectProperty sameBloodGroup 上述例子表示所有事物有着和自己相同的bloodGroup Page125 属性新结构 Irreflexive AsymmetricIrreflexiveObjectProperty flowsInto 上述例子表示任何事物都不能flowsInto到自身 AsymmetricObjectProperty proper part of 上述例子表示属性 proper part of是非对称的 Page126 属性新结构 Disjoint OWL1提供了表示类不相交的方法 但不能表达属性不相交 DisjointObjectProperties A OPE1 OPEn 其中 OPEi 1 i n是对象属性表达式 A 是零或多个注释 DisjointObjectProperties connectedTo contiguousWith 上述例子表示connectedTo属性和contiguousWith两个属性是互斥的 也就是说 不可能通过该集合中的两个不同属性将两个个体连接起来 Page127 属性新结构 Disjoint DisjointDataProperties允许断言若干数据属性是两两不兼容的 排斥的 Page128 属性新结构 属性链包含 PropertyChainInclusion OWL1没有提供方法将属性定义为其他属性的组合 composition 就像定义 uncle 时需要做的 译者注 定义uncle需要用到两个或两个以上属性 例如brother和father 因此 不可能将一个属性 例如locatedIn 与另一个属性 例如partof 一起传递 propagate 在一个SubObjectPropertyOf公理中的OWL2结构ObjectPropertyChain允许将属性定义为若干属性的组合 Page129 属性新结构 键OWL1没有为定义键提供方法 不过 键对于很多想通过 一组 键属性的值来唯一标识给定类的个体的应用而言 显然极为重要 OWL2结构HasKey允许为给定的类定义键 虽然在OWL2中键属性不要求是函数型属性或全部 total 属性 但是如果需要 总是有可能单独地声明键属性是函数型属性 HasKey公理指出 类的每个具名实例都由一个 数据或对象 属性或者一组属性唯一标识 也就是说 如果类的两个具名实例彼此的某个键属性值完全相同 那么这两个个体就是一样的 HasKey A CE OPE1 OPEm DPE1 DPEn 其中CE是一个类表达式 OPEi 1 i m是属性表达式 DPEj 1 j n是数据表达式 A 是零或多条注释 Page130 扩展数据类型 额外数据类型及数据类型限制OWL1只支持整数和字符串数据类型 不支持这些数据类型的任何子集 例如 我们可以说每个人都有年龄 这是一个整数 但是不可以限制该数据类型的值域说成年人的年龄大于18 OWL2给数据类型提供了新的能力 如同XMLSchema那样 通过分面 facets 支持更加丰富的数据类型集合和数据类型限制 DatatypeRestriction DTF1lt1 Fnltn 其中DT是一个一元数据类型 Filti 1 i n是一对约束facet和literal DataTypeRestriction xsd integerminInclusive18 上述例子表示一个新的数据类型 下限为18的XMLSchema数据类型xsd integer Page131 扩展数据类型 N元数据类型 OWL1无法表示一个对象值之间的关系 例如表示一个正方形是一个长和宽相等的矩形 OWL2包括了n元数据类型所需的语法结构 以为扩展 提供了公共基础 DataAllValuesFrom admissionTemperature currentTemperatureDataComparison Arguments xy leq xy 上述例子表示一个adminssionTemperature不大于其currentTempe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论