張曉丹,李 靜,張秋霞,尚子華
(1.黃河科技學(xué)院 現(xiàn)代教育技術(shù)中心,河南 鄭州 450000;2.鄭州市煤炭監(jiān)察執(zhí)法支隊(duì)監(jiān)控科 河南 鄭州 450000)
語義網(wǎng)是一種能夠理解人類語言的智能網(wǎng)絡(luò),語義網(wǎng)的出現(xiàn)不僅使人與電腦之間的交流變得輕松,而且語義網(wǎng)中的計(jì)算機(jī)還能利用自己的智能軟件,在萬維網(wǎng)上的海量資源中找到所需要的信息,從而將一個(gè)個(gè)現(xiàn)存的信息孤島發(fā)展成一個(gè)巨大的數(shù)據(jù)庫(kù)。近幾年來,關(guān)于語義網(wǎng)的研究很多,主要集中于對(duì)本體的討論上,包括本體的基本涵義、形式化表示、本體的構(gòu)建、本體語言以及基于本體的各種理論探討與試驗(yàn)應(yīng)用。OWL(Web Ontology Language)是一個(gè)本體語言,用于帶有形式化定義含義的語義網(wǎng),本文是在介紹本體語言的基礎(chǔ)上,研究OWL2 Web本體語言的新特性及其原理,對(duì)本體語言做進(jìn)一步的研究。
從W3C到美國(guó)和歐盟的科研項(xiàng)目,不同的研究團(tuán)體針對(duì)語義網(wǎng)表達(dá)提出了不同的建議和語言,這些語言構(gòu)成了語義網(wǎng)的基礎(chǔ)。
DAML:DAML(DARPA Agent Markup Language)委員會(huì)于1999年在美國(guó)成立。當(dāng)時(shí),已被建議為W3C標(biāo)準(zhǔn)語言的RDFS,由于微弱的語義表達(dá)能力不能滿足DAML的需求,為此,DAML吸取面向?qū)ο笳Z言和基于框架的知識(shí)表達(dá)語言方面的經(jīng)驗(yàn)擴(kuò)展了RDFS,形成了新的本體建模語言DAMLONT[1]。
OIL:歐洲信息技術(shù)委員會(huì)研究設(shè)計(jì)的本體描述語言O(shè)IL(Ontology Inference Layer),將基于框架的本體建模原語、萬維網(wǎng)標(biāo)準(zhǔn)語言以及描述邏輯(DL)中簡(jiǎn)單且定義完好的語義描述部分結(jié)合起來,為大多數(shù)Ontology中常用的建模原語提供了簡(jiǎn)單、清楚和定義完備的語義,并提供了自動(dòng)的推理支持(如類的一致性和包容關(guān)系的檢查)[2]。
DAML+OIL:DAML+OIL是上述歐美兩個(gè)組織共同協(xié)商的產(chǎn)物,它從描述邏輯入手,建立于W3C組織的標(biāo)準(zhǔn)RDF和RDFS之上,并且以更豐富的建模原語擴(kuò)展了RDF和RDFS。DAML+OIL的目標(biāo)是使智能主體(Agent)能夠動(dòng)態(tài)地識(shí)別和理解信息資源,并以語義方式提供代理之間的互操作[3]。
OWL:W3C組織總結(jié)了以上幾種語言的開發(fā)經(jīng)驗(yàn),于2004年2月正式推出了OWL本體語言。圖1是本體表示模型和語言關(guān)系圖[4]。
圖1 本體表示模型和語言關(guān)系圖Fig.1 Ontology representation model and language diagram
OWL(Ontology Web Language)是 W3C(World Wide Web Consortium)于2004年開發(fā)的一種本體語言,即第一版本的OWL本體語言(以下簡(jiǎn)稱為OWL1),用于對(duì)本體進(jìn)行語義描述。對(duì)OWL的設(shè)計(jì)最大的影響是來自DAML+OIL、描述邏輯、框架和 RDF(S),OWL是DAML+OIL的修訂版,其語義受到描述邏輯的影響,本體知識(shí)的組織方式受到框架的影響,交換語法是基于RDF/XML。另外,OWL1定義了3種子語言,分別是 OWL Lite,OWL DL和 OWL Full。從語法上來說,OWL Lite本體中類的層次結(jié)構(gòu)最簡(jiǎn)單,只適合用來描述具有簡(jiǎn)單約束的本體;OWL DL的基礎(chǔ)是描述邏輯(Description Logics),可以進(jìn)行自動(dòng)推理,表達(dá)能力也相應(yīng)較強(qiáng);OWL Full是3個(gè)語言中表達(dá)能力最強(qiáng)的,適合那些需要強(qiáng)大表達(dá)能力的場(chǎng)合,但不適用于進(jìn)行自動(dòng)推理。
1)類(class):類定義了一組共享某些屬性的個(gè)體所組成的集合。OWL1中描述類的構(gòu)詞有Class,one Of;描述類運(yùn)算式 的 構(gòu) 詞 有 valuesOf,intersectionOf,unionOf,complementOf;描述類公理的構(gòu)詞有類存在,subClassOf,equivalectClass以及disjointWith等。
2)屬性(Property):屬性是個(gè)體之間的二元關(guān)系,在描述邏輯中,它們就是角色(Role)的概念,用于說明個(gè)體之間或個(gè)體到數(shù)值間的關(guān)系。OWL1中有大量的構(gòu)詞用于描述屬性,比如 , equivalentProperty,inverseOf,TransitiveProperty,Symmetric Property,F(xiàn)unctionalProperty和 Inverse FunctionalProperty用于描述屬性特征;allValuesFrom,someValuesFrom以及hasValue用來約束屬性的值域;minCardinality,maxCardinality和Cardinality則是用來約束屬性取值的數(shù)量。
3)個(gè)體(individual):個(gè)體是類的實(shí)例(Instance),代表領(lǐng)域中我們感興趣的對(duì)象,可以用屬性將一個(gè)個(gè)體與另一個(gè)個(gè)體關(guān)聯(lián)起來,在OWL1中不使用唯一命名假設(shè),即兩個(gè)不同的名稱可以對(duì)應(yīng)一個(gè)個(gè)體。OWL1中有3種描述實(shí)例約束的構(gòu)詞分別是 sameAs,differentFrom和 allDifferent[5-6]。
OWL2是W3C于2012年提出的,是在OWL1的基礎(chǔ)上對(duì)OWL本體語言的擴(kuò)展,并繼承了它的語言特性、設(shè)計(jì)決策和用于OWL1的用例。OWL2在OWL1提供的類、屬性、個(gè)體及數(shù)據(jù)值的基礎(chǔ)上又添加了一些新的功能,這些新功能中有一些是語法上的改進(jìn)(例如,“語法糖”,類的不相交并集),其它的則是提供了新的表達(dá)能力,包括:鍵 (keys)、屬性鏈(property chains)、更豐富的數(shù)據(jù)類型、數(shù)據(jù)定義域、有條件的基數(shù)限制、非對(duì)稱屬性、自反屬性和不相交屬性、增強(qiáng)的注釋能力,增強(qiáng)了對(duì)屬性的表達(dá)能力、對(duì)數(shù)據(jù)類型的擴(kuò)展支持以及擴(kuò)展的注釋能力。OWL2也定義了3種不同的配置語言:OWL2 EL,OWL2 QL和OWL2 RL,它們是能更好地滿足特定的性能需求或者更易于實(shí)現(xiàn)的OWL2的語言子集。每種配置語言都定義為“OWL2結(jié)構(gòu)化規(guī)范”的一個(gè)語法限制,即作為可用于相容本體(conforming ontology)的結(jié)構(gòu)化元素的子集,并且它們都比OWL DL更具有限制性。
OWL1提供的disjointWith僅表示兩個(gè)類之間的兩兩不相交,OWL2在此基礎(chǔ)上提供了語法糖— DisjointUnion和語法糖—DisjointClasses。其中,DisjointUnion表示兩兩不相交的其他類的集合類,DisjointClasses可表示多個(gè)類之間的兩兩不相交。另外,OWL2提供了 OWl 2:Negative Object Property Assertion和Owl 2:NegativeDataPropertyAssertion用來表明一個(gè)給定的對(duì)象屬性或者數(shù)據(jù)屬性沒有被該個(gè)體擁有,改進(jìn)了OWL1僅提供了個(gè)體所有的屬性值而并未提供一個(gè)判斷該個(gè)體沒有某值的概念。OWL2語法糖具體描述與示例如表1所示。
表1 語法糖Tab.1 Syntactic sugar
OWL 1主要集中于類和個(gè)體的信息表達(dá),在屬性的表達(dá)上存在較少的注意力。OWL 2為屬性的額外限制、新特征,不兼容性、屬性鏈和鍵的表達(dá)提供了新的結(jié)構(gòu)。比如,OWL1僅僅限制了屬性的實(shí)例數(shù),OWL2則在此基礎(chǔ)上新添加了基數(shù)限制:ObjectMinCardinality、ObjectMaxCardinality、Object Exact Cardinality、DataMinCardinality、DataMaxCardinality、Data Exact Cardinality。 例 如 ,ObjectExactCardinality (1:hasDirectPart:FrontalLobe),表示對(duì)象類恰好有 1個(gè) frontal lobe類型的direct part。再如,OWL1沒有提供方法將屬性定義為其他屬性的組合,就像定義“uncle”時(shí)需要用到兩個(gè)或兩個(gè)以上屬性(例如brother和father),因此,不可能將一個(gè)屬性 (例如locatedIn)與另一個(gè)屬性 (例如part of)一起傳遞。在一個(gè)SubObjectPropertyOf公理中的OWL2結(jié)構(gòu)Object Property Chain允許將屬性定義為若干屬性的組合。另外,OWL1沒有為定義鍵提供方法,OWL2結(jié)構(gòu)HasKey允許為給定的類定義鍵。屬性新結(jié)構(gòu)如表2所示。
1)額外數(shù)據(jù)類型及數(shù)據(jù)類型限制
DatatypeRestriction(DT F1 lt1...Fn ltn),其中 DT是一個(gè)一元數(shù)據(jù)類型,F(xiàn)i ltl,1≤i≤n是一對(duì)約束 facet和 literal。例如,DataTypeRestriction (xsd:integer minInclusive 18)表示xsd:integer是一個(gè)下限為18的數(shù)據(jù)類型。該特性彌補(bǔ)了OWL1不支持?jǐn)?shù)據(jù)類型的任何子集的缺陷。
2)N元數(shù)據(jù)類型
OWL1無法表示一個(gè)對(duì)象值之間的關(guān)系,例如表示一個(gè)正方形是一個(gè)長(zhǎng)和寬相等的矩形。OWL2包括了n元數(shù)據(jù)類型所需的語法結(jié)構(gòu),以為擴(kuò)展提供了公共基礎(chǔ)。例如,DataAllValuesFrom(:admissionTemperature:current Temperature Data Comparison (Arguments (x y)leq (x y)))表 示 一 個(gè)adminssionTemperature不大于其currentTemperature的個(gè)體。
表2 屬性新結(jié)構(gòu)Tab.2 The new structure attributes
3)數(shù)據(jù)類型定義
針對(duì)OWL1只能通過一個(gè)類的描述定義一個(gè)新類,而不能定義一個(gè)新的數(shù)據(jù)類型的情況,OWL2提供了定義數(shù)據(jù)類型的新結(jié)構(gòu):DatatypeDefinition({A}DT DR),其中 DT是一個(gè)數(shù)據(jù)類型,DR是一個(gè)數(shù)值范圍。例如:DatatypeDefinition (:adultAge DatatypeRestriction (xsd:integer minInclusive 18))定義了一個(gè)新的數(shù)據(jù)類型 adultAge:至少18 的 xsd:integer。
4)數(shù)據(jù)值域組合
OWL1允許類的結(jié)合以構(gòu)建新類,但不適用于數(shù)據(jù)類型,但OWL2允許這種方法:
DataIntersectionOf ({A}DR1...DRn)其中 DRi,1≤i≤n代表數(shù)據(jù)范圍;
DataUnionOf({A}DR1...DRn);DataComplementOf({A}DR)。
OWL2除了允許對(duì)本體、實(shí)體進(jìn)行注釋外,還允許對(duì)匿名個(gè)體、公理以及注釋本身作注釋。
本體實(shí)體和匿名個(gè)體的注釋:AnnotationAssertion({A}AP s v),其中AP是一個(gè)注釋屬性,s是一個(gè)IRI或者一個(gè)匿名個(gè)體,v是一個(gè)literal,或者一個(gè)IRI,或者一個(gè)匿名個(gè)體。
公理、注釋以及本體的注釋:Annotation{A}AP v),其中 AP是一個(gè)注釋屬性,v是一個(gè)literal,或者一個(gè) IRI,或者一個(gè)匿名個(gè)體。
注釋屬性的子屬性:SubAnnotationPropertyOf( {A}AP1AP2),其中AP1和 AP2是注釋屬性。例如:Sub Annotation Property Of(:narrow_synonym:synonym)中屬性:narrow_synonym是:synonym的子屬性。
注釋屬性的定義域:AnnotationPropertyDomain({A}AP U),其中AP是注釋屬性,U是一個(gè)IRI。
注釋屬性的值域:AnnotationPropertyRange( {A}AP U), 其 中 AP是 注 釋 屬 性 ,U是 一 個(gè) IRI。 例 如 , 例 子AnnotationPropertyRange(FMA:UWDAID xsd:positiveInteger)表示FMA ID是一個(gè)正整數(shù)。
在OWL1中,實(shí)體可以直接使用而無需預(yù)先聲明,因此無法保證實(shí)體名在不同的公理中都能匹配,如果出現(xiàn)實(shí)體名不匹配的情況,沒有辦法查找錯(cuò)誤。在OWL2中引入了實(shí)體聲明,一個(gè)聲明意味著實(shí)體是本體詞匯表的一部分。聲明也使實(shí)體類別(類、數(shù)據(jù)類型、對(duì)象屬性、數(shù)據(jù)屬性、注釋屬性或個(gè)體)與被聲明的實(shí)體間建立了關(guān)聯(lián)。
1)聲明:Declaration(AE),其中 A 是一個(gè)注釋,E 是一個(gè)實(shí)體。 例如,例子 Declaration(Class(:Person))表示:Person 被聲明為一個(gè)類。
2) 頂 層 和 底 部 性 能 :topObjectProperty、bottom Object Property、topDataProperty、bottomDataProperty。
3)IRIs (Internationalized Resource Identifiers):OWL1 中使用的統(tǒng)一資源定位符 (URL)是ASCII的一個(gè)子集,而ASCII只包含了英語字母表中的字符,這對(duì)于非英語名稱有局限性的。因此,OWL2使用了國(guó)際化資源標(biāo)識(shí)符(IRI)[RFC3987]來標(biāo)識(shí)本體及其元素。
4)引入和版本:Ontology([O[V]]{Import(O′)}{A}{AX}),其中,[O]和 [V]表示零或一個(gè)本體和版本IRIs,{Import(O‘)}表示零或多個(gè)引入,O’是一個(gè)本體 IRI,{A}是零或多個(gè)注釋,{AX}是零或多個(gè)公理。
5)Anonymous Individuals:相比OWL1中匿名個(gè)體作為無標(biāo)識(shí)符的個(gè)體引入,OWL2中匿名個(gè)體是使用節(jié)點(diǎn)ID標(biāo)識(shí)的,并且OWL2中匿名個(gè)體的處理與OWL1完全向后兼容。
6)逆屬性:通過規(guī)避給逆屬性命名的需要,OWL2中的屬性表達(dá)式可以在類表達(dá)式中直接使用。例如,OWL1的逆屬性公理 ObjectProperty(:hasPart inverse:partOf),在 OWL2中可以用公理 InverseObjectProperties(:hasPart:partOf)表示。
雖然OWL2在OWL1提供的類、屬性、個(gè)體及數(shù)據(jù)值的基礎(chǔ)上又添加了一些新的功能,增強(qiáng)了對(duì)屬性的表達(dá)能力、對(duì)數(shù)據(jù)類型的擴(kuò)展支持以及擴(kuò)展的注釋能力,使得Web本體標(biāo)準(zhǔn)語言更加強(qiáng)大,但基于OWL2的本體實(shí)際應(yīng)用還存在許多不足,離建立符合語義網(wǎng)構(gòu)想的WWW頁面或網(wǎng)站還有相當(dāng)?shù)木嚯x。如何規(guī)范與標(biāo)準(zhǔn)本體的編制用以指導(dǎo)中文網(wǎng)絡(luò)本體的構(gòu)建,如何建立具有一定實(shí)用價(jià)值的詞匯集(Vocabulary)及推理機(jī)制,是當(dāng)前需要繼續(xù)深入探索和不斷努力實(shí)踐的任務(wù) 。
[1]Horrocks I,van Harmelen F,Patel-Schneider P,et al.The revised language specificat ion-daml+oil[EB/OL].http://www.daml.org/2001/03/daml+oil,2001-06-06.
[2]D.Fensel,I.Horrocks,F(xiàn).van Harmelen,D.McGuinness and P.Pate-l Schneider.OIL:An Ontology infrastructure for the Semantic web[J].IEEE Intelligent Systems,2001,16:38-45.
[3]Frank van Harmelen,Pater F.Pate-l Schneider,Ina Horrocks.A Mode-l Theoretic Semantics for DAML+OIL ( March 2001).World Wide Web Consortium[EB/OL].http://www.w3.org/TR/2001//NOTE-daml+oil-axioms,2001-12-18.
[4]Pater F.Patel-Schneider, Patrick Hayes,and Ina Horrocks.Owl web ontology Language reference[S].w3c recommendation 10 february 2004,15 December 2004.
[5]王歲花,張曉丹,王越.基于關(guān)系數(shù)據(jù)庫(kù)的OWL本體存儲(chǔ)及查詢方法[J].河南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2012,40(2):159-160.WANG Sui-hua,ZHANG Xiao-dan,WANG Yue.OWL ontology storage and query method based on relational database[J].Journal of Henan Normal University:Natural Science Edition,2012,40(2):159-160.
[6]Sean Bechhofer,F(xiàn)rank van Harmelen,Jim Hendler,et al.OWL Web Ontology Language Reference[EB/OL].[2004-02-10].http://www.w3.org/TR/2004/REC-owl-ref-20040210/.
[7]Jie bao,Elisa F.Kendall,Deborah L.Mcguinness,et al.OWL 2 Web Ontology Language Quick Reference Guide[EB/OL].[2009-10-27].http://www.w3.org/TR/2009/REC-owl2-quickreference-20091027/.
[8]Christine Golbreich,Evan K.Wallace.OWL 2 Web Ontology Language New Features and Rationale(Second Edition)[EB/OL].[2012-12-11].http://www.w3.org/TR/owl2-new-features/