林龍成
摘要:近年來,語(yǔ)義網(wǎng)(Semantic Web)以其良好的知識(shí)表達(dá)、交流、共享和推理能力,已被各個(gè)領(lǐng)域廣泛接受,語(yǔ)義網(wǎng)是當(dāng)前Web的延伸。而本體是語(yǔ)義網(wǎng)的關(guān)鍵,利用本體語(yǔ)言對(duì)Web上已有的信息進(jìn)行更為有意義的組織和編碼,從而實(shí)現(xiàn)機(jī)器與人之間的有效通信。本文對(duì)語(yǔ)義網(wǎng)和本體語(yǔ)言進(jìn)行了分析,并在此基礎(chǔ)上闡述了基于Protege的OWL本體構(gòu)建技術(shù)。
關(guān)鍵詞:語(yǔ)義網(wǎng);本體;OWL;Protege
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)12-0203-02
萬維網(wǎng)是一個(gè)由數(shù)百萬個(gè)文檔組成的分布式存儲(chǔ)庫(kù),覆蓋了廣泛的多學(xué)科信息,在這些文檔中提取和檢索特定的信息是一項(xiàng)煩瑣的工作。為了提高關(guān)聯(lián)度,需要向語(yǔ)義Web(Web3.0)和本體論方向發(fā)展。語(yǔ)義Web是當(dāng)前Web的擴(kuò)展,其中Web上已有的信息被有意義地編碼并賦予一個(gè)明確定義的結(jié)構(gòu),從而使計(jì)算機(jī)和人類以高效的方式進(jìn)行通信。在語(yǔ)義網(wǎng)中,所有的信息都有明確的含義,使機(jī)器能夠解釋、處理、推理和派生新的知識(shí),以支持實(shí)時(shí)應(yīng)用中的特定任務(wù)。隨著語(yǔ)義網(wǎng)的迅速發(fā)展,支持本體功能的語(yǔ)言層出不窮。Web本體語(yǔ)言(OWL)、資源描述框架(RDF)和資源描述框架模式(RDFS)是語(yǔ)義網(wǎng)的基本表示語(yǔ)言。
本體是語(yǔ)義網(wǎng)的關(guān)鍵,它將一個(gè)特定領(lǐng)域的相關(guān)概念編碼成機(jī)器可讀的格式,在這種格式中,機(jī)器可以處理和理解編碼的知識(shí),Web本體語(yǔ)言O(shè)WL是一種在Web上定義本體的語(yǔ)言,從類、屬性和個(gè)體的角度描述一個(gè)域,并且可以包含對(duì)這些對(duì)象特性的豐富描述。
1語(yǔ)義網(wǎng)
語(yǔ)義網(wǎng)的概念是由萬維網(wǎng)的發(fā)明者Tim Berners Lee在1996年提出的,目標(biāo)是將當(dāng)前的信息轉(zhuǎn)換成機(jī)器友好的語(yǔ)言,語(yǔ)義網(wǎng)并不是一個(gè)獨(dú)立的網(wǎng)絡(luò),而是當(dāng)前網(wǎng)絡(luò)的擴(kuò)展,它賦予信息明確的含義,使得信息共享和重用成為可能,計(jì)算機(jī)和人們能夠更好地協(xié)同工作。簡(jiǎn)單地說,它被稱為信息的儲(chǔ)存庫(kù)和表達(dá)這些信息所涉及的語(yǔ)言。語(yǔ)義網(wǎng)的體系結(jié)構(gòu)如圖1所示。1)數(shù)據(jù)層。XML,代表由命名空間和模式組成的可擴(kuò)展標(biāo)記語(yǔ)言,用于在web上定義數(shù)據(jù)結(jié)構(gòu);資源描述框架(Resource Description Framework.RDF),用于以數(shù)據(jù)模型的形式描述信息,數(shù)據(jù)模型又由三個(gè)部分組成:主語(yǔ)、謂語(yǔ)和屬性。
2)模式層。資源描述框架模式(Resource Description Framework Schema.RDFS),充當(dāng)表示和推斷RDF數(shù)據(jù)模型的詞匯語(yǔ)言。
3)邏輯層。網(wǎng)絡(luò)本體語(yǔ)言(Web Ontology Language,OWL),有助于創(chuàng)建語(yǔ)義web應(yīng)用,實(shí)現(xiàn)信息的共享和重用,它被定義為一組術(shù)語(yǔ),用來描述給定的領(lǐng)域并從中得出推論,可以借助推理系統(tǒng)進(jìn)行推理。
2網(wǎng)絡(luò)本體語(yǔ)言O(shè)WL
Web本體語(yǔ)言O(shè)WL是一種在Web上定義本體的語(yǔ)言。OWL本體論從類、屬性和個(gè)體的角度描述一個(gè)域,并且可以包含對(duì)這些對(duì)象特性的豐富描述。OWL使描述概念成為可能,但它也提供了新的功能。它有更豐富的運(yùn)算符集,例如交集、并集和否定。它基于不同的邏輯模型,使得定義和描述概念成為可能。因此,復(fù)雜的概念可以建立在定義中,而不是簡(jiǎn)單的概念。此外,邏輯模型允許使用推理器,推理器可以檢查本體中的所有語(yǔ)句和定義是否相互一致,還可以識(shí)別哪些概念適合哪些定義。幫助正確地維護(hù)層次結(jié)構(gòu)。
OWL可以根據(jù)描述能力分為三種子語(yǔ)言:1)OWL-Lite。在語(yǔ)法上,OWL-Lite是最簡(jiǎn)單的語(yǔ)言。一般用于只有一個(gè)簡(jiǎn)單的類層次和定義的約束比較簡(jiǎn)單的情況;2)OWL-DL。OWL-DL是建立在描述邏輯基礎(chǔ)上的,描述能力比OWL-Lite強(qiáng)得多??梢宰詣?dòng)的計(jì)算分類層次,并且檢查本體的一致性;3)OWL-Full。OWL-Full的表達(dá)能力是最強(qiáng)的,可以適用于需要很強(qiáng)的表達(dá)能力的情況。
其中,OWL-Lite描述能力最弱,OWL-Full描述能力最強(qiáng),OWL-DL的能力屬于中間,同時(shí),OWL-Full可以視為是OWL-DL的一個(gè)擴(kuò)展。在使用OWL時(shí),OWL Lite和OWL DL之間的選擇取決于用戶在多大程度上需要OWL-Lite和OWL-DL提供的更具表現(xiàn)力的結(jié)構(gòu)。OWL-DL和OWL-Full之間的選擇主要取決于用戶在多大程度上需要RDF模式的元建模工具(例如,定義類的類,或者將屬性附加到類)。與OWL-DL相比,使用OWL-Full時(shí),推理支持的可預(yù)測(cè)性較差。
OWL由類、屬性和個(gè)體組成。類表示個(gè)體的集合,OWL中的所有個(gè)體都是類owI:Thing的成員。因此,各個(gè)用戶自定義的類都隱含地是owI:Thing的一個(gè)子類。要定義特定領(lǐng)域的根類,只需將它們聲明為一個(gè)具名類(named class)即可。OWL也可以定義空類,owl:Nothing齄1齄;OWL 2語(yǔ)法中的個(gè)體表示域中的實(shí)際對(duì)象。OWL 2的語(yǔ)法中有兩種類型的個(gè)體:命名個(gè)體和匿名個(gè)體。命名的個(gè)體被賦予一個(gè)顯式的名稱,可以在任何本體中用來引用同一個(gè)對(duì)象;匿名個(gè)體沒有全局名稱,因此是它們所包含的本體的本地名稱。屬性是指兩個(gè)個(gè)體直接的二元關(guān)系,一個(gè)屬性可以將兩個(gè)個(gè)體關(guān)聯(lián)起來,包括對(duì)象屬性和數(shù)據(jù)屬性,對(duì)象屬性是將個(gè)體關(guān)聯(lián)到個(gè)體,數(shù)據(jù)屬性是將個(gè)體關(guān)聯(lián)到數(shù)據(jù)類型。
3基于Protege的OWL本體構(gòu)建關(guān)鍵技術(shù)
Protege是一個(gè)斯坦福大學(xué)開發(fā)的本體編輯和知識(shí)獲取軟件。開發(fā)語(yǔ)言采用Java,屬于開放源碼軟件。由于其優(yōu)秀的設(shè)計(jì)和眾多的插件,Protege已成為目前使用最廣泛的本體論編輯器之一。下面以家庭(family)本體為例,闡述OWL本體的構(gòu)建過程。
3.1創(chuàng)建類
點(diǎn)擊“Entities”中“Classes”標(biāo)簽。在這個(gè)界面,可以創(chuàng)建家庭成員的類。在Protege中,所有的類都是“Thing”的子類。最左邊的按鈕用于創(chuàng)建當(dāng)前選中類的子類,中間的按鈕用于創(chuàng)建兄弟類,最右邊的按鈕刪除當(dāng)前選中的類。本文創(chuàng)建了四個(gè)類,“person”“sibling”“child”“parent”。如圖2所示。
3.2創(chuàng)建屬性
在OWL中,有兩種常用的屬性表示關(guān)系,對(duì)象屬性和數(shù)據(jù)屬性??梢酝ㄟ^“Entities”中“Object properties”標(biāo)簽和“Data properties”標(biāo)簽來設(shè)置。下面以對(duì)象屬性為例,點(diǎn)擊“Entities”中“Object properties”標(biāo)簽,右鍵根類“ow1:topObjectProperty”,單擊“Add sub-properties”,打開層次關(guān)系設(shè)置對(duì)話框,設(shè)置對(duì)象屬性,如圖3所示。
3.3設(shè)置屬性
在Protege中,可以通過“Description”對(duì)話框設(shè)置屬性的一些描述,如圖4所示。
1)等價(jià)屬性。表示兩個(gè)屬性的意思相同。在本文中,“has-Parent”就有和“isChildOf”相同的概念。
2)逆屬性。每個(gè)對(duì)象屬性都可能具有相應(yīng)的反向?qū)傩浴T诒疚闹?,“hasParent”的逆屬性就是“isParentOf”。
3)domain和range。domain指定屬性的定義域,聲明任何擁有某個(gè)給定屬性的資源是定義域類的一個(gè)實(shí)例齄2齄;range指定屬性的值域,聲明一個(gè)屬性的取值是值域類的實(shí)例。在本文在,“hasParent”的定義域是“child”,“hasParent”的值域是“parent”。
最終得到的家庭關(guān)系本體如圖5所示。
4小結(jié)
本體的概念已被應(yīng)用到很多領(lǐng)域,本文對(duì)語(yǔ)義網(wǎng)的組成進(jìn)行了解析,重點(diǎn)闡述了網(wǎng)絡(luò)本體語(yǔ)言O(shè)WL的構(gòu)成。Protege是目前使用較為廣泛的一款本體編輯工具,本文以家庭領(lǐng)域本體為例,實(shí)現(xiàn)了本體中類、關(guān)系、屬性以及實(shí)例的定義,詳細(xì)介紹了基于Protege的本體構(gòu)建技術(shù)。