标签:
先看一张图,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
转载请注明出处,@飞天神
标签:
原文地址:http://my.oschina.net/u/144475/blog/492356