国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法

      文檔序號(hào):6406062閱讀:127來(lái)源:國(guó)知局
      專利名稱:結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種可擴(kuò)展標(biāo)記語(yǔ)言XML(eXtensible Markup Language)頻繁查詢模式的挖掘方法,尤其是一種在DTD(Document Type Definition,文檔類型定義)結(jié)構(gòu)約束下,即基于結(jié)構(gòu)約束的可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的挖掘方法。
      背景技術(shù)
      可擴(kuò)展標(biāo)記語(yǔ)言XML已經(jīng)成為Internet上數(shù)據(jù)表示和交換的標(biāo)準(zhǔn),與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)不同,XML數(shù)據(jù)的結(jié)構(gòu)更加復(fù)雜和靈活,適合于表達(dá)Internet上的數(shù)據(jù);但是,XML的查詢執(zhí)行代價(jià)過高,尤其是面對(duì)互聯(lián)網(wǎng)上海量的用戶查詢,這個(gè)問題更為突出;因此,如何有效地提高XML數(shù)據(jù)管理系統(tǒng)的查詢性能,成為數(shù)據(jù)管理領(lǐng)域研究的重要的問題。
      挖掘Internet環(huán)境下海量用戶查詢中的公共的、頻繁的查詢模式,可以有效地提高系統(tǒng)的整體查詢效率。例如,可以將這些頻繁查詢模式的結(jié)果進(jìn)行存儲(chǔ),形成XML物化視圖和語(yǔ)義緩存系統(tǒng),從而提高后續(xù)查詢執(zhí)行的效率。
      由于XML查詢語(yǔ)言的結(jié)構(gòu)復(fù)雜(例如嵌套、遞歸等),不同于普通的頻繁模式挖掘方法和技術(shù),挖掘XML頻繁查詢模式還面臨許多困難。
      文獻(xiàn)[Efficiently Mining Frequent Trees in a Forest,SIGKDD 2002]提出了在大量的樹集合中挖掘頻繁子樹的方法。給出了樹的擴(kuò)展子樹的概念,并且使用特殊的數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)化了候選模式支持度的計(jì)算,但是該方法是針對(duì)一般樹的概念提出的挖掘方法,XML查詢樹與普通樹的概念還有很大差別,因此不能直接應(yīng)用于XML查詢樹的挖掘。
      文獻(xiàn)[Efficient Mining of XML Query Patterns for Caching,VLDB 2003]提出了通過挖掘XML頻繁查詢模式建立語(yǔ)義緩存來(lái)提高XML系統(tǒng)的查詢效率的思想。與本專利方法不同的是該方法將多XML查詢進(jìn)行合并得到全局的查詢樹,利用全局的查詢樹指導(dǎo)頻繁模式挖掘過程中候選模式的生成,由于查詢樹的差異很大(即使基于相同DTD的各個(gè)查詢差異也很大),所以全局查詢樹的規(guī)模有可能會(huì)非常大,影響執(zhí)行的效率。
      從上面的分析可以看出,現(xiàn)有的對(duì)于XML的頻繁查詢模式的挖掘過程需要進(jìn)行代價(jià)很高的候選頻繁模式的生成和查詢包含或相等的判定;在生成候選模式過程中產(chǎn)生了大量的冗余,成為本技術(shù)領(lǐng)域的一個(gè)急待解決的問題。
      下面首先介紹本發(fā)明的一些相關(guān)技術(shù)。
      1.樹的編碼。對(duì)于樹的編碼時(shí),按照深度優(yōu)先進(jìn)行編碼,當(dāng)遇到新的節(jié)點(diǎn)時(shí),將節(jié)點(diǎn)標(biāo)號(hào)加入;如果回溯時(shí),每回溯一次,將一個(gè)-1加入編碼。
      如圖2所示,是一個(gè)樹的例子,對(duì)該樹進(jìn)行編碼得到的結(jié)果為1(T)=62-1-145-12-1-1。
      2.節(jié)點(diǎn)的范圍區(qū)間值a)令T(n1)表示以節(jié)點(diǎn)n1為根的樹,并且令nr是T(n1)的最右葉節(jié)點(diǎn),則節(jié)點(diǎn)n1的范圍區(qū)間值用區(qū)間[l,r]表示,其中l(wèi)≤r;b)例如節(jié)點(diǎn)0的范圍區(qū)間值s=
      。
      3.子樹的編碼區(qū)間表子樹的編碼區(qū)間表是一個(gè)三元組(tId,mLabel,sNode)序列,其中的tId表示該子樹所屬的查詢樹的ID,mLabel表示該子樹結(jié)點(diǎn)(最右葉節(jié)點(diǎn)除外)在查詢樹上對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)記,sNode表示該子樹最右葉節(jié)點(diǎn)的scope值。
      4.擴(kuò)展子樹編碼區(qū)間表的自連接操作由前綴相同(k子樹的前k-1個(gè)節(jié)點(diǎn)編碼相同)的頻繁的k子樹T1、T2生成頻繁的k+1子樹;令節(jié)點(diǎn)x、y的范圍區(qū)間值分別用sx=[lx,rx]和sy=[ly,ry]表示,若T1、T2的編碼區(qū)間表中分別有這樣的元組(tx,mx,sx)、(ty,my,sy),并且tx=ty,mx=my,則1)如果lx≤ly并且rx≥ry,則y節(jié)點(diǎn)作為x節(jié)點(diǎn)的子節(jié)點(diǎn)加入到x節(jié)點(diǎn)所在的子樹中,在新生成的子樹中加入元組(ty,my∪lx,sy)2)如果rx<ly.,則y節(jié)點(diǎn)作為x節(jié)點(diǎn)的兄弟節(jié)點(diǎn)加入到x節(jié)點(diǎn)所在的子樹中,在新生成的子樹中加入元組(ty,my∪lx,sy)。
      5.XML查詢模式擴(kuò)展樹XML查詢是通過XPath表達(dá)式表示的,而XPath可以圖形化的表示成模式樹。用擴(kuò)展樹可以表達(dá)XPath。
      如果滿足下面的條件i).Ns_Nii).b=(nx,ny)∈Bs當(dāng)且僅當(dāng)在T中nx≤1ny,則一個(gè)樹S=(Ns,Bs)是XML查詢模式樹T=(N,B)的擴(kuò)展樹如圖3所示,是一個(gè)合法的XML查詢模式擴(kuò)展樹。
      6.DTD結(jié)構(gòu)約束在DTD定義中,元素和其屬性或子元素之間有四種結(jié)構(gòu)約束關(guān)系,分別用符號(hào)A、B、C、D表示。

      7.DTD標(biāo)注圖對(duì)于圖G=(V,E),V是DTD中定義的元素或?qū)傩缘挠邢藜?,每一個(gè)邊e上標(biāo)記有DTD結(jié)構(gòu)約束關(guān)系。DTD標(biāo)注圖表示給定的DTD的相鄰節(jié)點(diǎn)(元素或?qū)傩?之間的結(jié)構(gòu)約束關(guān)系,當(dāng)解析DTD的時(shí)候可以建立。
      解析DTD,從根元素開始分析每一個(gè)元素的類型,每當(dāng)遇到一個(gè)新的元素或?qū)傩跃驮贒TD標(biāo)注圖中添加一個(gè)節(jié)點(diǎn),并在該節(jié)點(diǎn)和其父元素之間連一條有向邊(由父元素指向該節(jié)點(diǎn),根節(jié)點(diǎn)只有出邊),邊的標(biāo)記即DTD元素類型定義中對(duì)應(yīng)的結(jié)構(gòu)約束關(guān)系的取值。解析過程結(jié)束時(shí)就建立了一個(gè)DTD標(biāo)注圖。
      如果將DTD標(biāo)注圖用鄰接矩陣M存儲(chǔ),M[i][j]表示節(jié)點(diǎn)之間的約束關(guān)系,根據(jù)M以及約束關(guān)系的合并規(guī)則,可以求出任意兩個(gè)節(jié)點(diǎn)之間的約束關(guān)系,該結(jié)構(gòu)約束關(guān)系可以用另一個(gè)矩陣M’(結(jié)構(gòu)約束矩陣)表示。
      8.XML查詢模式樹的頻繁子樹挖掘?qū)τ诮o定的XML查詢模式樹集合和用戶指定的最小支持度,頻繁的擴(kuò)展子樹挖掘問題是從查詢模式樹中找出所有的滿足用戶條件的頻繁的擴(kuò)展子樹。
      例如圖4左邊是兩個(gè)查詢模式擴(kuò)展樹,用戶條件是支持度等于3,找出在上面兩個(gè)查詢中出現(xiàn)次數(shù)大于3的XML查詢模式擴(kuò)展子樹;圖4的右邊即是一棵滿足條件的擴(kuò)展子樹。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題在于,提出一種結(jié)構(gòu)約束下快速獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,它能夠降低生成候選頻繁模式和查詢包含或相等的判定的執(zhí)行代價(jià),減少生成候選模式過程中產(chǎn)生的冗余。
      本發(fā)明的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,包括如下步驟步驟一、處理XML查詢遵從的DTD,生成DTD結(jié)構(gòu)約束矩陣;步驟二、將XML查詢模式樹轉(zhuǎn)換成用于挖掘頻繁模式的XML查詢模式擴(kuò)展樹;步驟三、對(duì)XML查詢模式擴(kuò)展樹編碼并分析其編碼,計(jì)算1階擴(kuò)展子樹中大于或等于用戶的最小支持度的頻繁擴(kuò)展子樹;
      步驟四、從頻繁的1階擴(kuò)展子樹出發(fā),對(duì)樹進(jìn)行滿足步驟一得到的結(jié)構(gòu)約束矩陣的擴(kuò)展,直到獲得所有的頻繁查詢模式。
      本發(fā)明提出的方法,能夠自動(dòng)、快速挖掘出海量XML查詢中的頻繁查詢模式,可以直接應(yīng)用于XML數(shù)據(jù)集成與交換系統(tǒng),有效提高XML查詢執(zhí)行的性能;這種基于DTD結(jié)構(gòu)約束的XML頻繁查詢模式的快速挖掘方法,可以深層挖掘XML查詢的規(guī)律,提高了挖掘效率??梢灾苯佑糜诨ヂ?lián)網(wǎng)環(huán)境下的大規(guī)模語(yǔ)義緩存系統(tǒng)和XML數(shù)據(jù)管理系統(tǒng)來(lái)提高互聯(lián)網(wǎng)環(huán)境下的XML查詢效率,具有廣闊的應(yīng)用前景。


      圖1是本發(fā)明的整體步驟流程圖;圖2是一個(gè)XML查詢模式擴(kuò)展樹的示例;圖3所示是圖2中樹的一個(gè)合法的XML查詢模式擴(kuò)展子樹;圖4是給定XML查詢模式樹集合和最小支持度時(shí)找到的一個(gè)XML查詢模式擴(kuò)展子樹的示意圖;圖5是查詢遵從的DTD及解析得到的DTD標(biāo)注圖;圖6是一個(gè)XPath查詢的模式樹對(duì)應(yīng)的查詢模式擴(kuò)展樹;圖7是包括查詢樹T0的查詢集合,基于圖5所示的DTD;圖8是包括查詢樹T1的查詢集合,基于圖5所示的DTD;圖9是包括查詢樹T2的查詢集合,基于圖5所示的DTD。
      具體實(shí)施例方式
      可擴(kuò)展標(biāo)記語(yǔ)言XML已經(jīng)成為Internet上數(shù)據(jù)表示和交換的標(biāo)準(zhǔn),越來(lái)越多的應(yīng)用系統(tǒng)采用XML作為標(biāo)準(zhǔn)格式來(lái)交換數(shù)據(jù)。但是XML的查詢執(zhí)行代價(jià)過高,尤其是面對(duì)互聯(lián)網(wǎng)上海量的用戶查詢,這個(gè)問題更為突出。
      本發(fā)明是針對(duì)XML數(shù)據(jù)管理系統(tǒng)和Web環(huán)境下基于XML的數(shù)據(jù)交換過程中,XML查詢效率低的問題而提出的一種快速挖掘頻繁查詢模式的技術(shù)。
      基于上述的基本概念,本發(fā)明有效地利用XML數(shù)據(jù)原有的結(jié)構(gòu)信息,即DTD中的結(jié)構(gòu)約束,快速挖掘出海量XML查詢中的公共頻繁查詢模式。
      參見圖1,本發(fā)明的方法首先將用戶查詢遵從的DTD轉(zhuǎn)換成DTD標(biāo)注圖,并用鄰接矩陣存儲(chǔ),矩陣的元素表示了DTD標(biāo)注圖中元素與其子元素和元素與其屬性之間的結(jié)構(gòu)約束關(guān)系;然后,本發(fā)明設(shè)計(jì)了一組約束運(yùn)算規(guī)則,利用該規(guī)則,求出鄰接矩陣表示的DTD標(biāo)注圖中任意兩節(jié)點(diǎn)之間的結(jié)構(gòu)約束關(guān)系,形成結(jié)構(gòu)約束矩陣;再利用結(jié)構(gòu)約束矩陣完成XML頻繁查詢模式的挖掘。
      利用結(jié)構(gòu)約束矩陣,在挖掘XML頻繁查詢模式的過程中,有效的減少挖掘過程占用的空間,根據(jù)DTD結(jié)構(gòu)約束對(duì)XML查詢表達(dá)式的影響,刪除大量冗余的中間結(jié)果,可以大大減少候選頻繁模式的產(chǎn)生,并且保證符合條件的結(jié)果的完備性。
      具體來(lái)說(shuō),本發(fā)明的技術(shù)方案包括如下步驟步驟一、處理XML查詢遵從的DTD,生成DTD結(jié)構(gòu)約束矩陣;首先,解析DTD,轉(zhuǎn)化成DTD標(biāo)注圖;給定一個(gè)用戶查詢需要遵從的DTD,可以建立相應(yīng)的DTD標(biāo)注圖。上述的相關(guān)技術(shù)7中已經(jīng)介紹了從DTD出發(fā),建立相應(yīng)的DTD標(biāo)注圖的方法。如圖5所示是DTD標(biāo)注圖的例子。圖5中左側(cè)是DTD規(guī)則,右側(cè)是相應(yīng)的DTD標(biāo)注圖,用鄰接矩陣M存儲(chǔ)DTD標(biāo)注圖,記錄各相鄰節(jié)點(diǎn)之間對(duì)應(yīng)的約束關(guān)系;如圖5所示的DTD標(biāo)注圖的鄰接矩陣如下所示M[i][j]非空的元素表示節(jié)點(diǎn)i和節(jié)點(diǎn)j之間在DTD標(biāo)注圖上有邊相連,其值是對(duì)應(yīng)的約束關(guān)系;否則表示沒有邊相連。
      其中,節(jié)點(diǎn)3分別和節(jié)點(diǎn)1、2、4相鄰接,節(jié)點(diǎn)1分別和節(jié)點(diǎn)2、4相鄰接,節(jié)點(diǎn)1、4分別和節(jié)點(diǎn)2相鄰接,構(gòu)成各自對(duì)應(yīng)的路徑;其中的節(jié)點(diǎn)2下面還與節(jié)點(diǎn)6相鄰接;節(jié)點(diǎn)4還和節(jié)點(diǎn)5相鄰接,構(gòu)成節(jié)點(diǎn)4下的路徑。

      然后根據(jù)結(jié)構(gòu)約束關(guān)系的合并操作規(guī)則,計(jì)算出DTD標(biāo)注圖中所有的節(jié)點(diǎn)之間的約束關(guān)系,并用結(jié)構(gòu)約束矩陣M’保存結(jié)果。
      為了計(jì)算所有節(jié)點(diǎn)之間的約束關(guān)系,定義結(jié)構(gòu)約束關(guān)系合并操作規(guī)則如下Fx,y=x_y,x,y∈{A,B,C,D}如下表所示,枚舉了全部的規(guī)則。

      根據(jù)規(guī)則F計(jì)算DTD標(biāo)注圖中任意兩個(gè)節(jié)點(diǎn)之間的約束關(guān)系,計(jì)算步驟如下

      通過以上的步驟,就可以計(jì)算出表征任意兩個(gè)元素之間的約束關(guān)系的結(jié)構(gòu)約束矩陣M’。
      對(duì)鄰接矩陣M利用上述步驟,生成DTD結(jié)構(gòu)約束矩陣。圖6所示的DTD的結(jié)構(gòu)約束矩陣M’,如下所示

      步驟二、將模式樹轉(zhuǎn)換成查詢模式擴(kuò)展樹。
      首先,從XML查詢模式樹的根節(jié)點(diǎn)出發(fā),按照深度優(yōu)先順序遍歷樹;在隨后的遍歷過程中,每當(dāng)遍歷到模式樹中的一個(gè)節(jié)點(diǎn)時(shí),如果節(jié)點(diǎn)的標(biāo)記不是“*”,那么在查詢模式擴(kuò)展樹中創(chuàng)建該節(jié)點(diǎn),節(jié)點(diǎn)標(biāo)記不變;否則在查詢模式擴(kuò)展樹中不創(chuàng)建節(jié)點(diǎn),并遍歷“*”節(jié)點(diǎn)的子節(jié)點(diǎn),直到遍歷到的節(jié)點(diǎn)不是“*”節(jié)點(diǎn)。在標(biāo)記是“*”的節(jié)點(diǎn)的父節(jié)點(diǎn)向剛剛遍歷的不是“*”的節(jié)點(diǎn)連一條有向邊作為擴(kuò)展樹的一個(gè)樹枝;當(dāng)遍歷到模式樹中的邊時(shí),無(wú)論該邊表示的是祖先關(guān)系還是父子關(guān)系,在擴(kuò)展樹中都用表示父子關(guān)系的樹邊代替。因此,從XML查詢模式樹生成的查詢模式擴(kuò)展樹的節(jié)點(diǎn)集合是XML查詢模式樹節(jié)點(diǎn)集合的子集,并且擴(kuò)展樹中的邊連接的兩個(gè)節(jié)點(diǎn)保留了模式樹中節(jié)點(diǎn)之間的拓?fù)潢P(guān)系。
      如圖6右側(cè)所示是XPath查詢a//*[b//d][c]的模式樹轉(zhuǎn)換成的查詢模式擴(kuò)展樹。
      利用XML查詢模式擴(kuò)展樹的定義由模式樹構(gòu)造出XML查詢模式擴(kuò)展樹。
      步驟三、對(duì)XML查詢模式擴(kuò)展樹編碼,分析編碼后的查詢模式擴(kuò)展樹;首先,將XML查詢模式擴(kuò)展樹進(jìn)行編碼;即按照深度優(yōu)先順序,將所有查詢模式擴(kuò)展樹節(jié)點(diǎn)進(jìn)行編碼,并保存每個(gè)節(jié)點(diǎn)的范圍區(qū)間值;然后,分析所有的編碼后的查詢模式擴(kuò)展樹,統(tǒng)計(jì)1階擴(kuò)展子樹中大于或等于用戶的最小支持度的擴(kuò)展子樹,擴(kuò)展子樹用子樹的編碼區(qū)間表表示。統(tǒng)計(jì)其編碼區(qū)間表的長(zhǎng)度,找出頻繁的1階擴(kuò)展子樹(擴(kuò)展子樹中僅有一個(gè)節(jié)點(diǎn))集合。如果擴(kuò)展子樹編碼區(qū)間表的長(zhǎng)度大于或等于用戶的最小支持度,那么該擴(kuò)展子樹是頻繁的1階擴(kuò)展子樹;步驟四、從頻繁的1階擴(kuò)展子樹開始,對(duì)樹進(jìn)行滿足步驟一得到的結(jié)構(gòu)約束矩陣的擴(kuò)展,直到獲得所有的頻繁查詢模式。
      根據(jù)頻繁模式挖掘算法的反單調(diào)的性質(zhì),從頻繁1階擴(kuò)展子樹開始不斷地對(duì)樹進(jìn)行擴(kuò)展,生成k階擴(kuò)展子樹(k>1)首先,對(duì)(k-1)階頻繁的擴(kuò)展子樹集合執(zhí)行自連接操作,即進(jìn)行最右枝擴(kuò)展操作;然后,在生成候選擴(kuò)展子樹之前,先判斷是否滿足矩陣M’中的約束的語(yǔ)義關(guān)系;如果滿足才將樹擴(kuò)展,然后計(jì)算候選擴(kuò)展子樹的編碼區(qū)間表,統(tǒng)計(jì)編碼區(qū)間表的長(zhǎng)度判斷該候選擴(kuò)展子樹是否頻繁,如果頻繁則加入到頻繁k階擴(kuò)展子樹集合中;如果擴(kuò)展樹的操作不滿足M’中的結(jié)構(gòu)約束關(guān)系,就可以不用生成該候選。
      循環(huán)處理,直到獲得所有的頻繁查詢模式。
      DTD結(jié)構(gòu)約束下的XML查詢模式樹的頻繁子樹的挖掘,從k階頻繁子樹生成k+1階子樹候選時(shí),利用DTD的元素之間的結(jié)構(gòu)約束關(guān)系指導(dǎo)擴(kuò)展子樹的生成。如果候選子樹不滿足DTD結(jié)構(gòu)約束,則不用產(chǎn)生該候選,加快了挖掘的過程。
      下面通過-個(gè)具體的實(shí)施例進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。
      如圖7-9所示是一個(gè)包括查詢樹T0,T1,T2查詢集合,并且所有的查詢都是基于圖5所示的DTD。假設(shè)用戶指定的最小支持度是3,目標(biāo)是挖掘出滿足條件的頻繁的查詢擴(kuò)展子樹。
      依據(jù)本發(fā)明提出的基于DTD約束的XML頻繁查詢模式挖掘方法首先,處理用戶遵從的DTD,解析DTD,生成DTD標(biāo)注圖,將DTD標(biāo)注圖用鄰接矩陣存儲(chǔ),根據(jù)結(jié)構(gòu)約束關(guān)系合并操作規(guī)則,求出結(jié)構(gòu)約束矩陣。
      其次,將XML查詢模式樹轉(zhuǎn)換成查詢模式擴(kuò)展樹,對(duì)XML查詢模式擴(kuò)展樹編碼,分析編碼后的查詢模式擴(kuò)展樹集合,獲得頻繁的1階擴(kuò)展子樹集合。用子樹的編碼區(qū)間表表示每一個(gè)子樹,統(tǒng)計(jì)子樹的編碼區(qū)間表的長(zhǎng)度,比如對(duì)于只有節(jié)點(diǎn)1的擴(kuò)展子樹的編碼區(qū)間表,即節(jié)點(diǎn)1的范圍區(qū)間值是T0,0,
      T1,1,[1,4]
      T2,0,
      同樣,只有節(jié)點(diǎn)2的擴(kuò)展子樹的編碼區(qū)間表,即節(jié)點(diǎn)2的范圍區(qū)間值是T0,1,[1,2]T0,4,[4,4]T1,5,[5,6]T2,3,[3,4]只有節(jié)點(diǎn)3的擴(kuò)展子樹的編碼區(qū)間表,即節(jié)點(diǎn)3的范圍區(qū)間值是T1,0,
      同理,根據(jù)樹的編碼得到其余節(jié)點(diǎn)的范圍區(qū)間值。因?yàn)闃?biāo)記為3的節(jié)點(diǎn)在查詢樹中僅出現(xiàn)了一次,不滿足用戶給定的支持度條件,而其它節(jié)點(diǎn)都滿足,所以得到的頻繁的1階擴(kuò)展子樹集合是{1,2,4,5,6};再次,求頻繁的2階擴(kuò)展子樹需要對(duì)頻繁1階擴(kuò)展子樹進(jìn)行擴(kuò)展,在擴(kuò)展之前先判斷是否滿足結(jié)構(gòu)約束矩陣,如果不滿足DTD中的結(jié)構(gòu)約束關(guān)系就不生成該候選。如果滿足DTD的約束關(guān)系,進(jìn)一步計(jì)算擴(kuò)展子樹的編碼區(qū)間表,并統(tǒng)計(jì)其長(zhǎng)度。
      計(jì)算頻繁2階擴(kuò)展子樹的時(shí)候,比如對(duì)節(jié)點(diǎn)1擴(kuò)展,可以在子樹上增加節(jié)點(diǎn),生成候選的2階擴(kuò)展子樹,根據(jù)DTD上的約束關(guān)系,可以生成如下的子樹

      并且,各子樹的編碼區(qū)間表滿足最小支持度的要求,因此上面的候選都是頻繁的。而比如由子樹4進(jìn)行擴(kuò)展時(shí)如下所示

      對(duì)子樹進(jìn)行擴(kuò)展時(shí),如果不符合DTD中結(jié)構(gòu)的約束關(guān)系,根據(jù)DTD約束對(duì)基于DTD的XPath查詢表達(dá)式的影響,刪除冗余的中間結(jié)果,在上表中,不符合DTD結(jié)構(gòu)約束(表中第1、3個(gè)擴(kuò)展子樹)的兩種情況下就不用對(duì)節(jié)點(diǎn)4進(jìn)行擴(kuò)展,減少了候選頻繁模式的產(chǎn)生,從而減少了子樹連接進(jìn)行的計(jì)算過程。
      對(duì)擴(kuò)展時(shí)符合DTD結(jié)構(gòu)約束的擴(kuò)展候選子樹再計(jì)算其編碼區(qū)間表,其中表中第2、5個(gè)擴(kuò)展子樹編碼區(qū)間表的長(zhǎng)度分別是2和1,不滿足支持度的要求。所以上表中僅有一棵候選子樹是頻繁的。用同樣的方法,最后得到的頻繁2階擴(kuò)展子樹除了上面的5個(gè)以外,還包括

      最后,由頻繁k階子樹生成頻繁的k+1階子樹,依次循環(huán),直到?jīng)]有候選生成,挖掘過程結(jié)束。
      生成的頻繁3階擴(kuò)展子樹是

      生成的頻繁4階擴(kuò)展子樹是 不再有新的候選生成,挖掘過程結(jié)束。
      輸出全部的頻繁k階子樹(1≤k≤n),這些頻繁k階子樹即被挖掘出的頻繁查詢模式。
      最后所應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
      權(quán)利要求
      1.一種結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于包括如下步驟步驟一、處理XML查詢遵從的DTD,生成DTD結(jié)構(gòu)約束矩陣;步驟二、將XML查詢模式樹轉(zhuǎn)換成用于挖掘頻繁模式的XML查詢模式擴(kuò)展樹;步驟三、對(duì)XML查詢模式擴(kuò)展樹編碼并分析其編碼,計(jì)算1階擴(kuò)展子樹中大于或等于用戶的最小支持度的頻繁擴(kuò)展子樹;步驟四、從頻繁的1階擴(kuò)展子樹出發(fā),對(duì)樹進(jìn)行滿足步驟一得到的結(jié)構(gòu)約束矩陣的擴(kuò)展,直到獲得所有的頻繁查詢模式。
      2.根據(jù)權(quán)利要求1所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的步驟一,包括如下步驟步驟10、解析DTD,轉(zhuǎn)化成DTD標(biāo)注圖;步驟11、用鄰接矩陣的形式存儲(chǔ)DTD標(biāo)注圖,該鄰接矩陣用于記錄DTD標(biāo)注圖中各相鄰節(jié)點(diǎn)之間對(duì)應(yīng)的約束關(guān)系;步驟12、根據(jù)結(jié)構(gòu)約束關(guān)系的合并操作規(guī)則,生成結(jié)構(gòu)約束矩陣,用于存儲(chǔ)DTD標(biāo)注圖中任意兩個(gè)節(jié)點(diǎn)之間的約束關(guān)系。
      3.根據(jù)權(quán)利要求2所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的結(jié)構(gòu)約束關(guān)系合并操作規(guī)則如下Fx,y=x_y,x,y∈{A,B,C,D}
      所述的A、B、C和D為DTD定義下的結(jié)構(gòu)關(guān)系,_為約束合并運(yùn)算符。
      4.根據(jù)權(quán)利要求3所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的步驟12,包括如下步驟步驟120、結(jié)構(gòu)約束矩陣初始化將鄰接矩陣的值賦給結(jié)構(gòu)約束矩陣,其中,鄰接矩陣為一n×n的矩陣,n的值是DTD標(biāo)注圖中節(jié)點(diǎn)個(gè)數(shù),結(jié)構(gòu)約束矩陣為與鄰接矩陣具有相同n×n階數(shù)的矩陣;步驟121、對(duì)結(jié)構(gòu)約束矩陣中的任意一個(gè)元素,依次計(jì)算增加中間節(jié)點(diǎn)的所有路徑,并按照如下的公式合并其上的約束關(guān)系Fx,y=M’[i,k]_M’[k,j];得到M’相應(yīng)的值M’[i,j]=Fx,y;其中,M’為結(jié)構(gòu)約束矩陣,M’[i][j]為M’中的元素,i、j分別是M’中的行、列數(shù)值,其取值范圍是1≤i≤n,1≤j≤n;k為節(jié)點(diǎn)序號(hào),且1≤k≤n,F(xiàn)x,y為約束關(guān)系;步驟122、重復(fù)執(zhí)行步驟121,直到結(jié)構(gòu)約束矩陣所有的元素都處理完畢。
      5.根據(jù)權(quán)利要求1所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的步驟二,包括如下步驟步驟20、從XML查詢模式樹的根節(jié)點(diǎn)出發(fā),按照深度優(yōu)先順序遍歷所述的XML查詢模式樹;步驟21、每當(dāng)遍歷到所述的XML查詢模式樹中的一個(gè)節(jié)點(diǎn)時(shí),如果節(jié)點(diǎn)的標(biāo)記不是“*”,那么在查詢模式擴(kuò)展樹中創(chuàng)建該節(jié)點(diǎn),節(jié)點(diǎn)標(biāo)記不變;否則在查詢模式擴(kuò)展樹中不創(chuàng)建節(jié)點(diǎn),并遍歷“*”節(jié)點(diǎn)的子節(jié)點(diǎn),直到遍歷到的節(jié)點(diǎn)不是“*”節(jié)點(diǎn);在標(biāo)記是“*”的節(jié)點(diǎn)的父節(jié)點(diǎn)向剛剛遍歷的不是“*”的節(jié)點(diǎn)連一條有向邊作為擴(kuò)展樹的一個(gè)樹枝;當(dāng)遍歷到所述的XML查詢模式樹中的邊時(shí),無(wú)論該邊表示的是祖先關(guān)系還是父子關(guān)系,在擴(kuò)展樹中都用表示父子關(guān)系的樹邊代替,生成的XML查詢模式擴(kuò)展樹。
      6.根據(jù)權(quán)利要求1所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的步驟三,包括如下步驟步驟30、將XML查詢模式擴(kuò)展樹進(jìn)行編碼,并保存每個(gè)節(jié)點(diǎn)的范圍區(qū)間值;步驟31、在所有編碼后的XML查詢模式擴(kuò)展樹中,將單個(gè)頂點(diǎn)的子樹集合作為候選1階擴(kuò)展子樹集合,對(duì)每個(gè)1階擴(kuò)展子樹用編碼區(qū)間表表示;步驟32、統(tǒng)計(jì)各子樹編碼區(qū)間表的長(zhǎng)度,如果長(zhǎng)度大于或等于用戶的最小支持度,則對(duì)應(yīng)的1階擴(kuò)展子樹為頻繁的1階擴(kuò)展子樹。
      7.根據(jù)權(quán)利要求1所述的結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,其特征在于所述的步驟四,包括如下步驟步驟40、對(duì)頻繁的k-1階擴(kuò)展子樹集合執(zhí)行自連接操作,即進(jìn)行最右枝擴(kuò)展操作;步驟41、在生成候選擴(kuò)展子樹之前,先判斷是否滿足約束關(guān)系矩陣中約束的語(yǔ)義關(guān)系;如果滿足才將樹擴(kuò)展,然后計(jì)算候選擴(kuò)展子樹的編碼區(qū)間表;步驟42、統(tǒng)計(jì)編碼區(qū)間表的長(zhǎng)度判斷該候選擴(kuò)展子樹是否頻繁,如果頻繁則加入到頻繁k階擴(kuò)展子樹集合中;如果樹的擴(kuò)展操作不滿足約束關(guān)系矩陣中的結(jié)構(gòu)約束關(guān)系,就可以不用生成該候選;步驟43、循環(huán)處理,直到?jīng)]有新的滿足條件的候選擴(kuò)展子樹產(chǎn)生。步驟44、輸出全部的頻繁k階子樹,這些頻繁k階子樹即被挖掘出的頻繁查詢模式;
      全文摘要
      本發(fā)明公開了一種結(jié)構(gòu)約束下獲得可擴(kuò)展標(biāo)記語(yǔ)言頻繁查詢模式的方法,包括處理XML查詢遵從的DTD,生成結(jié)構(gòu)約束矩陣;將XML查詢模式樹轉(zhuǎn)換成用于挖掘頻繁模式的XML查詢模式擴(kuò)展樹;在XML查詢模式擴(kuò)展樹集合中計(jì)算頻繁1階擴(kuò)展子樹;從頻繁1階擴(kuò)展子樹出發(fā),對(duì)子樹進(jìn)行滿足結(jié)構(gòu)約束矩陣的擴(kuò)展,直到獲得所有的頻繁查詢模式。本發(fā)明提出的結(jié)構(gòu)約束下XML頻繁查詢模式的快速發(fā)現(xiàn)方法,能夠自動(dòng)、快速挖掘出海量XML查詢中的頻繁查詢模式,可以直接應(yīng)用于XML數(shù)據(jù)集成與交換系統(tǒng),有效提高XML查詢執(zhí)行的性能。
      文檔編號(hào)G06F17/30GK1707474SQ20041004652
      公開日2005年12月14日 申請(qǐng)日期2004年6月8日 優(yōu)先權(quán)日2004年6月8日
      發(fā)明者劉云峰, 楊冬青, 唐世渭, 王騰蛟, 高軍 申請(qǐng)人:北京大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1