此新手入门对应protege3.1.x版本。通过制作一个简单的动物本体,来使大家了解protege建立owl的基础用法。
步骤1 建立新的项目。打开protege,然后会出现对话框,点击Create New Project...,出现Create New Project对话框后,选择OWL Flies(.owl or .rdf)后,点击Finish,而不选Next。
步骤2 建立类。protege的主页面中会出现,OWL Classes(OWL类),Properties(属性),Forms(表单),Individuals(个体),Metedata(元类)这几个标签。我们选择OWL Classes来编辑。在Asserted Hierarchy(添加阶层)中,会有所有类的超类owl:Thing上点击Asserted Hierarchy旁边的Create subclass或者在OWL:Thing,点击右键选择Create subclass。会出现protege自动定义名为Class_1的类。在右边的CLASS EDITOR(类编辑器)的Name选项中,输入Animal来替换自动定义的名字。(建议使用英文,因为下面会用到OWLViz来生成关系图,中文的话会容易出现问题。)
步骤3 建立Animal的子类,在Animal点击上右键,选择Create subclass,并按照上述方法将其名字变为Herbivore(素食动物)。
步骤4然后按照上面的方法,建立OWL:Thing的另一个子类Plant(植物),然后建立Plant的子类Tree(树)。状态如下图
步骤5 因为动物和植物是不同的事物,也就是说它们互相具有排他性(owl:disjointWith),我们来定义这个关系。在选中Animal的状态下,点击右下角的Disjoints的第三个按钮,在出现的Add sibling to disjoints(将互为兄弟节点的类设为排他)对话框中,选择Mutually between all siblings。这样动物和植物就有互相排斥的属性了。
步骤6 建立属性。新建一个ObjectProperty(注意不是DataProperty)选择Properties标签,Name改为is_part_of,然后在右下角Transitive前面打上对号,说明这是一个传递性属性。然后建立一个对象属性(owl:ObjectProperty)eat(吃),在Domain(定义域)中定义该属性的主体的类是Animal。最后再建立一个属性eated(被吃),它是属性eat的逆关系(owl:inverseOf),在右下角Inverser框中选择eat属性。(参照图)
步骤7 建立一个owl:Plant的子类Branch(树枝),并附加限制条件。在选择Branch的状态下,点击中下方的Asserted Conditions(添加条件)中的第二个按钮(Create restrition )。在弹出的对话框中,选择Restrition中的allValuesFrom,然后点击下方的Insert class...。最后选择Tree,这样我们就定义了类Branch,它是树(Tree)的一部分(is_part_of)。
步骤8 和步骤7一样,建立owl:Plant的子类Leaf(树叶)类。在Asserted Conditions选择is_part_of属性,并在Restrition中的选择allValuesFrom,最后选择属性类Branch(树枝)。这样我们就定义了树叶是树枝的一部分。
步骤9 定义草食动物。素食动物是动物的子类,而且只吃植物或是植物的一部分(植物和一部分植物的并集,也就是植物)。和步骤7一样Create Restrition对话框中添加如下图的式子。
步骤10 定义类Giraffe(长颈鹿),它是素食动物,只吃树叶。按照上面的步骤定义,如下图。
步骤11 查看关系图,在菜单中选择Project–>Configure在出现的对话框中,在OWLVizTab前打上对号,就会出新OWLViz的标签。如果在这里出现DOT error的话请参照错误提示的解决办法,然后点击OWLViz标签,选择Show all classes,就可以看到关系图。
步骤12 保存项目。点击这里下载这个项目下载这个项目。解压后用菜单中的File–>Open Project–>解压路经中的Animal.ppjr即可。
OWLViz的DOT error
⑴在OWLViz设置中指定正确的DOT application路径。
⑵安装graphviz2.12.exe文件(当然也可是其它版本),可以默认路径安装(C:\Program Files\ATT\Graphviz\bin)也可安在其它地方,但要清楚自己安装在哪了,即记下这个路径,然后找到protege的安装目录,在该目录下找到plugins文件夹下的dfki.protege.ontoviz中的protege.properties文件,点右键用记事本找开。
文件内容为:
#Protege Properties
#Thu Nov 09 12:33:49 PST 2000
dot.fontsize=-2
mainframe.rectangle=81\ 95\ 918\ 616
dot.font=Arial
dot.command=C\:\\Program\ Files\\graphviz\\bin\\dot
问题就出在dot.command=后面的路径上,只有把这个路径改为刚安装的Graphviz插件中dot.exe文件的路径才行,但改不是直接的粘贴,可以看到有些地方是双斜线,那么可以仿照修改如改为:dot.command=C\:\\Program\ Files\\ATT\\graphviz\\bin\\dot
保存后测试就行了。
The JDBC driver is not on the Classpath或者JDBC driver not found
请确认你的protege的安装目录下是否有driver.jar。没有的话请点击这里下载,然后展开将其中的mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中(注意不是插件目录),然后将它的名字变为driver.jar。如果还是不行,那么请确认你是以protege.exe启动的protege。而不是protege.jar启动的protege。如果是以protege.jar启动的protege,那么还需要设置CLASSPATH。所以请用protege.exe启动试一下。