protege3.1.x基礎(chǔ)篇-進(jìn)階

          Posted on 2006-07-04 19:27 水甲鳥(niǎo) 閱讀(1689) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): protege相關(guān)

          這篇教程接著基礎(chǔ)篇和推理篇,對(duì)于基礎(chǔ)篇和推理篇解釋的步驟這里不在重復(fù)解釋。不知道的朋友請(qǐng)先看基礎(chǔ)篇和推理篇來(lái)熟悉基本操作步驟。點(diǎn)擊這里參照新手入門(mén)基礎(chǔ)篇和推理篇 在本篇進(jìn)階片教程中主要是介紹個(gè)體的編輯(Individuals),查詢(xún)插件(QueriesTab)的用法以及將編輯好的本體存儲(chǔ)到數(shù)據(jù)庫(kù)中(Owl Database)。對(duì)于Owl數(shù)據(jù)庫(kù)我這里采用Mysql(對(duì)于其他的數(shù)據(jù)庫(kù)請(qǐng)到官方網(wǎng)站查詢(xún))。

          步驟1:這里要用到推理篇中保存的項(xiàng)目。沒(méi)有的朋友請(qǐng)點(diǎn)擊這里下載。打開(kāi)推理篇中保存的newAnimal。根據(jù)推理機(jī)的推理我們知道了Lion是肉食動(dòng)物,所以我們將其移到Carnivore肉食動(dòng)物的下面作為它的子類(lèi)

          步驟2:建立動(dòng)物園的類(lèi)Zoo。然后在屬性編輯器中編輯一個(gè)新的datatype property(數(shù)據(jù)性屬性)Address,設(shè)它的定義域是類(lèi)Zoo,設(shè)它的值域是xsd:string,在rdfs:comment中注釋該屬性表示地址。同樣我們編輯一個(gè)新的datatype property(數(shù)據(jù)性屬性)Tel,設(shè)它的定義域是類(lèi)Zoo,設(shè)它的值域是xsd:string。在rdfs:comment中注釋該屬性表示電話號(hào)碼。注意給定義域添加類(lèi)的時(shí)候是用Add named Class(es),Domain后面的第2個(gè)按鈕,而不是第一個(gè)。第一個(gè)按鈕是新建一個(gè)類(lèi)并給作為定義域時(shí)用。

          步驟3:建立類(lèi)Zoo個(gè)體。選擇Individuals編輯器。在選擇左邊Zoo類(lèi)的情況下,點(diǎn)擊INSTANCE BROWSER中的按鈕,出現(xiàn)了一個(gè)個(gè)體實(shí)例,在INSTANCE EDITOR中將它的名字變?yōu)锽eijing_Zoo。在下方的屬性Address中點(diǎn)擊加號(hào),輸入地址。這里作為例子輸入Beijing Xizhimen Road,并選擇en。屬性Tel中輸入010-12345678,并選擇en。同樣的方法,創(chuàng)建另外2個(gè)個(gè)體實(shí)例Shanghai_Zoo和Tianjin_Zoo。屬性Address和Tel請(qǐng)任意輸入。這樣我們就創(chuàng)建了3個(gè)Zoo的個(gè)體實(shí)例。

          步驟4:建立動(dòng)物個(gè)體。在建立動(dòng)物個(gè)體之前,前建立一個(gè)對(duì)象性屬性Belonging,它的定義域是Animal,值域是Zoo?;氐絀ndividuals編輯器中,在選擇類(lèi)Giaffe的情況下,建立一個(gè)個(gè)體實(shí)例,命名為L(zhǎng)anlan。在下方的Belonging屬性中點(diǎn)擊加號(hào),在彈出的對(duì)話框中選擇Beijing_zoo。同樣的方法,建立2個(gè)個(gè)體實(shí)例讓它們本別屬于Shanghai_zoo和Tianjin_zoo。然后在建立3個(gè)Lion類(lèi)的個(gè)體實(shí)例,BeiLion,ShangLion,TianLion讓它們分別屬于3個(gè)動(dòng)物園。這樣我們就可以進(jìn)行下一步,用查詢(xún)表單來(lái)查詢(xún)。

          步驟5:使用查詢(xún)插件。點(diǎn)擊菜單中的Project–>Configure 在出現(xiàn)的對(duì)話框中選擇QueriesTab前加上對(duì)勾。然后就會(huì)出現(xiàn)Queries標(biāo)簽,選擇這個(gè)標(biāo)簽就會(huì)出現(xiàn)查詢(xún)界面。最初我們只在Class中加入Animal然后點(diǎn)擊Find。查詢(xún)結(jié)果會(huì)在右邊的Search Results中出現(xiàn),如下圖。然后將這個(gè)查詢(xún)保留,可以在以后利用。我們點(diǎn)擊在下方的Query Name中輸入?Animal然后點(diǎn)擊Add to Query Library按鈕。這樣這個(gè)查詢(xún)方式就被儲(chǔ)存到Query Library中。

          步驟6:利用Query Library中保存的查詢(xún)方式進(jìn)行進(jìn)一步查詢(xún)。點(diǎn)擊Query Library中的?Animal并點(diǎn)擊按鈕??梢哉{(diào)用這個(gè)查詢(xún)方式,在這里因?yàn)槲覀儎倓偞鎯?chǔ)了這個(gè)方式,所以上面的Query中不會(huì)有變化。我們?cè)赟lot中選擇Belonging然后選擇contains最后選擇Beijing_zoo。點(diǎn)擊Find 就會(huì)出現(xiàn)我們查找的結(jié)果??梢詫⑦@個(gè)查詢(xún)方式存儲(chǔ)為?Animal_belong_BeijingZoo。當(dāng)然并非每個(gè)查詢(xún)方式都需要儲(chǔ)存,實(shí)際操作中按照自己的需要存儲(chǔ)即可。

          步驟6:將本體存儲(chǔ)到數(shù)據(jù)庫(kù)中。這里我們使用Mysql。先做準(zhǔn)備工作,因?yàn)樾枰狹ysql所以沒(méi)有的朋友請(qǐng)先安裝。Mysql在Windows,linux等的安裝方法在許多網(wǎng)站都有十分詳細(xì)的介紹,我在這里就不再重復(fù)了,請(qǐng)到網(wǎng)上查詢(xún)一下,最好安裝官方推薦的版本。安裝完后首先建立一個(gè)protege的數(shù)據(jù)庫(kù),步驟如下

          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.
          //建立一個(gè)名字叫protege_db的數(shù)據(jù)庫(kù)。
          mysql> create database protege_db; 
          Query OK, 1 row affected (0.00 sec)
          //建立一個(gè)在localhost的用戶(hù)protegeuser,密碼為protegeuserpwd。并把protege_db的所有權(quán)限給他。
          mysql> grant all privileges on protege_db.* to protegeuser@localhost identified by 'protegeuserpwd';
          //使上述變更在服務(wù)器上有效。
          mysql> flush privileges;
          Query OK, 0 rows affected (0.07 sec)
          //退出mysql
          mysql> exit

          這里不用創(chuàng)建表格,protege會(huì)自動(dòng)創(chuàng)建。請(qǐng)確認(rèn)你的mysql服務(wù)是運(yùn)行的,否則將不能儲(chǔ)存到數(shù)據(jù)庫(kù)。接下來(lái)還需要下載JDBC驅(qū)動(dòng)程序,它的作用是將protege和數(shù)據(jù)庫(kù)連接起來(lái)。點(diǎn)擊這里下載JDBC驅(qū)動(dòng)程序。下載完后展開(kāi),其中有一個(gè)mysql-connector-java-3.1.12-bin.jar文件,將其復(fù)制到protege的安裝目錄中(注意不是插件目錄),然后將它的名字變?yōu)閐river.jar。然后回到protege中,選擇菜單File–>Convert Project to Format...在彈出的對(duì)話框中選擇OWL Database。

          彈出的Owl Database對(duì)話框中按照下面規(guī)定填寫(xiě)。
          Project 項(xiàng)目的名稱(chēng)??梢匀我馊?。這里用newAnimalok.pprj
          Driver Class Name 中添入 com.mysql.jdbc.Driver
          JDBC URL  添入jdbc:mysql://+mysql服務(wù)器地址+數(shù)據(jù)庫(kù)名稱(chēng)  這里用的是本地機(jī),所以使用localhost 
          數(shù)據(jù)庫(kù)為剛才創(chuàng)建的protege_db。所以添入jdbc:mysql://localhost/protege_db
          Table 數(shù)據(jù)庫(kù)中的表格名,可任意填寫(xiě)但不能與相同數(shù)據(jù)庫(kù)中的表格重名,否則覆蓋。這里用Animal
          Username 數(shù)據(jù)庫(kù)用戶(hù)名。這里用protegeuser
          Password 數(shù)據(jù)庫(kù)用戶(hù)密碼。這里用protegeuserpwd

          然后點(diǎn)擊OK。如果出現(xiàn)錯(cuò)誤,請(qǐng)參見(jiàn)The JDBC driver is not on the Classpath的錯(cuò)誤,請(qǐng)參見(jiàn)錯(cuò)誤提示的解決辦法

          確認(rèn)mysql

          //用protegeuser登陸數(shù)據(jù)庫(kù),在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數(shù)據(jù)庫(kù)
          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本體已經(jīng)存儲(chǔ)到了數(shù)據(jù)庫(kù)中。其中的各個(gè)參數(shù)均為protege預(yù)定義,點(diǎn)擊這里查看各個(gè)參數(shù)的詳情 通過(guò)以上的做法可以將我們做的本體儲(chǔ)存到數(shù)據(jù)庫(kù)中。然后通過(guò)數(shù)據(jù)庫(kù)來(lái)訪問(wèn)本體數(shù)據(jù)。Owl Database的配置一次后下一次就可以直接使用,只要使用命名為別的表格即可。

          Feedback

          # re: protege3.1.x基礎(chǔ)篇-進(jìn)階  回復(fù)  更多評(píng)論   

          2006-07-17 10:20 by 葉子
          "其中有一個(gè)mysql-connector-java-3.1.12-bin.jar文件,將其復(fù)制到protege的安裝目錄中",如果我的protege安裝在C,那這里的安裝目錄是不是就是C:\Program Files\Protege_3.1?

          # re: protege3.1.x基礎(chǔ)篇-推理  回復(fù)  更多評(píng)論   

          2007-03-21 09:08 by nanan
          你好,我最近正在學(xué)progete,想通過(guò)你的例子來(lái)入門(mén),但是,所有圖片都顯示不了。能否將這個(gè)文檔發(fā)送給我,萬(wàn)分感謝!
          郵箱是:gutongse7@163.com

          # re: protege3.1.x基礎(chǔ)篇-進(jìn)階  回復(fù)  更多評(píng)論   

          2007-06-14 16:25 by fengshaoqing
          看不到教程的圖片,可不可以把教程發(fā)到我的郵箱中:fengshaoqing@163.com
          多謝了

          # re: protege3.1.x基礎(chǔ)篇-進(jìn)階  回復(fù)  更多評(píng)論   

          2007-06-17 21:30 by lin
          我也是剛學(xué)的,但是看不到教程的圖片,

          你能否把教程發(fā)到我的郵箱中:
          gaolin8224@126.com
          多謝了!

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

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

          Copyright © 水甲鳥(niǎo)

          主站蜘蛛池模板: 平顺县| 荥阳市| 安阳市| 卓资县| 山丹县| 逊克县| 哈尔滨市| 大石桥市| 五河县| 宜兰市| 常德市| 瑞丽市| 黄骅市| 鄂托克前旗| 裕民县| 萍乡市| 甘孜县| 黄龙县| 固安县| 巴楚县| 巴林左旗| 清远市| 高州市| 华坪县| 社旗县| 铜山县| 通辽市| 兴和县| 商南县| 洞头县| 隆林| 平安县| 舞阳县| 开鲁县| 大英县| 调兵山市| 通江县| 靖边县| 兴文县| 伊通| 徐闻县|