摘要:本文主要從基于本體擴展的XML查詢代數和基于本體集成的XML查詢重寫兩個機制來研究基于語義的XML數據庫獲取機制。
關鍵詞:XML數據庫;查詢代數;查詢重寫;獲取機制
中圖分類號:TP311.11 文獻標識碼:A 文章編號:1674-7712 (2012) 12-0059-02
一、引言
語義分析是自然語言處理過程中的一個層次,是計算機理解語言的基礎,因而十分重要。從自然語言處理的應用來看,信息獲取、信息檢索、機器翻譯、自動文摘、人機交互等都應用到了語義分析,并且語義分析在這些方面也取得了一定的成果。基于現有語料庫和語言現象分析,筆者主要從基于本體擴展的XML查詢代數和基于本體集成的XML查詢重寫兩個機制來研究基于語義的XML數據庫獲取機制。
二、基于本體擴展的XML查詢代數
目前,人們已經提出了很多XML代數,著名的有:TAX,Xtasy,TTX等。其中TAX是擴展標記語言的樹形代數(Tree Algebra for XML),它是關系代數的一個擴展,應用在TIMBER XML數據庫管理系統中。Xtasy介紹了Xtasy XML數據庫管理系統的基本代數,具有良好的優化特性和表達能力。TTX是一種針對XML文檔的標記文本檢索查詢語言(Typed Text Retrieval Query Language for XML Documents),能夠較好地支持網絡和數據庫相關的應用。
筆者綜合了XML代數表示方法,并對其進行了一定的擴充。主要思想如下:
(一)主體上采用TAX XML代數的表示方式,即在XML代數中引入Pattern Tree和Witness Tree,并結合OrientXA對它進行了一定的擴充,將整個查詢由三個Pattern Tree來定義,用Source Pattern Tree來表示查詢動作或意向序列,用Constructor Pattern Tree來表示對結果的構造序列,用Update Pattern Tree來表示查詢的更新操作序列。Witness Tree是Source Pattern Tree的實例。
(二)在Pattern Tree的定義了結合XTasy、OrientXA的成果,即:①對于每一個節點,定義新的修飾符,主要是為了區別是節點綁定還是序列綁定,區分強綁定和弱綁定,并且區分是否連帶進行子孫節點綁定。②對于每一條邊,定義三種類型,即父子邊、子孫邊和元素屬性邊。
(三)新增了適用于本體查詢的操作符如~,instance_of、isa。is_part_of、below、above等。重新定義了大部分操作的語義及實現機制。
(四)擴充了TAX中關于Wintness Tree的定義,使它支持基于本體的操作。
下面筆者將對幾個概念的重新定義如下:
1.Source Pattern Tree
一個Source Pattern Tree是一個二元組SPT:=(T,F),其中T:=(V,E)是一個有節點標識和邊標識的樹,F是一個謂詞表達式的組合。T滿足以下條件:
(1)每個節點有一個惟一的標識符,并且有以下修飾符:①是否序列綁定?用雙圓圈表示序列綁定,用單圓圈表示節點綁定;②是否強綁定?用實線圓圈表示強綁定,虛線圓圈表示弱綁定;③是否連帶綁定所有子孫節點?用P表示需要連帶綁定所有子孫節點。
(2)每一條邊表達了節點之間的關系,存在三種類型關系:①父子關系,用單實線表示;②祖先后代關系,用雙實線表示;③元素屬性邊,用單虛線表示。
2.Constructor Pattern Tree
一個Constructor Pattern Tree是一個二元組CPT:=(T,F),其中T:=(V,E)是一個有節點標識和邊標識的樹,F是一個謂詞表達式的組合。T滿足以下條件:
(1)節點定義如下:
V:=v(TagName)[=val]|c(PID)
val:=atom|PID
其中,v(TagName)=val表示新建一個節點,節點名為TagName,節點值為val:c(PID)表示拷貝input pattern tree上特定PID節點。包括節點名、節點值以及所有子孫節點。
(2)節點同時具有以下修飾符:是否序列構造,用雙圓圈表示序列構造。序列構造只適用于拷貝構造節點。
3.Update Pattern Tree
一個Update Pattern Tree是一個二元組UPT:=(T,F),其中T:=(V,E)是一個有節點標識和邊標識的樹,F是一個謂詞表達式的組合。T滿足以下條件:
(1)節點定義如下:
V:=u(v.TagName)=val
|u(v.TagName)=v.TagName
|n(TagName)[=val]
|d(TagName)
(2)節點同時具有以下修飾符:是否序列構造,用雙圓圈表示序列構造。序列構造只適用于拷貝構造節點。
由于在XML代數中引入了本體及語義相似性判斷機制,因此需要重新定義條件判數據操作符及條件判斷的可滿足性。因此,我們首先對TAX中的選擇條件(selection condition)進行擴展,滿足本體和語義映射及語義相似性判別的要求。
4.選擇條件(Selection condition)滿足下列條件即為選擇條件:
(1)原子條件即為選擇條件。
(2)如果cl和c2為選擇條件,則cl∧∨c2、cl∨c2和、┐c1為選擇條件。
(3)除此以外,不再有其他形式的選擇條件。
其中,原子條件(Atomic condition)由類似于X op Y的表達式組成。
(1)op∈(=,≠,<,≤,>,≥,~,instance_of,isa,is_part_of,below,above);
(2)X和Y為條件術語,包括屬性(attribute)、類型(type)、類型取值(type values)v:τ,其中V∈dom(τ),本體語義等。
(3)~表示語義相似性判斷。
三、基于本體集成的查詢重寫
在基于本體集成的環境下,在中介者組件中提供一個全局的語義環境,該語義環境通過前面所介紹的本體集成方法來構建,因此查詢遞交給各個節點來執行時,首先根據語義環境對查詢進行重寫。本節重點介紹基于全局本體的查詢重寫機制。
為簡化討論過程,本文只討論選擇(Selection)操作的重寫機制,在OrientXA中,一個選擇操作可以表示為 (X)={x,x 在此,筆者討論對Pattern Tree(即上面表達式中的x)進行重寫的問題,可能會有下面幾種情況:(1)X與Xl,X2,…,Xn概念同屬于全局本體的上一個節點,而且Xi(1≤i≤n)分別屬于不同局部本體的概念,即在進行本體集成時,來源于不同本體之間的概念語義相似度相同多個概念熔合為一個節點。 四、結束語 基于語義的XML數據庫獲取機制有如下的優點: (一)本文所介紹的方法部分地解決了查詢中語義不一致的問題(Semantic Inconsistency),特別是語義不完全或語義缺失的問題。一個概念如果有部分屬性值并不在本地本體中進行表述,而在另一個節點的本體中進行了描述,通過復雜映射機制,可以將兩個本體進行合并形成一個完整的概念,相應的查詢重寫機制保證能完整地從兩個節點獲取滿意的結果。 (二)減小查詢的冗余度,提高查詢效率,對于分布于不同節點的概念之間如果存在相同的屬性,則無須重新獲取這些相同屬性的值。 (三)查詢更加精確,通過語義相似度及擴展語義查詢操作符可以獲取更符合需要的結果。 然而,采用這種機制進行數據處理也存在一些需要改進的地方,主要表現在下面幾個方面: (1)首先是如何提高各局部節點包裝器的語義映射表的復用的問題,各局部節點映射表中可能包含著相同的語義映射信息,造成信息的冗余,如何提高這些信息的利用率是一個需要進一步探討的問題。 (2)語義不一致的問題依然存在,例如各節點之間的語義映射關系相互矛盾。 參考文獻 [1]龔慧.基于語義的XML模式到關系模式的轉換[D].湖南師范大學,2009 [2]藺旭東.基于語義的XML查詢及規范化研究[D].北京交通大學,2010 [作者簡介]陳曉飛(1975-),女,新疆尉犁縣人,碩士,新疆工業高等專科學校計算機工程系,講師,研究方向:計算機應用。