本發(fā)明涉及一種基于圖遍歷的sparql查詢執(zhí)行方法,具體涉及一種面向大數(shù)據(jù)關(guān)聯(lián)的存儲(chǔ)和查詢的方法及系統(tǒng)。
背景技術(shù):
::圖數(shù)據(jù)挖掘和分析是大數(shù)據(jù)的新領(lǐng)域,通過建立關(guān)聯(lián)萬(wàn)維網(wǎng)資源、微生物菌種資源、以及科研資源等的關(guān)聯(lián)關(guān)系,支持基于數(shù)據(jù)關(guān)聯(lián)的信息挖掘和科學(xué)發(fā)現(xiàn)。資源描述框架(resourcedescriptionframework,簡(jiǎn)稱rdf)是用于表達(dá)關(guān)于萬(wàn)維網(wǎng)(worldwideweb)資源的信息的語(yǔ)言,能夠表達(dá)任何可在互聯(lián)網(wǎng)上被標(biāo)識(shí)的事物的信息,如頁(yè)面標(biāo)題、作者和修改時(shí)間以及不同數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。rdf規(guī)范提供了描述資源的基礎(chǔ)性詞匯表,定義了各領(lǐng)域應(yīng)用如wdcm(mircenworlddatacentreformicroorganisms)微生物描述資源詞匯表時(shí)必須遵循的規(guī)則。sparql(sparqlprotocolandrdfquerylanguage)是為rdf開發(fā)的一種查詢語(yǔ)言和數(shù)據(jù)獲取協(xié)議,由w3c國(guó)際標(biāo)準(zhǔn)組織推薦的rdf數(shù)據(jù)模型定義,用于查詢?nèi)魏文苡胷df表示的信息資源。sparql協(xié)議和rdf查詢語(yǔ)言(sparql)于2008年1月15日正式成為一項(xiàng)w3c推薦標(biāo)準(zhǔn)。由于rdf使用了結(jié)構(gòu)化的xml數(shù)據(jù),檢索和查詢能夠理解元數(shù)據(jù)的精確含義,搜索變得更為智能和準(zhǔn)確,有效避免了檢索經(jīng)常返回?zé)o關(guān)數(shù)據(jù)的情況。rdf文件包含若干資源描述,每個(gè)資源描述由若干語(yǔ)句構(gòu)成,每個(gè)語(yǔ)句由資源、屬性類型、屬性值構(gòu)成三元組,表示資源具有一個(gè)屬性。資源對(duì)應(yīng)于自然語(yǔ)言中的主語(yǔ),屬性類型對(duì)應(yīng)于謂語(yǔ),屬性值對(duì)應(yīng)于賓語(yǔ),多個(gè)rdf資源文件構(gòu)成完整的資源描述和關(guān)聯(lián)圖。隨著關(guān)聯(lián)網(wǎng)絡(luò)的數(shù)據(jù)規(guī)模越來(lái)越大,其表達(dá)和處理的數(shù)據(jù)類型越來(lái)越多,對(duì)rdf數(shù)據(jù)存儲(chǔ)和sparql查詢的實(shí)時(shí)性構(gòu)成挑戰(zhàn)。因此,采用可擴(kuò)展的新型大數(shù)據(jù)架構(gòu)提升rdf數(shù)據(jù)的存儲(chǔ)和管理效率,提高sparql查詢速度和分析能力非常重要。基于大圖數(shù)據(jù)處理技術(shù)如bigtable的圖數(shù)據(jù)存儲(chǔ)和管理框架,由于其出色的大規(guī)模數(shù)據(jù)處理能力,成為知識(shí)圖譜網(wǎng)絡(luò)的新發(fā)展方向。目前,rdf數(shù)據(jù)主要采用關(guān)系數(shù)據(jù)庫(kù)表或kv數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)和管理rdf三元組,通過自連接的方式實(shí)現(xiàn)rdf三元組的主語(yǔ)、謂語(yǔ)和賓語(yǔ)的子圖匹配和sparql查詢,通過hash或index支持本地?cái)?shù)據(jù)的快速查詢和檢索,其典型實(shí)現(xiàn)如virtuosordf圖數(shù)據(jù)庫(kù)。其分布式版本主要采用聯(lián)邦方式,將rdf數(shù)據(jù)查詢和分布式計(jì)算框架融合到一個(gè)統(tǒng)一的框架中,具體為:將sparql查詢解析并分發(fā)到各個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)運(yùn)行子圖匹配計(jì)算然后匯總每個(gè)節(jié)點(diǎn)的匹配結(jié)果。該架構(gòu)簡(jiǎn)單且易于實(shí)現(xiàn),支持rdf數(shù)據(jù)的分布式查詢和快速返回,簡(jiǎn)化了面向較大大規(guī)模知識(shí)關(guān)聯(lián)網(wǎng)絡(luò)的設(shè)計(jì)和開發(fā)。然而,基于聯(lián)邦和子圖匹配的分布式查詢方式,每次查詢均需要將sparql查詢分解為子圖匹配分發(fā)到多個(gè)結(jié)點(diǎn),運(yùn)行子圖匹配并返回結(jié)果,容易導(dǎo)致大量的節(jié)點(diǎn)通信和中間數(shù)據(jù)。當(dāng)數(shù)據(jù)規(guī)模超大時(shí),系統(tǒng)面臨如下問題:1)高開銷的自連接操作。針對(duì)分布式系統(tǒng),數(shù)據(jù)表的連接操作導(dǎo)致系統(tǒng)結(jié)點(diǎn)間大量的數(shù)據(jù)通信。當(dāng)數(shù)據(jù)量大和機(jī)器結(jié)點(diǎn)較多時(shí),自連接開銷大,查詢延遲明顯增加,不利于系統(tǒng)的橫向擴(kuò)展。2)大量的中間數(shù)據(jù)。sparql查詢分解后被分發(fā)到多個(gè)節(jié)點(diǎn)分別運(yùn)行,每個(gè)節(jié)點(diǎn)相當(dāng)于一個(gè)查詢引擎,其運(yùn)行產(chǎn)生大量的中間數(shù)據(jù),增加了系統(tǒng)的內(nèi)存消耗,減少了系統(tǒng)并行處理的sparql個(gè)數(shù)。3)對(duì)數(shù)據(jù)分片要求高。聯(lián)邦式查詢將sparql查詢分發(fā)到各個(gè)節(jié)點(diǎn)分別完成,對(duì)數(shù)據(jù)分片的質(zhì)量要求較高。如果不同劃分之間存在大量的關(guān)聯(lián)關(guān)系,則sparql子圖匹配不能在多個(gè)數(shù)據(jù)結(jié)點(diǎn)并行執(zhí)行,降低了系統(tǒng)的運(yùn)行效率。由于這些問題的存在,基于聯(lián)邦方式的sparql查詢難以有效應(yīng)對(duì)大規(guī)模rdf關(guān)聯(lián)數(shù)據(jù)的大規(guī)模增長(zhǎng)和滿足知識(shí)網(wǎng)絡(luò)關(guān)聯(lián)應(yīng)用的實(shí)時(shí)性查詢需求,查詢時(shí)間隨數(shù)據(jù)規(guī)模的增長(zhǎng)而增加。而基于bigtable的數(shù)據(jù)處理技術(shù)由于缺乏大規(guī)模表的連接操作(join),難以應(yīng)用到海量rdf知識(shí)網(wǎng)絡(luò)關(guān)聯(lián)數(shù)據(jù)的處理中。技術(shù)實(shí)現(xiàn)要素:針對(duì)rdf大數(shù)據(jù)sparql查詢存在的問題,本發(fā)明的目的在于提供一種基于圖遍歷的sparql查詢優(yōu)化方法。本發(fā)明的技術(shù)方案為:一種基于圖遍歷的sparql查詢優(yōu)化方法,其步驟為:1)使用屬性圖表示rdf數(shù)據(jù)中三元組,然后利用bigtable模型存儲(chǔ)rdf數(shù)據(jù),得到rdf數(shù)據(jù)對(duì)應(yīng)的bigtable數(shù)據(jù);2)將sparql查詢轉(zhuǎn)化對(duì)rdf屬性圖的遍歷;3)根據(jù)步驟2)獲得的遍歷序列,遍歷bigtable數(shù)據(jù)中滿足條件的所有節(jié)點(diǎn),完成sparql查詢。利用bigtable模型存儲(chǔ)rdf數(shù)據(jù)的方法為:21)針對(duì)rdf數(shù)據(jù)中的每一rdf三元組(sub,pre,obj),將主語(yǔ)sub作為節(jié)點(diǎn)v,存儲(chǔ)為bigtable模型中一行;22)判斷賓語(yǔ)obj的類型:a)若賓語(yǔ)obj為rdf:literal,即謂語(yǔ)pre為主語(yǔ)sub的屬性,則將賓語(yǔ)obj作為該節(jié)點(diǎn)v的屬性值,然后將謂語(yǔ)pre作為該節(jié)點(diǎn)v的屬性名稱,存儲(chǔ)為該節(jié)點(diǎn)v所在行的一個(gè)存貯單元cell;b)若賓語(yǔ)obj為rdf:resource,即謂語(yǔ)pre為主語(yǔ)sub關(guān)聯(lián)到其它節(jié)點(diǎn)的邊,則將賓語(yǔ)obj作為一獨(dú)立節(jié)點(diǎn)w,存儲(chǔ)為bigtable模型中一行;然后將謂語(yǔ)pre作為該節(jié)點(diǎn)v的出邊,指向該節(jié)點(diǎn)w,存儲(chǔ)為該節(jié)點(diǎn)v所在行的一個(gè)cell,并且將謂語(yǔ)pre作為該節(jié)點(diǎn)w的入邊,出自該節(jié)點(diǎn)v,存儲(chǔ)為該節(jié)點(diǎn)w所在行的一個(gè)cell。進(jìn)一步的,步驟2)中,將sparql查詢轉(zhuǎn)化為gremlin圖遍歷,實(shí)現(xiàn)將sparql查詢轉(zhuǎn)化對(duì)rdf屬性圖的遍歷。進(jìn)一步的,將sparql查詢轉(zhuǎn)化為gremlin圖遍歷的方法為:對(duì)于sparql查詢的where子句中的每個(gè)三元組(sub,pre,obj),如果該三元組為謂語(yǔ)pre表示屬性圖中屬性的三元組,則將該三元組轉(zhuǎn)化為對(duì)主語(yǔ)sub所代表屬性圖中節(jié)點(diǎn)的過濾has(pre,obj),obj為過濾條件,pre為謂語(yǔ)pre所代表的屬性名稱;如果該三元組為謂語(yǔ)pre表示屬性圖中邊的三元組,則將該三元組轉(zhuǎn)化為主語(yǔ)sub所代表節(jié)點(diǎn)到賓語(yǔ)obj所代表節(jié)點(diǎn)的遍歷sub.out(pre)->obj,out表示出邊,pre表示謂語(yǔ)pre所代表的邊的關(guān)聯(lián)標(biāo)簽;通過處理where子句的所有三元組,獲得所述遍歷序列。進(jìn)一步的,根據(jù)步驟2)獲得的遍歷序列,遍歷bigtable數(shù)據(jù)中滿足條件的所有節(jié)點(diǎn)的方法為:所述遍歷序列為過濾和關(guān)聯(lián)邊組成的遍歷序列;首先根據(jù)關(guān)聯(lián)邊組成遍歷路徑,然后利用過濾消除無(wú)效的遍歷路徑,得到有效遍歷路徑;然后根據(jù)有效遍歷路徑遍歷bigtable數(shù)據(jù)中滿足條件的所有節(jié)點(diǎn),然后組織有效遍歷路徑的節(jié)點(diǎn)和邊的屬性值。本發(fā)明包括bigtable數(shù)據(jù)存儲(chǔ)、sparql到gremlin遍歷轉(zhuǎn)化、gremlin圖遍歷執(zhí)行。其功能描述如下:1)基于bigtable模型存儲(chǔ)rdf數(shù)據(jù)rdf是一種面向互聯(lián)網(wǎng)的圖數(shù)據(jù)格式,采用<主語(yǔ),謂語(yǔ),賓語(yǔ)>三元組表示圖數(shù)據(jù),其主語(yǔ)(subject)表示圖節(jié)點(diǎn),謂語(yǔ)為sub主語(yǔ)節(jié)點(diǎn)的屬性名稱,對(duì)應(yīng)的賓語(yǔ)obj為屬性。賓語(yǔ)(object)主要包括rdf:literal和rdf:resource兩種情況,前者表示主語(yǔ)節(jié)點(diǎn)的屬性,屬性名為謂語(yǔ);后者表示主語(yǔ)節(jié)點(diǎn)關(guān)聯(lián)到的其它節(jié)點(diǎn),謂語(yǔ)標(biāo)識(shí)主語(yǔ)關(guān)聯(lián)到其它節(jié)點(diǎn)的邊,邊的標(biāo)簽為謂語(yǔ)。rdf圖對(duì)應(yīng)的屬性圖為圖1(a),其bigtable表示如圖1(b)所示。本發(fā)明使用bigtable存儲(chǔ)rdf圖,針對(duì)rdf數(shù)據(jù)三元組:主語(yǔ)(subject)、謂語(yǔ)(predicate)、賓語(yǔ)(object),依據(jù)其特性以及rdf模型(即rdf本體),其結(jié)構(gòu)解析如下:針對(duì)“subpreobj.”rdf三元組,將主語(yǔ)sub作為節(jié)點(diǎn)v,存儲(chǔ)為bigtable模型中一行。若賓語(yǔ)obj為rdf:literal,則將賓語(yǔ)obj作為節(jié)點(diǎn)v的屬性值,將謂語(yǔ)pre作為該節(jié)點(diǎn)v的屬性名稱,存儲(chǔ)為v所在行的一個(gè)cell(存貯單元)。否則,將obj作為獨(dú)立節(jié)點(diǎn)w,存儲(chǔ)為bigtable中一行。將謂語(yǔ)pre作為主語(yǔ)sub節(jié)點(diǎn)v的出邊,指向該節(jié)點(diǎn)w,將謂語(yǔ)pre存儲(chǔ)為節(jié)點(diǎn)v所在行的一個(gè)cell;將謂語(yǔ)pre作為賓語(yǔ)obj節(jié)點(diǎn)w的入邊,出自節(jié)點(diǎn)v(即入邊的出發(fā)點(diǎn)為節(jié)點(diǎn)v),存儲(chǔ)為節(jié)點(diǎn)w所在行的一個(gè)cell。其中,rdf:lieral為賓語(yǔ)的一種類型,由apachejena或其他rdf工具解析。其中,bigtable是一種海量數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),能夠高效支持海量圖數(shù)據(jù)的存儲(chǔ)和管理。2)將sparql查詢轉(zhuǎn)化為gremlin圖遍歷如圖2所示,sparql查詢使用where子句的多個(gè)rdf三元組序列表示子圖匹配。本發(fā)明使用圖遍歷實(shí)現(xiàn)sparql子圖匹配,將sparql查詢的where子句中的三元組序列轉(zhuǎn)化為對(duì)圖中節(jié)點(diǎn)和邊的過濾和遍歷。針對(duì)where子句中的每個(gè)“subpreobj.”三元組,其轉(zhuǎn)化流程如下所示:針對(duì)謂語(yǔ)pre表示屬性圖中屬性的三元組,轉(zhuǎn)化為對(duì)sub所代表屬性圖中節(jié)點(diǎn)的過濾has(pre,obj),obj為過濾條件,pre為謂語(yǔ)pre所代表的屬性名稱。針對(duì)謂語(yǔ)pre表示屬性圖中邊的三元組,轉(zhuǎn)化為sub所代表節(jié)點(diǎn)到obj所代表節(jié)點(diǎn)的遍歷,其gremlin代碼為sub.out(pre)->obj,out表示出邊,pre表示謂語(yǔ)pre所代表的邊的關(guān)聯(lián)標(biāo)簽。通過處理where子句的所有三元組,獲得過濾和關(guān)聯(lián)邊組成的遍歷序列。3)圖遍歷執(zhí)行針對(duì)步驟(2)獲得的遍歷序列,遍歷步驟1)中基于bigtable模型存儲(chǔ)rdf數(shù)據(jù)得到的bigtable數(shù)據(jù)中滿足條件的所有節(jié)點(diǎn)。其關(guān)聯(lián)邊組成遍歷路徑,而過濾用于消除無(wú)效的遍歷路徑。遍歷完成后,組織有效遍歷路徑的節(jié)點(diǎn)和邊的屬性值,按用戶需求返回。由于是直接對(duì)bigtable訪問,查詢過程基本沒有中間數(shù)據(jù)的產(chǎn)生。所述rdf數(shù)據(jù)指w3c國(guó)際標(biāo)準(zhǔn)組織定義的圖數(shù)據(jù)表示方法,采用三元組表示數(shù)據(jù)和數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,所述主語(yǔ)、謂語(yǔ)、賓語(yǔ)指rdf數(shù)據(jù)的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)。所述gremlin指面向圖數(shù)據(jù)遍歷的標(biāo)準(zhǔn)語(yǔ)言。本發(fā)明的有益效果在于:針對(duì)目前大規(guī)模rdf圖數(shù)據(jù)存儲(chǔ)可擴(kuò)展性差和查詢效率較低的問題,提出了一種基于bigtable的rdf圖數(shù)據(jù)存儲(chǔ)和查詢方法,通過將rdf圖數(shù)據(jù)轉(zhuǎn)換為bigtable模型的數(shù)據(jù)格式,支持大規(guī)模圖數(shù)據(jù)的水平擴(kuò)展;通過將sparql查詢轉(zhuǎn)化為基于圖遍歷的bigtable數(shù)據(jù)訪問,避免了rdf數(shù)據(jù)連接導(dǎo)致的開銷較大和擴(kuò)展性差的問題,減少了查詢過程中間數(shù)據(jù)的產(chǎn)生。而且由于將sparql查詢過程轉(zhuǎn)化為對(duì)bigtable的訪問,能夠利用緩存減少訪問次數(shù)。本發(fā)明解決了海量大規(guī)模rdf數(shù)據(jù)的分布式存儲(chǔ)和低延遲查詢的問題,一方面消除了傳統(tǒng)sparql查詢對(duì)hash等數(shù)據(jù)結(jié)構(gòu)的依賴,減少了中間數(shù)據(jù)的產(chǎn)生,避免了大規(guī)模rdf數(shù)據(jù)的連接計(jì)算;另一方面,能有效利用基于bigtable的大數(shù)據(jù)處理技術(shù)存儲(chǔ)和管理rdf海量關(guān)聯(lián)知識(shí)網(wǎng)絡(luò)數(shù)據(jù),利用緩存技術(shù)和索引技術(shù)加速rdf關(guān)聯(lián)數(shù)據(jù)的查詢和分析。附圖說明圖1為基于bigtable模型存儲(chǔ)rdf數(shù)據(jù)表示圖;(a)rdf數(shù)據(jù)屬性圖,(b)基于bigtable模型rdf數(shù)據(jù)圖;圖2為基于圖遍歷的sparql查詢執(zhí)行流程圖;圖3為小數(shù)據(jù)集vs大數(shù)據(jù)集對(duì)比圖。具體實(shí)施方式為使本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖作詳細(xì)說明如下。如圖2所示,一種基于圖遍歷的sparql執(zhí)行引擎,由bigtable數(shù)據(jù)存儲(chǔ)、sparql到gremlin轉(zhuǎn)化,圖遍歷執(zhí)行組成。本發(fā)明依據(jù)rdf三元組賓語(yǔ)的rdf:literal特性和rdf:resource特性,使用屬性圖表示rdf三元組的關(guān)聯(lián)關(guān)系和literal值,使用bigtable數(shù)據(jù)模型存儲(chǔ)和管理rdf數(shù)據(jù),使用圖遍歷實(shí)現(xiàn)sparql對(duì)rdf關(guān)聯(lián)數(shù)據(jù)的查詢和分析。目前面向rdf數(shù)據(jù)的數(shù)據(jù)倉(cāng)庫(kù)以三元組為基本單位存儲(chǔ)和管理rdf知識(shí)網(wǎng)絡(luò)數(shù)據(jù),依賴表自連接的方式實(shí)現(xiàn)子圖匹配,從而實(shí)現(xiàn)對(duì)rdf數(shù)據(jù)的sparql查詢和分析。本發(fā)明則采用bigtable存儲(chǔ)和管理rdf數(shù)據(jù),將sparql查詢和分析轉(zhuǎn)化為對(duì)rdf屬性圖的遍歷,通過對(duì)bigtable的訪問完成sparql查詢。如此,本發(fā)明實(shí)現(xiàn)了對(duì)rdf海量數(shù)據(jù)的分布式擴(kuò)展,避免了連接操作對(duì)sparql查詢的不利影響。下面描述rdf數(shù)據(jù)的bigtable存儲(chǔ)和sparql到gremlin轉(zhuǎn)化按如圖1所示進(jìn)行設(shè)計(jì)來(lái)支持rdf數(shù)據(jù)的快速檢索和分析:bigtable數(shù)據(jù)存儲(chǔ):如圖1所示,針對(duì)rdf三元組數(shù)據(jù),將其表示為如圖1(a)所示的屬性圖。如“<tax1><type><taxnode>.”,其賓語(yǔ)類型為rdf:literal,則轉(zhuǎn)化為主語(yǔ)tax1所代表節(jié)點(diǎn)的屬性值,屬性名稱為謂語(yǔ);“<tax1><x-taxon><gene1>.”,其賓語(yǔ)為rdf:resource,則轉(zhuǎn)化為主語(yǔ)tax1所代表節(jié)點(diǎn)指向賓語(yǔ)所代表gene1節(jié)點(diǎn)的邊,謂語(yǔ)為邊的標(biāo)簽,如此將所有的rdf三元組和屬性圖對(duì)應(yīng)起來(lái),并采用bigtable數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)屬性和邊。sparql到gremlin:將sparql查詢中where子句的三元組轉(zhuǎn)化為對(duì)屬性圖的遍歷,其中sparql為面向rdf數(shù)據(jù)的查詢語(yǔ)言,而gremlin是面向?qū)傩詧D的遍歷語(yǔ)言。針對(duì)where子句的三元組“?tax<type><taxnode>.”,由于在屬性圖中type表示屬性,則將該關(guān)聯(lián)轉(zhuǎn)化為gremlin中對(duì)節(jié)點(diǎn)屬性type的過濾has(type,taxnode)step,其執(zhí)行過程為依據(jù)taxnode對(duì)bigtable數(shù)據(jù)的過濾,減小遍歷范圍,提高遍歷效率。針對(duì)“?tax<x-taxon>?gene.”,由于在屬性圖中x-taxon為節(jié)點(diǎn)之間的邊,因此將該關(guān)聯(lián)轉(zhuǎn)化為gremlin中對(duì)tax所代表節(jié)點(diǎn)出邊的遍歷out(x-taxon)step,通過對(duì)bigtable數(shù)據(jù)的訪問實(shí)現(xiàn)該遍歷。本發(fā)明選取微生物關(guān)聯(lián)數(shù)據(jù)集wdcm的3億規(guī)模小數(shù)據(jù)集、30億規(guī)模的大數(shù)據(jù)集和16條標(biāo)準(zhǔn)sparql查詢對(duì)發(fā)明進(jìn)行測(cè)試,給出使用發(fā)明中所提出的面向大數(shù)據(jù)的基于圖遍歷的sparql執(zhí)行引擎的一個(gè)具體實(shí)施過程,查詢重復(fù)過程為10次,并去除最大值和最小值。測(cè)試環(huán)境為4臺(tái)支持bigtable的hbase集群,hbase版本為0.98.23.hadoop1,每個(gè)節(jié)點(diǎn)32g內(nèi)存、12核cpu、28t磁盤,節(jié)點(diǎn)之間通過萬(wàn)兆交換機(jī)互聯(lián)。gremlin查詢和分析引擎為titan1.0.0,sparqltogremlin轉(zhuǎn)化由項(xiàng)目組開發(fā)。使用本發(fā)明系統(tǒng)得到的查詢運(yùn)行時(shí)間如下:如圖3所示,對(duì)于3億規(guī)模的小數(shù)據(jù)集,查詢需要的時(shí)間在1s左右。針對(duì)30億三元組規(guī)模的大數(shù)據(jù)集,由于圖遍歷負(fù)載有效分散在多個(gè)結(jié)點(diǎn),16條查詢語(yǔ)句所用時(shí)間小于1s,反而優(yōu)于小數(shù)據(jù)集的查詢時(shí)間。實(shí)驗(yàn)結(jié)果表明,針對(duì)不斷增加的rdf數(shù)據(jù),本發(fā)明能夠有效利用bigtable分布式數(shù)據(jù)存儲(chǔ)的優(yōu)勢(shì)和圖遍歷查詢的優(yōu)勢(shì),保持查詢時(shí)間恒定,很好地解決了目前rdf數(shù)據(jù)大規(guī)模增加時(shí)sparql查詢時(shí)間明顯增加的問題。以上實(shí)施僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,本領(lǐng)域的普通技術(shù)人員可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所述為準(zhǔn)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12