两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于KSP算法的資源描述框架查詢方法和系統(tǒng)與流程

文檔序號:11177325閱讀:863來源:國知局
一種基于KSP算法的資源描述框架查詢方法和系統(tǒng)與流程
本發(fā)明涉及語義網(wǎng)數(shù)據(jù)檢索技術(shù),尤其涉及一種基于ksp算法的資源描述框架查詢方法和系統(tǒng)。
背景技術(shù)
:資源描述框架(resourcedescriptionframework,rdf)是用于表達(dá)web資源的元數(shù)據(jù)的通用框架,它使用統(tǒng)一資源描述符(uri)來表示事物,用簡單的屬性和屬性值來描述事物,rdf把數(shù)據(jù)表示為<主體,謂詞,客體>,其中用于標(biāo)識事物為主體,用于區(qū)分主語對象各個不同屬性的那部分為謂詞,陳述中用于區(qū)分各個屬性的值的部分叫做客體。因此rdf知識庫也可以看做是一個有向圖,其中頂點(diǎn)是資源、性質(zhì)、文字、描述,邊是謂詞用來描述頂點(diǎn)之間的關(guān)系。rdf知識庫可以建模成一個有向圖,其中頂點(diǎn)表示實(shí)體,邊表示實(shí)體之間關(guān)系。在rdf圖中我們稱存在空間坐標(biāo)的頂點(diǎn)為位置頂點(diǎn)(places)。我們用v表示rdf圖中的任意頂點(diǎn),用p表示位置頂點(diǎn)。每一個rdf三元組對應(yīng)一條從一個實(shí)體(主體)到另一個實(shí)體(客體)的有向邊。為了實(shí)現(xiàn)關(guān)鍵字的搜索,每一個實(shí)體都對應(yīng)一個文檔,用ψ表示,該文檔是從該實(shí)體對應(yīng)的資源、性質(zhì)、文字、描述中提取的關(guān)鍵字組成。語義位置(semanticplace)是rdf圖的一顆子樹,該子樹以位置頂點(diǎn)p為根,且包含所有的查詢關(guān)鍵字。從一個給定的位置頂點(diǎn)p出發(fā)可以構(gòu)造多個語義位置?,F(xiàn)有的rdf數(shù)據(jù)是使用結(jié)構(gòu)化查詢語言(structuredquerylanguage)進(jìn)行訪問,如sparql(simpleprotocolandrdfquerylanguage)。但是標(biāo)準(zhǔn)的sparql查詢需要用戶完全了解語言本身,并且了解數(shù)據(jù)域。因此sparql限制數(shù)據(jù)訪問主要是數(shù)據(jù)域?qū)<?,因?yàn)樗鼘ζ胀ㄓ脩羰遣挥押玫模簿褪钦f對rdf數(shù)據(jù)進(jìn)行查詢時(shí),需要用戶懂得查詢語言和rdf語義,否則無法進(jìn)行查詢。技術(shù)實(shí)現(xiàn)要素:本發(fā)明旨在解決現(xiàn)有技術(shù)中需要用戶懂得查詢語言和rdf語義否則無法進(jìn)行查詢的技術(shù)問題,提供一種基于ksp算法的資源描述框架查詢方法和系統(tǒng)。本發(fā)明的實(shí)施例提供一種基于ksp算法的資源描述框架查詢方法,用于利用ksp算法在rdf圖上搜索查詢關(guān)鍵字的語義位置,所述查詢方法包括以下步驟:初始化存放結(jié)果函數(shù)hk,其中存放結(jié)果函數(shù)hk用于保存符合條件的語義位置qsp,符合條件的語義位置qsp為包含所有查詢關(guān)鍵字的子樹,k為符合條件的語義位置qsp的數(shù)量;根據(jù)預(yù)設(shè)的文檔倒排索引表和預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表,對用戶輸入的查詢關(guān)鍵字中的每個關(guān)鍵字進(jìn)行循環(huán)遍歷,得到輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,以及得到每個關(guān)鍵字對應(yīng)的值,并加載在預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中;根據(jù)所述輸入的查詢關(guān)鍵字和輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,構(gòu)建字典結(jié)構(gòu),其中所述字典結(jié)構(gòu)表示含有所述輸入的查詢關(guān)鍵字的節(jié)點(diǎn);初始化單調(diào)排序函數(shù)的值θ,其中單調(diào)排序函數(shù)表示對根據(jù)輸入的查詢關(guān)鍵字查找的多個最緊湊的符合條件的語義位置進(jìn)行排序,最緊湊的符合條件的語義位置表示為以p為根節(jié)點(diǎn)的松散度最小的符合條件的語義位置;預(yù)設(shè)的空間索引中根節(jié)點(diǎn)進(jìn)入隊(duì)列,得到位置節(jié)點(diǎn)隊(duì)列q;根據(jù)輸入的查詢關(guān)鍵字和位置節(jié)點(diǎn)隊(duì)列q,遍歷預(yù)設(shè)的空間索引得到節(jié)點(diǎn)e,并對節(jié)點(diǎn)e進(jìn)行判斷;當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn),判斷e是否為不符合條件節(jié)點(diǎn),若e為不符合條件節(jié)點(diǎn)則結(jié)束本次循環(huán),進(jìn)入下次循環(huán),當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn),且判斷節(jié)點(diǎn)e不是不符合條件節(jié)點(diǎn)時(shí),則執(zhí)行函數(shù)getsemanticplace,得到符合條件的語義位置的子樹tp和子樹tp的松散度值l(tp),并判斷是否為l(tp)==+∞,如果是,則結(jié)束本次循環(huán),如果否,計(jì)算松散度值l(tp)的排序分?jǐn)?shù)f,并將松散度值l(tp)和對應(yīng)排序分?jǐn)?shù)f插入存放結(jié)果函數(shù)hk且更新單調(diào)排序函數(shù)的值θ;當(dāng)節(jié)點(diǎn)e為節(jié)點(diǎn)n時(shí),循環(huán)遍歷節(jié)點(diǎn)n下的每一個節(jié)點(diǎn),計(jì)算n下每個節(jié)點(diǎn)e對應(yīng)的半徑字的松散度值和對應(yīng)半徑字的排序分?jǐn)?shù)當(dāng)時(shí),則把對應(yīng)節(jié)點(diǎn)e插入位置節(jié)點(diǎn)隊(duì)列q并返回所述根據(jù)輸入的查詢關(guān)鍵字和位置節(jié)點(diǎn)隊(duì)列q,在預(yù)設(shè)的空間索引中查找節(jié)點(diǎn)e的步驟,直到根據(jù)存放結(jié)果函數(shù)hk向用戶返回查詢結(jié)果。本發(fā)明還提供一種實(shí)施例的基于ksp算法的資源描述框架查詢系統(tǒng),用于利用ksp算法在rdf圖上搜索查詢關(guān)鍵字的語義位置,所述查詢系統(tǒng)包括:第一初始化模塊,用于初始化存放結(jié)果函數(shù)hk,其中存放結(jié)果函數(shù)hk用于保存符合條件的語義位置qsp,符合條件的語義位置qsp為包含所有查詢關(guān)鍵字的子樹,k為符合條件的語義位置qsp的數(shù)量;循環(huán)遍歷模塊,用于根據(jù)預(yù)設(shè)的文檔倒排索引表和預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表,對用戶輸入的查詢關(guān)鍵字中的每個關(guān)鍵字進(jìn)行循環(huán)遍歷,得到輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,以及得到每個關(guān)鍵字對應(yīng)的值,并加載在預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中;構(gòu)建模塊,用于根據(jù)所述輸入的查詢關(guān)鍵字和輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,構(gòu)建字典結(jié)構(gòu),其中所述字典結(jié)構(gòu)表示含有所述輸入的查詢關(guān)鍵字的節(jié)點(diǎn);第二初始化模塊,用于初始化單調(diào)排序函數(shù)的值θ,其中單調(diào)排序函數(shù)表示對根據(jù)輸入的查詢關(guān)鍵字查找的多個最緊湊的符合條件的語義位置進(jìn)行排序,最緊湊的符合條件的語義位置表示為以p為根節(jié)點(diǎn)的松散度最小的符合條件的語義位置;生成隊(duì)列模塊,用于預(yù)設(shè)的空間索引的根節(jié)點(diǎn)進(jìn)入隊(duì)列,得到位置節(jié)點(diǎn)隊(duì)列q;查找循環(huán)模塊,用于根據(jù)輸入的查詢關(guān)鍵字和位置節(jié)點(diǎn)隊(duì)列q,遍歷預(yù)設(shè)的空間索引得到節(jié)點(diǎn)e并對節(jié)點(diǎn)e進(jìn)行判斷;頂點(diǎn)處理模塊,用于當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn)時(shí),判斷節(jié)點(diǎn)e是否為不符合條件節(jié)點(diǎn),若節(jié)點(diǎn)e為不符合條件節(jié)點(diǎn)則結(jié)束本次循環(huán),進(jìn)入下次循環(huán),當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn),且節(jié)點(diǎn)e不是不符合條件節(jié)點(diǎn),則執(zhí)行函數(shù)getsemanticplace,得到符合條件的語義位置的子樹tp和子樹tp的松散度值l(tp),并判斷是否為l(tp)==+∞,如果是,則結(jié)束本次循環(huán),如果否,計(jì)算松散度值l(tp)的排序分?jǐn)?shù)f,并將松散度值l(tp)和對應(yīng)排序分?jǐn)?shù)f插入存放結(jié)果函數(shù)hk且更新單調(diào)排序函數(shù)的值θ;節(jié)點(diǎn)處理模塊,用于節(jié)點(diǎn)e為節(jié)點(diǎn)n時(shí),循環(huán)遍歷節(jié)點(diǎn)n下的每一個節(jié)點(diǎn),計(jì)算n下每個節(jié)點(diǎn)e對應(yīng)的半徑字的松散度值和對應(yīng)半徑字的排序分?jǐn)?shù)當(dāng)時(shí),則把對應(yīng)節(jié)點(diǎn)e插入位置節(jié)點(diǎn)隊(duì)列q并進(jìn)入查找循環(huán)模塊,直到輸出結(jié)果模塊,用于根據(jù)存放結(jié)果函數(shù)hk向用戶返回查詢結(jié)果。本發(fā)明還提供一種實(shí)施例的計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)相比,有益效果在于:該ksp算法對用戶是友好的,用戶不需要掌握專門的查詢語言,只需要輸入查詢的關(guān)鍵字,算法將返回在查詢位置附近,包含所有關(guān)鍵字的子樹。附圖說明圖1是本發(fā)明基于ksp算法的資源描述框架查詢方法一種實(shí)施例的流程圖。圖2是本發(fā)明基于ksp算法的資源描述框架查詢方法另一種實(shí)施例的流程圖。圖3是本發(fā)明文檔倒排索引表一種實(shí)施例的示意圖。圖4是本發(fā)明所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表的創(chuàng)建方法一種實(shí)施例的流程圖。圖5是本發(fā)明基于ksp算法的資源描述框架查詢系統(tǒng)一種實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。具體的,ksp算法中的查詢序列q由三部分組成,包括查詢位置q.λ,查詢關(guān)鍵字q.ψ,和語義位置數(shù)量k。具體的,對于一個給定ksp查詢序列q,和一個rdf圖g=<v,e>,其中v表示rdf圖的頂點(diǎn),e表示rdf圖的邊,符合條件的語義位置qsp是一棵樹tp=<v',e'>,其中tp的根節(jié)點(diǎn)為p,并且滿足為了方便介紹,用<p,(v1,v2...)>表示一個語義位置,其中p是根節(jié)點(diǎn),(v1,v2...)表示其他所有的頂點(diǎn)。給定一個查詢序列q可能存在多個符合條件的語義位置qsp,符合條件的語義位置qsp有相同的根節(jié)點(diǎn)p,但(v1,v2...)不同。因此還需要計(jì)算tp的松散度l(tp)。具體的,對于一個給定qsptp=<v',e'>,令表示從根節(jié)點(diǎn)p到包含關(guān)鍵字ti的節(jié)點(diǎn)v的最短距離,其中ti∈q.ψ,d(p,v)為p到v的最短距離,所以tp的松散度值l(tp)為:如果松散度越小,根節(jié)點(diǎn)和其他節(jié)點(diǎn)覆蓋了所有輸入的查詢關(guān)鍵字的相關(guān)性越高。因此對于一個給定的位置頂點(diǎn)p,以位置頂點(diǎn)p為根節(jié)點(diǎn),我們要找的是最緊湊的符合條件的語義位置tqsp,表示以p為根節(jié)點(diǎn)的松散度值最小的qsp。另外,在rdf圖上,對于一個給定的ksp的查詢序列q,查詢結(jié)果為k個tqsp,且這k個tqsp的分?jǐn)?shù)(rankingscore)是所有tqsp中最小的,松散度l(tp)的排序分?jǐn)?shù)f,用函數(shù)f(l(tp),s(q,p))表示,l(tp)為子樹tp松散度,s(q,p)為q.λ查詢位置和p之間的歐式距離。函數(shù)f(l(tp),s(q,p))可以為任意的單調(diào)排序函數(shù),f(l(tp),s(q,p))=l(tp)×s(q,p)。本發(fā)明一個實(shí)施例的基于ksp算法的資源描述框架查詢方法,用于利用ksp算法在rdf圖上搜索查詢關(guān)鍵字的語義位置,如圖1所示,所述構(gòu)造方法包括以下步驟:步驟s101,初始化存放結(jié)果函數(shù)hk,其中存放結(jié)果函數(shù)hk用于保存符合條件的語義位置qsp,符合條件的語義位置qsp為包含所有查詢關(guān)鍵字的子樹,k為符合條件的語義位置qsp的數(shù)量;步驟s102,根據(jù)預(yù)設(shè)的文檔倒排索引表和預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表,對用戶輸入的查詢關(guān)鍵字中的每個關(guān)鍵字進(jìn)行循環(huán)遍歷,得到輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,以及得到每個關(guān)鍵字對應(yīng)的值,并加載在預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中;步驟s103,根據(jù)所述輸入的查詢關(guān)鍵字和輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,構(gòu)建字典結(jié)構(gòu),其中所述字典結(jié)構(gòu)表示含有所述輸入的查詢關(guān)鍵字的節(jié)點(diǎn);步驟s104,初始化單調(diào)排序函數(shù)的值θ,其中單調(diào)排序函數(shù)表示對根據(jù)輸入的查詢關(guān)鍵字查找的多個最緊湊的符合條件進(jìn)行排序,最緊湊的符合條件的語義位置表示為以p為根節(jié)點(diǎn)的松散度最小的符合條件的語義位置;步驟s105,預(yù)設(shè)的空間索引的根節(jié)點(diǎn)進(jìn)入隊(duì)列,得到位置節(jié)點(diǎn)隊(duì)列q;步驟s106,根據(jù)輸入的查詢關(guān)鍵字和位置節(jié)點(diǎn)隊(duì)列q,遍歷預(yù)設(shè)的空間索引得到節(jié)點(diǎn)e,并對節(jié)點(diǎn)e進(jìn)行判斷,當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn),進(jìn)入步驟s107,當(dāng)節(jié)點(diǎn)e為節(jié)點(diǎn)n,進(jìn)入步驟s111;步驟s107,判斷節(jié)點(diǎn)e是否為不符合條件節(jié)點(diǎn),如果是,則結(jié)束本次循環(huán),進(jìn)入下次循環(huán)即返回步驟s106,如果否,進(jìn)入步驟s108;步驟s108,執(zhí)行函數(shù)getsemanticplace,得到符合條件的語義位置的子樹tp和子樹tp的松散度值l(tp);步驟s109,判斷是否為l(tp)==+∞,如果是,結(jié)束本次循環(huán)即返回步驟s106,如果否,進(jìn)入步驟s110;步驟s110;計(jì)算松散度值l(tp)的排序分?jǐn)?shù)f,并將松散度值l(tp)和對應(yīng)排序分?jǐn)?shù)f插入存放結(jié)果函數(shù)hk且更新單調(diào)排序函數(shù)的值θ,進(jìn)入步驟s115;步驟s111,循環(huán)遍歷每一個節(jié)點(diǎn)n,計(jì)算節(jié)點(diǎn)e對應(yīng)的半徑字的松散度值和節(jié)點(diǎn)e對應(yīng)半徑字的排序分?jǐn)?shù)步驟s112,判斷是否如果是,進(jìn)入步驟s113,如果否,進(jìn)入步驟s114;步驟s113,當(dāng)時(shí),節(jié)點(diǎn)e符合條件,將對應(yīng)的節(jié)點(diǎn)e插入位置節(jié)點(diǎn)隊(duì)列q,并返回s106;步驟s114,進(jìn)入步驟s115;步驟s115,根據(jù)存放結(jié)果函數(shù)hk向用戶返回查詢結(jié)果,也就是說,向用戶返回包含所有輸入的查詢關(guān)鍵字的子樹,并且該子樹的根節(jié)點(diǎn)靠近查詢位置。步驟s101,具體為,初始化hk中的元素按照f(l(tp),s(q,p))排序;hk中存放的是qsp,即存放最終的結(jié)果,其中qsp為包含所有查詢關(guān)鍵字的子樹。步驟s102,具體為:循環(huán)遍歷查詢關(guān)鍵字q.ψ中的每個關(guān)鍵字ti,做一下處理:首先從預(yù)設(shè)的文檔倒排索引表i中,查找關(guān)鍵字ti對一個的值,并保存,接著從預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表即α-radiuswordneighborhood表iα中,加載關(guān)鍵字ti所對應(yīng)的值,并保存。步驟s103,具體為,建立一個字典結(jié)構(gòu)mq.ψ,結(jié)構(gòu)為{節(jié)點(diǎn),(t1,t2,...)}表示含有查詢關(guān)鍵字的節(jié)點(diǎn)。步驟s104,具體為,初始化θ=+∞;θ為rankingscoref的值。在步驟s105中,對于預(yù)設(shè)的空間索引是在查詢之前建立好的,所以用于輸入不同的查詢關(guān)鍵字對應(yīng)的空間索引是相同的。另外,位置節(jié)點(diǎn)隊(duì)列q中保存多個位置節(jié)點(diǎn),所述多個位置節(jié)點(diǎn)是符合查詢要求的,其中位置節(jié)點(diǎn)包含位置信息,而普通節(jié)點(diǎn)不包含位置信息。步驟s106,具體為:查找循環(huán)條件為e=getnext(q,r,q),函數(shù)getnext表示在r-tree上使用增強(qiáng)nn算法(incrementalnnalgorithm)查找節(jié)點(diǎn)e,若節(jié)點(diǎn)e是位置頂點(diǎn),即包含空間位置信息的頂點(diǎn),則進(jìn)入步驟s107,若節(jié)點(diǎn)e不是位置頂點(diǎn)則進(jìn)入步驟s111。當(dāng)節(jié)點(diǎn)e是位置頂點(diǎn),做以下處理:首先若節(jié)點(diǎn)e不符合刪除規(guī)則1,則跳出本次循環(huán),進(jìn)入下次循環(huán);再次回到步驟s106,開始新的循環(huán);接著,執(zhí)行函數(shù)getsemanticplace,得到tp的值;若l(tp)==+∞,說明沒有找到,則跳出本次循環(huán),進(jìn)入下次循環(huán);接著,計(jì)算l(tp)的rankingscore,并將l(tp)和對應(yīng)的rankingscoref插入到hk中,即hk.add(tp,f);最后,更新θ的值,進(jìn)入步驟s115。當(dāng)節(jié)點(diǎn)e是節(jié)點(diǎn)n時(shí),循環(huán)遍歷n下的每一個節(jié)點(diǎn)e,做以下操作;針對每個節(jié)點(diǎn):首先,計(jì)算節(jié)點(diǎn)e的α-boundonthelooseness刪除規(guī)則2,接著計(jì)算節(jié)點(diǎn)e的α-boundontherankingscore刪除規(guī)則3,最后根據(jù)刪除規(guī)則2,3可以判定,當(dāng)是,對應(yīng)的節(jié)點(diǎn)e符合條件,可以插入隊(duì)列q,即toq,直到進(jìn)入步驟s115。具體的,所述存放結(jié)果函數(shù)hk中保存符合條件的語義位置qsp按照最緊湊的符合條件的語義位置的排序分?jǐn)?shù)大小進(jìn)行排序。在具體實(shí)施中,步驟s108,所述執(zhí)行函數(shù)getsemanticplace,如圖2所示,具體包括:步驟s201,初始化子樹tp,其中,tp表示以p為頂點(diǎn),包含所有查詢關(guān)鍵字的一顆子樹;步驟s202,初始化子樹tp的松散度值l(tp)以使l(tp)=1;步驟s203,查詢的關(guān)鍵字q.ψ保存到數(shù)字集b中;步驟s204,從頂點(diǎn)p開始使用bfs(breadth-first-search)方式遍歷rdf圖且數(shù)字集b不為空;步驟s205,把bfs方式得到的節(jié)點(diǎn)v添加到子樹tp中;步驟s206,在所述字典結(jié)構(gòu)中查找節(jié)點(diǎn)v包含的查詢關(guān)鍵字;步驟s207,判斷節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集是否為空,如果否,進(jìn)入步驟s208,如果是,進(jìn)入步驟s209;步驟s208,如果否,輸出l(tp)=+∞和tp=null;步驟s209,如果是,根據(jù)節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集中元素的個數(shù)以及節(jié)點(diǎn)v和頂點(diǎn)p之間的距離的得到子樹tp的松散度值l(tp);步驟s210,從數(shù)字集b中刪除節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集得到當(dāng)前的數(shù)字集b;步驟s211,當(dāng)前的數(shù)字集b是否為空,如果否,返回步驟s204,如果是,進(jìn)入步驟s208,也就是說,直到數(shù)字集b為空,輸出l(tp)=+∞和tp=null。具體的,步驟s209的計(jì)算公式如下:l(tp)+=|b∩v.ψq|×d(p,v);其中,|b∩v.ψq|表示b和v.ψq的交集中元素的個數(shù),d(p,v)為位置頂點(diǎn)p到節(jié)點(diǎn)v的最短距離。也就是說,ksp算法通過執(zhí)行sp和getsemanticplace兩個函數(shù)以輸出輸入的查詢關(guān)鍵字的返回結(jié)果,sp函數(shù)內(nèi)部調(diào)用getsemanticplace函數(shù),函數(shù)sp(q,r,g,i,ia)的內(nèi)容具體為,步驟s101至步驟s115的過程。函數(shù)getsemanticplace(q.ψ,p,g,mq.ψ)的內(nèi)容具體為,步驟s201至步驟s211的過程,該函數(shù)的作用是輸出tp和l(tp),其中q表示查詢序列,r表示預(yù)設(shè)的空間索引,g表示rdf圖,i表示預(yù)設(shè)的文檔倒排索引表,iα表示預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表。在具體實(shí)施中,所述查詢方法還包括以下步驟:創(chuàng)建預(yù)設(shè)的空間索引。具體的,在步驟s101之前,創(chuàng)建預(yù)設(shè)的空間索引。所述創(chuàng)建預(yù)設(shè)的空間索引的步驟,具體為:從rdf數(shù)據(jù)中提取含有坐標(biāo)信息的數(shù)據(jù),得到預(yù)設(shè)的空間索引。因?yàn)閞df圖數(shù)據(jù)比較大,為了提高查詢的速度,首先從rdf數(shù)據(jù)中提取含有坐標(biāo)信息的數(shù)據(jù),創(chuàng)建預(yù)設(shè)的空間索引r-tree使得查詢的速度可以得到有效的提高。在具體實(shí)施中,所述查詢方法還包括以下步驟:對每個節(jié)點(diǎn)的文檔中的關(guān)鍵字建立倒排索引以得到預(yù)設(shè)的文檔倒排索引表,倒排索引表的格式為(關(guān)鍵字,節(jié)點(diǎn)),具體的,在步驟s101之前,對每個節(jié)點(diǎn)的文檔中的關(guān)鍵字建立倒排索引以得到預(yù)設(shè)的文檔倒排索引表i,文檔倒排索引表的格式為(關(guān)鍵字,節(jié)點(diǎn)),如圖3所示。在具體實(shí)施中,如圖4所示,所述查詢方法還包括以下步驟:步驟s401,從頂點(diǎn)p開始使用bfs方式遍歷rdf圖;步驟s402,當(dāng)遍歷到節(jié)點(diǎn)v時(shí),遍歷節(jié)點(diǎn)v的文檔中的關(guān)鍵字t,若(t,d(p,v))在wn(p)中沒有出現(xiàn)過,則將(t,d(p,v))添加到預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中,其中wn(p)表示從p到每一個查詢關(guān)鍵字ti的最短距離的集合{(ti,dg(p,ti))},dg(p,ti)≤α表示從根節(jié)點(diǎn)p到包含查詢關(guān)鍵字ti的頂點(diǎn)的最短的距離,(t,d(p,v))表示頂點(diǎn)v對應(yīng)的文檔信息,包含查詢關(guān)鍵字t;步驟s403,當(dāng)?shù)玫剿械娜~子節(jié)點(diǎn)的半徑字領(lǐng)域后,按照從葉子節(jié)點(diǎn)到非葉子節(jié)點(diǎn)的順序,計(jì)算wn(n)的值,wn(n)表示非葉子節(jié)點(diǎn)n下所有的位置頂點(diǎn){pj}對應(yīng)的wn(pj)的聯(lián)合,非葉子節(jié)點(diǎn)n下面包含一系列的位置頂點(diǎn){pj};步驟s404,對于非葉子節(jié)點(diǎn)n,{ei}表示n下的節(jié)點(diǎn),wn(n)初始化為空,若(t,dg(ei,t))在wn(n)沒有相應(yīng)的值則將(t,dg(ei,t))添加到預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中,若有值則將所述半徑字鄰域表中非葉子節(jié)點(diǎn)n對應(yīng)的值更新為min(dg(n,t),dg(ei,t)),其中,(t,dg(ei,t))為關(guān)鍵字t在所述半徑字鄰域表中對應(yīng)的值。具體的,頂點(diǎn)p可以是根節(jié)點(diǎn),如果是根節(jié)點(diǎn),則包含位置信息。頂點(diǎn)p可以是包含位置信息的節(jié)點(diǎn),所以它是包含位置信息的所有可能節(jié)點(diǎn),包括根節(jié)點(diǎn)。另外,所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表:是根據(jù)樹建立起來的,其中樹中的有葉子節(jié)點(diǎn)p,和非葉子節(jié)點(diǎn)n,首先算葉子節(jié)點(diǎn)的值,然后算非葉子節(jié)點(diǎn)的值,所以是葉子節(jié)點(diǎn)到非葉子節(jié)點(diǎn),是一種自下到上的順序。比如,以下所示表格為所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表。q.ψabbey...ancientcatholicromanhistory...dg(p1,ti)0...111-...dg(p2,ti)-...-001...dg(n,ti)0...1001...具體的,開始時(shí)初始化,使得所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表為空,步驟s401-步驟s404就是填充這張表。其中:abbey,ancient,catholic,roman,history為所述半徑字領(lǐng)域表中關(guān)鍵字。(t,d(p,v)):表示頂點(diǎn)v的文檔信息中,有查詢關(guān)鍵字t,則對應(yīng)的值就會插入到半徑字鄰域表中。(t,dg(ei,t)):表示關(guān)鍵字t,在半徑字鄰域表中對應(yīng)的值。此處的ei就是上表中的p1,p2,即dg(ei,t)就是表中dg(p1,ti)對應(yīng)的值。min(dg(n,t),dg(ei,t)):就是表中dg(n,ti)的值去掉所在列的最小值。比如,catholic所在的列,有值1,0所以min(dg(n,t),dg(ei,t))的值為0,也就是dg(n,ti)的值。由于在根據(jù)ksp算法構(gòu)建tqsp的時(shí)候可能會遇到以下兩種情況:(i)遍歷完這個圖后仍未找到包含輸入查詢關(guān)鍵字的tp,(ii)找到了tp,但是tp的排序分?jǐn)?shù)f大于θ(當(dāng)前已經(jīng)找到的第k個tp的排序分?jǐn)?shù))。其中,tqsp為松散度最小的qsp針對情況。對于(i)的情況,在rdf圖中,讓表示以p為根節(jié)點(diǎn)子樹不能包含所有的查詢關(guān)鍵字。對于給定的查詢關(guān)鍵字序列q.ψ,若此時(shí)的p節(jié)點(diǎn)為不符合條件節(jié)點(diǎn)。針對(ii)情況,為了提高算法的效率,定義wn(p),對位置頂點(diǎn)p,它的wn(p)表示從p到每一個查詢關(guān)鍵字ti的最短距離的集合{(ti,dg(p,ti))},其中dg(p,ti)≤α,表示從根節(jié)點(diǎn)p到包含查詢關(guān)鍵字ti的頂點(diǎn)的最短的距離。根據(jù)上述中對一個點(diǎn)的字鄰域描述,我們可以得出對節(jié)點(diǎn)n的字鄰域的定義,如對r-tree中的頂點(diǎn)n。定義wn(n),對于r-tree的節(jié)點(diǎn)n下面包含一系列的位置頂點(diǎn){pj},wn(n)為一系列的{(ti,dg(n,ti))},其中wn(n)是節(jié)點(diǎn)n下所有的位置頂點(diǎn){pj}對應(yīng)的wn(pj)的聯(lián)合,其中對于每個關(guān)鍵字ti,顯然dg(n,ti)≤α。根據(jù)定義wn(p)和定義wn(n),可以創(chuàng)建節(jié)點(diǎn)對應(yīng)的半徑字領(lǐng)域表iα即預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表(α-radiuswordneighborhood表),用于提高算法效率。進(jìn)一步,為了提高算法的效率,引理1:由于wn(p)表示位置定點(diǎn)p的半徑字領(lǐng)域(α-radiuswordneighborhood)。對于給定的查詢關(guān)鍵字q.ψ={t1,...,tj,...tm},為了不失一般性,假設(shè)第j個關(guān)鍵字在wn(p)已經(jīng)有值,則以p為根節(jié)點(diǎn)的tp的tqsp的半徑字松散度(α-boundonthelooseness)可表示為并且引理2:由于表示以p為根節(jié)點(diǎn)的tp的tqsp的半徑字松散度,則對于給定的查詢序列q對應(yīng)的tp的半徑字排序分?jǐn)?shù)(α-boundontherankingscore)可表示為且引理3:由于wn(n)表示頂點(diǎn)n的半徑字領(lǐng)域(α-radiuswordneighborhood),查詢關(guān)鍵字q.ψ={t1...,tj...,tm},為了不失一般性,假設(shè)第j個關(guān)鍵字在wn(n)中已經(jīng)有相應(yīng)的值,則在n節(jié)點(diǎn)下以p為根節(jié)點(diǎn)的tp對應(yīng)的所有的tqsp可表示為并且引理4:由于表示以在節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的tp的tqsp對應(yīng)的半徑字松散度,對于給定的查詢序列q,則在節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的所有的tp的半徑字松散度可表示為其中s(q,n)表示q和n之間最小的空間距離,且根據(jù)引理2我們得出刪除規(guī)則2,根據(jù)引理4得出刪除規(guī)則3,來提高算法的效率,具體刪除規(guī)則如下:刪除規(guī)則2:對于給定的查詢序列q,θ表示第k個候選tqsp的rankingscore。表示以p為根節(jié)點(diǎn)的tp的tqsp的α-boundontherankingscore。當(dāng)時(shí)tp不是我們要查的結(jié)果,p可以被刪除。刪除規(guī)則3:對于給定的查詢序列q,θ表示第k個候選tqsp的rankingscore,表示節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的tp的tqsp的α-boundontherankingscore,若則在n節(jié)點(diǎn)下任何節(jié)點(diǎn)都不滿足條件,n可以被刪除?;趉sp算法的資源描述框架查詢方法,主要是實(shí)現(xiàn)圖上關(guān)鍵字的搜索和rdf數(shù)據(jù)上關(guān)鍵字的搜索:由于關(guān)鍵字檢索對用戶的友好性,不僅用戶檢索網(wǎng)絡(luò)數(shù)據(jù),而且用于檢索xml文檔,關(guān)系型數(shù)據(jù)庫,和圖。傳統(tǒng)上圖的搜索算法將查詢轉(zhuǎn)化為在特征空間上的搜索,例如路徑,頻繁模式,和序列。這種搜索算法更多的關(guān)注圖的結(jié)構(gòu)而不是圖的語義內(nèi)容。圖上關(guān)鍵字的查詢通過利用內(nèi)容和鏈接結(jié)構(gòu)兩者來確定圖中一組密集鏈接的節(jié)點(diǎn)。由于這兩種信息的重新實(shí)施,可提高結(jié)果的整體質(zhì)量。而rdf數(shù)據(jù)上關(guān)鍵字的搜索,由于rdf數(shù)據(jù)是一種特殊類型的圖數(shù)據(jù)也可以提供查詢的效率。本發(fā)明還提供一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。本發(fā)明的一實(shí)施例中提供一種基于資源描述框架的ksp算法查詢系統(tǒng),用于利用ksp算法在rdf圖上搜索查詢關(guān)鍵字的語義位置,如圖5所示,所述查詢系統(tǒng)包括:第一初始化模塊51,用于初始化存放結(jié)果函數(shù)hk,其中存放結(jié)果函數(shù)hk用于保存符合條件的語義位置qsp,符合條件的語義位置qsp為包含所有查詢關(guān)鍵字的子樹,k為符合條件的語義位置qsp的數(shù)量;循環(huán)遍歷模塊52,用于根據(jù)預(yù)設(shè)的文檔倒排索引表和預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表,對用戶輸入的查詢關(guān)鍵字中的每個關(guān)鍵字進(jìn)行循環(huán)遍歷,得到輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,以及得到每個關(guān)鍵字對應(yīng)的值,并加載在預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中;構(gòu)建模塊53,用于根據(jù)所述輸入的查詢關(guān)鍵字和輸入的查詢關(guān)鍵字對應(yīng)的倒排索引表,構(gòu)建字典結(jié)構(gòu),其中所述字典結(jié)構(gòu)表示含有所述輸入的查詢關(guān)鍵字的節(jié)點(diǎn);第二初始化模塊54,用于初始化單調(diào)排序函數(shù)的值θ,其中單調(diào)排序函數(shù)表示對根據(jù)輸入的查詢關(guān)鍵字查找的多個最緊湊的符合條件的語義位置進(jìn)行排序,最緊湊的符合條件的語義位置表示為以p為根節(jié)點(diǎn)的松散度最小的符合條件的語義位置;生成隊(duì)列模塊55,用于預(yù)設(shè)的空間索引的根節(jié)點(diǎn)進(jìn)入隊(duì)列,得到位置節(jié)點(diǎn)隊(duì)列q;查找循環(huán)模塊56,用于根據(jù)輸入的查詢關(guān)鍵字和位置節(jié)點(diǎn)隊(duì)列q,遍歷預(yù)設(shè)的空間索引得到節(jié)點(diǎn)e,并對節(jié)點(diǎn)e進(jìn)行判斷;頂點(diǎn)處理模塊57,于當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn)時(shí),判斷節(jié)點(diǎn)e是否為不符合條件節(jié)點(diǎn),若節(jié)點(diǎn)e為不符合條件節(jié)點(diǎn)則結(jié)束本次循環(huán),進(jìn)入下次循環(huán),當(dāng)節(jié)點(diǎn)e為包含空間位置信息的頂點(diǎn),且節(jié)點(diǎn)e不是不符合條件節(jié)點(diǎn),則執(zhí)行函數(shù)getsemanticplace,得到符合條件的語義位置的子樹tp和子樹tp的松散度值l(tp),并判斷是否為l(tp)==+∞,如果是,則結(jié)束本次循環(huán),如果否,計(jì)算松散度值l(tp)的排序分?jǐn)?shù)f,并將松散度值l(tp)和對應(yīng)排序分?jǐn)?shù)f插入存放結(jié)果函數(shù)hk且更新單調(diào)排序函數(shù)的值θ;節(jié)點(diǎn)處理模塊58,用于節(jié)點(diǎn)e為節(jié)點(diǎn)n時(shí),循環(huán)遍歷節(jié)點(diǎn)n下的每一個節(jié)點(diǎn),計(jì)算n下每個節(jié)點(diǎn)e對應(yīng)的半徑字的松散度值和對應(yīng)半徑字的排序分?jǐn)?shù)當(dāng)時(shí),則把對應(yīng)節(jié)點(diǎn)e插入位置節(jié)點(diǎn)隊(duì)列q并進(jìn)入查找循環(huán)模塊,直到輸出結(jié)果模塊59,用于根據(jù)存放結(jié)果函數(shù)hk向用戶返回查詢結(jié)果。具體的,所述存放結(jié)果函數(shù)hk中保存符合條件的語義位置qsp按照最緊湊的符合條件的語義位置的排序分?jǐn)?shù)大小進(jìn)行排序。在具體實(shí)施中,頂點(diǎn)處理模塊57還用于:初始化子樹tp,其中,tp表示以p為頂點(diǎn),包含所有查詢關(guān)鍵字的一顆子樹;初始化子樹tp的松散度l(tp)以使l(tp)=1;查詢的關(guān)鍵字q.ψ保存到數(shù)字集b中;從頂點(diǎn)p開始使用bfs(breadth-first-search)方式遍歷rdf圖且數(shù)字集b不為空;把bfs方式得到的節(jié)點(diǎn)v添加到子樹tp中;在所述字典結(jié)構(gòu)中查找節(jié)點(diǎn)v包含的查詢關(guān)鍵字;判斷節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集是否為空;如果否,輸出l(tp)=+∞和tp=null;如果是,根據(jù)節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集中元素的個數(shù)以及節(jié)點(diǎn)v和頂點(diǎn)p之間的距離的,得到子樹tp的松散度值l(tp);從數(shù)字集b中刪除節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集得到當(dāng)前的數(shù)字集b;當(dāng)前的數(shù)字集b是否為空,如果否,執(zhí)行從頂點(diǎn)p開始使用bfs(breadth-first-search)方式遍歷rdf圖且數(shù)字集b不為空的內(nèi)容;如果是,輸出l(tp)=+∞和tp=null,也就是說,直到數(shù)字集b為空,輸出l(tp)=+∞和tp=null。具體的,根據(jù)節(jié)點(diǎn)v包含的查詢關(guān)鍵字和數(shù)字集b的交集中元素的個數(shù)以及節(jié)點(diǎn)v和頂點(diǎn)p之間的距離的得到子樹tp的松散度l(tp)的值計(jì)算公式如下:l(tp)+=|b∩v.ψq|×d(p,v);其中,|b∩v.ψq|表示b和v.ψq的交集中元素的個數(shù),d(p,v)為頂點(diǎn)p到節(jié)點(diǎn)v的最短距離。在具體實(shí)施中,所述查詢系統(tǒng)還包括創(chuàng)建模塊,用于創(chuàng)建預(yù)設(shè)的空間索引。具體的,創(chuàng)建模塊還用于:從rdf數(shù)據(jù)中提取含有坐標(biāo)信息的數(shù)據(jù),得到預(yù)設(shè)的空間索引。因?yàn)閞df圖數(shù)據(jù)比較大,為了提高查詢的速度,首先從rdf數(shù)據(jù)中提取含有坐標(biāo)信息的數(shù)據(jù),創(chuàng)建預(yù)設(shè)的空間索引r-tree使得查詢的速度可以得到有效的提高。在具體實(shí)施中,創(chuàng)建模塊還用于:對每個節(jié)點(diǎn)的文檔中的關(guān)鍵字建立倒排索引以得到預(yù)設(shè)的文檔倒排索引表,倒排索引表的格式為(關(guān)鍵字,節(jié)點(diǎn)),如圖3所示。在具體實(shí)施中,如圖4所示,創(chuàng)建模塊還用于:從位置頂點(diǎn)p開始使用bfs方式遍歷rdf圖;當(dāng)遍歷到節(jié)點(diǎn)v時(shí),遍歷節(jié)點(diǎn)v的文檔中的關(guān)鍵字t,若(t,d(p,v))在wn(p)中沒有出現(xiàn)過,則將(t,d(p,v))添加到預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中,其中wn(p)表示從p到每一個查詢關(guān)鍵字ti的最短距離的集合{(ti,dg(p,ti))},dg(p,ti)≤α表示從根節(jié)點(diǎn)p到包含查詢關(guān)鍵字ti的頂點(diǎn)的最短的距離,(t,d(p,v))表示頂點(diǎn)v對應(yīng)的文檔信息,包含查詢關(guān)鍵字t;得到所有的葉子節(jié)點(diǎn)的半徑字領(lǐng)域后,按照從葉子節(jié)點(diǎn)到非葉子節(jié)點(diǎn)的順序,計(jì)算wn(n)的值,wn(n)表示非葉子節(jié)點(diǎn)n下所有的位置頂點(diǎn){pj}對應(yīng)的wn(pj)的聯(lián)合,非葉子節(jié)點(diǎn)n下面包含一系列的位置頂點(diǎn){pj};對于非葉子節(jié)點(diǎn)n,{ei}表示n下的節(jié)點(diǎn),wn(n)初始化為空,若(t,dg(ei,t))在wn(n)沒有相應(yīng)的值則將(t,dg(ei,t))添加到預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表中,若有值則將所述半徑字鄰域表中非葉子節(jié)點(diǎn)n對應(yīng)的值更新為min(dg(n,t),dg(ei,t)),其中,(t,dg(ei,t))為關(guān)鍵字t在所述半徑字鄰域表中對應(yīng)的值。具體的,頂點(diǎn)p可以是根節(jié)點(diǎn),如果是根節(jié)點(diǎn),則包含位置信息。頂點(diǎn)p可以是包含位置信息的節(jié)點(diǎn),所以它是包含位置信息的所有可能節(jié)點(diǎn),包括根節(jié)點(diǎn)。另外,所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表:是根據(jù)樹建立起來的,其中樹中的有葉子節(jié)點(diǎn)p,和非葉子節(jié)點(diǎn)n,首先算葉子節(jié)點(diǎn)的值,然后算非葉子節(jié)點(diǎn)的值,所以是葉子節(jié)點(diǎn)到非葉子節(jié)點(diǎn),是一種自下到上的順序。比如,以下所示表格為所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表。q.ψabbey...ancientcatholicromanhistory...dg(p1,ti)0...111-...dg(p2,ti)-...-001...dg(n,ti)0...1001...具體的,開始時(shí)初始化,使得所述預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表為空,創(chuàng)建模塊的工作過程就是填充這張表。其中:abbey,ancient,catholic,roman,history為所述半徑字領(lǐng)域表中關(guān)鍵字。(t,d(p,v)):表示頂點(diǎn)v的文檔信息中,有查詢關(guān)鍵字t,則對應(yīng)的值就會插入到半徑字鄰域表中。(t,dg(ei,t)):表示關(guān)鍵字t,在半徑字鄰域表中對應(yīng)的值。此處的ei就是上表中的p1,p2,即dg(ei,t)就是表中dg(p1,ti)對應(yīng)的值。min(dg(n,t),dg(ei,t)):就是表中dg(n,ti)的值去掉所在列的最小值。比如,catholic所在的列,有值1,0所以min(dg(n,t),dg(ei,t))的值為0,也就是dg(n,ti)的值。由于在根據(jù)ksp算法構(gòu)建tqsp的時(shí)候可能會遇到以下兩種情況:(i)遍歷完這個圖后仍未找到包含輸入查詢關(guān)鍵字的tp,(ii)找到了tp,但是tp的排序分?jǐn)?shù)f大于θ(當(dāng)前已經(jīng)找到的第k個tp的排序分?jǐn)?shù))。其中,tqsp為松散度最小的qsp針對情況。對于(i)的情況,在rdf圖中,讓表示以p為根節(jié)點(diǎn)子樹不能包含所有的查詢關(guān)鍵字。對于給定的查詢關(guān)鍵字序列q.ψ,若此時(shí)的p節(jié)點(diǎn)為不符合條件節(jié)點(diǎn)。針對(ii)情況,為了提高算法的效率,定義wn(p),對位置頂點(diǎn)p,它的wn(p)表示從p到每一個查詢關(guān)鍵字ti的最短距離的集合{(ti,dg(p,ti))},其中dg(p,ti)≤α,表示從根節(jié)點(diǎn)p到包含查詢關(guān)鍵字ti的頂點(diǎn)的最短的距離。根據(jù)上述中對一個點(diǎn)的字鄰域描述,我們可以得出對節(jié)點(diǎn)n的字鄰域的定義,如對r-tree中的頂點(diǎn)n。定義wn(n),對于r-tree的節(jié)點(diǎn)n下面包含一系列的位置頂點(diǎn){pj},wn(n)為一系列的{(ti,dg(n,ti))},其中wn(n)是節(jié)點(diǎn)n下所有的位置頂點(diǎn){pj}對應(yīng)的wn(pj)的聯(lián)合,其中對于每個關(guān)鍵字ti,顯然dg(n,ti)≤α。根據(jù)定義wn(p)和定義wn(n),可以創(chuàng)建節(jié)點(diǎn)對應(yīng)的半徑字領(lǐng)域表iα即預(yù)設(shè)的所有查詢關(guān)鍵字對應(yīng)的半徑字領(lǐng)域表(α-radiuswordneighborhood表),用于提高算法效率。進(jìn)一步,為了提高算法的效率,引理1:由于wn(p)表示頂點(diǎn)p的半徑字領(lǐng)域(α-radiuswordneighborhood)。對于給定的查詢關(guān)鍵字q.ψ={t1,...,tj,...tm},為了不失一般性,假設(shè)第j個關(guān)鍵字在wn(p)已經(jīng)有值,則以p為根節(jié)點(diǎn)的tp的tqsp的半徑字松散度(α-boundonthelooseness)可表示為并且引理2:由于表示以p為根節(jié)點(diǎn)的tp的tqsp的半徑字松散度,則對于給定的查詢序列q對應(yīng)的tp的半徑字排序分?jǐn)?shù)(α-boundontherankingscore)可表示為且引理3:由于wn(n)表示頂點(diǎn)n的半徑字領(lǐng)域(α-radiuswordneighborhood),查詢關(guān)鍵字q.ψ={t1...,tj...,tm},為了不失一般性,假設(shè)第j個關(guān)鍵字在wn(n)中已經(jīng)有相應(yīng)的值,則在n節(jié)點(diǎn)下以p為根節(jié)點(diǎn)的tp對應(yīng)的所有的tqsp可表示為并且引理4:由于表示以在節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的tp的tqsp對應(yīng)的半徑字松散度,對于給定的查詢序列q,則在節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的所有的tp的半徑字松散度可表示為其中s(q,n)表示q和n之間最小的空間距離,且根據(jù)引理2我們得出刪除規(guī)則2,根據(jù)引理4得出刪除規(guī)則3,來提高算法的效率,具體刪除規(guī)則如下:刪除規(guī)則2:對于給定的查詢序列q,θ表示第k個候選tqsp的rankingscore。表示以p為根節(jié)點(diǎn)的tp的tqsp的α-boundontherankingscore。當(dāng)時(shí)tp不是我們要查的結(jié)果,p可以被刪除。刪除規(guī)則3:對于給定的查詢序列q,θ表示第k個候選tqsp的rankingscore,表示節(jié)點(diǎn)n下以p為根節(jié)點(diǎn)的tp的tqsp的α-boundontherankingscore,若則在n節(jié)點(diǎn)下任何節(jié)點(diǎn)都不滿足條件,n可以被刪除?;趉sp算法的資源描述框架查詢系統(tǒng),主要是實(shí)現(xiàn)圖上關(guān)鍵字的搜索和rdf數(shù)據(jù)上關(guān)鍵字的搜索:由于關(guān)鍵字檢索對用戶的友好性,不僅用戶檢索網(wǎng)絡(luò)數(shù)據(jù),而且用于檢索xml文檔,關(guān)系型數(shù)據(jù)庫,和圖。傳統(tǒng)上圖的搜索算法將查詢轉(zhuǎn)化為在特征空間上的搜索,例如路徑,頻繁模式,和序列。這種搜索算法更多的關(guān)注圖的結(jié)構(gòu)而不是圖的語義內(nèi)容。圖上關(guān)鍵字的查詢通過利用內(nèi)容和鏈接結(jié)構(gòu)兩者來確定圖中一組密集鏈接的節(jié)點(diǎn)。由于這兩種信息的重新實(shí)施,可提高結(jié)果的整體質(zhì)量。而rdf數(shù)據(jù)上關(guān)鍵字的搜索,由于rdf數(shù)據(jù)是一種特殊類型的圖數(shù)據(jù)也可以提供查詢的效率。在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個或多個實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
交口县| 大冶市| 泰顺县| 合江县| 日土县| 山东| 保康县| 怀来县| 监利县| 佛教| 南靖县| 两当县| 天祝| 宜兴市| 嘉禾县| 通河县| 高平市| 沈阳市| 侯马市| 林甸县| 邯郸市| 张家港市| 视频| 邻水| 象山县| 盱眙县| 土默特左旗| 林西县| 万载县| 大洼县| 丁青县| 攀枝花市| 大石桥市| 万州区| 怀柔区| 平顺县| 康平县| 甘南县| 启东市| 资溪县| 江阴市|