彭 靜 羅 偉
遼寧裝備制造職業(yè)技術(shù)學(xué)院( 沈陽 110161 )
主要研究如何從半結(jié)構(gòu)化(這里主要指XML格式的文件)數(shù)據(jù)源獲取期望的本體。首先對XML Schema作簡要介紹,然后討論了XML Schema到本體的映射規(guī)則,最后是實(shí)例分析,將XML Schema及符合XML Schema的XML內(nèi)容轉(zhuǎn)換為本體,對映射規(guī)則進(jìn)行了驗(yàn)證。
借助于元素及內(nèi)嵌的數(shù)據(jù)類型,XML Schema可以使得用戶準(zhǔn)確的描述文件的結(jié)構(gòu)、內(nèi)容和語法。與DTD相比,XML Schema提供了豐富的數(shù)據(jù)類型;XML Schema中的節(jié)點(diǎn)型態(tài)分為簡單節(jié)點(diǎn)和復(fù)雜節(jié)點(diǎn),簡單節(jié)點(diǎn)沒有屬性,也沒有非文字的子節(jié)點(diǎn);在XML Schema中可以定義群組及衍生類型;另外,XML Schema還提供了定義唯一限制及參考限制的功能,如唯一限制聲明xsd:unique和參考限制xsd:keyref等。
對于 XML模式語言 XML Schema(或DTD),主要采取建立映射規(guī)則的方法將其中的一些元素映射到本體。Kavalec等人采用機(jī)器學(xué)習(xí)的方法來建立映射規(guī)則;Doan等采用預(yù)定義規(guī)則,對DTD的語義信息進(jìn)行了分析,以生成相應(yīng)的概念模型,然后由概念模式產(chǎn)生最終的本體;Volz等人將XML文檔數(shù)據(jù)首先映射成一棵語法樹,然后使用一些規(guī)則將語法樹中的元素映射成本體中的概念和屬性。但該方法在將XML Schema映射到本體時(shí),較少考慮到XML Schema的完整性約束;Matthias等人提出了 XML Schema到OWL本體描述語言的映射規(guī)則,但論述較為粗略且映射規(guī)則的正確性有待商榷;Yuan等人則將基于XML的Web文檔映射為用OWL-DL語言描述的本體。與現(xiàn)有方法不同的是本文提出的XML Schema到本體的映射考慮了XML Schema的完整性約束,同時(shí)實(shí)現(xiàn)了符合XML Schema的XML內(nèi)容到本體的轉(zhuǎn)換。
Rule1:XML Schema的根節(jié)點(diǎn)映射為一個(gè)類,以根節(jié)點(diǎn)為父節(jié)點(diǎn)的復(fù)雜元素轉(zhuǎn)化為其子類(subClassOf)。
Rule2:以根節(jié)點(diǎn)為父節(jié)點(diǎn)的簡單元素(或?qū)傩浴傩越M(xsd:attributeGroup)中各屬性)轉(zhuǎn)化為根節(jié)點(diǎn)對應(yīng)類的數(shù)據(jù)類型屬性。
Rule3:復(fù)雜元素(節(jié)點(diǎn)類型為complexType)的屬性(或引用屬性組中的各個(gè)屬性)及所包含的簡單元素(節(jié)點(diǎn)類型為simpleType)轉(zhuǎn)化為復(fù)雜元素對應(yīng)類的數(shù)據(jù)類型屬性。數(shù)據(jù)類型屬性的定義域?yàn)閺?fù)雜元素對應(yīng)的類,值域由原映射屬性的Type值來決定。
Rule4:復(fù)雜元素映射為一個(gè)類Ci,復(fù)雜元素所包含的復(fù)雜元素也映射為一個(gè)類 Cj,同時(shí)生成一個(gè)對象屬性b,b的定義域和值域分別為Ci和 Cj。
Rule5:將xsd:key映射成一個(gè)類公理,設(shè)定minCardinality的基數(shù)為1。
Rule6:將與 xsd:unique所修飾屬性對應(yīng)的數(shù)據(jù)類型屬性設(shè)置為函數(shù)屬性。
Rule7:元素的maxOccurs、minOccurs屬性分別映射成一個(gè)類公理,即設(shè)定minCardinality、maxCardinality、Cardinality的基數(shù)。
Rule8:將xsd:group映射為一個(gè)類,若復(fù)雜元素中顯式包含xsd:group修飾的子元素或引用了xsd:group修飾的元素,則同時(shí)生成一個(gè)對象屬性b。假定復(fù)雜元素對應(yīng)的類為Ci,對應(yīng)的類為Cj,則b的定義域和值域分別為Ci和Cj。
Rule9:由于OWL內(nèi)嵌了XML Schema的數(shù)據(jù)類型,如 xsd:string、xsd:int等,因而 XML Schema中的數(shù)據(jù)類型不用作轉(zhuǎn)換。
本文提出的映射規(guī)則與 Matthias Ferdinand等人提出的映射規(guī)則主要有以下幾點(diǎn)區(qū)別:
(1)Matthias Ferdinand等人的方法將復(fù)雜元素與其所包含的復(fù)雜元素映射為 subClassOf關(guān)系,而本文將兩者分別映射為類,則新定義一個(gè)對象屬性。其原因在于復(fù)雜元素及其所包含的復(fù)雜元素在語義上并不能構(gòu)成subClassOf關(guān)系。
(2)Matthias Ferdinand等人的方法沒有考慮xsd:key 和 xsd:unique 等限制。
(3)Matthias Ferdinand等人的方法僅將xsd:group映射為一個(gè)類,而本文考慮了其他復(fù)雜元素對xsd:group的引用,并定義了描述兩者關(guān)系的一個(gè)對象屬性。
(4)Matthias Ferdinand等人將complexType類型的元素映射為對象屬性,而本文則將之映射為一個(gè)類。
(5)Matthias Ferdinand等人將sequence、all映射為 owl:intersectionOf,sequence 意味著組合次序而非intersection,因而該映射的合理性值得商榷。
此外,由于Matthias Ferdinand等人沒有原型實(shí)現(xiàn),因而其所定義的映射規(guī)則:xsd:choice到 owl:intersectionOf、owl:unionOf 、owl:complementOf布爾組合的映射可行性無法驗(yàn)證。
以一個(gè)實(shí)例的形式對比加以描述。以一個(gè)XML Schema為例,描述略,符合該模式的XML內(nèi)容片段如下:
轉(zhuǎn)換后的本體內(nèi)容如下:
討論了XML Schema到本體的轉(zhuǎn)換方法,并與現(xiàn)有的方法進(jìn)行了對比分析,同時(shí)結(jié)合理論分析給出了轉(zhuǎn)換實(shí)例,表明了本文所述方法的正確性和有效性。
[1]杜小勇,李 曼等.本體學(xué)習(xí)研究綜述.軟件學(xué)報(bào),117(9).