protege3.1.x基础篇-进阶

Posted on 2006-07-04 19:27 水甲鸟 阅读(1667) 评论(4)  编辑  收藏 所属分类: protege相关

这篇教程接着基础篇和推理篇,对于基础篇和推理篇解释的步骤这里不在重复解释。不知道的朋友请先看基础篇和推理篇来熟悉基本操作步骤。点击这里参照新手入门基础篇和推理篇 在本篇进阶片教程中主要是介绍个体的编辑(Individuals),查询插件(QueriesTab)的用法以及将编辑好的本体存储到数据库中(Owl Database)。对于Owl数据库我这里采用Mysql(对于其他的数据库请到官方网站查询)。

步骤1:这里要用到推理篇中保存的项目。没有的朋友请点击这里下载。打开推理篇中保存的newAnimal。根据推理机的推理我们知道了Lion是肉食动物,所以我们将其移到Carnivore肉食动物的下面作为它的子类

步骤2:建立动物园的类Zoo。然后在属性编辑器中编辑一个新的datatype property(数据性属性)Address,设它的定义域是类Zoo,设它的值域是xsd:string,在rdfs:comment中注释该属性表示地址。同样我们编辑一个新的datatype property(数据性属性)Tel,设它的定义域是类Zoo,设它的值域是xsd:string。在rdfs:comment中注释该属性表示电话号码。注意给定义域添加类的时候是用Add named Class(es),Domain后面的第2个按钮,而不是第一个。第一个按钮是新建一个类并给作为定义域时用。

步骤3:建立类Zoo个体。选择Individuals编辑器。在选择左边Zoo类的情况下,点击INSTANCE BROWSER中的按钮,出现了一个个体实例,在INSTANCE EDITOR中将它的名字变为Beijing_Zoo。在下方的属性Address中点击加号,输入地址。这里作为例子输入Beijing Xizhimen Road,并选择en。属性Tel中输入010-12345678,并选择en。同样的方法,创建另外2个个体实例Shanghai_Zoo和Tianjin_Zoo。属性Address和Tel请任意输入。这样我们就创建了3个Zoo的个体实例。

步骤4:建立动物个体。在建立动物个体之前,前建立一个对象性属性Belonging,它的定义域是Animal,值域是Zoo。回到Individuals编辑器中,在选择类Giaffe的情况下,建立一个个体实例,命名为Lanlan。在下方的Belonging属性中点击加号,在弹出的对话框中选择Beijing_zoo。同样的方法,建立2个个体实例让它们本别属于Shanghai_zoo和Tianjin_zoo。然后在建立3个Lion类的个体实例,BeiLion,ShangLion,TianLion让它们分别属于3个动物园。这样我们就可以进行下一步,用查询表单来查询。

步骤5:使用查询插件。点击菜单中的Project–>Configure 在出现的对话框中选择QueriesTab前加上对勾。然后就会出现Queries标签,选择这个标签就会出现查询界面。最初我们只在Class中加入Animal然后点击Find。查询结果会在右边的Search Results中出现,如下图。然后将这个查询保留,可以在以后利用。我们点击在下方的Query Name中输入?Animal然后点击Add to Query Library按钮。这样这个查询方式就被储存到Query Library中。

步骤6:利用Query Library中保存的查询方式进行进一步查询。点击Query Library中的?Animal并点击按钮。可以调用这个查询方式,在这里因为我们刚刚存储了这个方式,所以上面的Query中不会有变化。我们在Slot中选择Belonging然后选择contains最后选择Beijing_zoo。点击Find 就会出现我们查找的结果。可以将这个查询方式存储为?Animal_belong_BeijingZoo。当然并非每个查询方式都需要储存,实际操作中按照自己的需要存储即可。

步骤6:将本体存储到数据库中。这里我们使用Mysql。先做准备工作,因为需要Mysql所以没有的朋友请先安装。Mysql在Windows,linux等的安装方法在许多网站都有十分详细的介绍,我在这里就不再重复了,请到网上查询一下,最好安装官方推荐的版本。安装完后首先建立一个protege的数据库,步骤如下

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10 to server version: 3.23.55-max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
//建立一个名字叫protege_db的数据库。
mysql> create database protege_db; 
Query OK, 1 row affected (0.00 sec)
//建立一个在localhost的用户protegeuser,密码为protegeuserpwd。并把protege_db的所有权限给他。
mysql> grant all privileges on protege_db.* to protegeuser@localhost identified by 'protegeuserpwd';
//使上述变更在服务器上有效。
mysql> flush privileges;
Query OK, 0 rows affected (0.07 sec)
//退出mysql
mysql> exit

这里不用创建表格,protege会自动创建。请确认你的mysql服务是运行的,否则将不能储存到数据库。接下来还需要下载JDBC驱动程序,它的作用是将protege和数据库连接起来。点击这里下载JDBC驱动程序。下载完后展开,其中有一个mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中(注意不是插件目录),然后将它的名字变为driver.jar。然后回到protege中,选择菜单File–>Convert Project to Format...在弹出的对话框中选择OWL Database。

弹出的Owl Database对话框中按照下面规定填写。
Project 项目的名称。可以任意取。这里用newAnimalok.pprj
Driver Class Name 中添入 com.mysql.jdbc.Driver
JDBC URL  添入jdbc:mysql://+mysql服务器地址+数据库名称  这里用的是本地机,所以使用localhost 
数据库为刚才创建的protege_db。所以添入jdbc:mysql://localhost/protege_db
Table 数据库中的表格名,可任意填写但不能与相同数据库中的表格重名,否则覆盖。这里用Animal
Username 数据库用户名。这里用protegeuser
Password 数据库用户密码。这里用protegeuserpwd

然后点击OK。如果出现错误,请参见The JDBC driver is not on the Classpath的错误,请参见错误提示的解决办法

确认mysql

//用protegeuser登陆数据库,在Enter password:后输入密码
mysql -u protegeuser -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 3.23.55-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
//使用protege_db数据库
mysql> use protege_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
//查看Animal表格
mysql> select * from Animal;
+-------+------------+-------+-------+-------------+-------------+------------+
| frame | frame_type | slot  | facet | is_template | value_index | value_type | 
+-------+------------+-------+-------+-------------+-------------+------------
| 13373 |          5 | 13296 |     0 |           0 |           0 |          3 |

可以看到owl本体已经存储到了数据库中。其中的各个参数均为protege预定义,点击这里查看各个参数的详情 通过以上的做法可以将我们做的本体储存到数据库中。然后通过数据库来访问本体数据。Owl Database的配置一次后下一次就可以直接使用,只要使用命名为别的表格即可。

Feedback

# re: protege3.1.x基础篇-进阶  回复  更多评论   

2006-07-17 10:20 by 叶子
"其中有一个mysql-connector-java-3.1.12-bin.jar文件,将其复制到protege的安装目录中",如果我的protege安装在C,那这里的安装目录是不是就是C:\Program Files\Protege_3.1?

# re: protege3.1.x基础篇-推理  回复  更多评论   

2007-03-21 09:08 by nanan
你好,我最近正在学progete,想通过你的例子来入门,但是,所有图片都显示不了。能否将这个文档发送给我,万分感谢!
邮箱是:gutongse7@163.com

# re: protege3.1.x基础篇-进阶  回复  更多评论   

2007-06-14 16:25 by fengshaoqing
看不到教程的图片,可不可以把教程发到我的邮箱中:fengshaoqing@163.com
多谢了

# re: protege3.1.x基础篇-进阶  回复  更多评论   

2007-06-17 21:30 by lin
我也是刚学的,但是看不到教程的图片,

你能否把教程发到我的邮箱中:
gaolin8224@126.com
多谢了!

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 3, comments - 17, trackbacks - 0, articles - 0

Copyright © 水甲鸟