Web本体语言(OWL)是为处理资讯内容的应用程序而设计,不是给人们呈现资讯用的。
一.XML 、 XML Schema 、 RDF 、RDF Schema 、OWL
XML -提供了一种结构化文档的表层语法,但没有对这些文档的含义施加任何语义约束。
XML Schema -是一个约束XML文档结构和为XML扩充了数据类型的语言。
RDF - 是一个关于对象(或资源)和它们之间关系的数据模型,且为 该数据模型提供了简单的语义,这个数据模型能够用XML语法表示。
RDF Schema - 是一个描述RDF资源的属性(property)和类(classe) 的词汇表,提供了关于这些属性和类的层次结构的语义。
OWL-构建在 RDF 的顶端之上,描述属性与类别之间的关系
二.OWL 的三个子语言
A.OWL Lite - 主要是给那些需要一个分类阶层和简单的限制条件的用户使用
B.OWL DL - 给需要最强表现能力,又能通过计算机计算出来的用户使用
C.OWL Full - 给需要最强表现能力,不考虑通过计算机计算出来的用户使用
三.本体语言
1.命名空间
<rdf:RDF
xmlns ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#"
xmlns:vin ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#"
xml:base ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#"
xmlns:food="http://www.w3.org/TR/2004/REC-owl-guide-20040210/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/2001/XMLSchema#">
第一个声明指定了缺省命名空间,即表明所有无前缀的限定名(qualified names)都出自当前本体。
第二个声明为当前本体指定了前缀 vin:。
第三个声明为当前文档(参见下文 (http://www.w3.org/TR/2004/REC-owl-guide-20040210/#owl_imports))指定了基准URI(base URI)。
第四个声明指出食物(food)本体将用前缀food:来标识。
第五个命名空间声明指出,在当前文档中,前缀为owl:的元素应被理解是对出自http://www.w3.org/2002/07/owl#中的事物的引用。
这是引入OWL词汇表的惯例用法。
OWL要依赖RDF、RDFS以及XML Schema数据类型中的构词(constructs)。在本文档中,rdf:前缀表明事物出自命名空间
http://www.w3.org/1999/02/22-rdf-syntax-ns#。接下来的两个命名空间声明分别为RDF Schema和XML Schema数据类型指定前缀
2.本体头部
<owl:Ontology rdf:about="">
<rdfs:comment>An example OWL ontology</rdfs:comment>
<owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine"/>
<owl:imports rdf:resource="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food"/>
<rdfs:label>Wine Ontology</rdfs:label>
owl:Ontology元素是用来收集关于当前文档的OWL元数据的。
rdf:about属性为本体提供一个名称或引用。根据标准,当rdf:about属性的值为""时,本体的名称是owl: Ontology元素的基准URI。典型地,这是一个包含本体的文档的URI。在使用了xml:base的上下文中则是一个特殊情况,这时owl: Ontology元素的基准URI也许会被设为其他URI。
rdfs:comment提供了显然必须的为本体添加注解的能力。
owl:priorVersion是一个为用于本体的版本控制系统提供相关信息(hook)的标准标签。
owl:imports提供了一种嵌入机制,接受一个用rdf:resource属性标识的参数。导入另一个本体将把那个本体中的全部声引入到当前本体中。为了充分利用好这一机制,通常要与命名空间声明结合使用。请注意这两种机制的区别:命名空间声明提供的是一种方便对其他本体定义的名称进行引用的方法。概念上,owl:imports用于表明包含目标本体中的声明。在导入另一个本体02时,在02中导入的其他本体也将被导入。
rdfs:label对本体进行自然语言标注。
3.基本元素
1> 简单的类和个体
1>>简单的具名类--Class, rdfs:subClassOf
2>>个体
2>简单属性
1>>定义属性--ObjectProperty, DatatypeProperty, rdfs:subPropertyOf, rdfs:domain, rdfs:range
2>>属性和数据类型
3>属性特性
1>>TransitiveProperty 传递属性
2>>SymmetricProperty 对称属性
3>>FunctionalProperty 函数型属性
4>>inverseOf 逆属性
5>>InverseFunctionalProperty--反函数属性
4>属性限制--在一个明确的上下文owl:Restriction中限制属性的值域,owl:onProperty元素指出了受限制的属性。
1>>allValuesFrom, someValuesFrom
2>>基数限制--使用owl:cardinality,这一约束允许对一个关系中的元素数目作出精确的限制。
3>>hasValue [OWL DL]
本体映射
1>类和属性之间的等价关系--equivalentClass, equivalentProperty
2>个体间的同一性z--sameAs
3>不同的个体--differentFrom, AllDifferent
复杂类
1>集合运算符 intersectionOf,unionOf,complementOf
1>>交运算intersectionOf
2>>并运算unionOf
3>>补运算complementOf
2>枚举类 oneOf
3>不相交类 disjointWith
版本信息
versionInfo、priorVersion、backwardCompatibleWith、incompatibleWith、DeprecatedClass、DeprecatedProperty
注解信息
rdfs:label、rdfs:comment、rdfs:seeAlso、rdfs:isDefinedBy、AnnotationProperty、OntologyProperty