protege3.1.x基礎篇-進階

          Posted on 2006-07-04 19:27 水甲鳥 閱讀(1687) 評論(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
          多謝了!

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           

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

          Copyright © 水甲鳥

          主站蜘蛛池模板: 五华县| 老河口市| 广河县| 安图县| 新干县| 云阳县| 宜城市| 舞钢市| 呼玛县| 犍为县| 侯马市| 灌南县| 小金县| 历史| 望奎县| 海门市| 汨罗市| 南雄市| 桃源县| 郎溪县| 宁城县| 临漳县| 台安县| 岢岚县| 武山县| 香港 | 宁安市| 湛江市| 太湖县| 兴隆县| 岚皋县| 新丰县| 石嘴山市| 涪陵区| 乌兰浩特市| 栾城县| 宁陵县| 宁夏| 简阳市| 囊谦县| 山西省|