亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用多個(gè)引擎來進(jìn)行圖查詢處理的制作方法_5

文檔序號(hào):9457675閱讀:來源:國知局
join運(yùn)算符的行為 的示例性實(shí)施例,除了圖8K中的輸出關(guān)系包括在每一輸出節(jié)點(diǎn)對(duì)之間的連接邊的elD的事 實(shí)以外,圖8K均與圖8J中示出的實(shí)施例類似。
[0111] 再次參考圖7,pathjoin運(yùn)算符是接收兩個(gè)關(guān)系(S和D)的另一個(gè)二元聯(lián)接運(yùn) 算符,其中兩個(gè)列sID和dID分別標(biāo)識(shí)屬性圖中的節(jié)點(diǎn)S和D。對(duì)于屬性圖中的每一個(gè)節(jié) 點(diǎn)對(duì),pathjoin運(yùn)算符檢查該對(duì)是否用屬性圖中的邊序列連接(其中該序列可具有任何 長度)、過濾掉未經(jīng)連接的節(jié)點(diǎn)對(duì)、并返回經(jīng)連接的節(jié)點(diǎn)對(duì)的元組作為結(jié)果?;趫D1中 示出的屬性圖的片段及在圖4中示出的其相應(yīng)關(guān)系表示,圖8L以簡化形式示出pathjoin 運(yùn)算符在其接收兩組節(jié)點(diǎn),即(〃J〇hn〃,〃Alice〃,〃Smith〃)和(〃John〃,〃Alice〃,〃Smith〃) 并返回通過任何長度的關(guān)系序列連接的節(jié)點(diǎn)對(duì)時(shí)的行為的示例性實(shí)施例。pathjoin還 可接收將特定關(guān)系條件施加在每一節(jié)點(diǎn)對(duì)之間的連接路徑的邊上的可選參數(shù)eLabel。 圖8N示出pathjoin運(yùn)算符在其接收兩組節(jié)點(diǎn),即(〃John〃, 〃Alice〃, 〃Smith〃)和 ("John", "Alice", "Smith")并返回通過任何長度的"know(認(rèn)識(shí))"關(guān)系序列連接的節(jié)點(diǎn)對(duì) 時(shí)的示例性實(shí)施例。
[0112] 如圖7中所例示的,pathjoin運(yùn)算符還可任選地如下推測(cè)連接路徑的數(shù)據(jù)。首 先,pathjoin運(yùn)算符可用附加的列pID來擴(kuò)展輸入關(guān)系的模式,該附加的列pID表示為運(yùn) 算符輸入中指定的每一個(gè)節(jié)點(diǎn)對(duì)之間的連接路徑分配的標(biāo)識(shí)符。應(yīng)注意,這些節(jié)點(diǎn)對(duì)中的 每一個(gè)均可以用多個(gè)不同的路徑連接,并且由此,輸入節(jié)點(diǎn)對(duì)中的每一個(gè)可具有描述所綁 定的路徑的數(shù)據(jù)的多個(gè)不同的表示元組。第二,pathjoin運(yùn)算符可返回描述得到的路徑的 數(shù)據(jù)的另一個(gè)輸出關(guān)系pRel,其中得到的路徑中的每一個(gè)由表示按有序方式組成該路徑的 節(jié)點(diǎn)和邊的元素序列描述,并且該序列中的每一個(gè)元素可由包括但不限于以下的多個(gè)字段 表示:表示路徑標(biāo)識(shí)符的pID字段、表示元組描述節(jié)點(diǎn)還是邊的type(類型)字段、表示參 加該路徑的節(jié)點(diǎn)或邊的次序的order(次序)字段、表示節(jié)點(diǎn)或邊的標(biāo)識(shí)符的ID字段以及 表示節(jié)點(diǎn)或邊的標(biāo)記數(shù)據(jù)的label(標(biāo)記)字段。在本文中描述的圖查詢處理技術(shù)的示例 性實(shí)施例中,如果元組描述節(jié)點(diǎn),則type字段具有值"N",而如果元組描述邊,則type字段 具有值"E"。此外,這些路徑中的每一個(gè)的次序以被定序?yàn)?的邊開始,接著是被定序?yàn)? 的節(jié)點(diǎn),并且隨后路徑的次序交替,直到到達(dá)路徑的最后一條邊。查詢輸出中的給定路徑變 量的值由與該路徑變量相關(guān)聯(lián)的元組的標(biāo)記數(shù)據(jù)的串行化表示,其中該標(biāo)記數(shù)據(jù)按升序次 序來序列化。
[0113] 圖8M和80以簡化形式示出pathjoin運(yùn)算符的剛才描述的推測(cè)特征的示例性實(shí) 施例。更具體地,圖8M示出pathjoin運(yùn)算符的行為的示例性實(shí)施例,除了圖8M中例示的輸 出關(guān)系推測(cè)得到的連接路徑的數(shù)據(jù)的事實(shí)以外,圖8M均與圖8L中示出的實(shí)施例類似。類 似地,圖80示出pathjoin運(yùn)算符的行為的示例性實(shí)施例,除了圖80中例示的輸出關(guān)系推 測(cè)得到的連接路徑的數(shù)據(jù)的事實(shí)以外,圖80均與圖8N中示出的實(shí)施例類似。
[0114] 再次參考圖7,除了sPathJoin運(yùn)算符返回表示表示屬性圖中的節(jié)點(diǎn)對(duì)中的每一 個(gè)之間的最短連接的路徑(假設(shè)這樣的連接存在)的事實(shí)以外,sPathJoin運(yùn)算符均按與 pathjoin運(yùn)算符相同的方式工作。
[0115] 如圖7中所例示的,filterPath運(yùn)算符是接收兩個(gè)關(guān)系(R和pRel)的二元運(yùn)算 符,其中關(guān)系R的pID列表示使其相關(guān)聯(lián)的描述數(shù)據(jù)由關(guān)系pRel來表示的路徑標(biāo)識(shí)符。 filterPath運(yùn)算符返回關(guān)系R,其中具有路徑pID以及未滿足條件cond的數(shù)據(jù)pRel的元 組被過濾掉。cond參數(shù)表示前述路徑過濾條件之一?;趫D1中示出的屬性圖的片段及在 圖4中示出的其相應(yīng)關(guān)系表示,圖8P以簡化形式示出filterPath運(yùn)算符在其基于返回具 有大于1的長度的路徑的Length(長度)(例如邊數(shù))條件對(duì)一組路徑進(jìn)行過濾并過濾掉 這些路徑中的其余部分時(shí)的行為的示例性實(shí)施例。
[0116] 如圖7所指示的,此后描述的代數(shù)運(yùn)算符中的一些無法用常規(guī)的關(guān)系運(yùn)算符來表 示?;谇笆隹捎杀疚闹忻枋龅膱D查詢處理技術(shù)實(shí)施例采用的屬性圖的混合關(guān)系表示, 圖9示出針對(duì)可被轉(zhuǎn)換成一種模式的常規(guī)關(guān)系表示的代數(shù)運(yùn)算符的映射的示例性實(shí)施 例。作為示例而非限制并且如圖9所例示的,NgetAttVal運(yùn)算符可被映射成輸入關(guān)系R的 nodelD(節(jié)點(diǎn)ID)列和該關(guān)系的表示指定節(jié)點(diǎn)屬性(attName(屬性名))的ID列之間的聯(lián) 接操作。NgetAttVal運(yùn)算符用指定屬性(attName)的關(guān)系的value(值)列來擴(kuò)展輸入元 組(R.*)的模式。由于getEdgeNodes和edgejoin運(yùn)算符的語義無法用指定關(guān)系(eLabel) 來限制,因此使用標(biāo)準(zhǔn)關(guān)系運(yùn)算符來應(yīng)用這些運(yùn)算符需要將輸入關(guān)系與每一個(gè)關(guān)系表單獨(dú) 地聯(lián)接,并隨后執(zhí)行所有結(jié)果的并。更簡單地說,可創(chuàng)建表示所有關(guān)系表的并的實(shí)體化視圖 (allEdges)〇
[0117] 圖10A和10B示出了此前描述的每一個(gè)代數(shù)運(yùn)算符的SQL(結(jié)構(gòu)化查詢語言)轉(zhuǎn) 換模版的推斷規(guī)則的示例性實(shí)施例。后面是圖10A中示出的表示NgetAttVal運(yùn)算符的轉(zhuǎn) 換的TRANS-1推斷規(guī)則的樣本解釋。在給定關(guān)系R表示對(duì)三元組模式t的SQL評(píng)估的情況 下,對(duì)NgetAttValMdeID, (attName) :valUf^算符的SQL轉(zhuǎn)換可使用以下SQL代碼來定義:
[0118] SELECTR.attName.ValueFROMR,attName
[0119] WHERER.nodeID=attName.ID;
[0120] 1.4.2前端編譯器
[0121] 該節(jié)提供對(duì)前述示例性前端編譯器的更詳細(xì)描述。
[0122] 圖11以簡化形式示出用于使用前述基于三元組的代數(shù)方言來將G-SPARQL查詢變 換成包括關(guān)系運(yùn)算符和非關(guān)系運(yùn)算符的代數(shù)查詢計(jì)劃的過程的示例性實(shí)施例。如圖11中 所例示的,該過程在框1100開始,其中使用推斷規(guī)則集合來將G-SPARQL查詢的三元組模式 映射在前述代數(shù)運(yùn)算符集合上。圖12A-12D示出了這樣的推斷規(guī)則的示例性實(shí)施例。以下 是圖12A中示出的0PMAP-1推斷規(guī)則的樣本解釋。0PMAP-1將G-SPARQL查詢q的三元組模 式(?var,OattName, ?var2)映射在NgetAttValID. 代數(shù)運(yùn)算符上,其中在給 定?var(Map(?var))變量的映射作為輸入關(guān)系R的一部分被綁定到列ID的情況下,變 量?var2被綁定到通過應(yīng)用NgetAttVal運(yùn)算符的輸出關(guān)系的(Col(?var2)lvalue) 列值。在圖12A-12D中所例示的推斷規(guī)則中,Triple(q)指代G-SPARQL查詢q的三元組模 式集合,PathFilter(q)指代G-SPARQL查詢q的路徑過濾集合,并且allEdges(例如,推斷 規(guī)則0PMAP-8)直到表示所有關(guān)系表的并的實(shí)體化視圖。
[0123] 再次參考圖11,一旦已將G-SPARQL查詢的三元組模式映射到代數(shù)運(yùn)算符集合(框 1100)后,應(yīng)用查詢重寫規(guī)則集合以便減少G-SPARQL查詢?cè)u(píng)估的執(zhí)行時(shí)間(框1102),其中 這些重寫規(guī)則專用于本文中描述的G-SPARQL結(jié)構(gòu)。此外,G-SPARQL查詢的三元組模式是 根據(jù)其"限制性"來重新排序的,其中該重新排序是使用以下三元組優(yōu)先規(guī)則集合來執(zhí)行的 (框1104)。在給定tl,t2GTriple(q)表示給定G-SPARQL查詢q的兩個(gè)三元組模式的情 況下,每當(dāng)三元組模式tl與三元組模式t2相比具有更多路徑變量(??或? *)時(shí),tl均 被定義成與t2相比更不具限制性(例如,tl>>t2)。每當(dāng)三元組模式tl與三元組模式 t2相比具有更少路徑變量(??or? *)時(shí),tl均被定義成與t2相比更具限制性(例如, tl<<t2)。每當(dāng)三元組模式tl與三元組模式t2具有相同數(shù)目的路徑變量(??or? *) 并且tl的路徑變量上的過濾表達(dá)式的數(shù)目大于t2的路徑變量上的過濾表達(dá)式的數(shù)目時(shí), tl也被定義成與t2相比更具限制性(例如,tl<<t2)。換言之,G-SPARQL查詢的更具限 制性的三元組模式被給予更高的優(yōu)先級(jí),以便優(yōu)化為G-SPARQL查詢生成的SQL子查詢的聯(lián) 接次序。
[0124] 圖13A和13B示出了剛才描述的查詢重寫規(guī)則集合的示例性實(shí)施例。以下是圖 13A中示出的REWRITE-1 (重寫1)查詢重寫規(guī)則的樣本解釋。在給定路徑變量? *var不 是G-SPARQL查詢q的輸出變量列表(其被表示成outVarList(q))的一部分的情況下, REWRITE-1將給定G-SPARQL查詢q(其三元組模式被表示成Triple(q))的給定三元組模式 (subject, ? *var,object)重寫成三元組模式(subject, ??var,object)。
[0125] 圖14以簡化形式示出將以下示例性G-SPARQL查詢前端編譯成包括關(guān)系運(yùn)算符和 非關(guān)系運(yùn)算符的示例性查詢計(jì)劃的示例性實(shí)施例:
[0126]
[0127] 1.4.3后端編譯器
[0128] 該節(jié)提供對(duì)前述示例性后端編譯器的更詳細(xì)描述。
[0129] 圖15以簡化形式示出將代數(shù)查詢計(jì)劃轉(zhuǎn)換成表示G-SPARQL查詢的查詢分量的多 個(gè)子查詢的過程的示例性實(shí)施例。。如圖15所例示的,該過程在框1500開始,其中每當(dāng)將 代數(shù)查詢計(jì)劃的代數(shù)運(yùn)算符映射成其關(guān)系表示可適用時(shí),均進(jìn)行這樣的映射。如此前所描 述的,圖9示出這樣的映射的示例性實(shí)施例。隨后將代數(shù)查詢計(jì)劃的代數(shù)運(yùn)算符轉(zhuǎn)換成子 查詢(框1502),其中該轉(zhuǎn)換包括為與屬性圖中的關(guān)系運(yùn)算相關(guān)聯(lián)的代數(shù)運(yùn)算符(例如,與 G-SPARQL查詢的前述模式匹配分量相關(guān)聯(lián)的代數(shù)運(yùn)算符)生成SQL子查詢(框1504),并 為與屬性圖中的遍歷運(yùn)算相關(guān)聯(lián)的代數(shù)運(yùn)算符(例如,與G-SPARQL查詢的前述可達(dá)性分量 和最短路徑分量相關(guān)聯(lián)的代數(shù)運(yùn)算符)生成非關(guān)系子查詢(框1506)。
[0130] 如圖14中所例示的,在本文中描述的圖查詢處理技術(shù)的示例性實(shí)施例中,由前端 編譯器生成的代數(shù)查詢計(jì)劃可被形成為有向無環(huán)圖。由此,后端編譯器可通過使用常規(guī)的 基于經(jīng)定義模式的轉(zhuǎn)換規(guī)則的集合按自下而上(例如從"葉"開始并隨后"爬"不同的路徑 回到"根")的方式遍歷該代數(shù)查詢計(jì)劃來將該代數(shù)查詢計(jì)劃轉(zhuǎn)換成子查詢。如果"爬"到 達(dá)了不具有對(duì)其語義的常規(guī)關(guān)系表示的代數(shù)運(yùn)算符或者如果"爬"到達(dá)了 "根",則"爬"給 定路徑將停止。作為示例而非限制,除pathjoin運(yùn)算符以外,圖14中示出的全部代數(shù)運(yùn)算 符均可被轉(zhuǎn)換成SQL子查詢。更具體的并如由圖14中的虛線框所指示的,兩個(gè)SQL子查詢 (即SQLJPSQL2)由后端編譯器生成,其中這些SQL子查詢的以下結(jié)果可隨后使用pathjoin 運(yùn)算符被發(fā)送至圖引擎或混合引擎的基于存儲(chǔ)器的組件:
[0131]
[0132]
[0133] 1.4.4查詢執(zhí)行管理器
[0134] 該節(jié)提供對(duì)查詢執(zhí)行管理器的前述特征中的若干個(gè)特征的更詳細(xì)描述。
[0135] 如此前所描述的,查詢執(zhí)行管理器使用多個(gè)獨(dú)立的查詢執(zhí)行引擎中的哪些當(dāng)前可 用并且可用查詢執(zhí)行引擎中的每一個(gè)的特性以及一個(gè)或多個(gè)引擎選擇規(guī)則的知識(shí)來標(biāo)識(shí) 這些查詢執(zhí)行引擎中將用來處理每一個(gè)查詢分量(例如,表示每一個(gè)查詢分量的子查詢) 的查詢執(zhí)行引擎。在本文中描述的圖查詢處理技術(shù)的一個(gè)實(shí)施例中,基于性能的引擎選擇 規(guī)則可用于執(zhí)行此標(biāo)識(shí),其中這些規(guī)則指定G-SPARQL查詢的模式匹配分量(例如,表示此 分量的SQL子查詢)將由關(guān)系數(shù)據(jù)庫引擎或混合引擎的關(guān)系數(shù)據(jù)庫組件來執(zhí)行。基于性 能的引擎選擇規(guī)則還指定G-SPARQL查詢的可達(dá)性分量(例如,表示該分量的非關(guān)系子查 詢)將由圖引擎或混合引擎的基于存儲(chǔ)器的組件來執(zhí)行?;谛阅艿囊孢x擇規(guī)則還指定 G-SPARQL查詢的最短路徑分量(例如,表示該分量的非關(guān)系子查詢)將由圖引擎或混合引 擎的基于存儲(chǔ)器的組件來執(zhí)行。
[0136] 在本文中描述的圖查詢處理技術(shù)的另一實(shí)施例中,至少一個(gè)基于貨幣成本的引擎 選擇規(guī)則可用于標(biāo)識(shí)多個(gè)獨(dú)立的查詢執(zhí)行引擎中將被用來處理這些查詢分量中的每一個(gè) 的查詢執(zhí)行引擎,其中該規(guī)則指定這些查詢分量中的每一個(gè)將由多個(gè)獨(dú)立的查詢執(zhí)行引擎 中用起來最便宜的查詢執(zhí)行引擎來執(zhí)行。在圖查詢處理技術(shù)的又一實(shí)施例中,基于性
當(dāng)前第5頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1