Protege4.0使用说明
1 准备知识
OWL-Lite
它是OWL中句法最简单的一种子语言。对于简单的继承或者约束,它就显得非常适用。一般用于合并同类字典和简单继承。lite是清淡的意思
OWL-DLOWL-DL较之OWL-Lite,它的表达能力加强了。是基于描述逻辑的(Description Logics),所以以DL后缀。正是因为有了描述逻辑,使自动推理成为了可能。凡是遵循OWL-DL规范的本体都有可能自动计算类的继承性和检测本体之间的矛盾。因此一般用于要推理本体之间的某种关系或者验证本体是否存在矛盾性,比OWL-Lite更进了一步。这个教程就是基于OWL-DL的。
OWL-FullOWL-Full是最具有表达能力的子语言了。它适用于高表达性的场合,如果要把一个事物完整的、精确的、力求无二义性地表达出来,它就非常适用。
但正因为它把约束定义太死,所以已经不适合做推理了,一旦推理,会出现大量的矛盾,也不适合进行合并工作,因为它很难与别的本体兼容。
如何选择你需要的子语言以下2个建议你可以参考下
选择Lite还是DL,在于你觉得用Lite来创建本体,是否已经够用。
选择DL还是Full,在于你觉得是自动推理更重要,还是精确表达更重要。DL使建模更灵活,Full使建模更完整更精确、表达力更强。
注意:Protégé 4在编辑DL和Full的时候并没有什么明显区别,尺度把握在你自己心目中。
OWL本体的重要组成部分
在早期的Protégé版本中,你们会发现这样的术语,Protégé frames Instances, Slots and Classes,3个重要的部分是:Instances、Slots、Classes,其实就对应OWL本体中的如下三个部分,它们是:
Individuals
个体。代表一个领域里面的对象。可以理解成一个类的实例(instances of classes)。比如在工人这么一个类中,小李、老王、阿三等人就是一个一个的Individual。
Properties
Properties翻译为属性的意思。但是它的真正含义不和面向对象编程语言中的属性一样,它的真正含义是2个个体之间的双重联系,或者可以认为是2个Individuals之间的桥梁。比如,hasChild连接了老李和他的孩子狗剩这2个个体。另外,Properties还有3个比较重要的特性,functional,transitive,symmetric,会在第四章详细介绍。
Classes
在OWL中Classes被翻译成个体的集合。当然它是一系列概念的语义表达,和编程语言中的类非常相似,有继承体系,如果是OWL-DL版本还能推理出一些继承关系,后面会提到。
Class Axiom
在OWL中,类的公理是非常重要和关键的一部分,它在验证一致性和推理中发挥着巨大的作用。
Class Expression
类的表达非常为之丰富,有并交补类还是匿名类等等,后面章节将会重点讲述。
2 打开披萨饼的例子
?
打开Protégé,经过黑屏白字一番加载后,出现了3个选项的对话框。我们选择打开一个网上已有的实例——open OWL ontology from URI系统会给出我们它内建的一些书签,我们选择pizza.owl那个本体。
选择之后要保证你的网路是OK的,耐心等待一段时间后,Protégé的界面就出来了
如果你发现你的Protégé版本和我说的不一样,点第二章,里面有下载。
我们看软件界面图,最重要的几个版面就是,Classes,Object Properties, Data Properties, Individuals。你们可以大致点进去看看。一进去的版面叫Active Ontology,是这个本体的统计信息。
这里例子让你熟悉下Protégé的界面,下面我们开始自己构建本体。
在创建本体的时候,用的最多的当然是第一种方法————Named Class。这种Class也被称为Plain Class,意思就是没有任何语义的类,仅仅是一个标示。好了,我们开始!
打开Protégé,这次我们要选第一个选项了,就是自己去创建本体。
接着要你输入URI,就是世界上唯一的地址,作为我这个本体的标示。这里我们填/ontologies/organization.owl,注意这种规范的写法是很重要的。这是RDF的知识点了,我就不啰嗦了,有兴趣朋友看这里RDF入门教程之后就选择这个本体,我们本体存放的位置。
点击Finish之后,我们实际上已经创建了一个空的本体了。而且Protégé已经为你创建了RDF/XML,你可以去看看你保存着的OWL文件,表示形式为:
?
?rdf:RDF [
? ?