《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于RDF的知識表示到語義網(wǎng)絡(luò)語言SNetL的轉(zhuǎn)換研究
基于RDF的知識表示到語義網(wǎng)絡(luò)語言SNetL的轉(zhuǎn)換研究
甘健侯1,夏幼明1,徐天偉1,徐天任2
1.云南師范大學(xué) 計(jì)算機(jī)科學(xué)與信息技術(shù)學(xué)院,云南 昆明650092;2.云南師范大學(xué) 旅游與地理科學(xué)
摘要: 資源描述框架RDF是處理元數(shù)據(jù)的基礎(chǔ),它提供了Web上應(yīng)用程序間機(jī)器能理解的信息的互操作性能;語義網(wǎng)絡(luò)語言SNetL是語義網(wǎng)絡(luò)的形式化描述語言。本文提出了從RDF知識表示到SNetL語言轉(zhuǎn)換的思想與算法。
Abstract:
Key words :

摘   要: 資源描述框架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)看,它可以看作是三元組集合,是一個“帶標(biāo)識的有向圖”。其中,有向圖的節(jié)點(diǎn)表示各種事物、概念、情況、屬性、動作、狀態(tài)等;弧表示各種語義聯(lián)系,指明它所連接的節(jié)點(diǎn)間的某種語義關(guān)系。節(jié)點(diǎn)和弧都必須帶有標(biāo)識,以便區(qū)分各種不同對象及對象間各種不同的語義聯(lián)系。每個節(jié)點(diǎn)可以帶有若干屬性。另外,節(jié)點(diǎn)還可以是一個語義子網(wǎng)絡(luò),形成一個多層次的嵌套結(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分別表示弧所連接的兩個節(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 <程序名>;
        <SNETL語句序列>
        end_of_snet;
<SNETL語句序列>∷=<SNETL語句>{;<SNETL語句>}
<SNETL語句>∷=<主關(guān)系式>{;<標(biāo)號關(guān)系式>}|<多數(shù)蘊(yùn)涵關(guān)
系式>|<例外蘊(yùn)涵關(guān)系式>|<依賴時(shí)間蘊(yùn)涵關(guān)系式>
<主關(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)系式>|<one_of關(guān)
                   系式>|<subset關(guān)系式> |<subclass關(guān)系式>|
                   <part_of關(guān)系式>|<be關(guān)系式>|<關(guān)系類型句>|
                   <關(guān)系性質(zhì)關(guān)系式>|<多數(shù)蘊(yùn)涵關(guān)系式>|<例外蘊(yùn)
                   涵關(guān)系式>|<依賴時(shí)間蘊(yù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é)束)兩個關(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:some-ValuesFrom、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)這兩個領(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-grammar-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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。