此新手入門對應protege3.1.x版本。通過制作一個簡單的動物本體,來使大家了解protege建立owl的基礎用法。
步驟1 建立新的項目。打開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旁邊的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的子類Tree(樹)。狀態(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,然后在右下角Transitive前面打上對號,說明這是一個傳遞性屬性。然后建立一個對象屬性(owl:ObjectProperty)eat(吃),在Domain(定義域)中定義該屬性的主體的類是Animal。最后再建立一個屬性eated(被吃),它是屬性eat的逆關系(owl:inverseOf),在右下角Inverser框中選擇eat屬性。(參照圖)
步驟7 建立一個owl:Plant的子類Branch(樹枝),并附加限制條件。在選擇Branch的狀態(tài)下,點擊中下方的Asserted Conditions(添加條件)中的第二個按鈕(Create restrition )。在彈出的對話框中,選擇Restrition中的allValuesFrom,然后點擊下方的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對話框中添加如下圖的式子。
步驟10 定義類Giraffe(長頸鹿),它是素食動物,只吃樹葉。按照上面的步驟定義,如下圖 。
步驟11 查看關系圖,在菜單中選擇Project–>Configure在出現(xiàn)的對話框中,在OWLVizTab前打上對號,就會出新OWLViz的標簽。如果在這里出現(xiàn)DOT error的話請參照錯誤提示的解決辦法,然后點擊OWLViz標簽,選擇Show all classes,就可以看到關系圖。
步驟12 保存項目。點擊這里下載這個項目下載這個項目。解壓后用菜單中的File–>Open Project–>解壓路經中的Animal.ppjr即可。