一種圖數(shù)據(jù)檢索方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及圖數(shù)據(jù)處理領(lǐng)域,尤其涉及一種圖數(shù)據(jù)檢索方法和裝置。
【背景技術(shù)】
[0002]資源描述框架(ResourceDescript1n Framework, RDF)是萬維網(wǎng)聯(lián)盟(w3c)提出的一組標記語言的技術(shù)標準,以便更為豐富地描述和表達Web資源的內(nèi)容與結(jié)構(gòu)。具體地,RDF可專門用于表達關(guān)于Web資源的元數(shù)據(jù),比如Web頁面的標題、作者和修改時間,Web文檔的版權(quán)和許可信息,某個被共享資源的可用計劃表等。然而,將Web資源這一概念一般化后,RDF可用于表達關(guān)于任何可在Web上被標識的事物的信息。隨著基于語義的網(wǎng)絡(luò)描述的發(fā)展,RDF數(shù)據(jù)越來越多地應(yīng)用在語義網(wǎng)相關(guān)應(yīng)用中。
[0003]圖是數(shù)據(jù)庫中有關(guān)系的多個頂點和邊的集合,是圖操作和計算的最大作用域,在存儲上RDF三元組數(shù)據(jù)可以描述為圖結(jié)構(gòu)。
[0004]RDF三元組數(shù)據(jù)由主語、謂語和賓語三個元素組成,圖中的頂點為RDF三元組數(shù)據(jù)中的主語或賓語,連接兩個頂點之間的邊代表了謂語(圖中的邊在邏輯上為有向邊,方向由主語指向賓語),通過上述方式來表達一個基本的事實陳述。舉例說明如下。
[0005]〈例子1>
[0006]一個RDF三元組〈姚明出生地是上海 >,如圖1所示,主語為姚明,賓語是上海,分別為圖1中的兩個頂點,圖中的邊代表謂語“出生地是”,方向由主語指向賓語,這樣的陳述表達了姚明在上海出生這個事實。
[0007]多個上述RDF三元組數(shù)據(jù)可以描述一個圖,或者稱為知識網(wǎng)絡(luò)。舉例說明如下。
[0008]〈例子2>
[0009]例子I中同樣再有一個RDF三元組〈上海隸屬于中國〉,可以看出第一條三元組的賓語“上?!背蔀榱说诙l三元組的主語,那么第三個RDF三元組〈姚明身高是226cm>可以說明“姚明”也作為了這條三元組的主語,多個上述的三元組就構(gòu)成了完整的圖,如圖2所
/Jn ο
[0010]在將RDF三元組數(shù)據(jù)描述為上述的圖結(jié)構(gòu)后,w3c還定義了針對RDF數(shù)據(jù)的查詢語言一sparql。但是,采用sparql語言進行圖遍歷檢索時,由一個圖的某個頂點通過邊遍歷到另一個關(guān)聯(lián)頂點的操作,一般需要涉及兩次索引的訪問,具體為由某一頂點遍歷查找到與該頂點關(guān)聯(lián)的邊,再由查找到的邊進一步查找該頂點的關(guān)聯(lián)頂點,效率不高。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的是提供一種圖數(shù)據(jù)檢索方法和裝置,由一個圖的某個頂點通過邊遍歷到另一個關(guān)聯(lián)頂點的操作只涉及一次索引的訪問,提高了圖數(shù)據(jù)的檢索效率。
[0012]為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種圖數(shù)據(jù)檢索方法,所述方法包括:
[0013]確定當前需要檢索的關(guān)鍵字,所述關(guān)鍵字中包括第一標識和第二標識,其中所述第一標識能夠唯一標識所述圖中的第一頂點,所述第二標識能夠唯一標識所述圖中與所述第一頂點關(guān)聯(lián)的邊;
[0014]根據(jù)所述關(guān)鍵字在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到第三標識,其中所述第三標識能夠唯一標識所述圖中與所述第一頂點關(guān)聯(lián)的第二頂點。
[0015]上述的圖數(shù)據(jù)檢索方法,其中,在得到第三標識后,所述方法還包括:
[0016]將所述第三標識重新作為當前需要檢索的關(guān)鍵字中的第一標識,返回執(zhí)行所述確定當前需要檢索的關(guān)鍵字的步驟,直到完成整個檢索。
[0017]上述的圖數(shù)據(jù)檢索方法,其中,在確定當前需要檢索的關(guān)鍵字之前,所述方法還包括:
[0018]將所述圖數(shù)據(jù)按照預(yù)先存儲的所述第一頂點的頂點信息建立索引,所述頂點信息中至少包括所述第一標識、第二標識和第三標識;
[0019]所述根據(jù)所述關(guān)鍵字在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到第三標識具體為:
[0020]在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到與所述第一標識和所述第二標識均對應(yīng)的所述第三標識。
[0021]上述的圖數(shù)據(jù)檢索方法,其中,所述根據(jù)所述關(guān)鍵字在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到第三標識具體為:
[0022]根據(jù)所述關(guān)鍵字在所述圖數(shù)據(jù)中通過一次訪問索引的深度優(yōu)先檢索,得到第三標識。
[0023]上述的圖數(shù)據(jù)檢索方法,其中,所述圖數(shù)據(jù)為資源描述框架RDF數(shù)據(jù)。
[0024]上述的圖數(shù)據(jù)檢索方法,其中,所述第一頂點具體為所述RDF數(shù)據(jù)中的主語;
[0025]所述與所述第一頂點關(guān)聯(lián)的邊具體為所述RDF數(shù)據(jù)中與所述主語對應(yīng)的謂語;
[0026]所述與所述第一頂點關(guān)聯(lián)的第二頂點具體為所述RDF數(shù)據(jù)中與所述主語對應(yīng)的賓語。
[0027]為了實現(xiàn)上述目的,本發(fā)明實施例還提供了一種圖數(shù)據(jù)檢索裝置,所述裝置包括:
[0028]關(guān)鍵字確定模塊,用于確定當前需要檢索的關(guān)鍵字,所述關(guān)鍵字中包括第一標識和第二標識,其中所述第一標識能夠唯一標識所述圖中的第一頂點,所述第二標識能夠唯一標識所述圖中與所述第一頂點關(guān)聯(lián)的邊;
[0029]檢索模塊,根據(jù)所述關(guān)鍵字在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到第三標識,其中所述第三標識能夠唯一標識所述圖中與所述第一頂點關(guān)聯(lián)的第二頂點。
[0030]上述的圖數(shù)據(jù)檢索裝置,其中,所述裝置還包括:
[0031]處理模塊,用于將所述第三標識重新作為當前需要檢索的關(guān)鍵字中的第一標識,返回所述關(guān)鍵字確定模塊,直到完成整個檢索。
[0032]上述的圖數(shù)據(jù)檢索裝置,其中,所述裝置還包括:
[0033]索引建立模塊,用于將所述圖數(shù)據(jù)按照預(yù)先存儲的所述第一頂點的頂點信息建立索引,所述頂點信息中至少包括所述第一標識、第二標識和第三標識;
[0034]所述檢索模塊具體為:
[0035]在所述圖數(shù)據(jù)中通過一次訪問索引的檢索,得到與所述第一標識和所述第二標識均對應(yīng)的所述第三標識。
[0036]上述的圖數(shù)據(jù)檢索裝置,其中,所述檢索模塊具體為:
[0037]在所述圖數(shù)據(jù)中通過一次訪問索引的深度優(yōu)先檢索,得到第三標識。
[0038]上述的圖數(shù)據(jù)檢索裝置,其中,所述圖數(shù)據(jù)為資源描述框架RDF數(shù)據(jù)。
[0039]上述的圖數(shù)據(jù)檢索裝置,其中,所述第一頂點具體為所述RDF數(shù)據(jù)中的主語;
[0040]所述與所述第一頂點關(guān)聯(lián)的邊具體為所述RDF數(shù)據(jù)中與所述主語對應(yīng)的謂語;
[0041]所述與所述第一頂點關(guān)聯(lián)的第二頂點具體為所述RDF數(shù)據(jù)中與所述主語對應(yīng)的賓語。
[0042]本發(fā)明實施例首先為圖數(shù)據(jù)建立索引,所述索引是按照預(yù)先存儲的第一頂點的頂點信息建立的,頂點信息中至少包括第一標識、第二標識和第三標識,分別對應(yīng)于第一頂點的標識、與第一頂點關(guān)聯(lián)的邊的標識和與第一頂點關(guān)聯(lián)的第二頂點的標識,根據(jù)頂點信息中的第一標識和第二標識作為關(guān)鍵字來進行檢索,確定與所述關(guān)鍵字對應(yīng)的第三標識,即與第一頂點關(guān)聯(lián)的第二頂點的標識,在上述過程中,由第一頂點遍歷到第二頂點的過程只涉及了一次訪問索引的操作,與現(xiàn)有技術(shù)中需要兩次訪問索引的操作相比,檢索效率在理論上提聞了 50%。
【附圖說明】
[0043]圖1為現(xiàn)有技術(shù)中一個RDF三元組的示例圖;
[0044]圖2為現(xiàn)有技術(shù)中RDF三元組的圖結(jié)構(gòu);
[0045]圖3為本發(fā)明實施例提供的圖數(shù)據(jù)檢索方法的流程示意圖;
[0046]圖4為本發(fā)明實施例提供的按頂點信息建立索引后的檢索示意圖;
[004