Web 本體語言(OWL)是為處理資訊內容的應用程式而設計﹐不是給人類呈現資訊用的。OWL 藉由提供網路內容正式的語義與附加詞彙﹐使得這些內容比僅僅由
XML﹐RDF﹐RDF Schema 所支援的網路內容可以讓更多的機器更容易解讀。
這份文件是寫給想要初步了解 OWL 功能的讀者。文中是透過描述 (非正式的) 每一個 OWL 子語言的特色來介紹 OWL。若是懂得 RDF
Schema﹐將對了解本文會很有幫助﹐但並非是必要。閱讀完本文之後﹐有興趣的讀者可以繼續閱讀 OWL
指南﹐了解更多 OWL 各種特性的詳細敘述與範例。而 OWL 標準規範的正式定義可以參考 OWL
語義與慨念語法。
本文件狀態
- 引言
-
文件指南
-
為什麼需要 OWL?
-
OWL 的三個子語言
-
本文件的架構
- 語言概要
-
OWL Lite 概要
-
OWL DL 與 OWL Full 概要
- OWL
Lite 語言描述
-
OWL Lite 的 RDF Schema 特徵
-
OWL Lite 的等式與不等式
-
OWL Lite 的屬性特色
-
OWL Lite 的屬性約束
-
OWL Lite 的基數約束
-
OWL Lite 類別交集
-
OWL 資料型態
-
OWL Lite 表頭信息
-
OWL Lite 的註解屬性
-
OWL Lite 的版本
- OWL
DL 與 OWL Full 的附加語言描述
- 總結
-
參考資
-
致謝
-
更新日誌
1. 引言
本文描述 OWL Web 本體語言。OWL
是為了讓應用程式可以處理文件中所包含的訊息而設計﹐有別於僅僅需要將內容呈現給人類了解。OWL
可以明確地表達詞彙中的專有名詞以及這些專有名詞之間的關係。這種專有名詞的表述和他們的相互關係稱為本體。在意義與語義的表達上﹐OWL 的能力比
XML﹐RDF 與 RDF-S 更好﹐因此﹐OWL 在陳述網際網路機讀內容的能力﹐也超過這些語言。OWL
是 DAML+OIL web 本體語言合併 DAML+OIL 的設計與應用之後的修訂版。
1.1 文件指南
OWL 語言有一系列的說明文件﹐每一個文件都有其目的和訴求對象。底下是我們所提供瀏覽這些文件的簡要指南﹕
前四個文件﹐建議您依序閱讀﹐因為它們是依照技術內容的等級排列的。最後兩個文件對整系列的文件作個總結。
1.2 為什麼需要 OWL?
語義網是網站未來的展望﹐屆時網路上的資訊都會被賦予明確的意義﹐讓機器可以自動處理並加以整合。它是建立在 XML 可以自訂標籤架構與 RDF 可以靈活描述資料的根基上。在語義網使用
RDF 之前﹐RDF 的上頭還需要有一層可以用來正式描述網站文件裡專門用語的本體語言。此外﹐如果期望機器可以執行更有效的推理任務﹐那麼這個語言就必須超越
RDF 模組的基本語義架構。OWL 實例與需求文件將以六個使用實例﹑並有系統地闡述
OWL 的設計目的﹑需求與目標﹐來提供更詳細的本體資料與所帶動的
Web 實體語言需求。
OWL 就是設計來符合Web 本體語言需求的﹐而它也是目前 W3C 為語義網積極發展的眾多推薦標準的一部份。
- XML 提供一個建構文件的表層語法﹐卻不會替這些文件的意義帶來任何語義上的限制。
- XML Schema 是用來規範 XML 文件與擴充 XML 資料型態的語言。
- RDF
是一種資料模型﹐用來描述物件 (“資源”) 與彼此間的關係。它為這種資料模型提供了一種簡單的語義﹐而這些資料模型都可以用 XML 語法來表示。
- RDF Schema
是用來描述 RDF 資源的屬性與類別的語彙。它關係著這些屬性與類別普遍的層級架構上的語義。
- OWL 新增了更多的語彙來描述這些屬性與類別﹕其他之中 (among others)﹐ 類別之間的關係 (relations between
classes 如﹕解體 disjointness)﹐基數 (cardinality如﹕剛好一個 exactly one)﹐相等 (equality)﹐屬性的多元型態
(richer typing of properties)﹐屬性的特徵 (characteristics of properties 例如﹕對稱
symmetry)﹐與列舉類別 (enumerated classes)。
1.3 OWL 的三個子語言
OWL設計了三個不段擴充表現能力的子語言給特定領域的使用者與操作者使用。
- OWL Lite 主要是給那些需要一個分類階層和簡單的限制條件的用戶使用。例如﹐當它支持基數限制條件時﹐它只允許基數的值是
0 或 1。與其他更具有表現能力的相關規格比較起來﹐提供處理 OWL Lite 的工具相形簡單多了﹐而且﹐OWL Lite 也給詞典和其他分類法提供一個可以迅速轉換的途徑。在複雜程度上面﹐WOL
Lite 也比 OWL DL 來的低一些﹐有關詳細情形﹐請參閱文件
OWL 參考裡面的 OWL Lite 部分。
-
OWL DL 是給那些需要最強表現能力﹐卻必須維持計算機使用的完備性 (computational
completeness﹐即所有的結論都能夠確保是可以被計算出來的) 與可判定性 (decidability﹐即所有的計算都能在有限的時間內完成) 的用戶使用。OWL
DL 包括 OWL 語言所有的構詞 (constructs) ﹐不過在使用時﹐必須符合某些約束 (例如:當一個類別 (class) 可能是許多類別的子類別 (subclass) 時﹐這個類別就不能是其他類別的實體)。
OWL DL 這麼命名是因為它與描述邏輯一致。這個領域所研究的是構成 OWL 主要基礎的邏輯。
-
OWL Full
是給那些需要最強表現能力與自由的 RDF 語法﹐即使沒有可計算保證也沒關係的用戶使用。例如﹐在 OWL Full
裡面﹐一個類別可以同時被當成是許多個體的匯集並且自己也是裡面的一個個體。它允許一個本體去新增預先定義好的 (RDF 或 OWL)
詞彙的含意。如此一來﹐不太可能有推理型的軟體可以完全支援 OWL Full 的推理特性。
在表達與推理上﹐每個子語言都是它的前身的擴展。這三種子語言間有著以下的關聯。但這些關聯反過來並不成立。
- 每個合法的 OWL Lite 本體文件都是一個合法的 OWL DL 本體文件;
- 每個合法的 OWL DL 本體文件都是一個合法的 OWL Full 本體文件;
- 每個有效的 OWL Lite 結論都是一個有效的 OWL DL 結論;
- 每個有效的 OWL DL 結論都是一個有效的 OWL Full 結論。
Ontology 的開發人員在採用 OWL 子語言的時候﹐應該要考慮那一種最符合需求。選擇 OWL Lite 或是 OWL DL 主要取決於用戶所要應用的範圍是否需要
用到 OWL DL 才擁有的高度表現力元素。而選擇 OWL DL 或是 OWL Full 主要取決於使用者應用的範圍是否需要 RDF 的元件模組化
(meta-modeling) 機制﹐ (例如:定義類別的類別或是為替類別附加新的屬性)。最後﹐在比較 OWL Full 與 OWL DL 對推理能力的支援是比較難預測的﹐因為目前尚不存在完全支援
OWL Full 的實際應用。
當 OWL DL 或 OWL Lite 的表現能力被認為有需要之後﹐必須注意原來的 RDF 文件是否遵守 OWL DL 或 OWL Lite 對 RDF
所附加的限制。其中﹐每一個作為類別名稱的 URI 都必須明確的宣告為 owl:Class 類型 (type) (屬性也是類似)。每一個個體必須是少宣告一個隸屬類別 (即使是只有
owl:Thing)。而用於類別﹑屬性或個體的 URI 必須彼此互斥。其他有關 OWL DL 與 OWL Lite 限制的詳細信息會在 OWL
參考文件附錄 E 中解釋。
1.4 本文件的架構
這份文件首先敘述 OWL Lite 的特性﹐接著描述在 OWL DL 與 OWL Full 所添加的其他特性 (OWL DL 與 OWL Full
包含相同的特性﹐但是 OWL Full 在這些特性的結合上﹐具有更多的自由。)
2. 語言概要
本節將提供 OWL Lite﹐OWL DL﹐和 OWL Full 語言特徵的便捷索引。
在這份文件中﹐斜體代表 OWL 裡面的專用詞彙。字首 rdf: 或 rdfs: 表示它們目前已經是 RDF 或 RDF Schema 的專用詞彙。其他的專用詞彙則是由
OWL 引進的。因此﹐rdfs:subPropertyOf 表示 subPropertyOf 已經是 rdfs 的詞彙了 (從技術面來說﹐即所謂的
rdfs 的名稱空間 (rdfs namespace))。此外﹐ Class 這個專用詞彙更精確的因該寫成 owl:Class﹐它表示這個詞彙是由
OWL 引進的。
2.1 OWL Lite 概要
OWL Lite 語言的構詞 (constructs) 羅列如下。
RDF Schema 的特性:
|
(不)等價:
|
屬性特徵:
|
屬性約束:
|
基數約束:
|
表頭訊息:
|
類別交集:
|
版本訊息:
|
註解屬性:
|
資料類型:
|
2.2 OWL DL 與 OWL Full 概要
在 OWL Lite 之外﹐OWL DL 與 OWL Full 語言額外的構詞 (constructs) 羅列如下:
類別公設:
|
類別表達的布林組合:
|
任意基數:
|
資訊篩選::
|
3. OWL Lite 語言描述
本節提供一個非正式的 OWL Lite 語言特徵描述。我們不討論這些特徵的具體語法 (參考 OWL
Reference)。為了方便查看語言特徵的例子與使用指南﹐每個語言特徵都會有一個連向 OWL
指南 合適地方的連結。
和 OWL DL 與 OWL Full 相比﹐OWL Lite 只使用了 OWL 語言的部份特徵﹐而且在使用上有更多的限制。例如﹐在
OWL Lite 中﹐類別只能根據父類別 (superclass﹐父類別不能是任意的表達式) 的名稱來定義﹐而且只有某些特定的類別限制
(class restrictions) 可以使用。類別之間的等價關係 (equivalence) 與類別間的子類別關係只允許在具名類別
(named classes) 之間使用﹐不能應用於任意的類別表達式。類似的狀況﹐OWL Lite
只允許屬性限制應用在具名的類別上。另外﹐OWL Lite 對於基數的概念也有所限制--它的取值範圍只能是 0 或 1。
3.1 OWL Lite 的 RDF Schema 特徵
以下是 OWL Lite 與 RDF Schema 有關的特性:
-
Class: 類別指的是因著擁有某些共同特性的個體所形成的群體。例如﹐Deborah 和 Frank 都是屬於 Person
(人) 類別的成員。利用 subClassOf
則可以將許多的類別組成某種特定的層次結構。Thing
是一個最基礎的內建類別﹐所有的個體都屬於這個類別﹐它也是所有 OWL 類別的父類別。另外還有一個特殊的內建類別 Nothing
﹐它沒有任何實體﹐因此是任意 OWL 類別的子類別。
-
rdfs:subClassOf: 我們可以利用一個或是多個像是某某類別是另一個類別的子類別這樣的陳述式來建立一個類別層次結構。例如﹐我們可以說類別
Person (人) 是類別 Mammal (哺乳動物) 的子類別。如此一來﹐推理程式就可以據此推出如果某個個體是一個人﹐那麼他也會是哺乳動物。
-
rdf:Property: 屬性可以用來陳述個體之間或者個體與數值的關係。屬性的例子包括 hasChild﹐hasRelative﹐hasSibling
和 hasAge 等。前三個可以用於表達兩個屬於 Person 類別的不同實體的關係 (因而被看作ObjectProperty
(物件屬性) 的例子)。最後一個 (hasAge) 則能用來表達屬於 Person 類別的某個個體與某個整數型數值的關係 (因而被看作 DatatypeProperty
(數據屬性) 的例子)。owl:ObjectProperty 和 owl:DatatypeProperty 都是 RDF 中 rdf:Property
的子類別。
-
rdfs:subPropertyOf: 我們可以利用一個或是多個像是某某屬性是另一個屬性的子屬性這樣的陳述式來建立一個屬性層次結構。例如﹐我們可以說
hasSibling 是 hasRelative 的子屬性。如此一來﹐推理程式就可以據此推出如果一個個體若是與某個個體有 hasSibling
屬性的關係﹐那麼它也會和該個體有 hasRelative 屬性的關係。
-
rdfs:domain: 屬性的定義域是用來約束該屬性可以適用那些個體。如果一個個體與與另外的個體因著某個屬性相關連﹐而這個屬性的定義域為某個類別﹐那麼該個體必然屬於該類別。例如﹐屬性
hasChild 可能聲明其定義域為 Mammal﹐如此一來﹐推理程式就可以據此推出如果 Frank hasChild Anna﹐那麼 Frank
必定是 Mannal。注意:"rdfs:domain" 被稱為全域限制﹐因為該限制是在此屬性宣告的﹐而不只是當這個屬性套用到某個類別時才聲明。參閱下面有關屬性限制更詳細的討論。
-
rdfs:range: 屬性的值域是用來限制那些個體可以成為屬性的值。如果一個個體與另外的個體因著某個屬性相關連﹐而該屬性的值域是一個類別﹐那麼另外那個個體必然屬於此類別。例如﹐若是我們宣告屬性
hasChild 的值域是 Mannal﹐如此一來﹐推理程式就可以據此推出如果 Louise 與 Deborah 的關聯屬性是 hasChild
(即 Deborah 是 Louise 的孩子)﹐那麼 Deborah 必定是 Mannal。值域同上面的定義域一樣都是全域限制。您一樣可以參考下列的區域限制
(例如 AllValuesFrom)
的進一步討論。
- Individual : 個體是類別的實體﹐而個體之間可以用屬性相互關聯﹐例如﹐一個稱為 "Deborah"
的個體是宣告屬於類別 Person 的一個實體﹐而我們可以用屬性 hasEmployer 來宣告個體 Deborah 與另外一個個體 StanfordUniversity
的關係。
3.2 OWL Lite 的等價性與不等價性
以下是 OWL Lite 與等價性或不等價性有關的特性:
-
equivalentClass : 我們可以宣告兩個類別是等價的﹐等價的類別擁有相同的實體。它可以被用來建立同義類別。例如﹐我們可以說類別
Car 與類別 Automobile 是 "equivalentClass"。如此一來﹐推理程式就可以據此推論﹐任何 Car
的實體也會是 Automobile 的實體﹐反之亦然。
-
equivalentProperty: 我們可以宣告兩個屬性是等價的﹐相互等價的屬性將一個個體關聯到同一組其他的個體。它可以被用來建立同義屬性﹐例如﹐我們可以說屬性
hasLeader 與屬性 hasHead 是 "equivalentPorperty"。如此一來﹐推理程式就可以據此推論﹐如果
X 因著 hasLeader 屬性與 Y 相關連﹐則 X 也會因著 hasHead 屬性與 Y 相關連﹐反之亦然。推理程式還可以推論出 HasLeader
是 hasHead 的子屬性﹐hasHead 同時也是 HasLeader 的子屬性。
- sameAs:
兩個個體也可以被稱為相同。構詞可以用來建立一系列參照到同一個個體的名字。例如﹐我們可以稱個體 Deborah 與個體 DeborahMcGuinness
是相同的。
-
differentFrom: 我們也可以宣告一個個體與其他的個體相異。例如﹐我們說個體 Frank 與 Deborah
及 Jim 是相異的個體。這樣一來﹐當個體 Frank 與 Deborah 被宣告為函數型 (functional﹐即屬性值最多一個) 屬性值的時候﹐就會有矛盾。在使用
WOL (RDF) 等語言的時候﹐由於這些語言不會假設個體擁有而解只有一個名字﹐所以明確的宣告個體是相異的就顯得很重要。在沒有額外的資訊下﹐推理程式不會推論出
Deborah 和 Frank 指的是不同的個體。
-
AllDifferent: AllDifferent 敘述可以用來宣告一群兩兩相異的個體。例如﹐Frank﹑Deborah
和 Jim 就可以用 AllDifferent 構詞來宣告彼此相異。這與上述的 DifferentFrom 不同﹐因為它也強調了 Jim 和
Deburah 不同。AllDifferent 這個構詞在一個彼此相異的物件集合中﹐當建立模組的人要強調假定該集合裡面物件都有唯一的名稱時﹐特別有用。它常與
distinctMembers
連用﹐來宣告列表中的成員都是獨立而且兩兩相異的。
3.3 OWL Lite 的屬性特色
在 OWL Lite 中有一些特殊的識別符 (identifiers)﹐用來提供與屬性和值有關的訊息。其中 ObjectProperty 和 DatatypeProperty
的區別已經上面的屬性描述裡提過了。
-
inverseOf﹕一個屬性可以是另一個屬性的反屬性 (inverse)。如果屬性 P1 被宣告為 P2 的反屬性﹐那麼如果
X 是以 P2 屬性與 Y 相關連﹐則 Y 也會以 P1 屬性與 X 相關連。例如﹕如果 hasChild 是 hasParent 的反屬性﹐而且
Deborah hasParent Louise﹐那麼推理程式就可以推論出 Louise hasChild Deborah。
-
TransitiveProperty﹕屬性可以宣告為有遞移性(transitive)。如果一個屬性是有遞移性﹐那麼﹐如果
(x,y) 是遞移屬性 P 的一個實體﹐(y,z) 也是屬性 P 的實體﹐那麼 (x,z) 也是屬性 P 的實體。例如﹐我們宣告祖先 (ancestor)
是一個有遞移性的屬性﹐如果 Sara 是 Louise 的祖先 (也就是說 (Sara,Louise) 是屬性祖先的一個實體 (例)) 而
Louise 是 Deborah 的祖先 (也就是說 (Louise,Deborah) 是屬性祖先的一個實體 (例)) ﹐那麼推理程式將可以推論出
Sara 是 Deborah 的祖先 (也就是說 (Sara,Deborah) 是屬性祖先的一個實體 (例))。OWL Lite (和 OWL
DL) 有一個附加條件﹐那就是遞移屬性 (還有它的父屬性) 不能有值為1 的最大基數 (maxCardinality) 的限制。因為若是沒有這個附加條件﹐OWL
Lite 和 OWL DL 就會失去它的可判斷性。要了解更多的資訊請參考 OWL
語義與抽象句法文件的屬性公設那一節。
-
SymmetricProperty﹕屬性可以宣告為對稱的 (symmetric)。如果 (x,y) 是對成屬性 P 的一個實體﹐那麼 (y,x) 也會是
P 的一個實體。例如﹐我們宣告朋友 (friend) 為一個對稱屬性﹐那麼當給定 Frank 是 Deborah 的朋友的時候﹐推理程式可以推論出
Deborah 是 Frank 的朋友。
-
FunctionalProperty﹕屬性可以宣告為擁有唯一值的。如果一個屬性是函數型屬性 (FunctionalProperty) ﹐那麼每一個個體只會有一個值 (對某些個體也可能沒有
)。這個特徵已經被視為具有唯一屬性 (unique property) 的參考。FunctionalProperty 可以作為是宣告一個屬性最小基數 (cardinality) 為
0 最大基數為 1 的簡寫。例如﹐我們宣告 hasPrimaryEmployer 是一個函數型屬性﹐那麼推理程式將可以推論出沒有一個個體會擁有超過
1 個大老闆 (primary employer)。不過這並不表示每一個人都至少要有一個大老闆。
-
InverseFunctionalProperty﹕屬性可以宣告為反函數型的。反函數型屬性的反屬性就是函數型屬性﹐因此﹐每一個個體的反屬性最多只有一個值。這個特徵使得它又被稱為單值屬性
(unambiguous porperty)。例如﹐我們可以宣告 hasUSSocialSecurityNumber (美國居民獨一無二的識別碼) 為一個反函數型屬性。則對於社會安全號碼 (social
security numbers) 這個類別裡的任何個體這個屬性的反屬性 (也許可記作 isTheSocialSecurityNumberFor) 最多只有一個值。因此﹐任何一個人的社會安全號碼對於
isTheSocialSecurityNumberFor 屬性來說都是唯一的。如此一來﹐推理程式就可以推論出沒有任何兩個 Person 類別的個別實體會有相同的社會安全號碼。此外﹐它也會推論出如果兩個
Person 類別的實體有相同的社會安全號碼﹐那麼這兩個實體指的是同一個個體。
3.4 OWL Lite 的屬性約束
OWL Lite 允許在屬性上加入約束﹐使它能夠在一些類別的實體上被運用。這些類型 (包括下一節的基數約束) 都在 owl:Restriction
中使用﹐透過 owl:onProperty
元素來指定受到限制的屬性。下面兩種約束用來限制什麼樣的數值可以使用﹐而下一節則是限制可以取用多少個數值。
-
allValuesFrom﹕約束 allValuesFrom 是對屬性適用於某個類別時宣告的。它表示這個用在某個特定類別的屬性將會有一個局部的值域約束
(local range restriction) 相對應﹐因此﹐如果一個類別的實體因著某個屬性與第二個個體相關﹐那們我可以推斷這個第二個個體也是一個受到局部值域約束的類別的實體。例如﹐類別
Person 有一個屬性叫做 hasDaughter﹐它有一個 allValueFrom 為類別 Woman 的約束。這表示個體 Louiseu
與 Deborah 有 hasDaughter 的關係 (譯者註﹐即表示 Louiseu 有個女兒 Deborah) ﹐那麼如此一來﹐推理程式就可以推斷出
Deborah 是類別 Woman 的一個實體。這個約束允許 hasDaughter 屬性再加上一些恰當的約束之後讓其他的類別也可以使用﹐例如類別
Cat (貓)。如此一來﹐假如屬性 hasDaughter 用在類別 Cat﹐其局部值域約束為類別 Cat﹔假如用在類別 Person﹐它的局部值域約束類別就是
Person。注意﹐推理程式並不能從屬性的 allValueFrom 推論出屬性是否至少有一個值。
-
someValuesFrom﹕約束 someValuesFrom 是對屬性適用於某個類別時宣告的。某些特定的類別可能需要對它的屬性作約束﹐限定這個屬性至少有一個值是屬於某種類型的。例如﹐類別
SemanticWebPaper (語義網論文) 在 hasKeyword 這個屬性上有 someValueFrom 的約束﹐即它必須宣告 hasKeyword
屬性必須是類別 SemanticWebTopic (語義網主題) 的實體。在考慮到多個 keyword 的情形下﹐只要一個或多個是類別 SemanticWebTopic
的實體﹐那麼論文就會符合 someValueFrom 這個約束了。與allValueFrom不同 ﹐someValueFrom並沒有限定屬性所有的值都要是同一個類別的實體。如果
myPaper 是類別 SemanticWebPaper 的一個實體﹐那麼 myPaper 至少和類別 SemanticWebTopic 的一個實體存在著
hasKeyword 屬性的關係。注意﹐推理程式無法推斷是否所有 hasKeyword 的值都是類別 SemanticWebTopic 的實體。
3.5 OWL Lite 的基數約束
OWL Lite 包括基數約束﹐它也稱作局部約束﹐因為它們是宣告在某些特定類別的屬性上面﹐也就是說這個約束限制了該類別實體的屬性基數。OWL 基數約束在使用上是有限制的﹐因為它只允許
0﹐1 兩個值 (它們不像 OWL DL 和 OWL Full 允許任何值。)
-
minCardinality: 基數是宣告在某些特定類別的屬性上。如果我們宣告某個類別的相關屬性的 minCardinality
為 1﹐那麼這個類別的任何一個實體都是至少與擁有該屬性的一個個體相關。這是要求某個類別所有實體在某種屬性上一定要存在一個值的另外一種表示方法。例如﹐
類別 Person 在 hasOffspring (有後代) 上不會有任何最小基數的約束﹐因為不是所有的人都會有後代。而類別 Parent 就會有最小基數為
1 的 hasOffspring 屬性。如果推理程式知道 Louise 是類別 Person 的實體﹐那麼它無法推斷出有關 hasOffspring
最小基數的訊息﹐但是一但它發現 Louise 是 Parent 的一個實體﹐那麼推理程式就可以推論出 Louise 至少與一個擁有 hasOffspring
屬性的個體有關。但是只有這些訊息﹐推理程式並不能推論出後代數目的最大值。在 OWL Lite 最小基數的直指允許為 0﹐1。 (在沒有更詳細的說明下) 0
表示對某個類別來說﹐這個屬性是可選擇的 (optional) ﹐例如﹐類別 Person 在屬性 hasOffspring 的最小基數值可以為
0﹐ (但是對類別 Parent ﹐宣告最小基數為 1 則可以表達更特定的訊息。)
-
maxCardinality: 基數是宣告在某些特定類別的屬性上。如果我們宣告某個類別的相關屬性的 maxCardinality
為 1﹐那麼這個類別的任何一個實體最多與一個有該屬性的個體相關。maxCardinality 等於 1 的約束通常又稱為函數型屬性或是唯一屬性。例如﹐在類別
UnitedStatesCitizens (美國公民) 上的屬性 hasRegisteredVotingState (有登記投票州) 應該要有最大基數值為
1 (因為每個人只被允許在一個州投票)。如此一來﹐推理程式就可以推論出類別 UnitedStatesCitizens 在 hasRegisteredVotingState
上不會與兩個以上的個體相關。單單從約束的最大基數來看﹐推理程式並不能推論出最小基數為 1 。對於要宣告某些類別在某些屬性上沒有值﹐它是很方便的。例如﹐類別
UnmarriedPerson 的實體﹐應該不會有和任何有 hasSpouse (有配偶) 屬性的個體相關聯。在這種狀況下﹐我們就可以用最大基數為
0 來表示 hasSpouse 屬性與類別 UnMarriedPerson 的狀態。
-
cardinality: 基數是用來方便地表示屬性適用於一個類別同時具有?束“minCardinality”為 0
和 “maxCardinality” 為0 或者同時 “minCardinality” 為 1 和“maxCardinality” 為1。例如﹐類別
Person 的屬性 hasBirthMother (親生母親) 只有一個值。這樣﹐推理程式可以堆斷出屬於類別 Mother 的兩個實體不能同時是
hasBirthMother 的屬性值。
與這些基數的限制形式有關的其他命名方式曾被討論過﹐目前的建議書多是要包含在系統前端使用的名字。關於這個主題﹐您可以在公開的 webont 論壇找到相關的訊息﹐其中最有關聯的是
http://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0063.html。
3.6 OWL Lite 類別交集
OWL Lite 包含一個交集構詞 (intersection constructor) ﹐但是在使用上有所限制。
-
intersectionOf: OWL Lite 允許具名類別與約束有交集存在﹐例如﹐類別 EmployedPerson
可以被錨聖成 intersectionOf Persion 和 EmployedThings (其中 EmployedThings 可以被定義為在
hasEmployer 屬性上的最小基數為 1)。如此一來﹐推理程式便可以推論出任何一個特定的 EmployedPerson 至少有一個雇主 (employer)。
3.7 OWL 資料型態
關於數值資料﹐ OWL 使用 RDF 的機制。OWL 大部分內建的數值資料類型都來自 XML Schema。
進一步的資訊請參考 OWL 指南關於數值資料型小節。
3.8 OWL Lite 表頭信息
OWL Lite 支援本體融合 (ontology inclusion) ﹐關聯和元資料描述等概念。
詳細資料情參考 OWL 參考﹐範例可參考 OWL
指南。
3.9 OWL Lite 的註解屬性
OWL Lite 允許對類別﹐屬性﹐個體與本體表頭訊息作註解。這些註解的使用也有些限制。詳細資料請參考 OWL
參考關於註解 。
3.10 OWL Lite 的版本
RDF 已經有一個小的詞彙表﹐ OWL 則大量地擴充這份詞彙表。詳細資料請參閱 OWL
參考。
4. OWL DL 與 OWL Full 的附加語言描述
OWL DL 和 OWL Full 使用相同的詞彙集﹐不過在 OWL DL 則有些現制。粗略地說﹐OWL DL 要求型態分離 (type separation﹐一個類別不能同時是一個個體或是屬性﹐一個屬性也不能同時是個體或類別)。這意味著﹐約束不能應用於
OWL 語言元素自己本身 (OWL Full 是允許的)。此外﹐OWL DL 要求屬性得是物件屬性 (ObjectProperties) 或是資料型別屬性 (DatatypeProperties):資料型別屬性是類別的實體和
RDF 語法與 RDF Schema 資料型別的關係﹐而物件屬性是兩個類別的實體之間的關係。OWL
語義與抽象句法 文件解釋了這些區別和限制。下面我們介紹不包含在 OWL Lite 內的 OWL DL 與 OWL Full 的延伸構詞。
-
oneOf (列舉類別):類別可以以列舉出所有組成個體的方式來描述。類別的成員剛剛好是列舉出來的個體集合﹐不多也不少。例如﹐類別
daysOfTheWeek (一星期的日子) 可以以列舉出 Sunday﹐Monday﹐Tuesday﹐Wednesday﹐Thursday﹐Friday
和 Saturday 這些個體來描述。據此推理程式可以推論出任何以 daysOfTheWeek 為它的 allValuesFrom 約束的屬性﹐最大的基數 (maximum
cardinality) 為 7。
-
hasValue (屬性值):一個屬性可以被要求擁有一個特定的個體作為它的值 (有時稱作屬性值﹐property values)。例如﹐類別
dutchCitizens (荷蘭公民) 的實體可以被描述為那些 nationality (國籍) 屬性的值是 theNetherlands 的人。 (nationality
的值﹐theNetherlands﹐是類別 Nationalities (國籍) 的一個實體)。
-
disjointWith (互斥):類別可以宣告成彼此互斥。例如﹐我們可以宣告類別 Man (男人) 和類別 Woman (女人) 是互斥的﹐從互斥 (disjointWith) 的陳述中﹐推理程式可以推論出當一個實體同時是這兩個類別的實體﹐會產生矛盾﹐同樣地﹐如果
A 是類別 Man 的一個實體﹐那麼 A 一定不是類別 Woman 的實體。
-
unionOf﹐complementOf﹐intersectionOf (布林組合):OWL DL 和 OWL Full
允許類別和約束之間的任意布林組合:unionOf (聯集) ﹐complementOf (補集) 和 intersectionOf (交集)。例如﹐利用
unionOf﹐我們能夠說明一個類別﹐它包含的事物中有 USCitizens (美國公民) 和 DutchCitizens (荷蘭公民)。利用 complementOf﹐我們能夠說明
children (孩子) 不是SeniorCitizens (成年公民) (也就是說﹐類別 Children 是類別 SeniorCitizens
補集的子類別)。歐盟的公民也可以描述為所有成員國公民的聯集。
-
minCardinality﹐maxCardinality﹐cardinality
(完全基?):在 OWL Lite 中﹐基數的值被限制在最小﹐或最大為 0 或 1﹐完全的 OWL 允許其取值為任意非負整數。例如﹐類別
DINKs ("Dual Income﹐No Kids"﹐雙份收入沒有小孩的夫婦﹐又稱為頂客族) 將限制 hasIncome 屬性的最小基數為
2﹐同時限制 hasChild 的基數為 0。
- complex classes (複合類別):OWL Lite 中﹐很多構詞都在語法上限制為單一的類別名稱
(例如﹐在 subClassOf 或 equivalentClass 的敘述)。OWL Full 則放寬這個約束允許任意複合類別的組合﹐包括列舉類別﹐屬性約束和布林組合。OWL
Full 也允許類別作為實體使用 (OWL DL 和 OWL Lite 不可以)。更多的訊息請參考 OWL 指南文件的 “Design for
Use“ 部分。
這份文件是Web 本體語言的概述﹐簡要的說明為什麼需要 Web 本體語言以及如何和其他相關的 W3C 語言配合。此外﹐也簡要的介紹了 OWL 的三個子語言:OWL
Lite﹐OWL DL 和 OWL Full﹐包括每個子語言的特徵概要。本文是特徵概要文件的更新版本﹐提供每個構詞的簡單描述與範例。它參考的文件有
OWL
參考 ﹐OWL
指南 和 OWL
語義與抽象句法 。本文的先前版本有 (December
15﹐2003﹐September
5﹐2003﹐August
18﹐2003 ﹐July
30﹐2003 ﹐May
1﹐2003﹐March
20﹐2003 ﹐January
2﹐2003 ﹐July
29﹐2002 ﹐July
8﹐2002 ﹐June
23﹐2002 ﹐May
26﹐2002﹐與 May
15﹐2002) ﹐這些文件保存了 OWL Lite 的演化歷程以及在這個過程中討論到的重要議題。
-
[OWL Guide]
- OWL
Web Ontology Language Guide﹐Michael
K. Smith﹐Chris Welty﹐and Deborah L. McGuinness﹐Editors﹐W3C
Recommendation﹐10 February
2004﹐http://www.w3.org/TR/2004/REC-owl-guide-20040210/ . Latest
version available at http://www.w3.org/TR/owl-guide/ .
-
[OWL
Reference]
-
OWL Web Ontology Language Reference﹐Mike Dean
and Guus Schreiber﹐Editors﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-owl-ref-20040210/ .
Latest version
available at http://www.w3.org/TR/owl-ref/ .
-
[OWL Abstract
Syntax and Semantics]
-
OWL Web Ontology Language Semantics and Abstract
Syntax﹐Peter F. Patel-Schneider﹐Pat Hayes﹐and
Ian Horrocks﹐Editors﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ .
Latest
version available at
http://www.w3.org/TR/owl-semantics/ .
-
[OWL Test]
- OWL
Web Ontology Language Test Cases﹐Jeremy J. Carroll and Jos
De Roo﹐Editors﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-owl-test-20040210/
. Latest version available
at http://www.w3.org/TR/owl-test/ .
-
[OWL Requirements]
-
OWL Web Ontology Language Use Cases and
Requirements﹐Jeff Heflin﹐Editor﹐W3C
Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-webont-req-20040210/ .
Latest
version available at http://www.w3.org/TR/webont-req/ .
-
[OWL Issues]
-
Web Ontology Issue Status. Michael K.
Smith﹐ed. 1 November 2003.
-
[DAML+OIL
Reference]
-
DAML+OIL
Reference Description . Dan Connolly﹐Frank van
Harmelen﹐Ian Horrocks﹐Deborah L. McGuinness﹐Peter F.
Patel-Schneider﹐and Lynn Andrea Stein. W3C Note 18
December 2001.
-
[XML]
-
Extensible Markup
Language (XML).
-
[XML Schema]
-
XML
Schema .
-
[XML-SCHEMA2]
-
XML
Schema Part 2: Datatypes - W3C Recommendation﹐World Wide Web Consortium﹐2 May 2001.
-
[RDF/XML Syntax]
- RDF/XML Syntax Specification (Revised)﹐Dave Beckett﹐Editor﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ . Latest version available at http://www.w3.org/TR/rdf-syntax-grammar/ .
-
[RDF Concepts]
- Resource Description Framework (RDF): Concepts and Abstract Syntax﹐Graham
Klyne and Jeremy J. Carroll﹐Editors﹐W3C Recommendation﹐10 February
2004﹐http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ . Latest version available at http://www.w3.org/TR/rdf-concepts/ .
-
[RDF Schema]
- RDF Vocabulary Description Language 1.0: RDF Schema﹐Dan Brickley and R. V. Guha﹐Editors﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ . Latest version available at http://www.w3.org/TR/rdf-schema/ .
-
[RDF Semantics]
- RDF Semantics﹐Patrick Hayes﹐Editor﹐W3C Recommendation﹐10 February 2004﹐http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ . Latest version available at http://www.w3.org/TR/rdf-mt/ .
-
[Description Logics]
- The Description
Logic Handbook.
Franz Baader﹐Diego Calvanese﹐Deborah McGuinness﹐Daniele Nardi﹐Peter
Patel-Schneider﹐editors. Cambridge University Press﹐2003; and Description Logics Home Page.
本文件是 Web 本體語言工作小組充分討論之後所整理產出的成果﹐參與的人員有﹕Yasser
alSafadi﹐Jean-François Baget﹐James Barnette﹐Sean Bechhofer﹐Jonathan Borden﹐Frederik
Brysse﹐Stephen Buswell﹐Jeremy Carroll﹐Dan Connolly﹐Peter Crowther﹐Jonathan
Dale﹐Jos De Roo﹐David De Roure﹐Mike Dean﹐Larry Eshelman﹐Jérôme Euzenat﹐Tim
Finin﹐Nicholas Gibbins﹐Sandro Hawke﹐Patrick Hayes﹐Jeff Heflin﹐Ziv Hellman﹐James
Hendler﹐Bernard Horan﹐Masahiro Hori﹐Ian Horrocks﹐Jane Hunter﹐Francesco Iannuzzelli﹐Rüdiger
Klein﹐Natasha Kravtsova﹐Ora Lassila﹐Massimo Marchiori﹐Deborah McGuinness﹐Enrico
Motta﹐Leo Obrst﹐Mehrdad Omidvari﹐Martin Pike﹐Marwan Sabbouh﹐Guus Schreiber﹐Noboru
Shimizu﹐Michael Sintek﹐Michael K. Smith﹐John Stanton﹐Lynn Andrea Stein﹐Herman
ter Horst﹐David Trastour﹐Frank van Harmelen﹐Bernard Vatant﹐Raphael Volz﹐Evan
Wallace﹐Christopher Welty﹐Charles White﹐and John Yanosy.
- 在 OWL Lite 中新增 wol:Nothing。
- 在標題下新增一個最後公告文件的連結。
- 所有指向 owl-absyn 修改為指向 owl-semantics。
- 採納 Lee Lacy 於 2003 年 4 月 21 日在 public-webont-comments 提出來有關文法上的建議。
- 採納 Lee Lacy 的其他建議:註解屬性﹐版本屬性﹐和其他 2.2 節中遺漏的標籤。
- 修改 hasOffSpring 範例成 hasDaughter (應 Morten Frederiksen 要求)。
- 採用 Lasilla 的所有意見﹐包括用 "machine interpretability" 替代 "machine readability" 和其他的書寫錯誤。
- 依照 Jim Hendle 建議﹐新增較低複雜度的句子。
- 新增第一節第一句話 (Sandro Hawke 的建議)。
- 恢復樣式表的連結。
- 在策試文件與 5 月 1 日的版本新增連結。
- 新增參考文獻小節。
- 修改回到各小節的相對連結。
- 將前一版本的連結之 http://www.w3.org/TR/xx 改為 ...TR/2003/CR-xx-20030818/
- 新增審定為建議推薦規格後的修改記錄。
- 刪除各行結尾的控制碼。
- 加入 Jeff Rafter 再 webont 上的公開建議。
- 更新文件狀態﹐文件連結﹐出版日期等等。根據主席的 PR 的郵件。
- 修正兩個錯誤連結 - W3C 圖示所參照的位置 src="OWL Web Ontology Language
Overview_files/ 和作者相同。增加完整的 W3C 圖示連結 (http://www.w3.org/Icons/w3c_home)
與 emil gif
圖檔連結(http://www.w3.org/2001/sw/WebOnt/guide-
src/Email.Deborah.McGuinness.gif)。
- 刪除由新版本轉換器引入的每行結尾的控制符號。
- 新增 2003 年 11 月以前版本的連結。
- 採用 Lee Lacy 2004 年 1 月 12 日的建議更新文件 (這些意見主要是一些表格中的欄位間距調整﹐從 30 調到 27)。
- 新增 Benjamin Nowack 的編輯意見。
- 更新參考文獻格式。