码迷,mamicode.com
首页 > 编程语言 > 详细

OWL语言

时间:2015-08-14 15:53:00      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

先看一张图,W3C  提出了一个语义 Web  的体系结构,如下图,语义 Web  的目标是计算机能理解语义 Web  上的资源,因此需要一种统一的,形式化的元数据标示语言,用以描述 Web  资源,因此,W3C  提出了一种新的语言,资源描述框架Resource Description Framework,RDF)。RDF  采用三元组(资源属性值)这种简单的数据模型,表示 Web  上的资源的属性的值。

数据层的上层是本体层,它借鉴了人工智能领域对知识表示的的研究,特别是描述逻辑,引进了更加丰富的表达能力,例如,属性取值约束,基数约束,属性的对称性和传递性等,这个 Web  本体语言的标准是 OWL。OWL  定义了 RDF  描述中使用的词汇的语义,是计算机理解 Web  资源的基础,因此是语义 Web  的核心。 

技术分享



作为一种本体表示语言,RDF  和  RDFS  可用来表达某些本体知识。RDF/RDFS  主要的建模原语是关于类型层次结构中的词汇表的组织:子类(subclass)和子属性(subproperty)关系,定义域(domain)和值域(range)约束,以及类的实例。但它也有如下不足:

①属性的范围(Local scope of properties); 

②类的不相交(Disjointness of classes); 

③类的布尔组合(Boolean combinations of classes); 

④基数的约束(Cardinality restrictions);

⑤属性的特殊特征(Special characteristics of properties);

基于上面这些不足之处,需要一个比 RDFS更丰富的本体语言,能提供上述特征以及更多其它特征。OWL添加了更多的用于描述属性和类的词汇,例如类之间的不相交性、基数、等价性、属性的更丰富类型、属性特征、以及枚举类(enumerated classes),通过提供更多具有形式语义的词汇,明确表示了词汇表中术语的含义以及术语间的关系,使之在  Web内容的机器可理解性方面要强于  XML、RDF  和  RDF Schema(RDF-S)等的表达手段。

目前OWL语言主要有三种子语言:比如它既要保持对DAML—ONT/OIL/RDFS 的兼容性,又要保证更强大的语义表达能力,还要保证描述逻辑的可判定性推理等。诸多的功能使得开发人员对之难以做到完美的折中。OWL Lite、OWL DL、OWL Full

其中:OWL Lite约束最 是表达能力最弱的子语言,提供了类分层的能力和简单的约束功能。它支持基数约束,但只容许基数值为0或1,OWL Lite  用于提供给那些只需要一个分类层次和简单约束的用户。 

OWL DL(DL  表示描述逻辑)在保持计算完备性(computational completeness,即所有的结论都能够确保被计算出来)和可判定性(decidability,即所有的计算都能在有限的时间内完成)的前提下,提供了尽可能大的表达能力。OWL DL  包含了OWL  的全部语言构造成分,但它们的使用受到一些限制(如一个类可以是许多类的子类,但不能是另一个类的实例)。

OWL  Full  包含  OWL  的全部语言构造成分并取消了  OWL  DL  中的限制。在 OWL Full  中,一个类可以看成是个体的集合,也可以看成是一个个体。由于  OWL Full 取消了  OWL  DL  中的保证可计算性的某些限制,因此不存在完整的推理算法支持 OWL Full  的全部特性

这三种子语言与  RDF  的关系是: 

(1)OWL Full  可以看成是  RDF  的扩展; 

(2)OWL Lite  和  OWL Full  可以看成是一个约束化的  RDF  的扩展; 

(3)  所有的  OWL  文档(Lite ,DL , Full)  都是一个  RDF  文档; 

(4)  所有的  RDF  文档都是一个  OWL Full  文档; 

(5)  只有一些  RDF  文档是一个合法的  OWL Lite  和  OWL DL  文档。 


OWL  依赖  RDF、RDFS  以及  XML Schema  数据类型中的构词(constructs),其中主要定义了以下术语: 

(1)owl:class :OWL最重要的定义元素,定义了因共有某些属性而同属一组的一些个体,本体的大部分推理能力是基于类推理的。

(2)rdfs:subClassOf: rdfs:subClassOf  表示两个类的子属关系,可以给出一个或多个关于“一个类是另一类的子类”的陈述来创建一个类层次结构 。

(3)rdfs:subPropertyOf :rdfs:subPropertyOf  是一个二元关系,应用于属性,表示两个属性的子属关系。通过给出一个或多个陈述声明“某属性是另外一个或多个属性的子属性”可建立属性层次。

(4)owl:DatatypeProperty :owl:DatatypeProperty  是  OWL  的数据类型属性术语,它表示类实例与  RDF  文字或  XML Schema  数据类型间的关系。 

(5)owl:ObjectProperty :owl:ObjectProperty  是  OWL  的对象属性定术语,  它表示两个类间的关系。 owl:ObjectProperty  和  owl:DatatypeProperty  都是  RDF  类  rdf:Property  的子类。 

(6)rdfs:domain :rdfs:domain  定义了一个属性的定义域,用来约束该属性可以适用的个体。如果一个个体以一个属性和另一个体关联,并且该属性用某个类作为它的一个定义域,那么该个体必然属于这个类。

(7)rdfs:range :rdfs:range  定义了一个属性的值域,用来限制哪些个体可以成为属性的值。

(8)owl:equivalentClass :owl:equivalentClass  术语可以声明两个类为等价类,即它们拥有相同的实例。等价性可以用来创建同义类。

9)owl:equivalentProperty :owl:equivalentProperty  术语可以声明两个属性为等价属性。相互等价的属性将一个个体关联到同一组其它个体。它也可以被用来创建同义属性。

关于OWL语言的语法可以参见一篇帖子:http://blog.csdn.net/lqk1985/article/details/3347777


转载请注明出处,@飞天神


OWL语言

标签:

原文地址:http://my.oschina.net/u/144475/blog/492356

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!