什麼叫本體
OWL本體用於對領域知識進行建模,本體是語義web的核心元素。
本體元素概述
在web上本體一般以文檔的形式進行儲存。文檔構成如下:
A. 本體首部:
首部是一種用來描述本體自身的資源。首部對本體進行描述,一般會含有注釋(comment)、標籤(label)、版本資訊等。
B. 類和個體
一個owl類是一種特殊的資源,它描述了具有共同特徵或者在某方面相似的資源的一個集合。個體(individual)也是一種資源,它是類的成員代表該類的一個執行個體。
例如Person是一個類,Ryan
Andrew 是它的一個執行個體。
C.屬性
OWL中的屬性也是一種資源,它在描述個體的陳述中充當謂詞。OWL中有兩種主要類型的屬性:對象屬性用於將一組個體和另外一組個體串連起來,而資料類型屬性用於將個體和文字串連起來。例如:Ryan 有 hasName 的資料類型屬性,Ryan
有Konw這樣的對象屬性將Ryan和Andrew串連起來。
D.標註
標註其實也是一個屬性,和其他屬性類似,但它沒有相關聯的語義主要是在介面中顯示使用.
E.資料類型
OWL中的資料類型表示資料值的取值範圍。整形、字串、時間都是常用的資料類型。
Thing 和 nothing
在owl中有兩個基本類:owl: thing 和 owl: nothing,所有的類都從這兩個類派生而來。資源owl: thing 表示所有個體的類,而且所有充當類的執行個體的資源本質上也是owl: thing的成員。 owl:nothing 表示一個空類,即沒有一個成員的類。
屬性的定義域和範圍
owl允許使用rdfs:domain 和 rdfs:range 來描述屬性和類之間或者屬性和資料類型之前的定義域關係和範圍關係。
domain:指定斷言中主語的類型。
Range
: 指定斷言中賓語的類型。
舉例如:
Ryan Andrew 為兩個individual 他們的domain 屬於 Person , 他們的hasname 屬性的 range
為 string 。
描述屬性
即特定含義屬性。
1 rdfs:subpropertyof
和類一樣可以使用 subpropertyof 屬性對屬性進行分類。為瞭解釋子屬性關聯性的內涵,假設在本體中聲明 屬性 hasNickName subpropertyof hasName 該假設聲明一下事實:
hasNickName
是 hasName 的一個特化。
任何使用hasName關聯起來的兩個資源必然可以使用hasNickName關聯起來。
2 逆屬性
屬性聲明了有向的關係,關係的方向是從定義域到範圍或者從主語到賓語。有時在一個方向上存在一個關係還隱藏另一個關係。
Owl 允許使用owl:inverseof 屬性將一個屬性聲明為另一個屬性的逆屬性,假設下面的陳述聲明 hasChild 和
hasParent 是可逆的那麼一下事實成立:
如果存在陳述(individualA hasChild individualB) 則必有( individualB hasParent individualA )
3 不相交屬性
Owl 提供了一對將兩個屬性指定為不相交的構造。當我們說兩個屬性不相交時那麼就存在如下事實
兩個屬性的主語和賓語不可能完全相同
例如 hasFather 和
hasMother
4 鍵
Owl 中引入鍵的概念。Owl 中含有 owl:hasKey 屬性,用於將某個特定的類和一個屬性集合聯絡起來。
5 資料類型
資料類型用來表示使用Uri標識的資料值的範圍。