??? 摘? 要: 資源描述框架RDF是處理元數(shù)據(jù)的基礎(chǔ),它提供了Web上應(yīng)用程序間機(jī)器能理解的信息的互操作性能;語義網(wǎng)絡(luò)語言SNetL是語義網(wǎng)絡(luò)的形式化描述語言。本文提出了從RDF知識表示到SNetL語言轉(zhuǎn)換的思想與算法。
??? 關(guān)鍵詞: 資源描述框架? 語義網(wǎng)絡(luò)語言? 知識表示? 轉(zhuǎn)換算法
?
1 語義網(wǎng)絡(luò)和SNetL概述
??? 語義網(wǎng)絡(luò)(Semantic Network)作為一種知識表示的工具是由奎林(J.R.Quilian)在1968年的博士論文中提出的。語義網(wǎng)絡(luò)是通過概念及其語義關(guān)系來表達(dá)知識的一種網(wǎng)絡(luò)圖。從圖論的觀點(diǎn)看,它可以看作是三元組集合,是一個(gè)“帶標(biāo)識的有向圖”。其中,有向圖的節(jié)點(diǎn)表示各種事物、概念、情況、屬性、動作、狀態(tài)等;弧表示各種語義聯(lián)系,指明它所連接的節(jié)點(diǎn)間的某種語義關(guān)系。節(jié)點(diǎn)和弧都必須帶有標(biāo)識,以便區(qū)分各種不同對象及對象間各種不同的語義聯(lián)系。每個(gè)節(jié)點(diǎn)可以帶有若干屬性。另外,節(jié)點(diǎn)還可以是一個(gè)語義子網(wǎng)絡(luò),形成一個(gè)多層次的嵌套結(jié)構(gòu)。
??? SNetL(Semantic Network Language)是語義網(wǎng)絡(luò)的形式化描述語言。SNetL的功能主要包括:以三元組的形式構(gòu)造關(guān)系表達(dá)式;用標(biāo)號關(guān)系式實(shí)現(xiàn)分塊思想;關(guān)系和節(jié)點(diǎn)一樣處理,以便建立關(guān)系之間的關(guān)系;便于描述自然語言所表達(dá)的語義;具有較強(qiáng)的提問能力和推理解答能力等。
??? SNetL語言的核心是用三元組的形式描述知識,一般表示為:(nodel_1,relation_name,,node_2)。其中node_1和node_2分別表示弧所連接的兩個(gè)節(jié)點(diǎn);relation_name表示網(wǎng)絡(luò)中的弧,用于描述節(jié)點(diǎn)之間的語義。在SNetL中,用標(biāo)號可以對節(jié)點(diǎn)和關(guān)系進(jìn)一步說明,其作用相當(dāng)于自然語言中的定語和狀語。
??? 下面給出經(jīng)過擴(kuò)展的SNetL+ 語言形式化描述的總體語法框架。
??? <語義網(wǎng)絡(luò)程序>∷=snet <程序名>;
??????? ??
??????? ??end_of_snet;
???
???
??? <主關(guān)系式>∷=<無標(biāo)號關(guān)系式>
??? <標(biāo)號關(guān)系式>∷=<標(biāo)號>:<無標(biāo)號關(guān)系式>
??? <無標(biāo)號關(guān)系式>∷=<一般關(guān)系式>|<關(guān)系修飾關(guān)系式>|<量詞關(guān)系式>|<節(jié)點(diǎn)修飾關(guān)系式>|<蘊(yùn)涵關(guān)系式>|<或關(guān)系式>|<與關(guān)系式>|<否定關(guān)系式>|
2? RDF到SNetL的轉(zhuǎn)換思想與算法描述
??? RDF是處理元數(shù)據(jù)的基礎(chǔ),它提供了Web上應(yīng)用程序間機(jī)器能理解的信息的互操作性。在語義Web中,本體描述語言很多,如RDF、DAML+OIL和OWL等。在知識推理過程中,一般都將其描述的知識轉(zhuǎn)換為RDF三元組,以便實(shí)現(xiàn)信息的互操作。本文介紹RDF與SNetL的轉(zhuǎn)換思想與算法描述。
2.1 RDF關(guān)鍵字與SNetL關(guān)系式的對應(yīng)關(guān)系
?? ?RDF關(guān)鍵字與SNetL關(guān)系式的對應(yīng)關(guān)系如表1所示。
?
2.2 帶有標(biāo)號的關(guān)系式轉(zhuǎn)換
??? RDF到SNetL的轉(zhuǎn)換中,主要考慮在轉(zhuǎn)換中帶有標(biāo)號的情況:屬性約束、復(fù)雜類、規(guī)則表示等。
??? (1)屬性約束
??? OWL中屬性約束有六種情況:owl:cardinality、owl:minCardinality、owl:maxCardinality、owl:someValuesFrom、owl:allValuesFrom、owl:hasValue。另外,在OWL知識表示中,有“匿名類”的概念,因此在轉(zhuǎn)換過程中,要進(jìn)行標(biāo)號的處理。
??? 圖1是對“病毒文件是類,它是Software的子類,它的屬性fileSize最大不超過1 024KB”的描述( _:x為匿名類)。
?
??? 上述OWL屬性約束的轉(zhuǎn)換過程中,定義了匿名類_:x,它是定義類的超(父)類。在將RDF三元組轉(zhuǎn)換到SNetL的過程中應(yīng)該注意:①約束范圍,也就是匿名類的作用范圍。在OWL到RDF的轉(zhuǎn)換過程中,加入了“ontoKsys:Begin”(開始)和“ontoKsys:End”(結(jié)束)兩個(gè)關(guān)鍵字來識別約束的開始與結(jié)束,開始與結(jié)束之間是匿名類或臨時(shí)變量的有效范圍。②匿名類可以用SNetL語言中的<變量>來代替。③owl:Restriction、ontoKsys:Begin和ontoKsys:End等指示約束范圍的關(guān)鍵字不需要進(jìn)行轉(zhuǎn)換。上述描述轉(zhuǎn)換如下:
??? (病毒文件,TYPE,類);
??? (病毒文件,subclass,Software);
??? (病毒文件,subclass,x:L1);&&將匿名類名用SNetL的變量x代替,并加標(biāo)號修飾
??? L1:(x,對于屬性,fileSize:L2);&&將owl:onProperty轉(zhuǎn)換為“對于屬性”
??? L2:(fileSize,是屬性,x);
??? (fileSize,最大基數(shù),y:L3:L4);
??? L3:(y,be,非負(fù)整數(shù));
??? L4:(y,number,1024);
??? owl:cardinality、owl:minCardinality、owl:maxCardinality轉(zhuǎn)換為SNetL的方法是相同的。圖2是對owl:someValuesFrom、owl:allValuesFrom、owl:hasValue到SNetL的轉(zhuǎn)換描述。
?
??? (2)復(fù)雜類
??? OWL中復(fù)雜類包括:owl:oneOf(枚舉)、owl:intersectionOf(交集)、owl:unionOf(并集)、owl:complementOf(補(bǔ)集)、owl:disjointWith(不相交集)、owl:equivalentClass(等價(jià)類)。由于在復(fù)雜類的轉(zhuǎn)換中涉及到RDF:List及參照對象,因此需要加入標(biāo)號進(jìn)行修飾。
??? 圖3描述了“圖形圖像處理”軟件是“圖形處理軟件”和“圖像處理軟件”的并集。
?
??? 其他的復(fù)雜類與owl:unionOf有相似之處,因篇幅有限,這里就不作介紹。
??? (3)IF-THEN規(guī)則表示
??? 在OWL擴(kuò)展中,規(guī)則表示涉及到蘊(yùn)涵關(guān)系式、與關(guān)系式、或關(guān)系式和非關(guān)系式等,在轉(zhuǎn)換過程中也要考慮標(biāo)號的轉(zhuǎn)換問題。
??? 如果要描述:“如果A是B的子類,B是C的子類,則A是C的子類”,則RDF三元組可表示為:
??? (子類傳遞性,TYPE,IF-THEN規(guī)則)
??? (子類傳遞性,規(guī)則名稱,subClass Transitive Relation)
??? 轉(zhuǎn)換如下:
??? (L1,imply,L2)?? &&L1表示規(guī)則的前件,L2表示規(guī)則的后件
??? L1:(L3,and,L4)? &&owlplus:AND映射為SNetL的and,表示L3和L4成立,則L1成立
??? L3:(A,subclass,B) &&owlplus:predication的謂詞sub ClassOf轉(zhuǎn)換為SNetL的subclass
??? L4:(B,subclass,C)
??? L2:(A,subclass,C)? &&A、B、C是概念集的元素,在轉(zhuǎn)換過程中要作初始化
2.3 RDF到SNetL的主要關(guān)鍵字轉(zhuǎn)換表
??? RDF到SNetL的主要關(guān)鍵字轉(zhuǎn)換表如表2所示。
?
2.4 RDF到SNetL轉(zhuǎn)換算法的描述
??? 算法TORTS(Transfer of RDF to SNetL RDF到SNetL的轉(zhuǎn)換算法):
??? 功能描述:算法將RDF三元組表示的知識庫轉(zhuǎn)換為SNetL表示。
??? 輸入:RDF三元組表示的知識庫(rdf_knowledge_triple)。
??? 輸出:SNetL表示的知識庫。
??? 算法簡單描述:
??? TORTS1[初始化]對RDF表示的知識進(jìn)行一致性檢查;基于本體,建立RDF到SNetL的關(guān)鍵字轉(zhuǎn)換表;p1←rdf_knowledge_triple
??? TORTS2[p1等于NULL?] 若p1等于NULL,則算法結(jié)束;
??? TORTS3[分類轉(zhuǎn)換處理]判斷是否可以直接進(jìn)行三元組轉(zhuǎn)換或者要進(jìn)行標(biāo)號處理。如果是,屬性約束、規(guī)則表示、復(fù)雜類等轉(zhuǎn)到TORTS4;否則,轉(zhuǎn)到TORTS5
??? TORTS4[帶有標(biāo)號的關(guān)系式處理]讀入RDF到SNetL的關(guān)鍵字轉(zhuǎn)換表;
??? 下面對在屬性約束、規(guī)則表示、復(fù)雜類等的表示范圍內(nèi)調(diào)用相應(yīng)的轉(zhuǎn)換規(guī)則進(jìn)行處理。
??? (1)屬性約束:約束開始即進(jìn)行標(biāo)號處理,并分類,對owl:cardinality、owl:minCardinality、owl:maxCardinality、owl:someValuesFrom、owl:allValuesFrom、owl:hasValues進(jìn)行處理。
??? (2)復(fù)雜類:復(fù)雜類定義開始進(jìn)行標(biāo)號處理,主要考慮RDF列表類(RDF:LIST)的轉(zhuǎn)換,并分類,對owl:oneOf(枚舉)、owl:intersectionOf(交集)、owl:unionOf(并集)、owl:complementOf(補(bǔ)集)、owl:disjointWith(不相交集)、owl:equivalentClass(等價(jià)類)進(jìn)行處理。
??? (3)規(guī)則表示:規(guī)則的前提定義owlplus:Rule-Premise開始時(shí)進(jìn)行標(biāo)號處理,(前提 結(jié)論)轉(zhuǎn)換到SNetL表示為:(L1,imply,L2),L1表示規(guī)則的前提,L2表示規(guī)則的結(jié)論;搜索RDF的謂詞到SNetL的轉(zhuǎn)換;對規(guī)則中的與、或、非關(guān)系式進(jìn)行處理。
??? (4)其他標(biāo)號的處理
??? TORTS5[直接轉(zhuǎn)換處理]讀入RDF到SNetL的關(guān)鍵字轉(zhuǎn)換表;
??? 搜索在RDF的主體、謂詞、對象中是否與SNetL有對應(yīng)的轉(zhuǎn)換關(guān)系,并將RDF的<主體,謂詞,對象>直接轉(zhuǎn)換為<事實(shí)節(jié)點(diǎn),關(guān)系,事實(shí)節(jié)點(diǎn)>。
??? TORTS6[知識指針移動]p1←next(p1)轉(zhuǎn)到TORTS2。
3? 結(jié)束語
??? 本文提出了RDF到SNetL知識表示的轉(zhuǎn)換思想與算法?;谡Z義網(wǎng)絡(luò)的SNetL表示的知識在推理技術(shù)上已逐漸成熟,因此,可以借助于SNetL的技術(shù)進(jìn)行語義Web的知識推理。另外,語義Web與語義網(wǎng)絡(luò)的關(guān)聯(lián)研究也將促進(jìn)這兩個(gè)領(lǐng)域的共同發(fā)展。
參考文獻(xiàn)
1?? 王永慶.人工智能原理與方法.西安:西安交通大學(xué)出版社,2001
2?? 夏幼明.擴(kuò)展的SNETL語言語法描述.云南省重點(diǎn)項(xiàng)目鑒定材料文集,2003
3?? 徐天任,夏幼明,甘健侯.用語義網(wǎng)絡(luò)語言描述知識的表示.云南師范大學(xué)學(xué)報(bào),2003;(5)
4?? W3C Recommendation.Resource Description Framework(RDF):Concepts and Abstract Syntax.http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/.2004,2
5?? W3C Recommendation.RDF/XML Syntax Specification(Revised).http://www.w3.org/TR/2004/REC-rdf-syntax-gram-mar-20040210/.2004,2
6?? W3C Recommendation.OWL Web Ontology Language Semantics and Abstract Syntax.http://www.w3.org/TR/2004/REC-owl-semantics-20040210/.2004,2
7?? W3C Recommendation.OWL Web Ontology Language?Guide.http://www.w3.org/TR/2004/REC-owl-guide-20040210/.2004,2