以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  [帮网友soow发]Protege入门(进阶篇)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=46330)


--  作者:admin
--  发布时间:5/2/2007 11:42:00 PM

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

步骤1:这里要用到推理篇中保存的项目。没有的朋友请[URL=http://www.chengtao.name/download/newanimal.zip]点击这里下载[/URL]。打开推理篇中保存的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和数据库连接起来。[URL=http://dev.mysql.com/downloads/connector/j/3.1.html]点击这里下载JDBC驱动程序[/URL]。下载完后展开,其中有一个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的错误,请参见[URL=http://www.chengtao.name/modules/dokuwiki/doku.php?id=%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95]错误提示的解决办法[/URL]

按此在新窗口浏览图片

确认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预定义,[URL=http://protege.stanford.edu/doc/design/jdbc_backend.html]点击这里查看各个参数的详情[/URL] 通过以上的做法可以将我们做的本体储存到数据库中。然后通过数据库来访问本体数据。Owl Database的配置一次后下一次就可以直接使用,只要使用命名为别的表格即可。

[此贴子已经被作者于2007-5-4 20:18:41编辑过]

--  作者:admin
--  发布时间:5/3/2007 12:08:00 AM

--  
本文Word版下载(感谢soow分享!):



--  作者:jia95812
--  发布时间:7/31/2007 11:20:00 AM

--  
谁有基础篇和推理篇的word啊,给传一下啊,万分感谢!!!!
--  作者:utarl
--  发布时间:7/31/2007 3:00:00 PM

--  
谢谢分享
--  作者:wwwngc
--  发布时间:3/9/2008 4:32:00 PM

--  
谢谢了啊,好东西啊
--  作者:mxj5210
--  发布时间:3/13/2008 10:39:00 AM

--  
谢谢分享!!!
--  作者:chrice
--  发布时间:4/9/2008 3:49:00 PM

--  
谢谢分享
--  作者:slemon
--  发布时间:4/14/2008 10:40:00 AM

--  
好,不用下都能看的。
--  作者:李宁
--  发布时间:7/15/2008 9:56:00 AM

--  
好,谢谢

--  作者:李宁
--  发布时间:7/15/2008 10:02:00 AM

--  
基础篇这么没有了,郁闷哦
--  作者:李宁
--  发布时间:7/15/2008 10:02:00 AM

--  
图片显示不了啊!
--  作者:admin
--  发布时间:7/15/2008 10:54:00 AM

--  
以下是引用李宁在2008-7-15 10:02:00的发言:
基础篇这么没有了,郁闷哦

可以在这里下载:http://bbs.w3china.org/dispbbs.asp?boardid=2&id=25&star=1#57


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
100.098ms