OWL语言
2019獨角獸企業重金招聘Python工程師標準>>>
先看一張圖,W3C ?提出了一個語義 Web ?的體系結構,如下圖,語義 Web ?的目標是計算機能理解語義 Web ?上的資源,因此需要一種統一的,形式化的元數據標示語言,用以描述 Web ?資源,因此,W3C ?提出了一種新的語言,資源描述框架Resource Description Framework,RDF)。RDF ?采用三元組(資源屬性值)這種簡單的數據模型,表示 Web ?上的資源的屬性的值。
數據層的上層是本體層,它借鑒了人工智能領域對知識表示的的研究,特別是描述邏輯,引進了更加豐富的表達能力,例如,屬性取值約束,基數約束,屬性的對稱性和傳遞性等,這個 Web ?本體語言的標準是 OWL。OWL ?定義了 RDF ?描述中使用的詞匯的語義,是計算機理解 Web ?資源的基礎,因此是語義 Web ?的核心。?
作為一種本體表示語言,RDF ?和 ?RDFS ?可用來表達某些本體知識。RDF/RDFS ?主要的建模原語是關于類型層次結構中的詞匯表的組織:子類(subclass)和子屬性(subproperty)關系,定義域(domain)和值域(range)約束,以及類的實例。但它也有如下不足:
①屬性的范圍(Local scope of properties);?
②類的不相交(Disjointness of classes);?
③類的布爾組合(Boolean combinations of classes);?
④基數的約束(Cardinality restrictions);
⑤屬性的特殊特征(Special characteristics of properties);
基于上面這些不足之處,需要一個比 RDFS更豐富的本體語言,能提供上述特征以及更多其它特征。OWL添加了更多的用于描述屬性和類的詞匯,例如類之間的不相交性、基數、等價性、屬性的更豐富類型、屬性特征、以及枚舉類(enumerated classes),通過提供更多具有形式語義的詞匯,明確表示了詞匯表中術語的含義以及術語間的關系,使之在 ?Web內容的機器可理解性方面要強于 ?XML、RDF ?和 ?RDF Schema(RDF-S)等的表達手段。
目前OWL語言主要有三種子語言:比如它既要保持對DAML—ONT/OIL/RDFS 的兼容性,又要保證更強大的語義表達能力,還要保證描述邏輯的可判定性推理等。諸多的功能使得開發人員對之難以做到完美的折中。OWL Lite、OWL DL、OWL Full
其中:OWL Lite約束最 是表達能力最弱的子語言,提供了類分層的能力和簡單的約束功能。它支持基數約束,但只容許基數值為0或1,OWL Lite ?用于提供給那些只需要一個分類層次和簡單約束的用戶。?
OWL DL(DL ?表示描述邏輯)在保持計算完備性(computational completeness,即所有的結論都能夠確保被計算出來)和可判定性(decidability,即所有的計算都能在有限的時間內完成)的前提下,提供了盡可能大的表達能力。OWL DL ?包含了OWL ?的全部語言構造成分,但它們的使用受到一些限制(如一個類可以是許多類的子類,但不能是另一個類的實例)。
OWL ?Full ?包含 ?OWL ?的全部語言構造成分并取消了 ?OWL ?DL ?中的限制。在 OWL Full ?中,一個類可以看成是個體的集合,也可以看成是一個個體。由于 ?OWL Full 取消了 ?OWL ?DL ?中的保證可計算性的某些限制,因此不存在完整的推理算法支持 OWL Full ?的全部特性。
這三種子語言與 ?RDF ?的關系是:?
(1)OWL Full ?可以看成是 ?RDF ?的擴展;?
(2)OWL Lite ?和 ?OWL Full ?可以看成是一個約束化的 ?RDF ?的擴展;?
(3) ?所有的 ?OWL ?文檔(Lite ,DL , Full) ?都是一個 ?RDF ?文檔;?
(4) ?所有的 ?RDF ?文檔都是一個 ?OWL Full ?文檔;?
(5) ?只有一些 ?RDF ?文檔是一個合法的 ?OWL Lite ?和 ?OWL DL ?文檔。?
OWL ?依賴 ?RDF、RDFS ?以及 ?XML Schema ?數據類型中的構詞(constructs),其中主要定義了以下術語:?
(1)owl:class :OWL最重要的定義元素,定義了因共有某些屬性而同屬一組的一些個體,本體的大部分推理能力是基于類推理的。
(2)rdfs:subClassOf: rdfs:subClassOf ?表示兩個類的子屬關系,可以給出一個或多個關于“一個類是另一類的子類”的陳述來創建一個類層次結構 。
(3)rdfs:subPropertyOf :rdfs:subPropertyOf ?是一個二元關系,應用于屬性,表示兩個屬性的子屬關系。通過給出一個或多個陳述聲明“某屬性是另外一個或多個屬性的子屬性”可建立屬性層次。
(4)owl:DatatypeProperty :owl:DatatypeProperty ?是 ?OWL ?的數據類型屬性術語,它表示類實例與 ?RDF ?文字或 ?XML Schema ?數據類型間的關系。?
(5)owl:ObjectProperty :owl:ObjectProperty ?是 ?OWL ?的對象屬性定術語, ?它表示兩個類間的關系。 owl:ObjectProperty ?和 ?owl:DatatypeProperty ?都是 ?RDF ?類 ?rdf:Property ?的子類。?
(6)rdfs:domain :rdfs:domain ?定義了一個屬性的定義域,用來約束該屬性可以適用的個體。如果一個個體以一個屬性和另一個體關聯,并且該屬性用某個類作為它的一個定義域,那么該個體必然屬于這個類。
(7)rdfs:range :rdfs:range ?定義了一個屬性的值域,用來限制哪些個體可以成為屬性的值。
(8)owl:equivalentClass :owl:equivalentClass ?術語可以聲明兩個類為等價類,即它們擁有相同的實例。等價性可以用來創建同義類。
9)owl:equivalentProperty :owl:equivalentProperty ?術語可以聲明兩個屬性為等價屬性。相互等價的屬性將一個個體關聯到同一組其它個體。它也可以被用來創建同義屬性。
關于OWL語言的語法可以參見一篇帖子:http://blog.csdn.net/lqk1985/article/details/3347777
轉載請注明出處,@飛天神
轉載于:https://my.oschina.net/u/144475/blog/492356
總結
- 上一篇: 继承ViewGroup:重写onMeas
- 下一篇: 数据的管理