《语义Web本体语言.ppt》由会员分享,可在线阅读,更多相关《语义Web本体语言.ppt(153页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Page 1语义Web本体语言OWLPage 2语义网的分层体系结构本讲的内容Page 3引言 RDF模型的核心是用主体、谓词和客体三元组来描述资源间的二元关系 通过RDF(S)可以表示一些简单的语义子类和子属性关系属性的定义域和值域的约束以及类的实例等 但RDF(S)用作一般的本体表示语言时,其语义表达能力显得太弱,还缺少一些特征Page 4RDF(S)在语义表达方面的缺陷 对于局部值域的属性定义RDF(S)中通过rdfs:range定义了属性的值域,该值域是全局性的,无法说明该属性应用于某些具体的类时具有的特殊值域限制 类、属性、个体的等价性RDF(S)中无法声明两个或多个类、属性和个体是
2、等价还是不等价 不相交类的定义在RDF(S)中只能声明子类关系,但无法声明两个类是不相交的Page 5RDF(S)在语义表达方面的缺陷(续)类的布尔结合定义即通过类的并、交和补的声明事项对某些类的结合,从而构建新类,如定义人类为男人和女人这两个类的并。基数约束即对某属性值可能或必须的取值范围进行约束,如说明一个人有双亲(包括两个人),一门课至少有一名教师等 关于属性特性的描述即声明属性的某些特性,如传递性、函数性、对称性,以及声明一个属性是另一个属性的逆属性等Page 6新的本体描述语言需求 正因为RDF(S)具有上述一些缺陷,因此需要一种比其描述能力更为丰富的本体语言要求该语言权衡表达能力和
3、有效的推理支持既能支持合理有效的推理,又能对本体知识充分描述 W3C提出了OWL扩展RDF(S),作为在语义网上表示本体的推荐语言OWL通过提供附加的形式语义的词汇集,具有比XML、RDF和RDFS更好的机器可理解性Page 7提纲 早期本体语言 OWL简介 OWL的设计思路 OWL语言大纲 OWL文档结构Page 8一、早期本体语言Page 9本体描述语言的研究 Berners-Lee的语义网的提出激发了许多对语义标记语言的研究。从W3C到美国和欧盟的科研项目,不同的研究团体提出了不同的针对语义网表达的很多建议和语言。这些语言构成了语义网的基础。Page 10美国的DAML-ONT 1999
4、年,致力于语义网研究的DAML(DARPAAgent Markup Language)委员会在美国成立,它的目标是为下一代语义网提供一个坚实的基础。该组织的共识是:采用一个通用的本体描述语言将有利于各个项目之间的语义互操作。当时RDFS已被建议为W3C本体描述语言,但它微弱的语义表达能力不能满足DAML的需求。为此,DAML吸取面向对象语言和基于框架的知识表达语言方面的经验,扩展了RDFS,形式了新的本体建模语言DAML-ONT。DAML-ONT与RDFS耦合的非常紧密,它和RDFS一样缺乏充分的语义规范,导致在应用时很容易导致人机之间的语义冲突。Page 11欧洲的OIL 欧洲信息技术委员会
5、资助项目On-To-Knolodge研究设计了另一个用于语义Web的本体描述语言OIL(Ontology Inference Layer),它将基于框架的本体中的建模原语、万维网标准语言(如XML、RDF),以及描述逻辑(DL)中简单且定义完好的语义描述部分结合起来。OIL的设计实现了提供了大多数在基于框架和面向描述逻辑的Ontology中常用的建模原语;具有简单、清楚和定义完备的语义;能够提供自动的推理支持(如类的一致性和包容关系的检查)。Page 12DAML+OIL DAML+OIL是上述欧美两个组织共同协商的产物,它在最初的本体语言DAML-ONT的基础上,结合了很多OIL的语言组件发
6、展而成。它从描述逻辑入手,建立于W3C组织的标准RDF和RDFS之上,并且以更丰富的建模原语扩展了RDF和RDFS。DAML+OIL的目标是建立一项技术,使得智能主体(Agent)能够动态地识别和理解信息资源,并以语义方式提供代理之间的互操作。Page 13OWL的正式推出 W3C组织总结了以上几种语言的开发经验,于2004年2月正式推出了OWL(Web OntologyLanguage)。OWL是语义网发展过程中的一个重要里程碑,它已经经过广泛的讨论并得到了比较一致的认可。OWL是针对各方面需求设计而成的。比如既要保持对DAML-ONT/OIL/RDFS的兼容性,又要保证更强大的语义表达能力
7、,还要保证描述逻辑的可判定推理等。诸多的功能需求使得开发人员对之难以做到完美的折衷,于是开发人员针对各类特征的需求定制了三种相应风格的变体,即子语言,分别是OWL Lite、OWLDL、OWL Full。框架描述逻辑本体表示模型和语言关系图RDF(S)DAML-ONTOILDAML+OILOWLPage 14Page 15二、OWL简介Page 16W3C的Ontology语言栈名称描述XML结构化文档的表层语法,对文档没有任何语义约束。XMLSchema定义XML文档的结构约束的语言。RDF对象(或者资源)以及它们之间关系的数据模型,为数据模型提供了简单的语义,这些数据模型能够用XML语法进
8、行表达。RDFSchema描述RDF资源的的属性和类型的词汇表,提供了对这些属性和类型的普遍层次的语义。OWL添加了更多的用于描述属性和类型的词汇,例如类型之间的不相交性(disjointness),基数(cardinality),等价性,属性的更丰富的类型,属性特征(例如对称性,symmetry),以及枚举类型(enumeratedclasses)。Page 17W3C的Ontology语言栈Page 1818OWL简介W3C 2002年7月31日透露了发行OWLWeb 本体语言(OWL Web OntologyLanguage)工作草案的细节,其目的是为了更好地开发语义网OWL的三个子语言
9、OWLOWLOWLLiteDLFullFullDLLite子语言描述例子OWLLite用于提供给那些只需要一个分类层次和简单的属性约束的用户。支持基数(cardinality),只允许基数为0或1。OWLDL支持那些需要在推理系统上进行最大程度表达的用户,这里的推理系统能够保证计算完全性(computationalcompleteness,即所有地结论都能够保证被计算出来)和可决定性(decidability,即所有的计算都在有限的时间内完成)。它包括了OWL语言的所有约束,但是可以被仅仅置于特定的约束下。当一个类可以是多个类的一个子类时,它被约束不能是另外一个类的实例。OWLFull支持那些
10、需要在没有计算保证的语法自由的RDF上进行最大程度表达的用户。它允许在一个Ontology在预定义的(RDF、OWL)词汇表上增加词汇,从而任何推理软件均不能支持OWLFULL的所有feature。一个类可以被同时表达为许多个体的一个集合以及这个集合中的一个个体。Page 19OWL的三个子语言Page 20OWL的三个子语言的关系 每个合法的OWL Lite都是一个合法的OWLDL;每个合法的OWL DL都是一个合法的OWLFull;每个有效的OWL Lite结论都是一个有效的OWL DL结论;每个有效的OWL DL结论都是一个有效的OWL Full结论。Page 21本体建模时选择子语言的
11、考虑 选择OWL Lite还是OWL DL主要取决于用户需要整个语言在多大程度上给出约束的可表达性;选择OWL DL还是OWL Full主要取决于用户在多大程度上需要RDF的元模型机制(如定义类型的类型以及为类型赋予属性);在使用OWL Full而不是OWL DL时,推理的支持不可预测,因为目前还没有完全的OWLFull的实现。Page 22OWL三种子语言与RDF的关系 OWL Full可以看成是RDF的扩展;OWL Lite和OWL Full可以看成是一个约束化的RDF的扩展;所有的OWL文档(Lite,DL,Full)都是一个RDF文档;所有的RDF文档都是一个OWL Full文档;只有
12、一些RDF文档是一个合法的OWL Lite和OWL DL文档。Page 23三、OWL的设计思路Page 24OWL设计思路 对OWL的设计最大的影响是来自DAML+OIL、描述逻辑、框架和RDF(S)OWL是DAML+OIL的修订版OWL的语义受到描述逻辑的影响OWL本体知识的组织方式受到框架的影响OWL的交换语法是基于RDF/XMLPage 25OWL与描述逻辑的关系 描述逻辑是基于概念(对应OWL中的类)的知识表达形式,利用各种构造算子从简单类中构建复杂类,保证推理问题的完备性和可判定性。描述逻辑对于OWL设计,特别是语义上有着重要的影响,具体表现在:对语言算子的选择和数据类型与数据变量
13、的集成上OWL的两个子语言OWL DL和OWL Lite可以看作是与描述逻辑等价的知识表示语言Page 26OWL与描述逻辑的关系(续)描述逻辑语言的表达能力取决于它支持的类和属性构造子,以及各种公理 但是,表达能力的提高不可避免地可能造成推理复杂性的增加 为了有效表示和使用网络本体,OWL要求在表达能力与有效推理之间找到一个平衡OWL选择了SH语言族作为主要参考的描述逻辑语言SH支持概念层次、概念的布尔算子(交、并和补)、属性约束、传递属性和属性层次 SH实际上在ALC的基础上扩展了传递属性和属性层次SH语言族中的SHIQ语言增加了对可逆属性和限定基数约束的声明OWL主要参考的前辈语言DAM
14、L+OIL即是基于SHIQ的Page 27OWL与描述逻辑的关系(续)OWL增加了两种有用的表达能力通过枚举实例来定义一个类的方法对数据类型与数值的表达和推理 在SHIQ中添加对应的构造子即是SHOIQ(D)语言OWL实际上采用的是SHOIN(D),对基数的约束加了一些限制 为了适应不同应用对表达能力和推理复杂度的不同的要求OWL DL对应描述逻辑SHOIN(D)OWL Lite对应较简单的SHIF(D),去掉了枚举实例定义类的能力,并限制基数约束只能取0或1.Page 28OWL与框架的关系 在语义Web中,每个用户都可能希望去创建或修改本体。因此,对于一个本体语言而言,可读性和易用性是相当
15、重要的 但描述逻辑的知识表示形式不适合一般人阅读和处理。OWL通过框架的组织方式来解决这个问题框架将每个类的信息组合在一起,使得本体易读和易理解 框架形式被广泛用于很多知识表示系统如Protg 本体设计工具Page 29OWL与框架的关系 在OWL框架中,每个类都用一个框架来描述框架包括类名和一个槽列表一个槽可能由属性-变量或加载在变量上的约束组成,这里的变量可以是一个个体也可以是一个文字OWL语言在框架中对指定类和属性进行约束,如定义类名、超类、属性名、属性的定义域和值域约束、属性的传递性和可逆性等Page 30OWL与RDF(S)的关系 对OWL设计产生影响的第三个方面在于最大化地保持与现
16、有Web语言向上兼容的需求,特别是与RDF(S)的兼容 OWL成为一种Web语言,不在于它引入了描述逻辑的表达和推理能力,而在于它用URI引用替代了名称,将XML Schema数据类型用于数据值,并且提供了连接到WWW文档上的能力,这些能力都是源于RDF(S)Page 31OWL与RDF(S)的关系(续)理想上,OWL是对RDF(S)的一个扩展,OWL可以使用RDF类和属性并增加支持更为丰富的表达元素。但不幸的是,对于RDF(S)的扩展和有效推理的需求相冲突RDF(S)拥有一套相当强大和特殊的建模机制,如可以定义类的类、属性的类、属性的属性等。同时具有描述逻辑和RDF(S)表达能力的知识表示语
17、言,其推理问题是不可判定的Page 32OWL与RDF(S)的关系(续)OWL DL和OWL Lite都没有完全继承RDF(S)的表达能力,而是采用经典逻辑解释,对RDF(S)的使用做了很多限制:要求个体、类、特性是不相交的集合所有的个体都是资源,类是资源的集合,特性是(资源,资源)的集合,类和特性都不解释为资源禁止出现递归 OWL Full则完全兼容RDF(S),同时也包括了OWLDL的全部内容,但这也造成了OWL Full推理问题是不可判定的Page 33四、OWL的语言大纲分类词条(Terms)RDFSchemaFeaturesClassrdf:Propertyrdfs:subClass
18、Ofrdfs:subPropertyOfrdfs:domainrdfs:rangeIndividual(In)EqualityequivalentClassequivalentPropertysameIndividualAsdifferentFromallDifferentPage 34OWL Lite语言大纲分类词条(Terms)PropertyCharacteristicsinverseOfTransitivePropertySymmetricPropertyFunctionalPropertyInverseFunctionalPropertyPropertyTypeRestriction
19、sallValuesFromsomeValuesFromClassIntersectionintersectionOfPage 35OWL Lite语言大纲(续)分类词条(Terms)RestrictedCardinalityminCardinality(only0or1)maxCardinality(only0or1)cardinality(only0or1)HeaderInformationimportsversionInfopriorVersionbackwardCompatibleWithincompatibleWithDatatypesPage 36OWL Lite语言大纲(续)分类
20、词条(Terms)ClassAxiomsoneOfdisjointWithequivalentClass(appliedtoclassexpressions)rdfs:subClassOf(appliedtoclassexpressions)BooleanCombinationsofClassExpressionsunionOfintersectionOfcomplementOfPage 37OWL DL和OWL Full语言大纲下面给出了在OWL Lite基础上添加的OWL DL和OWLFull语言架构分类词条(Terms)ArbitraryCardinalityminCardinality
21、maxCardinalitycardinalityFillerInformationhasValuePage 38OWL DL和OWL Full语言大纲(续)Page 39OWL Lite语言描述和OWL DL和OWL Full相比,OWL Lite只是使用了OWL语言的一些feature,并且做了限制。Class只能根据命名了的superclass(它不能是任意的逻辑表达式)进行定义,而且只能使用特定类型的class restriction。类之间的Equivalence以及子类关系只能在命名了的class上做声明,不能应用于任意的类型表达式。OWL Lite只允许属性限制应用于命名类型。O
22、WL Lite对cardinality的概念也有限制它的取值范围只能是0和1。名称描述实例Class定义了一组共享了某些相同属性的individual。Class能够通过subClassOf定义出一个特定的类层次。有一个内置的公共类Thing,它是所有individual的Class,也是所有Class的superclass。Deborah和Frank都是Person这个Class的成员。rdfs:subClassOf类层次可以通过给出诸如一个类是另一个或多个类的子类这样的声明来创建。Person可以被定义为是Mammal的一个subclass,这样我们就能够推断:如果X是一个Person,那
23、么X一定也是一个Mammal。Page 40OWL Lite RDF Schema Features名称描述实例rdfs:Property表达了individual之间的关系。例如hasChild,hasRelative,,hasSibling,和hasAge都是Property的例子。前三个例子用于表达Person之间的关系,最后一个把一个Person和一个DatatypeInteger关联起来。rdfs:subPropertyOf属性层次可以通过给出诸如一个属性是另一个或多个属性的子属性这样的声明来创建。hasSibling是hasRelative的子属性。通过这一点我们就可以推理出:如果
24、X和Y通过hasSibling进行了关联,那么它们一定也通过hasRelative进行了关联。Page 41OWL Lite RDF Schema Features(续)名称描述实例rdfs:domain一个property的domain是能够应用该property的individual的集合。如果propertyP把X和Y关联起来,P的domain是classZ,那么X一定是Z的一个实例。Domain是一个全局约束,因为它就property而言,但是当它与一个特定的class关联时也不只是就property而言。PropertyhasChild可以被说拥有domainMammal,从这一点我
25、们就能够推理出如果FrankhasChildAnna,那么Frank一定是一个Mammal。rdfs:range一个property的range是该property所必须有的值的individual的集合。如果proertyP将X和Y关联,P的range是classZ,那么Y一定是Z的一个实例。PropertyhasChild可以被说拥有rangeMammal从这一点我们就能够推理出如果LouisehasChildDeborah,那么Deborah一定是一个Mammal。Page 42OWL Lite RDF Schema Features(续),名称描述实例IndividualClass的实
26、例,property可以被用来把一个individual和另一个individual关联起来。一个名叫Deborah的individual可以被描述为是Person这个class的实例,而propertyhasEmployer可以把individualDeborah和individualStanfordUniversity关联起来。Page 43OWL Lite RDF Schema Features(续)名称描述实例equivalentClass两个类可以被声明为相同,即它们拥有不同的名字但是却拥有相同的individual的集合。它被用来创建同义类。Car可以被说成是Automobile的
27、equivalentClass。从这一点我们能推理得到任何Car的实例都是Automobile的实例,反之也一样。equivalentProperty两个属性也可以被声明为相同。它可以被用来创建同义属性。HasLeader可以被说成是hasHead的equivalentProperty。从这一点我们能够推理得到:如果X通过HasLeader与Y关联,那么X也通过hasHead与Y关联。sameIndividualAs两个individual也可以被声明为相同。它可以被用来创建一系列指向同一个individual的名字。Deborah被说成与DeborahMcGuinness是同一个indivi
28、dual。Page 44OWL Lite Equality 和InequalityFeatures名称描述实例differentFrom一个individual可被声明为与其他一些individual不同,这在使用如OWL(RDF)等语言时表达individual有而且只有一个名字时非常重要。Frank可被说成与Deborah以及Jim是不同的individual,这样当Frank和Deborah都被说成是一个functional(最多只有一个值)的property的值时,就会出现矛盾;没有特别指出的话,我们不能推理说Deborah和Frank指的是不同的individual。allDiffe
29、rent在一个allDifferent声明中,我们可以指出一定数量的individual两两不同。这在表达一个不同对象的集合而建模者侧重于强调这些对象的唯一的名字时尤其有用。可以在一个allDifferent声明中说明Frank、Deborah、Jim两两不同。Page 45OWL Lite Equality 和InequalityFeatures(续)名称描述实例inverseOf一个属性可以被声明为另一个属性的逆属性。如果P1被声明为P2的逆属性,那么如果X通过P1关联到Y,那么Y通过P2关联到X。如果hasChild是hasParent的逆属性,DeborahhasParentLouis
30、e,那么我们就能够推理出LouisehasChildDeborah。TransitiveProperty属性可以被声明为传递的。如果(x,y)是传递属性P的一个实例,(y,z)也是传递属性P的一个实例,那么(x,z)是传递属性P的一个实例。OWLLite给出了关于传递属性的一个边界条件:传递属性和它的superproperty不能有maxCardinality为1的限制,否则OWLLite和OWLDL都将成为不确定语言。如果ancestor被声明为传递的,(Sara,Louise)是它的一个实例,(Louise,Deborah)也是他的一个实例,那我们就能够推理出(Sara,Deborah)是
31、它的一个实例。Page 46OWL Lite Property Characteristics名称描述实例SymmetricProperty属性可以被声明为是对称的。如果(x,y)是对称属性P的一个实例,那么(y,x)也是它的一个实例。被声明为对称的属性不能有任意的domain和range。Friend可以被说成是一个对称属性,如果Frank是Deborah的Friend,那我们可以推断出Deborah是Frank的Friend。FunctionalProperty属性可以被声明为只有一个值。即一个individual如果被声明为FunctionalProperty,那么对于这样的一个实例它最
32、多只有一个值。这可以被方便的用来说明一个属性的cardinality最小为0,最大为1。Frank可被说成与Deborah以及Jim是不同的individual,这样当Frank和Deborah都被说成是一个functional(最多只有一个值)的property的值时,就会出现矛盾;没有特别指出的话,我们不能推理说Deborah和Frank指的是不同的individual。Page 47OWL Lite Property Characteristics(续)名称描述实例InverseFunctionalProperty如果一个属性被声明为inversefunctional,则意味着它的逆属性
33、是functional的,也就是说该属性的逆属性的每个individual最多只有一个值。HasUSSocialSecurityNumber(SecurityNumber是美国居民的唯一标识符)可以被声明为inversefunctional。该属性的逆属性isTheSocialSecurityNumberFor在社会保险号这个class中任何一个individual至多只有一个值。由此我们可以推断出任何两个Person的实例都不能有相同的SecurityNumber。还可以推断出:如果两个Person的实例有相同的SecurityNumber,那么他们一定是表示同一个individual。Pa
34、ge 48OWL Lite Property Characteristics(续)名称描述实例allValuesFrom该约束将一个属性的取值和一个class相关。也就是说,如果一个class的实例通过这个属性和另外一个individual相关,那么后一个individual则能够被认为是该约束类的一个实例。ClassPerson有一个属性hasOffspring,该属性被约束在allValuesFrom上取值为Person类。这就是说如果Person的一个实例Louise通过属性hasOffspring和另一个individualDeborah相关,从这一点我们能推断出Deborah是Per
35、son的一个实例。这种约束允许hasOffspring属性被其他class使用,例如被classCat使用,从而做出相应的约束。someValuesFrom和上面类似,该约束也将一个属性的取值和一个class相关。只不过此时要求该属性的取值至少有一个是该class类型的。ClassSemanticWebPaper在propertyhasKeyword上的someValuesFrom约束值SemanticWebTopic说明hasKeyword存在某个取值应该是classSemanticWebTopic的一个实例。但是我们不能就此推断说hasKeyword的所有取值都是SemanticWebTo
36、pic的实例。Page 49OWL Lite Property Type Restriction该约束针对某个属性,属于局部约束名称描述实例minCardinalityCardinality是依据一个特定的class在一个property上做的声明。如果就一个class而言某个property的minCardinality为1,则该class的任何一个实例都通过该property至少和一个individual相关。这也是一种用来表达某property必须在某class的任何一个实例中有一个值的办法。在OWLLite中,minCardinality的值只能为0或者1。0表示的意思是对于某个cla
37、ss而言这个proerty是可选的。ClassPerson在propertyhasOffspring并没有minCardinality约束,因为不是所有的Person都有Offspring的。ClassParent则在propertyhasOffspring上有minCardinality为1。ClassPerson在propertyhasOffspring上的minCardinality值可以为0。根据上面的前两条信息我们可以推断出,如果Louise是一个Person,我们并不能得到任何有关他后代的信息;但是一旦发现他是一个Parent,则Louise通过propertyhasOffspri
38、ng至少和一个individual相关。但是我们不能得到他最多和几个individual相关。Page 50OWL Lite Restricted Cardinality名称描述实例maxCardinality如果就一个class而言某个property的maxCardinality为1,则该class的任何一个实例都通过该property至多和一个individual相关。MaxCardinality值为1的约束property有时也叫做functional或者uniqueproperty。通过它我们不能得到有关minCardinality的任何信息,但是这对于我们表达某些class在某些p
39、roperty上没有值是很重要的。ClassUnitedStatesCitizens上的propertyhasRegisteredVotingState的MaxCardinality值为1(因为一个公民只能在一个州投票)。ClassUnmarriedPerson实例不能通过propertyhasSpouse和任何individual相关,这时只要把hasSpouse的maxCardinality设为0就可以了。Page 51OWL Lite Restricted Cardinality(续)名称描述实例cardinality它用于方便表达在一个class上的property同时拥有约束minC
40、ardinality0和maxCardinality0或者minCardinality1和maxCardinality1。Classperson在propertyhasBirthMother可以设定该property的Cardinality。Page 52OWL Lite Restricted Cardinality(续)上只有一个值,该约束也是局部约束,而且OWL Lite在Cardinality上的局部约束,只允许Cardinality的取值为0和1(这不同于其他两类OWL允许任意数目的Cardinality)。名称描述实例intersectionOfOWLLite允许在class和约束之
41、间存在交集。ClassEmployedPerson可以被定义为intersectionOfclassPerson和EmployedThings(后者可以被定义为拥有hasEmployer属性并在该属性上的minCardinality为1)。Page 53OWL Lite Class IntersectionPage 54Datatypes和Header说明 OWL 使用了RDF的datatype schema,而后者又参考了XML Schema的datatype。这些datatype能够通过URI被识别。每当有一个datatype的实例出现时,必须有一个RDF属性rdf:datatype,它的
42、值为URI引用的XML Schema datatype。OWL支持ontology引用、包含以及元信息描述。上面提到的三个层次的OWL都包含了用于指定导入的ontology、ontology版本信息和前版本信息、可向后兼容的ontology信息以及不兼容的ontology信息等一系列信息的方法。Page 55增量语言OWL DL和OWL Full描述 尽管OWL DL添加了一些约束,它和OWLLite实际上共享了词汇表。总的来讲,OWL DL引入了类型分割一个class不能是一个property或者一个individual,一个property也不能是一个class或者individual);
43、它要求property或者是ObjectProperties,或者是DatatypeProperties。后者RDF literal、XML Datatype。前者是两个class实例之间的关系。名称描述实例Oneof(枚举类型)Class可以通过枚举构成该class的individual来描述。ClassdaysOfTheWeek可以简单地通过枚举Sunday、Monday、Tuesday、Wednesday,、Thursday、Friday、Saturday这7个individual来表达。我们可以由此推断出任何拥有allValuesFrom约束于daysOfTheWeek的propert
44、y的maxcardinality为7。HasValue(属性值)一个property可以被要求拥有一个特定的individual作为它的值。ClassdutchCitizens的实例可以在propertynationality上以theNetherlands作为它的值。disjointWithOWLFull允许在class定义不相交性。Man和Woman可以被定义为是不相交的,这样我们就能够推断出如果已知A为Man,那么A一定不是Woman。Page 56OWL DL和OWL Full的扩展词汇名称描述实例unionOf,complementOf,intersectionOf(布尔连接)OWL
45、Full允许class之间任意的布尔连接。通过unionOf,我们能够声明或者是USCitizens或者是DutchCitizens的事物;通过complementOf,我们能够声明children不是SeniorCitizens。minCardinality,maxCardinality,cardinality(全cradinality)OWLFull允许取值为任意非负整数的cardinality。ClassDINKs(DualIncome)在propertyhasIncome上的mincardinality约束为2complexclasses由于OWLFull引入了上面的词条,实际上它已经
46、支持了复杂类。它还包括了一个底层class名为Nothing,它没有任何实例。OWLFull允许class被用作实例(另两种不可以)。Page 57OWL DL和OWL Full的扩展词汇(续)Page 58五、OWL文档结构Page 59提纲 命名空间 本体头部 OWL基本元素 本体映射 复杂类 本体的版本控制Page 605.1、命名空间Page 61命名空间 在我们使用一组术语之前,我们需要一个精确地指出哪些具体的词汇表将被用到。一个标准的本体开头部分里包括一组XML命名空间(namespace)声明(被包含在rdf:RDF标签里)。一个Ontology的标准的初始模块是包含在rdf:R
47、DF标签中的一系列命名空间(namespace)的声明。这些声明用以准确解释文档中的标识符,从而使得Ontology的其他部分具有可读性。Page 62命名空间的典型例子命名标识符描述xmlns=http:/www.example.org/wine#说明了缺省的命名空间,也就是当文档中出现没有前缀的标签时所引用的命名空间。xmlns:vin=http:/www.example.org/wine#说明了和当前的Ontology相关的具有前缀vin的命名空间。xmlns:food=http:/www.example.org/food#指出了支持表达本Ontology的food这一Ontology的
48、命名空间,它们以前缀food出现。xmlns:owl=http:/www.w3.org/2002/07/owl#说明了出现owl前缀的词条应该寻找的命名空间。这是通常的OWL声明,用以在文档中加入OWL词汇表。Page 63命名空间例子的解释说明命名标识符描述xmlns:rdf=http:/www.w3.org/1999/02/22-rdf-syntax-ns#说明了在文档中出现的以rdf为前缀的词条的命名空间,这是为了引入RDF定义的词汇。xmlns:rdfs=http:/www.w3.org/2000/01/rdf-schema#说明了在文档中出现的以rdfs为前缀的词条的命名空间,这是为
49、了引入RDFSchema定义的词汇。xmlns:xsd=http:/www.w3.org/2000/10/XMLSchema#说明了在文档中出现的以xsd为前缀的词条的命名空间,这是为了引入XMLSchema定义的词汇。xmlns:dte=http:/www.example.org/wine-dt#说明了在文档中出现的以dte为前缀的词条的命名空间,这是为了引入dte命名空间所定义的词汇。Page 64命名空间例子的解释说明(续)Page 65命名空间的补充说明为帮助书写冗长的URLs,在本体的定义之前,在文档类型声明(DOCTYPE)中提供一些实体定义(entity definitions)
50、常常是很有用的。!DOCTYPE owl 在声明这些实体后,我们可以将“&vin;merlot”作为“http:/www.example.org/owl/wine#merlot”的简写!DOCTYPErdf:RDFPage 62命名空间的典型例子Page 665.2、本体头部Page 67本体头部建立了命名空间后,接下来我们通常要在owl:Ontology标签里给出一组关于本体的声明。这些标签支持一些重要的常务工作比如注释、版本控制以及其他本体的引入等。An example OWL ontology$Id:Overview.html,v 1.2 2002/11/08 16:42:25 conn