一種數據空間的關聯查詢方法
【專利摘要】本發(fā)明涉及數據空間的關聯查詢領域,尤其涉及一種數據空間的關聯查詢方法,包括:使用關系模式表示第一節(jié)點集和邊集;將關聯查詢表達式轉化為相應代數操作,查詢處理模塊執(zhí)行關鍵字查詢表達式和/或屬性-值對查詢表達式對應的代數操作,并將得到的多個節(jié)點存儲入第二節(jié)點集;選取第二節(jié)點集中的任一節(jié)點和第一節(jié)點集中除第二節(jié)點集外的其他任一節(jié)點構成第一節(jié)點對,計算第一節(jié)點對間的關聯條件,將符合條件的第一節(jié)點對存入第一查詢結果集返回給用戶。本發(fā)明使用傳統的關系代數理論輔助關聯查詢,提高了關聯查詢的效率。
【專利說明】一種數據空間的關聯查詢方法
【技術領域】
[0001] 本發(fā)明涉及數據空間的關聯查詢領域,尤其涉及一種數據空間的關聯查詢方法。
【背景技術】
[0002] 計算機技術和互聯網技術的快速發(fā)展產生了大量異構、動態(tài)的數據,如何從海量 數據中準確、快速的查詢到所需的數據及其關聯,成為一個迫切需要解決的重要問題。目 前,數據空間作為一種新型的數據管理技術,是解決該問題的重要手段。
[0003] 數據空間通常采用極松散結構模型來描述海量、異構、動態(tài)的數據,以便實現 pay-as-you-go (PAYG)模式的數據管理。極松散結構模型沒有嚴格、統一的schema,相對其 他數據模型,能夠更容易且花費更少的代價來描述各種數據及其關聯。
[0004] 極松散結構數據模型通常定義為由節(jié)點和邊組成的圖模型,記為G:= (N,E),其 中N為節(jié)點集(N1,...,Nk},節(jié)點Ni由屬性-值對組成,記為ObE是帶標簽 的邊的集合,邊記為(N iNjA),其中NiNj e Ν,分別表示邊的引出節(jié)點和引入節(jié)點,且i尹j, L表示邊的名稱,且L可為null值。
[0005] 極松散結構數據模型對某數據空間中學術信息的描述如圖1所示,其中,節(jié)點N1, N 2和N3描述作者信息,N4描述論文信息,N5是空節(jié)點。極松散結構數據模型對數據及其聯 系的描述是極松散的,不必表示為特定的schema。例如,不同的節(jié)點可以描述同一類實體, 但它們的屬性列表不要求一致,如節(jié)點N 1, N2均描述作者信息,它們的屬性列表分別為=N1 ={(name, Hua Zhang), (workunit, Guangxi University), (phone,077136…),…}和 N2 = {(name, Ming Li), (scholar field, dataspace), (email, t ji@163. · · ),· · · }。此夕卜, 邊的標簽可為空值(如圖I的節(jié)點N2和節(jié)點N5間的邊標簽)、空節(jié)點等定義,增強了對不 確定信息的描述能力。已經顯示存在于G圖中的關聯(邊)稱為實關聯,如圖1中節(jié)點N 1 和節(jié)點N2之間的邊"Colleague of"為實關聯,表示Hua Zhang和Ming Li是同事關系;相 對應,虛擬關聯(邊)是隱式存在于G圖中,當執(zhí)行一個查詢或者調用一個遠程服務時才生 成的關聯(邊)。如圖1中節(jié)點N 1和節(jié)點N3之間存在虛擬關聯"Colleague of",表示Hua Zhang和 Zhao是同事關系,這是通過查詢時計算節(jié)點間的workunit屬性值是否相同得 到的。
[0006] 目前,極松散結構數據模型的關聯查詢方法的主要思想為:極松散結構數據模型 中節(jié)點間的關聯通過相似度函數來計算,當相似度函數的值達到一個給定的閾值時,則該 節(jié)點間存在關聯(邊),并將關聯信息返回給用戶。然而,目前的方法均將該模型視為簡單 的圖,沒有考慮到極松散結構圖模型的特點,也沒有考慮現有的關系數據庫技術(尤其是 成熟的關系代數理論)對關聯查詢的幫助,因此關聯查詢的效果不是很理想,還難于滿足 用戶的要求。
【發(fā)明內容】
[0007] 針對上述技術問題,本發(fā)明設計開發(fā)了一種數據空間的關聯查詢方法,目的在于 支持pay-as-you-go模式的關聯查詢,S卩:這種關聯查詢是在查詢處理時進行的,而且是漸 進的、動態(tài)的;且能夠使用傳統的關系代數理論輔助關聯查詢,有助于提高關聯查詢的效 率。
[0008] 本發(fā)明提供的技術方案為:
[0009] -種數據空間的關聯查詢方法,應用于包括i個節(jié)點的第一節(jié)點集和j個表示多 個節(jié)點之間關聯的邊集組成的待查詢的數據空間的圖模型中,包括以下步驟:
[0010] 步驟一、使用關系模式表示所述圖模型的第一節(jié)點集和邊集,用關系模式R(Nid, attr,val)描述第一節(jié)點集中的節(jié)點及其屬性-值對,其中,Nid為節(jié)點的標識,attr為屬 性,val為相應的屬性值,用關系模式R' (Nid,Nidi,L)描述邊集(NiNj, L),其中,隊、%分 別表示邊的引出節(jié)點和引入節(jié)點,且i尹j,L表示邊的標簽,Nid和Nidl分別對應Ni和N j 的節(jié)點標識;
[0011] 步驟二、構建支持關聯查詢的查詢處理模塊,該查詢處理模塊包括基本查詢處理 模塊和關聯查詢處理模塊,基本查詢處理模塊包括關鍵字查詢和屬性-值對查詢,基本查 詢處理模塊對用戶的基本查詢表達式進行分析計算,并返回查詢結果:關鍵字查詢的查詢 結果為包含關鍵字的節(jié)點,屬性-值對查詢的查詢結果為滿足屬性-值對查詢條件的節(jié)點; 關聯查詢處理模塊對用戶的關聯查詢表達式進行分析計算,并以節(jié)點對的形式返回實關聯 或虛擬關聯;查詢處理模塊將用戶輸入的關聯查詢表達式轉化為相應關聯計算的代數操 作,所述關聯查詢表達式中包括關鍵字查詢表達式和/或屬性-值對查詢表達式,所述查詢 處理模塊執(zhí)行關鍵字查詢表達式和/或屬性-值對查詢表達式對應的代數操作,并將得到 的多個節(jié)點存儲入第二節(jié)點集;
[0012] 步驟三、計算虛擬關聯:選取所述第二節(jié)點集中的任一節(jié)點和所述第一節(jié)點集中 除第二節(jié)點集外的其他任一節(jié)點構成第一節(jié)點對,計算所述第一節(jié)點對的兩個節(jié)點之間的 所述關聯查詢表達式中指定的關聯條件,判斷所述關聯條件是否大于或等于給定的閾值, 如果所述關聯條件大于或等于給定的閾值,則將所述第一節(jié)點對存入第一查詢結果集;如 果所述關聯條件小于給定的閾值,則重新選取所述第二節(jié)點集中的另一節(jié)點和所述第一節(jié) 點集中除第二節(jié)點集外的其他任一節(jié)點構成新的第一節(jié)點對,重復上述過程,直至遍歷該 第二節(jié)點集中所有的節(jié)點,并將所述第一查詢結果集返回給用戶。
[0013] 優(yōu)選的是,所述的數據空間的關聯查詢方法中,所述指定的關聯條件為所述待查 詢的節(jié)點的某一屬性,以方便根據該屬性計算關聯條件,得到滿足虛擬關聯條件的節(jié)點對。
[0014] 優(yōu)選的是,所述的數據空間的關聯查詢方法中,還包括:步驟四、計算實關聯:查 詢與所述第二節(jié)點集中的任一節(jié)點有所述關聯查詢表達式中指定的關聯條件的第一節(jié)點 集中的節(jié)點,構成第二節(jié)點對,并將所述第二節(jié)點對存入第二查詢結果集,再將所述第二查 詢結果集返回給用戶。
[0015] 優(yōu)選的是,所述的數據空間的關聯查詢方法中,所述指定的關聯條件為帶標簽的 邊,得到滿足實關聯條件的節(jié)點對。
[0016] 優(yōu)選的是,所述的數據空間的關聯查詢方法中,所述關聯查詢表達式如下:eXp : =Edge ([lable],[ Θ (I) ]) expl,其中,expl為關鍵字查詢表達式和/或屬性-值對查詢表 達式,label為邊的標簽,θ (1)表示指定的關聯條件,G為待查詢的數據空間的圖模型,查 詢結果 exp (G) := (NiINiGGANjeexpl(G) Λ ((Ni Nj lable) e Eor (Ni Nj) e Θ ⑴)}, 艮P exp (G)返回和expl查詢結果expl (G)有l(wèi)abel邊相連或滿足Θ⑴關聯條件的節(jié)點集, 可以同時計算數據空間中節(jié)點之間的虛擬關聯和實關聯。
[0017] 優(yōu)選的是,所述的數據空間的關聯查詢方法中,給定一個關聯查詢表達式exp := Edge([lable],[Θ (l)])expl,假設查詢結果expl(G)返回的第二節(jié)點集對應關系模式R1, 則關聯查詢結果exp (G)可通過如下代數操作得到:當exp := Edge (Iable) expl時,計算實 關I
【權利要求】
1. 一種數據空間的關聯查詢方法,應用于包括i個節(jié)點的第一節(jié)點集和j個表示多個 節(jié)點之間關聯的邊集組成的待查詢的數據空間的圖模型中,包括以下步驟: 步驟一、使用關系模式表示所述圖模型的第一節(jié)點集和邊集,用關系模式R(Nid,attr, val)描述第一節(jié)點集中的節(jié)點及其屬性-值對,其中,Nid為節(jié)點的標識,attr為屬性,val 為相應的屬性值,用關系模式R' (Nid,Nidi,L)描述邊集(NiNj, L),其中,隊、Nj分別表示 邊的引出節(jié)點和引入節(jié)點,且i尹j,L表示邊的標簽,Nid和Nidl分別對應Ni和Nj的節(jié)點 標識; 步驟二、構建支持關聯查詢的查詢處理模塊,該查詢處理模塊包括基本查詢處理模塊 和關聯查詢處理模塊,基本查詢處理模塊包括關鍵字查詢和屬性-值對查詢,基本查詢處 理模塊對用戶的基本查詢表達式進行分析計算,并返回查詢結果:關鍵字查詢的查詢結果 為包含關鍵字的節(jié)點,屬性-值對查詢的查詢結果為滿足屬性-值對查詢條件的節(jié)點;關聯 查詢處理模塊對用戶的關聯查詢表達式進行分析計算,并以節(jié)點對的形式返回實關聯或虛 擬關聯;查詢處理模塊將用戶輸入的關聯查詢表達式轉化為相應關聯計算的代數操作,所 述關聯查詢表達式中包括關鍵字查詢表達式和/或屬性-值對查詢表達式,所述查詢處理 模塊執(zhí)行關鍵字查詢表達式和/或屬性_值對查詢表達式對應的代數操作,并將得到的多 個節(jié)點存儲入第二節(jié)點集; 步驟三、計算虛擬關聯:選取所述第二節(jié)點集中的任一節(jié)點和所述第一節(jié)點集中除第 二節(jié)點集外的其他任一節(jié)點構成第一節(jié)點對,計算所述第一節(jié)點對的兩個節(jié)點之間的所述 關聯查詢表達式中指定的關聯條件,判斷所述關聯條件是否大于或等于給定的閾值,如果 所述關聯條件大于或等于給定的閾值,則將所述第一節(jié)點對存入第一查詢結果集;如果所 述關聯條件小于給定的閾值,則重新選取所述第二節(jié)點集中的另一節(jié)點和所述第一節(jié)點集 中除第二節(jié)點集外的其他任一節(jié)點構成新的第一節(jié)點對,重復上述過程,直至遍歷該第二 節(jié)點集中所有的節(jié)點,并將所述第一查詢結果集返回給用戶。
2. 如權利要求1所述的數據空間的關聯查詢方法,其特征在于,所述指定的關聯條件 為所述待查詢的節(jié)點的某一屬性。
3. 如權利要求1所述的數據空間的關聯查詢方法,其特征在于,還包括: 步驟四、計算實關聯:查詢與所述第二節(jié)點集中的任一節(jié)點有所述關聯查詢表達式中 指定的關聯條件的第一節(jié)點集中的節(jié)點,構成第二節(jié)點對,并將所述第二節(jié)點對存入第二 查詢結果集,再將所述第二查詢結果集返回給用戶。
4. 如權利要求3所述的數據空間的關聯查詢方法,其特征在于,所述指定的關聯條件 為帶標簽的邊。
5. 如權利要求2或4所述的數據空間的關聯查詢方法,其特征在于,所述關聯查詢表 達式如下:exp : = Edge ([Iable],[ 0 (I) ]) expl,其中,expl為關鍵字查詢表達式和/或 屬性-值對查詢表達式,label為邊的標簽,0 (1)表示指定的關聯條件,G為待查詢的數 據空間的圖模型,查詢結果61?(6):={隊|隊£6~%£以111(6)~((^」1&1316)££〇1'(隊 Nj) G 0 (1) )},即exp (G)返回和expl查詢結果expl (G)有l(wèi)abel邊相連或滿足0⑴關 聯條件的節(jié)點集。
6. 如權利要求5所述的數據空間的關聯查詢方法,其特征在于,給定一個關聯查詢表 達式exp := Edge ([lable],[ 0 (I)]) expl,假設查詢結果expl (G)返回的第二節(jié)點集對應 關系模式R1,則關聯查詢結果exp (G)可通過如下代數操作得到:當exp : = Edge (Iable)
擇運算符,Nid和Nidl均為節(jié)點標識,A為關系模式R1的屬性值,B為關系模式R2的屬性 值。
7. 如權利要求1所述的數據空間的關聯查詢方法,其特征在于,所述步驟三中,當將所 述第一節(jié)點對存入第一查詢結果集時,同時在所述第一節(jié)點對間添加一條虛擬邊,并按照 關聯條件由大到小的順序排序所述第一查詢結果集,將所述第一查詢結果集返回給用戶。
8. 如權利要求5所述的數據空間的關聯查詢方法,其特征在于,所述關鍵字查詢表達 式定義為:exp:= k| exp logop exp,其中k為關鍵字,邏輯運算符logop :=and| or |not, 分別表示邏輯與、或、非;查詢結果exp(G)為包含關鍵字k的節(jié)點,即exp(G):= (NiINiGG'' k' G WJ,其中,Wi表示節(jié)點Ni上的詞匯的集合。
9. 如權利要求5所述的數據空間的關聯查詢方法,其特征在于,所述屬性-值對查詢 表達式如下:exp : = (a :v) I exp logop exp,其中,(a :v)表示屬性-值對(a, V),查詢結果 exp (G)為滿足屬性-值對查詢條件的節(jié)點,即exp (G):=風.I iV,. e G a3? vi S 4 X ,其中,Ai為Ni的屬性的集合,Vi為Ni的值的集合。
10. 如權利要求5所述的數據空間的關聯查詢方法,其特征在于,滿足0 (1)關聯條件 的半連接運算記為及〉;取]払_,其中,0為算術比較符,心和心分 別為關系模式R1和關系模式R2的元組,A為關系模式R1的屬性值,B為關系模式R 2的屬性 值,h [A] 9 t2[B]表示元組h的A屬性值和元組t2的B屬性值之間滿足9運算。
【文檔編號】G06F17/30GK104361108SQ201410706011
【公開日】2015年2月18日 申請日期:2014年11月27日 優(yōu)先權日:2014年11月27日
【發(fā)明者】潘穎, 元昌安, 李文敬, 陸建波, 黎珍利 申請人:廣西師范學院