摘要
OWL
Web本体语言被设计用于那些处理信息的内容、而不是仅向人类呈现信息的应用。OWL通过提供更多具有形式语义的词汇,使之在Web内容的机器可理解性方面要强于XML、RDF
和RDF Schema(RDF-S)等所能达到的程度。OWL有三个表达能力递增的子语言:OWL Lite, OWL DL,和OWL Full。
本文档适合对OWL的表达能力需要一个初步了解的读者。本文给出了关于OWL各子语言特征的非形式化描述。了解一些RDF Schema
的知识对于理解本文文件会有帮助,但这不是必需的。读过本文档后,感兴趣的读者可以继续阅读
OWL 指南 ,以了解关于更多OWL特征的详细描述和例子。OWL语义和抽象语法有
OWL 的标准的形式化定义.
本文档的状态
目录
-
引言
-
文文件指南
-
为什幺要OWL?
-
OWL的三个子语言
-
本文文件结构
-
OWL语言概要
-
OWL Lite概要
-
OWL DL与OWL Full 概要
-
OWL Lite 语言描述
-
OWL Lite的RDF Schema特性
-
OWL Lite 的等式和不等式
-
OWL Lite的属性特征
-
OWL Lite 的属性约束
-
OWL Lite 的受限基数
-
OWL Lite的类交集
-
OWL 的数据类型
-
OWL Lite 的头信息
-
OWL Lite 的注解属性
-
OWL Lite 的版本
-
OWL DL和OWL Full的附加语言描述
-
总结
-
参考文献
-
致谢
-
变更日志
1. 引言
本文档描述了OWL
Web本体语言。OWL旨在用于那些需要由应用程序而不是由人类来处理文文件中的信息的情形。OWL可被用来明确表示词汇表中术语的含义以及术语间的关系。如此表示的术语及术语间的关系的表示被称为本体(ontology)。在表达含义和语义方面,OWL比XML、RDF
和RDF-S有更多的表达手段,因此在Web上表达机器可理解内容的能力也比这些语言强。OWL是
DAML+OIL web 本体语言的修改版,并吸取了在DAML+OIL的设计和应用中得到的经验教训。
1.1 文文件指南
OWL语言是通过一系列文文件来说明的,每个文档都有不同的目的,并面向不同的读者。下面给出流览这些文文件的一个简要指南:
-
OWL 概述 (OWL
Overview),即本文,通过列出OWL的语言特征并给出其简要的描述,对OWL进行了简单的介绍;;
-
OWL 指南(OWL
Guide)通过一个扩展的例子说明如何使用OWL语言。同时也给出了这些文档中用到的术语的解释;
-
OWL 参考 (OWL
Reference)以一种系统的和简洁的方式(仍是非正式地)描述了OWL的所有建模原语(modelling primitives);
-
OWL 语义和抽象语法文文件
是对这个语言的最终的、形式化的规范性定义;
-
OWL Web 本体语言测试
用例文文件包含了这个语言的一个大量的测试用例集合;
-
OWL用例和需求
文文件包含了一个Web本体语言的用例集合和关于OWL的需求集合。
对于前四个文档,建议按上面的排列顺序进行阅读,因为它们是按技术上的内容递增列出的。最后两个文档是整个文档集的一个完整组成部分。
1.2 为何需要OWL?
语义Web是对未来Web的展望。在语义Web中,信息被赋予明确的含义,使得机器自动处理和集成Web上的信息更为容易。语义Web将构建于XML自定义卷标模式的能力以及RDF灵活的描述资料的方式上。语义Web需要在RDF之上增加的第一个层次是一种能够对Web文档中的术语含义进行形式化描述的本体语言。如果希望机器能够对这些Web文档进行有效的推理工作,
这一本体语言必须超越RDF Schema的基本语义。 OWL
用例和需求文檔 提供了更多关于
本体的细节, 用
六个用例,
推动了对OWL的需求,并且规范化了OWL的
设计目标,
需求 以及
目的 。
OWL 被设计为满足对Web本体语言的需求。OWL是W3C一系列与语义Web相关的并不断扩大的规范的一部分。
-
XML 提供了一种结构化文文件的表层语法(surface
syntax),但没有对这些文档的含义施加任何语义约束。
-
XML Schema
是一个约束XML文文件结构和为XML扩充了数据类型的语言。
-
RDF是一个关于对象(或资源)和它们之间关系的数据模型,且为该数据模型提供了简单的语义,这个数据模型能够用XML语法表示。
-
RDF Schema是一个描述RDF资源的属性(property)和类(classe)的词汇表,提供了关于这些属性和类的层次结构的语义。
-
OWL 添加了更多的用于描述属性和类的词汇,例如类之间的不相交性(disjointness)、基数(cardinality,如刚好一个)、等价性、属性的更丰富类型、属性特征(例如对称性)、
1.3 OWL的三个子语言
OWL提供了三种表达能力递增的子语言,以分别用于特定的实现者和用户团体。
-
OWL提供了三种表达能力递增的子语言,以分别用于特定的实现者和用户团体。
OWL Lite用于提供给那些只需要一个分类层次和简单约束的用户。例如,虽然OWL Lite支持支持基数限制,但只允许基数为0或1。提供支持OWL Lite的工具应该比支持其它表达能力更强的OWL子语言更简单,并且从辞典(thesauri)和分类系统(taxonomy)转换到OWL Lite更为迅速。相比OWL
DL,OWL Lite还具有更低的形式复杂度,详细信息
OWL 参考(OWL
Reference)的OWL Lite部分。
-
OWL DL用于支持那些需要最强表达能力而需要保持计算完备性(computational
completeness,即所有的结论都能够确保被计算出来)和可判定性(decidability,即所有的计算都能在有限的时间内完成)。OWL
DL包括了OWL语言的所有语言成分,但使用时必须符合一定的约束,例如,一个类可以是多个类的子类时,但它不能同时是另外一个类的实例。OWL
DL 这幺命名是因为它对应于描述逻辑,它是一个研究作为OWL
形式基础的逻辑 的研究领域。
-
OWL Full支持那些需要尽管没有可计算性保证,但有最强的表达能力和完全自由的RDF语法的用户。例如,在OWL
Full中,一个类可以被同时看为许多个体的一个集合以及本身作为一个个体。它允许在一个本体增加预定义的(RDF、OWL)词汇的含义。这样,不太可能有推理软件能支持对OWL
FULL的所有成分的完全推理。
在表达能力和推理能力上,每个子语言都是前面的语言的扩展。这三种子语言之间有如下关系成立,但这些关系反过来并不成立。
-
每个合法的OWL Lite本体都是一个合法的OWL DL本体;
-
每个合法的OWL DL本体都是一个合法的OWL Full本体;
-
每个有效的OWL Lite结论都是一个有效的OWL DL结论;
-
每个有效的OWL DL结论都是一个有效的OWL Full结论。
使用OWL的本体开发者要考虑哪个子语言最符合他的需求。选择OWL Lite还是OWL DL主要取决于用户在多大程度上需要OWL
DL提供的表达能力更强的成分。选择OWL DL还是OWL Full主要取决于用户在多大程度上需要RDF
Schema的元建模(meta-modeling)机制(如定义关于类的类和为类赋予属性);使用OWL Full相比于OWL
DL,对推理的支持是更难预测的,因为目前还没有完全的OWL Full的实现。
OWL Full可以看成是对RDF的扩展,而 OWL Lite和OWL
DL可以看成是对一个受限的RDF版本的扩展。所有的OWL文檔(Lite,DL,Full)都是一个RDF文檔;所有的RDF文档都是一个OWL
Full文檔,但只有一些RDF文档是一个合法的OWL Lite和OWL DL文檔。因此,用户在把RDF文文件转换到OWL文档时必须谨慎。当 OWL DL
或OWL Lite的表达能力认为是适当时,必须注意原来的RDF文档是否满足 OWL DL 或OWL Lite对RDF的一些附加的限制。其中,每个作为类名的URI必须明确地声明为类型为owl:Class
(属性也类似),每个个体必须声明为属于至少一个类 (即使,只有owl:Thing),用于类,属性,个体的URI必须两两不相交 。这些和其它关于OWL
DL 和OWL Lite的限制的详细信息会在文文件OWL
参考的附录E中解释.
1.4 本文的结构
本文档首先描述了OWL Lite的成分,接下来是OWL DL和OWL Full的额外成分(OWL DL和OWL Full包含相同的成分,但OWL
Full在这些成分的组合方面更为自由)。
2. 语言概要
这节提供了一个关于OWL Lite,OWL DL和OWL Full语言特征的便捷索引。
在本文档中,斜体的术语是OWL中的术语。rdf:和rdfs:前缀表示的术语是RDF和RDF
Schema中的术语,其它的则是OWL引入的。例如,术语“rdfs:subPropertyOf”表示subPropertyOf出现在rdfs词汇表中(技术上是rdfs名字空间)。同样,术语“Class”,更为精确地说是“owl:Class”,
是OWL引入的术语。
2.1 OWL Lite概要
OWL Lite语言的构词(constructs)如下列出。
RDF Schema 特性:
|
(不)等价性:
|
属性特征:
|
|
属性约束
|
受限基数:
|
头信息:
|
类的交集:
|
版本信息:
|
注解属性:
|
数据类型:
|
2.2 OWL DL和Full概要
The list of OWL DL and OWL Full language constructs that are
in addition to or expand those of OWL Lite is given below.
类的公理:
|
类表达式的布尔组合:
|
任意的基数:
|
填充值信息:
|
3. OWL Lite语言概要
这节提供一个对OWL Lite语言特征的非正式描述。我们不讨论这些特征(参考
OWL Reference
)的具体语法。为方便查看语言特征的例子和使用指南,每个语言特征有一个链向
OWL 指南的合适地方的链接。
和OWL DL和OWL Full相比,OWL Lite只是使用了OWL语言的部分特征,并且做了更多的关于特征使用的限制。例如,在OWL Lite
中,类只能根据命名了的父类(superclass,它不能是任意的类表达式)定义,而且只能使用某些特定类型的类约束(class
restriction)。类之间的等价关系(equivalence)和子类关系只能在具名类(named
class)上做声明,不能应用于任意的类表达式。类似地,OWL Lite只允许属性限制应用于命名了的类。另外,OWL Lite对基数的概念也有限制--它的取值范围只能是0和1。
3.1 OWL Lite 的 RDF Schema 特性
以下包括了与RDF Schema有关系的OWL Lite特性
-
Class:
一个类定义了因共有某些属性而同属一组的一些个体。例如,Deborah和Frank都是类Person(人)的成员。多个类也可以用“子类”(subClassOf)关系组织为一个特定的层次结构。一个内置的最一般的类被称为Thing
,它是所有个体的类,因此是所有 OWL 类的父类。另外还有一个内置的最特殊类被称为Nothing ,它没有任何实例,因此是任意 OWL
类的子类。
rdfs:subClassOf:可以给出一个或多个关于“一个类是另一类的子类”的陈述来创建一个类层次结构(Class
hierarchies)。例如,可以声明类Person(人)是类Mammal(哺乳动物)的子类。一个推理机就可以据此推出:如果某个个体是一个“人”,那幺它也是一个“哺乳动物”。
-
rdfs:subClassOf:可以给出一个或多个关于“一个类是另一类的子类”的陈述来创建一个类层次结构(Class
hierarchies)。例如,可以声明类Person(人)是类Mammal(哺乳动物)的子类。一个推理机就可以据此推出:如果某个个体是一个“人”,那幺它也是一个“哺乳动物”。
-
rdf:Property:
属性能用来表述个体之间或者从个体到数值的的关系。属性的例子有:hasChild(有孩子),hasRelative(有亲属),hasSibling(有兄弟姐妹)
和 hasAge(有年龄) 等。前三个属性可以用于关联“人”类里的两个不同实例 (因而被看作
ObjectProperty)(对象属性)的例子),最后一个 (hasAge) 能用来关联从“人”类的某个实例到某个整数型数值
(因而被看作
DatatypeProperty)(资料属性) 的例子)。owl:ObjectProperty 和 owl:DatatypeProperty
都是 RDF 类 rdf:Property 的子类
。
-
rdfs:subPropertyOf:
通过给出一个或多个陈述声明“某属性是另外一个或多个属性的子属性”可建立属性层次。例如,可以声明 hasSibling是 hasRelative
的子属性。据此,一个推理机可以推出:如果一个个体以 hasSibling属性与另一个体相关联,那幺它也一定与另外那个个体以 hasRelative
属性相关联。
-
rdfs:domain:一个属性的定义域用来约束该属性可以适用的个体。如果一个个体以一个属性和另一个体关联,并且该属性用某个类作为它的一个定义域,那幺该个体必然属于这个类。例如,属性 hasChild
可能声明其定义域为Mammal。据此,一个推理机就可以推出:如果Frank hasChild
Anna,那幺Frank必然是一个类Mammal的实例。注意 "rdfs:domain"
被称为全局限制,因为该限制是在此属性上声明的,而不只是当这个属性应用于某个类时声明的。参见下面有关属性限制的更详细讨论。
-
rdfs:range:
一个属性的值域用来限制哪些个体可以成为属性的值。如果一个个体以一个属性和另一个体关联,并且该属性的值域是一个类,那幺另外那个个体必然属于此类。例如,可以声明属性 hasChild
的值域是类Mammal。据此,推理机可以推出:如果Louise以 hasChild 属性和Deborah关联
(即Deborah是Louise的孩子),那幺Deborah是类Mammal的实例。值域同上面的定义域
一样也是全局限制。同样,请参看下面关于局部限制 (即
AllValuesFrom) 的更详细讨论。
-
Individual
:个体是类的实例,个体之间可以用属性相互关联。例如,一个名为“Deborah”的个体可以被声明为类Person的一个实例,个体Deborah可以用属性 hasEmployer
来和个体“斯坦福大学”关联。
3.2 OWL Lite 的等式和不等式
下面的OWL Lite特征是关于等价性和不等价性的。
-
equivalentClass :
两个类可以被声明为等价,即它们拥有相同的实例。等价性可以用来创建同义类。例如,类Car可以被说成是类Automobile的等价类。据此,推理机可以推出:任何Car的实例都是Automobile的实例,反之也一样。
-
equivalentProperty:
两个属性也可以被声明为等价。相互等价的属性将一个个体关联到同一组其它个体。它也可以被用来创建同义属性。例如,HasLeader可以被说成是hasHead的等价属性(equivalentProperty)。据此,推理机能够推出:如果X通过属性HasLeader与Y关联,那幺X也通过属性hasHead与Y关联。推理机还能推出:HasLeader是hasHead的子属性,hasHead同时也是HasLeader的子属性。
-
sameAs:
两个个体也可以被声明为相同。这个构词可以被用来创建一系列指向同一个个体的名字。例如,个体Deborah可能被声明为与DeborahMcGuinness是同一个个体。
-
differentFrom:
一个个体可以声明为和其它个体不同。例如,个体Frank可被说成与Deborah以及Jim是不同的个体,这样当个体Frank和Deborah都是一个被声明为函数型(functional,即属性值最多一个的)属性的值时,就会有矛盾。在使用如OWL(RDF
)等语言时,由于这些语言不假设个体有而且只有一个名字,明确声明个体是不同的显得很重要。例如,没有其它附加信息的话,推理机不会推出Deborah和Frank指的是不同的个体。//译注:此处指没有第二个关于Deborah和Frank个体的信息。
-
AllDifferent: 在一个allDifferent陈述中,我们可以指出一定数量的个体两两不同。例如,可以用allDifferent构词建立声明Frank、Deborah、Jim两两不同。和differentFrom构词不一样,这会强调为Jim和Deborah也是不同的(不仅仅是Frank不同于Deborah跟Frank不同于Jim)。AllDifferent在表达一个集合中的对象互不相同且建模者有意强调对这些个体的唯一名假设时尤其有用。它常和distinctMembers一起使用,来声明列表中的成员都是独特的且两两不同的。
3.3 OWL Lite 的属性特征
在OWL Lite中有一些特定的标识符用以提供关于属性及其值的信息。对象属性和资料属性的区别在
上面 的属性描述中提到了。
-
inverseOf:
一个属性可以被声明为另一个属性的逆属性。如果P1被声明为P2的逆属性,那幺如果X通过P2关联到Y,则Y通过P1关联到X。例如,如果已知hasChild是hasParent的逆属性,Deborah hasParent
Louise(Deborah的父亲是Louise),那幺推理机可推出:Louise hasChild Deborah(Louise 有个孩子是
Deborah)。
-
TransitiveProperty: 属性可以被声明为传递的。如果(x,y)是传递属性P的一个实例,(y,z)也是传递属性P的一个实例,那幺(x,z)是传递属性P的一个实例。例如,如果属性ancestor(祖先)被声明为传递的,且Sara是Louise的祖先(也就是说,(Sara,Louise)是属性ancestor的一个实例),且Louise是Deborah的祖先(也就是说,(Louise,Deborah)是属性ancestor的一个实例),那幺推理机可推出:且Sara是Deborah的祖先((Sara,Deborah)是属性ancestor的一个实例)。OWL Lite和OWL
DL给出了关于传递属性的一个边界条件:传递属性和它的父属性(superproperty)不能有值为1的最大基数(maxCardinality)限制。如果没有这个边界条件,OWL Lite和OWL
DL都将成为不可判定语言。更多信息参考文文件
OWL 语义和抽象语法 的属性公理那节。
-
SymmetricProperty: 属性可以被声明为是对称的。如果(x,y)是对称属性P的一个实例,那幺(y,x)也是它的一个实例。例如,属性friend(朋友)可以被声明为一个对称属性,如果Frank
是 Deborah的朋友,则推理机可推出Deborah 也是Frank的朋友。
-
FunctionalProperty :属性可以被声明为只有唯一值。即一个属性如果被声明为函数型属性(FunctionalProperty),那幺对于每个个体,属性最多只有一个值(也可能对某些个体没有值)。函数型属性可以被方便地用来说明一个属性的基数(cardinality)最小为0,最大为1。例如,属性hasPrimaryEmployer
可以被声明为一个函数型属性,这样,推理机可以推出:不存在个体有多个的首要雇主(primary
employer),然而这并不意味着每个人都有至少一个首要雇主。
-
InverseFunctionalProperty: 如果一个属性被声明为反函数型的(inverse
functional),则意味着它的逆属性是函数型的,也就是说该属性的逆属性对任何一个个体来说最多只有一个值。这个特征也被称为单值(unambiguous)属性//*译注:标识性/标记属性,区别属性,判别属性,即任何两个不同个体不能具有相同的反函数属性值,而不是说单值,一个个体可能有多个标识性属性值*//。例如,HasUSSocialSecurityNumber(社会安全号(Social
Security Number,SSN)是美国居民的唯一标识符)可以被声明为反函数型。对任意个体(其类型是社会安全号),该属性的逆属性(isTheSocialSecurityNumberFor)的值最多一个。由此任何人的社会安全号是属性isTheSocialSecurityNumberFor的唯一值//*
同意此处为原作者笔误*//。据此,推理机可推出:没有两个不同的人(类Person的实例)能有相同的美国社会安全号。另外,还可以推断出:如果两个人(Person的实例)有相同的社会安全号,那幺这两个实例表示同一个个体。
3.4 OWL Lite的属性约束
OWL Lite允许对属性十佳约束,使得属性能够适用于一些特定类的实例。这些类型(包括下一节的基数限定)都在
owl:Restriction中使用。而元素
owl:onProperty
则用于指示被约束的属性。下面的两种约束限制了什幺值可以用,而下一节的约束限制了可以取多少个值。
-
allValuesFrom: 约束allValuesFrom是对属性适用于某个类时声明的。它的意思是这个属性用于这个类时有一个局部性值域约束。因此,如果一个类的实例通过这个属性和另一个体关联,那幺另外那个个体则能被判定是该局部值域约束类的一个实例。例如,类Person有一个属性hasDaugter(有女儿),该属性有个allValuesFrom为类Woman的约束。这意味着,如果类Person的一个实例Louise通过属性hasDaughter和另一个体Deborah关联(译者注:即表示Louise有个女儿Deborah),那幺,推理机能推出:Deborah是类Woman的一个实例。该约束使得属性hasDaughter可以用于其它类(如类Cat),并且当该属性用于其它类时声明一个适合的值约束。这里,假如属性hasDaughter用于类Cat,其局部值域约束为类Cat;假如属性用于类Person,它的局部值域约束类就是Person。注意:推理机并不能从属性的allValuesFrom约束推出属性至少有一个值。
-
someValuesFrom: 约束allValuesFrom是对属性适用于某个类时声明的。一个类可能对它的属性有个约束,即这个属性至少有一个值是属于某个类型。例如,类SemanticWebPaper(语义Web论文)对属性hasKeyword(具备关键词)可以有?个“someValuesFrom”
约束,声明属性hasKeyword的的某个值应该是属于类SemanticWebTopic(语义Web主题)的一个实例。这允许给出多个关键词,只要有一个或多个关键词是类SemanticWebTopic的实例,那幺这样的论文就会满足该someValuesFrom
约束。和allValuesFrom不同, someValuesFrom 不限制属性的取值必须都是同一类的实例。如果myPaper是类SemanticWebPaper的一个实例,则myPaper的属性hasKeyword至少有一个值是类SemanticWebTopic的实例。注意:推理机并不能推出属性hasKeyword的所有取值都是SemanticWebTopic的实例。
3.5 OWL Lite的受限基数
OWL Lite包含了一个有一定使用限制的基数约束。OWL(OWL Lite也如此)的基数约束被称为局部约束,因为他们是对一个属性应用于某特定类时的声明。也就是说:这类约束应用于那个类的实例时就会给出属性的基数信息。OWL Lite的基数约束是有限制的是因为它们只允许基数值为0或1的陈述(他们不像在OWL
DL和OWL Full中那样允许基数值为任意数目)。
-
minCardinality:
最小基数)为1,则这个类的任何一个实例都通过该属性至少和一个个体相关。这也是一种用来表达对一个类的每个实例,这个属性必须有一个值的办法。例如,类Person在属性hasOffspring(有后代)上并没有任何的最小基数约束(minimum
cardinality restrictions),因为不是所有的人都有子孙后代的。但类Parent(父母)则在属性hasOffspring上必须有minCardinality为1。如果推理机知道Louise是一个人(Person),推理机并不能推出有关属性hasOffspring的基数的信息;但是一旦发现
Louise是一个Parent的实例,则可以推出Louise通过属性hasOffspring的至少与一个个体关联。但只有这些信息,推理机并不能推出类Parent的实例的后代数目的最大值。在OWL Lite中,最小基数的值只允许为0或1。0表示的意思是对于某个类而言这个属性是可选的(在缺乏更详细信息的情况下)。例如,类Person在属性hasOffspring上的最小基数值可以为0(而此属性用于类Parent时声明了最小基数为1的更详细信息)。
-
maxCardinality: 基数是对属性适用于某个类时声明的。如果属性适用于某个类时的maxCardinality(最大基数)为1,则这个类的任意实例都通过这个属性和至多一个个体关联。有约束maxCardinality为1的属性有时也叫做函数型(functional)或者唯一值(unique)属性。例如,属性hasRegisteredVotingState(有登记投票权州)应用于类UnitedStatesCitizens(美国公民)时,其最大基数可以为1(因为一个公民只允许在最多一个州投票)。这样推理机可以推出类UnitedStatesCitizens的实例不可以通过hasRegisteredVotingState属性和两个或多个不同个体相关联。仅仅从最大基数为1的约束,推理机不能推出其最小基数也为1。有时在某些类上声明某个属性没有值是有用的。例如,类UnmarriedPerson(未婚的人)的实例不能通过属性hasSpouse(有配偶)和任何个体关联,这种情形可表示为:属性hasSpouse适用于类UnmarriedPerson时的最大基数值为0。
-
cardinality:
基数是用于方便地表示属性适用一个类时同时具有约束“minCardinality”为0和“maxCardinality”为0或者同时“minCardinality”为1和“maxCardinality”为1。例如,类person的属性hasBirthMother(亲生母亲)只有一个值。这样推理机可以推出属于类Mother的两个不同实例不能同时是同一个人的hasBirthMother属性值。
任何这些形式受限制的基数约束其它的命名方式曾被提出讨论过。目前的一些推荐是只在前端(台)系统中包含任何这类命称。关于这个话题的更多信息可以在公开的webont邮件列表中找到,其中最相关的消息是
http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0063.html.
3.6 OWL Lite的类交集
OWL Lite包含了一个有使用限制的交集构词( intersection constructor )。
-
intersectionOf: OWL Lite允许在具名类和约束中的交集。例如,类EmployedPerson(雇员)可定义为类Person和类EmployedThings
(被雇佣者) 的交集("intersectionOf"),其中类EmployedThings可定义为拥有hasEmployer (有雇主)
属性并该属性有约束minCardinality为1。推理机可以据此推出:任意一个EmployedPerson的实例都具有至少一个雇主。
3.7 OWL的数据类型
对于数值,OWL 使用了RDF的机制。 OWL内置的数据类型大部分是采用XML Schema的数据类型。更详细的描述参考OWL 指南 关于
数据类型的那节。
3.8 OWL Lite的头信息
OWL Lite支持本体的引用,关系和元信息描述等概念。详细信息请参考
OWL 参考 ,一些例子可参考
OWL 指南。
3.9 OWL Lite的注解属性
OWL Lite允许对类,属性,个体和本体头信息的注解。这些注解的使用也有些限制。详细信息参考OWL参考中关于注解的那节。
3.10 OWL Lite的版本
RDF
已经有一个小的词汇集用以描述版本信息(译者注:RDF中并没有词汇集表示版本信息,怀疑作者笔误),OWL大量地扩充了这个词汇集。详细信息参考
OWL 参考.
4. OWL DL和OWL Full的附加语言描述
OWL DL和OWL
Full使用相同的词汇集,只不过OWL DL的词汇集受到一些限制。粗略地说,OWL
DL要求类型分离(一个类不能同时是一个个体或属性,一个属性也不能同时是个体或类)。这意味着,约束不能应用于OWL语言自身的成分(OWL
Full中是允许的)。此外,OWL DL要求属性是对象属性,或资料属性:资料属性是类的实例和RDF文字和XML
Schema数据类型的值的关系;而对象属性是两个类的实例之间的关系。OWL语义和抽象语法
文档解释了这些区别和限制。下面我们描述对OWL Lite扩展了的OWL DL和OWL Full词汇集。
-
oneOf: (枚举类):类可以通过列举组成这个类的所有个体来描述。类的成员正是所列举个体的集合,不多不少。例如,类daysOfTheWeek(一周的所有天)可以通过枚举Sunday,Monday,Tuesday,Wednesday,Thursday,Friday
和Saturday这些个体来描述。据此推理机可以推出:任一属性若其allValuesFrom的约束是类daysOfTheWeek,则此属性的最大基数(maximum
cardinality )是7。
-
hasValue: (属性值):一个属性可以被要求拥有一个特定的个体作为它的值(有时称为属性值,property
values)。例如,类dutchCitizens(荷兰人)的实例可被描述为:那些属性nationality(国家)的值为theNetherlands(荷兰)的人。(nationality的值,theNetherlands,是类nationalies(国籍)的一个实例)。
-
disjointWith:
(不相交):类可以被声明为互不相交。例如,类Man和类Woman可定义为是不相交的。从不相交(“disjointWith”)陈述中,推理机可推出:如果一个个体被声明为同时是两个不相交的类的实例,则是矛盾的;类似地,如果A是类Man的一个实例,则A一定不是类Woman的实例。
-
unionOf, complementOf, intersectionOf (布尔组合):OWL DL 和 OWL
Full允许类和约束之间的任意布尔组合:unionOf(并),complementOf(补)和intersectionOf(交)。例如,通过unionOf,我们能够声明一个类,它包含的事物是USCitizens或者是DutchCitizens。通过complementOf,我们能够声明children(孩子)不是SeniorCitizens(成年公民)(也就是说:类Children是类SeniorCitizens的补的子类)。欧盟的公民可以描述为其成员国家的所有公民的并。
-
minCardinality, maxCardinality,
cardinality (完全基数):在OWL Lite中,基数的值被限制为最小,或最大为0或1,完全的OWL允许其取值为任意非负整数。例如,类
DINKs("Dual Income, No Kids",双份收入,没有孩子)会约束属性hasIncome的最小基数为2,同时约束属性hasChild的基数为0。
-
complex classes : (复杂类):OWL Lite中的很多构子都在语法上限制为单个的类名(例如,在subClassOf
或 equivalentClass声明中)。OWL Full对这个限制扩充为允许复杂的类表达式,包括枚举类,属性约束,布尔组合。OWL
Full也允许类被用做一个实例(OWL DL 和 OWL Lite 不可以)。更多信息参考文文件OWL 指南的“Design for
Use“部分。
本文文件提供了一个Web本体语言OWL的概述,简单介绍了为什幺需要一个Web本体语言和OWL和其它相关的W3C语言的关系。它还提供了三个OWL子语言:OWL
Lite,OWL DL和OWL
Full的简要描述,包括每个语言的成分的概要。本文是成分概要文档的升级版本。它还提供了这些构词的简单描述以及一些简单的例子。为相信信息它引用了
OWL 参考文档 ,
OWL 指南, 和OWL 语义和抽象语法文文件。
本文档的早先版本
(
December
15, 2003,
September 5, 2003,
August
18, 2003,
July 30, 2003,
May 1, 2003,
March 20, 2003,
January 2, 2003,
July 29, 2002,
July 8, 2002,
June 23, 2002,
May 26, 2002, and
May 15, 2002) 提供了OWL Lite的演化的历史视角和在这个演化过程中讨论的问题。
参考文献
-
[OWL Guide]
-
OWL Web Ontology Language Guide, Michael K.
Smith, Chris Welty, and Deborah L. McGuinness, Editors, W3C
Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-guide-20040210/ .
Latest
version available at http://www.w3.org/TR/owl-guide/ .
-
[OWL
Reference]
-
OWL Web Ontology Language Reference, Mike Dean
and Guus Schreiber, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-ref-20040210/ .
Latest version
available at http://www.w3.org/TR/owl-ref/ .
-
[OWL Abstract
Syntax and Semantics]
-
OWL Web Ontology Language Semantics and Abstract
Syntax, Peter F. Patel-Schneider, Pat Hayes, and
Ian Horrocks, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ .
Latest
version available at
http://www.w3.org/TR/owl-semantics/ .
-
[OWL Test]
-
OWL Web Ontology Language Test Cases, Jeremy J.
Carroll and Jos De Roo, Editors, W3C Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-test-20040210/ .
Latest version
available at http://www.w3.org/TR/owl-test/ .
-
[OWL Requirements]
-
OWL Web Ontology Language Use Cases and
Requirements, Jeff Heflin, Editor, W3C
Recommendation, 10 February 2004,
http://www.w3.org/TR/2004/REC-webont-req-20040210/ .
Latest
version available at http://www.w3.org/TR/webont-req/ .
-
[OWL Issues]
-
Web Ontology Issue Status. Michael K.
Smith, ed. 1 November 2003.
-
[DAML+OIL
Reference]
-
DAML+OIL
Reference Description . Dan Connolly, Frank van
Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F.
Patel-Schneider, and Lynn Andrea Stein. W3C Note 18
December 2001.
-
[XML]
-
Extensible Markup
Language (XML).
-
[XML Schema]
-
XML
Schema .
-
[XML-SCHEMA2]
-
XML
Schema Part 2: Datatypes - W3C Recommendation,
World Wide Web Consortium, 2 May 2001.
-
[RDF/XML Syntax]
- RDF/XML Syntax Specification (Revised), Dave Beckett, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ . Latest version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
-
[RDF Concepts]
- Resource Description Framework (RDF): Concepts and Abstract Syntax, Graham Klyne and Jeremy J. Carroll, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ . Latest version available at http://www.w3.org/TR/rdf-concepts/ .
-
[RDF Schema]
- RDF Vocabulary Description Language 1.0: RDF Schema, Dan Brickley and R. V. Guha, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ . Latest version available at http://www.w3.org/TR/rdf-schema/ .
-
[RDF Semantics]
- RDF Semantics, Patrick Hayes, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ . Latest version available at http://www.w3.org/TR/rdf-mt/ .
-
[Description Logics]
-
The
Description Logic Handbook. Franz Baader, Diego
Calvanese, Deborah McGuinness, Daniele Nardi, Peter
Patel-Schneider, editors. Cambridge University Press, 2003;
and Description Logics
Home Page.
致谢
本文档是 Web 本体工作小组作为一个整理充分讨论的结果。这个工作小组的参与人员有: Yasser alSafadi,
Jean-François Baget, James Barnette, Sean Bechhofer, Jonathan Borden,
Frederik Brysse, Stephen Buswell, Jeremy Carroll, Dan
Connolly, Peter Crowther, Jonathan Dale, Jos De Roo, David De
Roure, Mike Dean, Larry Eshelman, Jérôme Euzenat,
Tim Finin, Nicholas Gibbins, Sandro Hawke, Patrick Hayes,
Jeff Heflin, Ziv Hellman, James Hendler, Bernard Horan,
Masahiro Hori, Ian Horrocks, Jane Hunter, Francesco
Iannuzzelli, Rüdiger Klein, Natasha Kravtsova, Ora
Lassila, Massimo Marchiori, Deborah McGuinness, Enrico Motta,
Leo Obrst, Mehrdad Omidvari, Martin Pike, Marwan Sabbouh,
Guus Schreiber, Noboru Shimizu, Michael Sintek, Michael K.
Smith, John Stanton, Lynn Andrea Stein, Herman ter Horst,
David Trastour, Frank van Harmelen, Bernard Vatant, Raphael
Volz, Evan Wallace, Christopher Welty, Charles White, and
John Yanosy.
自最后呼叫(Last Call)发布以来的修改日志
-
在OWL Lite中增加了owl:Nothing。
-
增加了指向最近一次公开发布版文文件的链接。
-
把所有指向owl-absyn的链接修改为owl-semantics。
-
采纳了Lee Lacy于2003年4月21日在public-webont-comments提出的语法方面的意见。
-
采纳了Lee Lacy的其它意见:注解属性,版本属性,和其它2.2节中遗漏的卷标。
-
修改hasOffSpring例子为hasDaughter例子(应Morten Frederiksen的要求)。
-
采纳了Lasilla的所有意见,包括把"machine readability" 替换为"machine
interpretability"和其它的一些书写错误。
-
替换为"machine interpretability"和其它的一些书写错误。
-
增加了第1节的第1句(在Sandro Hawke的意见后)。
-
恢复了对样式文件的链接
-
增加了对5月1日的测试文文件的链接
-
添加了参考文献那节
-
修改回对各节的相对引用。
-
把前一版本的链接http://www.w3.org/TR/xx修改为...TR/2003/CR-xx-20030818/。
自候选推荐标准(Candidate Recommendation)以来的修改日志
-
增加了候选标准版以来的修改日志。
-
删除了每行结尾的控制符。
-
采纳了Jeff Rafter的
公开的webont意见.
-
更新了状态,文文件链接和发表日期,等等。根据主席的PR邮件
。
自建议推荐标准(Proposed Recommendation)以来的修改日志
-
修补了两个死链:W3C图标链接为W3c, src="OWL Web Ontology Language Overview_files/。增加了W3C图标的扩展后的链接(http://www.w3.org/Icons/w3c_home)和邮件gif(http://www.w3.org/2001/sw/WebOnt/guide-src/Email.Deborah.McGuinness.gif)。
-
删除了由新版本转换器引入的每行结尾的控制符
-
增加了对以前的2003年12月份的版本的链接。
-
据Lee Lacy在2004年1月12日的意见更新了文档。(这些意见主要是一些小的修改,表格中格子的间距调整:从30到 27,...)
-
含了Benjamin Nowack的编辑意见。
-
新了参考文献的格式。