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

轉換后的本體內(nèi)容如下:


討論了XML Schema到本體的轉換方法,并與現(xiàn)有的方法進行了對比分析,同時結合理論分析給出了轉換實例,表明了本文所述方法的正確性和有效性。
[1]杜小勇,李 曼等.本體學習研究綜述.軟件學報,117(9).