1. 簡介
OWL2 Web本體語言(OWL)是一種語義Web語言,它被設計用來表示關於實體、實體間關系的豐富和復雜知識。
OWL是一個以計算邏輯為基礎的語言,用OWL表示的知識可以通過計算機程序進行推理(演繹推理),從而驗證知識一致性,或者使隱性知識顯性化。
OWL文檔,也被稱為本體,能夠在萬維網上發布,可以引用其他的OWL本體或者被其他的OWL本體引用。OWL是W3C Semantic Web技術堆棧(其中還包括RDF和SPARQL)的一部分(RDF和SPARQL后面會有專欄進行總結分享)
需要說明的是W3C Semantic Web技術堆棧為W3C制定的學界規范,在與相關標准委員會關聯人員交流時了解到,現在正在制定的業界標准規范部分內容並非采用W3C體系,后續會專門寫一篇,闡述學界和業界的關系
2. OWL語法
OWL提供了各種可用的語法,服務於不同的目的。具體來說包括函數式語法、RDF/XML語法、曼徹斯特語法、XML語法、Turtle語法等 ,其中RDF/XML語法是唯一一個所有的OWL2工具都必須支持的語法,個人覺得OWL 2 Specification語法入門是最簡單的,所以入門案例都會圍繞OWL 2 Specification語法展開
語法名稱 | 連接 | 約束 | 說明 |
---|---|---|---|
RDF/XML | Mapping to RDF Graphs,RDF/XML | 必須支持 | 用於OWL的RDF/XML語法,就是RDF/XML |
OWL/XML | XML Serialization | 可選 | 用於OWL的XML語法,用XML schema定義OWL 2 XML |
Functional Syntax | Structural Specification | 可選 | OWL 2 Specification語法規范直觀,並且給OWL2工具(例如推理機)的實現提供一個基礎 |
Manchester Syntax | Manchester Syntax | 可選 | OWL 2 Manchester Syntax語法的目的是讓非邏輯學家更好的閱讀 |
Turtle | Mapping to RDF Graphs,Turtle | 可選 | 便於 triples讀寫 |
3. 基本概念
OWL2的目的是捕獲知識,可以用OWL表示的“知識”當然不能反映人類知識的所有方面。OWL2可以被看作是一種針對人類知識某些部分的強大而通用的建模語言。建模的結果被稱為本體,先明確一些基本術語:
- 公理(Axioms)
一個OWL本體表達的基本陳述
SubClassOf( :Woman :Person )
- 類(Classes)和實例(Instances)
用來指向現實世界對象的元素
Declaration( Class( :Woman ) )
Declaration( NamedIndividual( :John ) )
- 表達式(Expressions)和構造器(constructors)
類、實例、公理的組合,從簡單的描述形成復雜的描述
EquivalentClasses( :Parent ObjectUnionOf( :Mother :Father ) )
4. 參考文獻
[1] OWL 2 Web Ontology Language Document Overview (Second Edition)
[2] OWL 2 Web Ontology Language Primer