Protege使用筆記_第1頁
Protege使用筆記_第2頁
Protege使用筆記_第3頁
Protege使用筆記_第4頁
Protege使用筆記_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、用到的工具:JDK 安裝及配置Protégé 下載網(wǎng)址: 可視化開發(fā)平臺graphviz 圖形化顯示本體關系圖 Mysql 及客戶端工具 不用介紹了吧,我用的5。XMysql java 連接器 下載地址: mysql-connector-java-bin.jar文件,將其復制到protege的安裝目錄中(注意不是插件目錄),然后將它的名字變?yōu)閐river.jar。Mysql及相關工具用來將本體保存在數(shù)據(jù)庫中。beangenerator.jar 這個在JADE的文檔中所記載,可以將protege構建的OWL本體導出為JADE的本體類使用建立Animal工程實例步驟1 建立新的

2、項目。打開protege,然后會出現(xiàn)對話框,點擊Create New Project.,出現(xiàn)Create New Project對話框后,選擇OWL Flies(.owl or .rdf)后,點擊Finish,而不選Next。 步驟2 建立類。protege的主頁面中會出現(xiàn),OWL Classes(OWL類),Properties(屬性),Forms(表單),Individuals(個體),Metedata(元類)這幾個標簽。我們選擇OWL Classes來編輯。在Asserted Hierarchy(添加階層)中,會有所有類的超類owl:Thing上點擊Asserted Hierarchy旁

3、邊的Create subclass或者在OWL:Thing,點擊右鍵選擇Create subclass。會出現(xiàn)protege自動定義名為Class_1的類。在右邊的CLASS EDITOR(類編輯器)的Name選項中,輸入Animal來替換自動定義的名字。(建議使用英文,因為下面會用到OWLViz來生成關系圖,中文的話會容易出現(xiàn)問題。) 步驟3 建立Animal的子類,在Animal點擊上右鍵,選擇Create subclass,并按照上述方法將其名字變?yōu)镠erbivore(素食動物)。 步驟4然后按照上面的方法,建立OWL:Thing的另一個子類Plant(植物),然后建立Plant的子類T

4、ree(樹)。狀態(tài)如下圖 步驟5 因為動物和植物是不同的事物,也就是說它們互相具有排他性(owl:disjointWith),我們來定義這個關系。在選中Animal的狀態(tài)下,點擊右下角的Disjoints的第三個按鈕,在出現(xiàn)的Add sibling to disjoints(將互為兄弟節(jié)點的類設為排他)對話框中,選擇Mutually between all siblings。這樣動物和植物就有互相排斥的屬性了。 步驟6 建立屬性。新建一個ObjectProperty(注意不是DataProperty)選擇Properties標簽,Name改為is_part_of,然后在右下角Transitiv

5、e前面打上對號,說明這是一個傳遞性屬性。然后建立一個對象屬性(owl:ObjectProperty)eat(吃),在Domain(定義域)中定義該屬性的主體的類是Animal。最后再建立一個屬性eated(被吃),它是屬性eat的逆關系(owl:inverseOf),在右下角Inverser框中選擇eat屬性。(參照圖) 步驟7 建立一個owl:Plant的子類Branch(樹枝),并附加限制條件。在選擇Branch的狀態(tài)下,點擊中下方的Asserted Conditions(添加條件)中的第二個按鈕(Create restrition )。在彈出的對話框中,選擇Restrition中的all

6、ValuesFrom,然后點擊下方的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

7、對話框中添加如下圖的式子。 步驟10 定義類Giraffe(長頸鹿),它是素食動物,只吃樹葉。按照上面的步驟定義,如下圖 。 步驟11 查看關系圖,在菜單中選擇Project>Configure在出現(xiàn)的對話框中,在OWLVizTab前打上對號,就會出新OWLViz的標簽。如果在這里出現(xiàn)DOT error的話請參照錯誤提示的解決辦法,然后點擊OWLViz標簽,選擇Show all classes,就可以看到關系圖。 步驟12 保存項目。點擊這里下載這個項目下載這個項目。解壓后用菜單中的File>Open Project>解壓路經(jīng)中的Animal.ppjr即可。 接著基礎篇,在動

8、物本體中,建立獅子類(Lion)和肉食動物類(Carnivore),通過推理得到獅子是肉食動物。通過這個實例來簡單了解推理機Racer的用法。基本操作方法在基礎篇中有講解,以下步驟中的操作不清楚的朋友請先看基礎篇。點擊這里下載到此處的項目,在protege中點擊Open Project打開項目。 步驟1 在Animal中建立獅子類和肉食動物類。定義這兩個類在同一級中,即這兩個類為兄弟關系,目的是推理后獅子變?yōu)槿馐硠游锏淖宇悺?步驟2 編輯獅子類的屬性。這里我們定義獅子只吃素食動物。 步驟3 編輯肉食動物的屬性。這里我們需要建立一個eat的子屬性maineat(主要吃的是),因為肉食性動物可以吃

9、植物,所以我們無法單純的靠eat來推理出Lion是不是肉食性動物。這里我們定義肉食性動物maineat的值域是所有的動物。如下圖 步驟4 將肉食動物的maineat屬性變?yōu)槌浞直匾獥l件。因為在現(xiàn)在的邏輯模型中我們的標準是開放世界假說,也就是說在沒有成功證明某個陳述之前,我們將這個陳述定義為未知的事實而不是假的。因為我們沒有明確指出肉食動物不能主要吃植物,所以肉食動物主要吃植物這個陳述是未知的,而不是假的。這樣就給我們的推理造成了影響,所以我們需要明確指出肉食動物主要吃動物。也就是充分必要條件。做法是雙擊NECESSARY(必要條件)中的 將其拖拽到上方的NECECSSARY & SUF

10、FICIENT(充分必要條件)中。同樣的方法將Animal也拖拽到充分必要條件中。狀態(tài)如下圖 步驟5 啟動RacerPro推理機進行推論。如果沒有的朋友請到RacerPro官方網(wǎng)站下載。需要注冊一下,然后在發(fā)給你郵件中,點擊鏈接就可以下載。安裝選默認路徑即可,不然還需要設置路徑。 步驟6 運用推理機進行推理。選擇菜單中OWL>Classify taxonomy.(也可以點擊標簽上方的Classify taxonomy.圖標)的。這時protege會連接RacerPro,然后推理機將做出推理。這時將推理機彈出的信息關閉,protege中間會出現(xiàn)新的類階層圖,這里獅子類已經(jīng)變?yōu)槿馐硠游锏淖宇?/p>

11、。并在信息對話框中的Lion Moved from Animal to Carnivore。 步驟7 確認關系圖。在OWLViz中Asserted Model是推理前的關系圖,Inferred Model是推理后的關系圖??梢钥吹姜{子類已經(jīng)成為肉食動物的子類。 步驟8 保存項目。點擊下載該項目。 以下教程接著基礎篇和推理篇,對于基礎篇和推理篇解釋的步驟這里不在重復解釋。不知道的朋友請先看基礎篇和推理篇來熟悉基本操作步驟。點擊這里參照新手入門基礎篇和推理篇 在本篇進階片教程中主要是介紹個體的編輯(Individuals),查詢插件(QueriesTab)的用法以及將編輯好的本體存儲到數(shù)據(jù)庫中(O

12、wl Database)。對于Owl數(shù)據(jù)庫我這里采用Mysql(對于其他的數(shù)據(jù)庫請到官方網(wǎng)站查詢)。 步驟1:這里要用到推理篇中保存的項目。沒有的朋友請點擊這里下載。打開推理篇中保存的newAnimal。根據(jù)推理機的推理我們知道了Lion是肉食動物,所以我們將其移到Carnivore肉食動物的下面作為它的子類 步驟2:建立動物園的類Zoo。然后在屬性編輯器中編輯一個新的datatype property(數(shù)據(jù)性屬性)Address,設它的定義域是類Zoo,設它的值域是xsd:string,在rdfs:comment中注釋該屬性表示地址。同樣我們編輯一個新的datatype property(數(shù)

13、據(jù)性屬性)Tel,設它的定義域是類Zoo,設它的值域是xsd:string。在rdfs:comment中注釋該屬性表示電話號碼。注意給定義域添加類的時候是用Add named Class(es),Domain后面的第2個按鈕,而不是第一個。第一個按鈕是新建一個類并給作為定義域時用。 步驟3:建立類Zoo個體。選擇Individuals編輯器。在選擇左邊Zoo類的情況下,點擊INSTANCE BROWSER中的按鈕,出現(xiàn)了一個個體實例,在INSTANCE EDITOR中將它的名字變?yōu)锽eijing_Zoo。在下方的屬性Address中點擊加號,輸入地址。這里作為例子輸入Beijing Xizhi

14、men Road,并選擇en。屬性Tel中輸并選擇en。同樣的方法,創(chuàng)建另外2個個體實例Shanghai_Zoo和Tianjin_Zoo。屬性Address和Tel請任意輸入。這樣我們就創(chuàng)建了3個Zoo的個體實例。 步驟4:建立動物個體。在建立動物個體之前,前建立一個對象性屬性Belonging,它的定義域是Animal,值域是Zoo?;氐絀ndividuals編輯器中,在選擇類Giaffe的情況下,建立一個個體實例,命名為Lanlan。在下方的Belonging屬性中點擊加號,在彈出的對話框中選擇Beijing_zoo。同樣的方法,建立2個個體實例讓它們本別屬于S

15、hanghai_zoo和Tianjin_zoo。然后在建立3個Lion類的個體實例,BeiLion,ShangLion,TianLion讓它們分別屬于3個動物園。這樣我們就可以進行下一步,用查詢表單來查詢。 步驟5:使用查詢插件。點擊菜單中的Project>Configure 在出現(xiàn)的對話框中選擇QueriesTab前加上對勾。然后就會出現(xiàn)Queries標簽,選擇這個標簽就會出現(xiàn)查詢界面。最初我們只在Class中加入Animal然后點擊Find。查詢結果會在右邊的Search Results中出現(xiàn),如下圖。然后將這個查詢保留,可以在以后利用。我們點擊在下方的Query Name中輸入?A

16、nimal然后點擊Add to Query Library按鈕。這樣這個查詢方式就被儲存到Query Library中。 步驟6:利用Query Library中保存的查詢方式進行進一步查詢。點擊Query Library中的?Animal并點擊按鈕??梢哉{(diào)用這個查詢方式,在這里因為我們剛剛存儲了這個方式,所以上面的Query中不會有變化。我們在Slot中選擇Belonging然后選擇contains最后選擇Beijing_zoo。點擊Find 就會出現(xiàn)我們查找的結果??梢詫⑦@個查詢方式存儲為?Animal_belong_BeijingZoo。當然并非每個查詢方式都需要儲存,實際操作中按照自己

17、的需要存儲即可。 步驟6:將本體存儲到數(shù)據(jù)庫中。這里我們使用Mysql。先做準備工作,因為需要Mysql所以沒有的朋友請先安裝。Mysql在Windows,linux等的安裝方法在許多網(wǎng)站都有十分詳細的介紹,我在這里就不再重復了,請到網(wǎng)上查詢一下,最好安裝官方推薦的版本。安裝完后首先建立一個protege的數(shù)據(jù)庫,步驟如下 Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 10 to server version: -maxType 'help;' or '

18、;h' for help. Type 'c' to clear the buffer./建立一個名字叫protege_db的數(shù)據(jù)庫。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 protegeuserlocalhost identified

19、 by 'protegeuserpwd'/使上述變更在服務器上有效。mysql> flush privileges;Query OK, 0 rows affected (0.07 sec)/退出mysqlmysql> exit這里不用創(chuàng)建表格,protege會自動創(chuàng)建。請確認你的mysql服務是運行的,否則將不能儲存到數(shù)據(jù)庫。接下來還需要下載JDBC驅動程序,它的作用是將protege和數(shù)據(jù)庫連接起來。點擊這里下載JDBC驅動程序。下載完后展開,其中有一個mysql-connector-java-bin.jar文件,將其復制到protege的安裝目錄中(注意不是插件

20、目錄),然后將它的名字變?yōu)閐river.jar。然后回到protege中,選擇菜單File>Convert Project to Format.在彈出的對話框中選擇OWL Database。 彈出的Owl Database對話框中按照下面規(guī)定填寫。Project 項目的名稱??梢匀我馊?。這里用newAnimalok.pprjJDBC URL 添入jdbc:mysql:/+mysql服務器地址+數(shù)據(jù)庫名稱 這里用的是本地機,所以使用localhost 數(shù)據(jù)庫為剛才創(chuàng)建的protege_db。所以添入jdbc:mysql:/localhost/protege_dbTable 數(shù)據(jù)庫中的表格名

21、,可任意填寫但不能與相同數(shù)據(jù)庫中的表格重名,否則覆蓋。這里用AnimalUsername 數(shù)據(jù)庫用戶名。這里用protegeuserPassword 數(shù)據(jù)庫用戶密碼。這里用protegeuserpwd然后點擊OK。如果出現(xiàn)錯誤,請參見The JDBC driver is not on the Classpath的錯誤,請參見錯誤提示的解決辦法 確認mysql /用protegeuser登陸數(shù)據(jù)庫,在Enter password:后輸入密碼mysql -u protegeuser -p Enter password: Welcome to the MySQL monitor. Commands

22、end with ; or g.Your MySQL connection id is 14 to server version: -maxType 'help;' or 'h' for help. Type 'c' to clear the buffer./使用protege_db數(shù)據(jù)庫mysql> use protege_db;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changed/查看Animal表格mysql> select * from Animal;+-+-+-+-+-+-+-+| frame | frame_type | slot | facet | is_template | value_index | value_type | +-+-+-+-+-+-+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論