專利名稱:信息搜索設備、信息搜索方法、計算機程序和數據結構的制作方法
技術領域:
本發(fā)明涉及被配置為搜索信息的設備,更具體地說涉及被配置為從通過節(jié)點和連接節(jié)點的邊表達的圖形結構信息中搜索目標節(jié)點的信息搜索設備、信息搜索系統(tǒng)、信息搜索方法、計算機程序和數據結構。
背景技術:
已知專利文獻I中描述的設備是被配置為從由節(jié)點和邊構成的圖形所表示的圖形結構信息中搜索目標節(jié)點的信息搜索設備。圖形結構信息是將構成預期信息的元素表示為節(jié)點并將節(jié)點之間的關系表示為邊的信息。 專利文獻I中描述的信息搜索設備將圖形結構信息聚集成子圖,并為每一個子圖生成其中每一個節(jié)點是一個索引的表和其中每一個邊是一個索引的表。然后,信息搜索設備基于這些表搜索與查詢圖一致的子圖。進一步地,已知非專利文獻I中也描述了另一種與此類似的信息搜索設備。非專利文獻I中描述的信息搜索設備搜索以RDF(資源描述框架)表達的圖形結構信息。如圖22所示,信息搜索設備配備有關系數據庫(以下,數據庫也被稱為DB)創(chuàng)建部91、關系數據庫92和搜索部93。如圖23概念性所示,關系數據庫92存儲分類表、屬性表、類型表、資源表、路徑表和三元組表。在RDF中,信息通過由三種元素構成的句子(以下,也稱為三元組)表達,所述三種元素為主體、謂詞和對象。主體代表信息模型中的資源,謂詞代表資源的屬性,對象代表資源或屬性值。此外,在將RDF形象化的RDF圖中,資源由節(jié)點表達,屬性由邊(也稱為弧)表達。信息搜索設備以以下方式將信息記錄到關系數據庫92中。首先,關系數據庫創(chuàng)建部91基于給定的RDF圖分別生成分類表、屬性表、類型表、資源表和三元組表。接下來,關系數據庫創(chuàng)建部91確定將成為根的資源,并產生從確定的根資源到各個其它資源的所有屬性的連接(弧形路徑)。進一步地關系數據庫創(chuàng)建部91為生成的每一個弧形路徑提供路徑ID(PathID),并將代表每一個弧形路徑的路徑表達式(pathexp)和弧形路徑的路徑ID記錄到路徑表。此時,代表弧形路徑的路徑表達式被表達為一列屬性名稱。至于以上述方式生成的關系數據庫,搜索部93生成SQL查詢并執(zhí)行搜索。在搜索由指定的唯一路徑所限定的信息時,搜索部93可通過使用路徑表有效地進行搜索。例如,就圖23中所示的關系數據庫92的示例而言,在“displaying all of thetitles of paintings drawn bysomeone (顯示由某人繪制的圖畫的所有標題)”的情況下,搜索部93生成只指定一個路徑的SQL查詢(如下所示)并執(zhí)行搜索。SELECT r. resourceNameFROM path AS p, resource AS r
WHERE p. pathID=r. pathIDAND p. pathexp= ‘#title〈#paints,另外,在搜索未指定唯一路徑所限定的信息時,搜索部93可通過使用三元組表執(zhí)行搜索。未由指定的唯一路徑限定的信息為具有屬性的資源,即以特定值作為屬性值的資源,具有來自以特定值作為屬性值的資源的某些屬性的資源等。例如,就圖23中所示的關系數據庫 92 的不例而言,在 “displaying all of the titles of paintings drawn byPabloPicasso (顯示由巴勃羅 畢加索繪制的圖畫的所有標題)”的情況下,搜索部93生成如下所示查詢并執(zhí)行搜索。SELECT tl. objectFROM triple AS tl,triple AS t2,triple AS t3,triple AS t4·
WHERE tl.predicate= ‘paints,AND tl. subject=t2. subjectAND t2. predicate= ‘first’AND t2. object= ‘Picasso’AND tl. subject=t3. subjectAND t3.predicate= ‘last,AND t3. object= ‘Pablo,[專利文獻I]日本未經審查的專利申請公開號2009-258749[非專利文獻I]AkiyoshiMatono等人基于路徑的關系RDF數據庫” ADC’ 05:澳大拉西亞數據庫會議的會議記錄,第95-103頁(2005) (Akiyoshi Matono etal. , “A Path-based Relational RDFDatabase, ”ADC’ 05:Proceedings of the 16thAustralasiandatabase conference, pp95_103(2005))然而,在專利文獻I所描述的技術中,由于隨著圖形結構信息變得復雜,將邊用作索引的表中的元組總數會增加,因此存在用于搜索滿足查詢圖的子圖的時間會增加的問題。另外,非專利文獻I中描述的技術存在以下問題,即搜索未由指定的唯一路徑所限定的信息需要花費時間。這是因為許多合并操作是在執(zhí)行查詢時進行的,在該時間無法使用路徑表。另外,非專利文獻I中描述的技術存在以下問題,即便在搜索由指定的唯一路徑所限定的信息的情況下,隨著信息模型變得復雜搜索時間會增加。這是因為隨著信息模型變得復雜,路徑表中元組的數量會增加。因此,在非專利文獻I中,即便在查詢可使用路徑表的情況下,比較路徑表達式的次數成為搜索鍵,隨著路徑數量的順序增加,且搜索時間大大增加。
發(fā)明內容
本發(fā)明是為了解決上述問題,本發(fā)明的目的是提供即使圖形結構信息變得復雜也可快速搜索目標節(jié)點的信息搜索設備。本發(fā)明的信息搜索設備是被配置為從圖形結構信息中搜索滿足搜索條件的目標節(jié)點的信息搜索設備,圖形結構信息包括多個作為元素的節(jié)點和連接節(jié)點的邊。該信息搜索設備包括路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。進一步地,本發(fā)明的數據結構是被配置為存儲圖形結構信息的數據結構,圖形結構信息包括多個作為元素的節(jié)點和連接節(jié)點的邊的圖形結構信息。在數據結構中,存儲每一個元素和倒排表以便相互關聯(lián)。為每一個元素生成了倒排表,倒排表是由以下內容構成的信息的列表節(jié)點,其具有路徑字段,路徑字段包括通過連接路徑表示的各個節(jié)點的路徑字段之中的元素,每一個路徑是一列可從每一個作為起點的節(jié)點追蹤的元素;以及位置信息,其表示元素在路徑字段中出現的位置。 進一步地,本發(fā)明的信息搜索系統(tǒng)包括一種圖形結構信息存儲設備,其被配置為存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息;客戶端設備,其被配置為請求從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和信息搜索設備,其被配置為從所述圖形結構信息中搜索目標節(jié)點,其中,所述信息搜索設備包括路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。進一步地,本發(fā)明的計算機程序是用于控制信息搜索設備的操作的計算機程序,信息搜索設備被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點。該計算機程序包括使計算機執(zhí)行如下處理的指令路徑字段生成處理,針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成處理,針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成處理,該處理以一列元素的形式生成表示搜索條件的搜索路徑;和搜索處理,所述處理從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。進一步地,本發(fā)明的信息搜索方法包括通過圖形結構信息存儲設備存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息;通過信息搜索設備針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素;為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表;以及將所述元素和所述倒排表存儲于索引庫中,以便彼此相關聯(lián);通過客戶端設備請求所述信息搜索設備從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和通過信息搜索設備以一列元素的形式生成表示搜索條件的搜索路徑;從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點;以及通過基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點來搜索目標節(jié)點。根據本發(fā)明,即便圖形結構信息變得復雜,也有可能提供能夠快速搜索目標節(jié)點的信息搜索設備。
圖I是作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)的硬件配置示意圖;圖2是作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)的功能塊示意圖;圖3是解釋本發(fā)明第一示例實施例中的圖形結構信息的示例的概念視圖;圖4是解釋作為本發(fā)明第三示例性實施例的信息搜索系統(tǒng)的索引生成操作的流程圖;圖5是解釋作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)所進行的搜索操作的流程圖;圖6是示出作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)的配置的功能塊示意圖;圖7是解釋本發(fā)明第二示例實施例中的知識信息模型的示例的概念視圖;圖8是解釋本發(fā)明第二示例實施例中的路徑字段的示例的視圖;圖9是解釋儲存于本發(fā)明第二示例實施例中的路徑索引的數據的示例的視圖;圖10A、10B和IOC是解釋儲存于本發(fā)明第二示例實施例中的文字屬性索引中的數據的示例的視圖;圖11是解釋儲存于本發(fā)明第二示例實施例中的元數據索引中的數據的示例的視圖;圖12是解釋儲存于本發(fā)明第二示例實施例中的模型數據DB中的數據的示例的視圖;圖13是解釋作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)的索引生成操作的流程圖;圖14是解釋作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)的搜索操作的流程圖;圖15是解釋作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)的路徑查詢生成操作的流程圖16是解釋本發(fā)明第二示例實施例中的短語查詢示例的概念視圖;圖17是示出作為本發(fā)明第三示例性實施例的信息搜索系統(tǒng)的配置的功能塊示意圖;圖18是解釋本發(fā)明第三示例實施例中的路徑字段示例的視圖;圖19是解釋作為本發(fā)明第三示例性實施例的信息搜索系統(tǒng)的索引生成操作的流程圖;圖20是示出作為本發(fā)明第四示例性實施例的信息搜索系統(tǒng)的配置的功能塊示意圖;圖21是解釋作為本發(fā)明第四示例性實施例的信息搜索系統(tǒng)的索引更新操作的流程圖;·
圖22是示出相關技術的信息搜索設備的配置的功能塊示意圖;和圖23是示出相關技術的信息搜索設備生成的關系數據庫的示例的視圖。
具體實施例方式以下,將結合附圖描述本發(fā)明的示例性實施例。(第一示例性實施例)圖I示出了作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)I的硬件配置。在圖I中,信息搜索系統(tǒng)I包括信息搜索設備11、圖形結構信息存儲設備12和客戶端設備13。此外,信息搜索設備11、圖形結構信息存儲設備12和客戶端設備13相互連接以便相互通信。信息搜索設備11由通用計算機構成,該通用計算機至少包括CPU(中央處理器)1101、RAM(隨機存取存儲器)1102、ROM(只讀存儲器)1103、存儲設備1104,和網絡接口1105。另外,圖形結構信息存儲設備12由至少包括CPU 120URAM 1202,ROM 1203、存儲設備1204和網絡接口 1205的通用計算機構成。另外,客戶端設備13由至少包括CPU 1301, RAM 1302, ROM 1303、存儲設備1304、網絡接口 1305、輸入裝置1306和輸出裝置1307的通用計算機構成。接下來,圖2示出了信息搜索系統(tǒng)I的功能塊配置。圖形結構信息存儲設備12將包括多個作為元素的節(jié)點和連接節(jié)點的邊的圖形結構信息存儲于存儲設備1204。圖3示出了由圖形結構信息存儲設備12儲存的圖形結構信息的示例。圖3中的圖形結構信息包括作為元素的節(jié)點A、BI、B2、Cl和C2以及連接這些節(jié)點的邊a、b、c和d。另外,圖形結構信息存儲設備12將圖形結構信息提供給信息搜索設備11以回應來自信息搜索設備11的請求。客戶端設備13通過輸入裝置1306獲取代表搜索請求的信息,從圖形結構信息中搜索滿足搜索條件的目標節(jié)點。然后,客戶端設備13將代表搜索請求的信息傳輸至信息搜索設備11。此外,客戶端設備13通過輸出裝置1307將代表從信息搜索設備11獲得的搜索結果的信息輸出。信息搜索設備11包括路徑字段生成部101、索引生成部102、索引庫103、搜索部104和搜索路徑生成部105。路徑字段生成部101、索引生成部102、搜索部104和搜索路徑生成部105作為計算機程序儲存于存儲設備1104中,且由CPU 1101通過加載入RAM 1102而實現。此外,索引庫103由存儲設備1104構成。至于包括在圖形結構信息中的節(jié)點的每一個,路徑字段生成部101從圖形結構信息中提取一個或多個路徑,該路徑為可從作為起點的節(jié)點追蹤的一列列元素(即,一列列節(jié)點和邊)。然后,路徑字段生成部101為每一個節(jié)點生成連接所提取的一個或多個路徑的路徑字段。索引生成部102以倒排表(posting list)生成與構成圖形結構信息的每一個元素(即,每一個節(jié)點和每一個邊)有關的索引庫103。倒排表是為每一個元素生成的列表,且由具有路徑字段的節(jié)點構成,該路徑字段包括該元素和該元素在路徑字段中出現的位置的信息。例如,包括在倒排表中的位置信息可以是代表從開始計數的該元素在該路徑字段中出現的位置順序的數值,或是其它可以說明該元素在該路徑字段中出現的位置的信息。 索引庫103存儲元素和元素的倒排表以便如以上所提到的那樣彼此相關。搜索路徑生成部105以一列元素的形式生成代表搜索條件的搜索路徑。搜索部104從索引庫103搜索具有包括搜索路徑中所包括的元素的路徑字段的節(jié)點。然后,搜索部104基于倒排表中的位置信息通過從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現序列的路徑字段的節(jié)點來搜索目標節(jié)點。下面將解釋具有如上所述配置的信息搜索系統(tǒng)I的操作。首先,將參考圖4描述信息搜索設備11生成索引庫103的過程。首先,索引生成部102從圖形結構信息存儲設備12加載圖形結構信息(步驟SI)。接下來,路徑字段生成部101針對包括在載入的圖形結構信息中的每一個節(jié)點生成路徑字段(步驟S2)。例如,針對圖3中所示的圖形結構信息中的節(jié)點,路徑字段生成部101提取路徑[A] [a] [BI] [b] [Cl]、路徑[A] [a] [BI] [d] [C2]和路徑[A] [c] [B2]三種路徑作為可從作為起點的節(jié)點A追蹤的一列列元素。然后,路徑字段生成部101連接這三個路徑生成路徑字段[A] [a] [BI] [b] [Cl] [A] [a] [BI] [d] [C2] [A] [c] [B2],作為節(jié)點 A 的路徑字段。路徑字段生成部101還針對節(jié)點B1、B2、C1和C2生成路徑字段。接下來,索引生成部102記錄構成圖形結構信息的各個元素以及各個元素的倒排表到索引庫103中,以便使彼此關聯(lián)(步驟)。例如,索引生成部102生成構成圖3中所示的圖形結構信息的元素b的倒排表。x〈i>表示某個元素包括在節(jié)點X的路徑字段中且從路徑字段的開始第i個出現,元素b的倒排表為 “A〈4>,B1〈2>”。然后,索引生成部102將元素b與元素b的倒排表關聯(lián)起來并記錄到索引庫103中。同樣地,索引生成部102生成其它元素的倒排表,并將生成的倒排表記錄到索引庫103中。如此,信息搜索設備11完成生成索引庫103的過程。接下來,將參考圖5描述信息搜索系統(tǒng)I搜索目標節(jié)點的操作。首先,客戶端設備13請求信息搜索設備11搜索滿足搜索條件的目標節(jié)點,信息搜索設備11接收該請求(在步驟S4處的“是”)。
例如,客戶端設備13請求信息搜索設備11從圖3中所示的圖形結構信息中“搜索在邊 b 的末端具有節(jié)點 Cl 的節(jié)點(search for a nodehaving the node Clat the endof the edge b) ”。
接下來,搜索路徑生成部105生成代表已接受的搜索條件的搜索路徑(步驟S5)。例如,搜索路徑生成部105針對以上描述的搜索條件的示例生成搜索路徑[X] [b] [Cl]。此處,[X]代表目標節(jié)點。接下來,搜索部104從索引庫103搜索具有包括搜索路徑中包括的各個元素的路徑字段的節(jié)點,并從搜索的節(jié)點中提取路徑字段滿足搜索路徑中包括的元素的出現順序的節(jié)點,作為目標節(jié)點(步驟S6)。例如,搜索部104將節(jié)點A和BI作為具有包括搜索路徑中包括的元素[b]和[Cl]的路徑字段的節(jié)點進行搜索。然后,搜索部104從搜索的節(jié)點A和BI中提取節(jié)點BI將其作為路徑字段滿足搜索路徑中[b]第二出現,[Cl]第三出現的出現順序的節(jié)點。如此,信息搜索系統(tǒng)I的操作描述結束。接下來,將描述本發(fā)明第一示例實施例的效果。即便圖形結構信息變得復雜,作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)也可快速搜索目標節(jié)點。這是因為圖形結構信息通過索引庫儲存,索引庫中構成圖形結構信息的各個元素均為索引,因此即便圖形結構信息變得復雜也有可能將將要搜索的索引庫元組數量限制為構成圖形結構信息的元素的數量級。因此,有可能在搜索目標節(jié)點時將對比作為索引庫索引項的元素和搜索路徑中包括的元素的次數限制為構成圖形結構信息的元素的數量級,因此可實現上述目的。另外,作為本發(fā)明第一示例實施例的信息搜索系統(tǒng)可降低存儲設備的資源消耗量。這是因為可將作為確定索引庫大小的因素的索引項數量限制為構成圖形結構信息的元素的數量級。進一步地,本發(fā)明第一示例實施例中的索引庫的數據結構有利于存儲作為對象節(jié)點的搜索對象的圖形結構信息。這是因為索引庫存儲圖形結構信息各個元素的倒排表以便與各個元素關聯(lián)起來,因此有可能存儲圖形結構信息,同時限制索引項的數量。在該數據結構中,對路徑字段中包括搜索路徑中包括的項的節(jié)點進行搜索并使用位置信息過濾該節(jié)點,因此可快速搜索目標節(jié)點。(第二示例實施例)接下來,將描述本發(fā)明的第二示例實施例。首先,作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)2的配置在圖6中示出。在圖6中,本發(fā)明第一不例實施例中的相同組件以相同的標號表不,且在本不例性實施例將省略相同組件的詳細描述。在圖6中,信息搜索系統(tǒng)2包括信息搜索設備21、知識信息庫22和客戶端設備13。此外,信息搜索設備21、知識信息庫22和客戶端設備13彼此連接以便能夠相互通信。信息搜索設備21和知識信息庫22由作為信息搜索設備11的通用計算機和本發(fā)明第一示例實施例中的圖形結構信息存儲設備12構成。知識信息庫22構成本發(fā)明中的圖形結構信息存儲設備的示例性實施例。首先,將描述知識信息庫22的配置。知識信息庫22存儲由RDF圖表達的知識信息模型。知識信息模型構成本發(fā)明的圖形結構信息的示例性實施例。儲存于知識信息庫22的知識信息模型的示例在圖7中示出。在以下的描述中,RDF中的資源和文字構成本發(fā)明中節(jié)點的示例性實施例,RDF中的屬性構成本發(fā)明中邊的示例性實施例。在圖7中,橢圓代表資源、矩形代表具有具體值(S卩,文字)的資源,箭頭代表作為資源之間的關系的屬性。資源中的字符串代表用于識別資源的資源ID。屬性上的字符串代表用于識別屬性類型的屬性ID。文字中的字符串代表文字所具有的具體值(即,文字值)。此處,資源ID和屬性ID可以是URI、數值、字符串等,只要其是通過其可唯一識別資源和屬性的類型的信息。資源ID、屬性ID和文字值被稱為模型項(以下,也稱為項)。
圖7示出保險公司中的員工和員工的客戶、客戶的家庭以及有關客戶家庭保險的信息通過RDF圖表示的示例。資源bl表示“Corporation(公司)”(企業(yè)(company))實體,且具有如“hasEmpl oyee”(員工)的資源el?!俺蔀椤癈orporation”(公司)實體”代表資源bl的“type”(類型)為“公司”。資源el是“Employee”(員工)實體,將xxx@yyy. ζζζ·XX (電子郵件地址)作為“contact”(聯(lián)系信息),且具有如“hasClient”(客戶)的資源Cl。資源cl是“Client”(客戶)實體,且具有如“hasFamilyMember”(家庭成員)的資源plo資源pi是“Person”(個人)實體,且具有如“haslnsurance”(保險單)的資源al和資源a2。資源al為“Insurance”(保險單)實體,以2010/12/31作為“validUntil”(有效期),并以“true”(真)作為“inNonrefundable” (不可退款保險單或否)。資源a2為“Insurance”(保險單)實體,以 2015/12/31 作為 “val idUnti I”(有效期),并以 “false” (假)作為“inNonrefundable” (不可退款保險單或否)。再次參考圖6,將描述信息搜索設備21的配置。信息搜索設備21包括路徑字段生成部201、索引生成部202、標記化部212、索引庫203、搜索部204、搜索路徑生成部205、輸入和輸出部206以及模型數據DB 207。路徑字段生成部201、索引生成部202、標記化部212、搜索部204和搜索路徑生成部205被儲存于作為計算機程序的計算機的存儲設備中,并由CPU通過將其載入RAM來實現。進一步地,索引庫203和模型數據DB 207由計算機的存儲設備構成。模型數據DB207構成本發(fā)明中的子圖存儲部的示例性實施例。進一步地,輸入和輸出部206被儲存于作為計算機程序的計算機的存儲設備中,并由通過載入RAM來執(zhí)行此的CPU和網絡接口構成。路徑字段生成部201像路徑字段生成部101那樣為構成知識信息模型的每一個資源生成路徑字段。具體而言,路徑字段生成部201提取一個或多個路徑,每一個路徑都代表一列可從每一個作為起點的資源追蹤的資源和特性。然后,路徑字段生成部201將提取的路徑的每一個表達為后綴(postfix)路徑,其中資源ID、屬性ID和文字值從一開始便與起點資源連接。進一步地,路徑字段生成部201為每一個資源生成路徑字段,其中代表所有可從一個資源追蹤的所有路徑的后綴路徑被連接。此外,路徑字段生成部201用生成的路徑字段中的保留項“THIS”替換起點資源的資源ID。路徑字段的示例在圖8中示出。圖8示出為圖7中例證的知識信息模型中的資源el生成的路徑字段。在圖8中,通過將可從起點資源追蹤的十個路徑表示為后綴路徑并連接后綴路徑生成資源el的路徑字段。此外,在資源el的路徑字段中,起點資源el的資源IDel被保留項“THIS”替換。標記化部212將路徑字段生成部201生成的路徑字段分割成知識信息模型的項。標記化部212構成本發(fā)明中的索引生成部的示例性實施例的一部分。索引生成部202從知識信息庫22獲取知識信息模型。然后,索引生成部202使路徑字段生成部201為包括在知識信息模型中的每一個資源生成路徑字段。進一步地,索引生成部202使標記化部212將生成的路徑字段分割成項,并記錄到稍后描述的索引庫203的路徑索引、文字屬性索引組和元數據索引組中?!?br>
索引庫203具有路徑索引、文字屬性索引組和元數據索引組。路徑索引存儲構成知識信息模型的項(資源ID、屬性ID、文字值)及其彼此相關聯(lián)的倒排表。倒排表是由具有路徑字段的資源的資源ID構成的信息的列表,路徑字段包括項和項在路徑字段中出現的位置信息。例如,圖9示出了與圖7中所示的知識信息模型相對應的路徑索引的示例。例如,在圖9中,路徑索引存儲項“type”及其相互關聯(lián)的倒排表。項“type”的倒排表是由資源bl、el、cl、pi、al和a2構成的信息的列表,資源bl、el、cl、pi、al和a2的每一個都具有包括項“type”以及“type”在路徑字段中的位置信息的路徑字段。在圖9中,其顯示為el〈2,7…〉,表示“type”在資源el的路徑字段中作為第二個項、第七個項出現,以此類推。路徑字段中的位置信息可通過字符串、數值、符號、參照關系等表示而非通過路徑字段中的項從開始起的數量表示,只要其是能說明該項在路徑字段中出現的位置的信息便可。進一步地,如圖9所示,路徑索引還將保留項“THIS”存儲為索引項。與保留項“THIS”相關的倒排表顯示每一個資源位于路徑字段中的路徑的何處。保留項并不局限于“THIS”,其可以是不與其它項重疊的信息。文字屬性索引組包括為知識信息模型中具有文字的(即,文字屬性)的屬性的每一個屬性ID生成的索引。每一個文字屬性索引存儲文字值和屬性彼此相關聯(lián)的資源。例如,圖10示出了與圖7中所示的知識信息模型相對應的文字屬性索引組的示例。圖10不出分別與三種文字屬性“contact”、“isNonrefundable”和“validUntil”的屬性ID相對應的聯(lián)系索引(圖10A)、不可退款索引(圖10B)和有效期索引(圖10C)。包括在文字屬性索引組中的文字屬性索引的數量并不局限于三種,該數量取決于包括在目標知識信息模型中的文字屬性類型的數量。進一步地,索引庫203不需要將文字屬性索引組分別存儲于不同的表,可將這些文字屬性索引組可存儲在相同表中以便從邏輯上將其區(qū)分。就知識信息模型中具有特殊意義的屬性而言,元數據索引組存儲資源和彼此相關聯(lián)的屬性值。例如,圖11示出了圖7中所示的知識信息模型的元數據索引的示例。圖11中所示的“type”索引是所準備的元數據索引,這是因為作為一種屬性,“type”是代表每一個資源種類(也稱為“class”或“type”)的特殊屬性。“type”索引存儲具有“類型”屬性的資源及其屬性值,以使得彼此相關聯(lián)。在本示例性實施例中,提供了將相同字符串信息用作識別資源和特性的種類的資源ID和屬性ID以及用作項的示例。反之,當為此使用不同信息時,索引庫203可將ID索引作為元數據索引。在這種情況下,ID索引存儲資源ID和屬性ID,以便與提供給資源ID和屬性ID的項關聯(lián)起來。進一步地,在包括多個元數據索引的情況下,索引庫203不需要將文字屬性索引組分別存儲于不同的表,可將這些文字屬性索引組存儲在相同表中以便從邏輯上將其區(qū)分。索引生成部202為每一個代表構成以RDF表示的知識信息模型的每一個資源ID、每一個屬性ID和每一個文字值的項生成倒排表。然后,索引生成部202將每一個項和每一個項的倒排表記錄到索引庫203中以便相互關聯(lián)。
模型數據DB 207包括圖12中所示的子圖表。子圖表為構成知識信息模型的資源的每一個從資源中提取子圖直至預定深度,并存儲與資源ID相關聯(lián)的資源ID。在圖12所示的示例中,資源ID和子圖(直至資源或通過一個屬性與具有資源ID的資源相鄰的文字值)被儲存。儲存于子圖表中的子圖的表現格式可由字符串(比如N3(符號3))、二進制數據(比如Java 對象)、序列化二進制數據及其每一個的壓縮格式等表示。子圖的表示格式可以是任何能再現部分原始知識信息模型的格式。輸入和輸出部206從客戶端設備13獲取搜索條件并將已獲得的搜索條件告知搜索部204。此外,輸入和輸出部206將由搜索部204通知的搜索結果輸出至客戶端設備13。搜索部204從輸入和輸出部206接收搜索條件,并使搜索路徑生成部205生成搜索路徑和與搜索路徑相對應的路徑查詢。然后,搜索部204使用生成的路徑查詢搜索索引庫 203。進一步地,搜索部204從模型數據DB 207獲取搜索結果的資源的子圖,并輸出至輸入和輸出部206。搜索路徑生成部205生成像一列資源和特性那樣的代表搜索條件的搜索路徑。例如,搜索路徑生成部205提取受到限制以便將具體文字值作為搜索條件中的屬性的資源作為受限制的資源,并生成與目標資源和受限制的資源相關聯(lián)的一列資源和特性作為搜索路徑。根據搜索條件的內容,搜索路徑可以是資源和特性從開始到結束全都被指定的路徑,或者是部分資源或特性被指定且包括未指定的插入點的路徑。進一步地,搜索路徑生成部205基于生成的搜索路徑中資源和特性的出現順序就路徑索引生成路徑查詢。此時,在搜索路徑包括未指定插入點的情況下,考慮到可插入未指定插入點的元素的數量,搜索路徑生成部205生成路徑查詢。下面將結合附圖解釋如上具有所述配置的信息搜索系統(tǒng)2所進行的操作。首先,將參考圖13解釋信息搜索設備21生成索引庫203的過程。首先,索引生成部202從知識信息庫22獲取知識信息模型(步驟Sll)。接下來,路徑字段生成部201針對構成知識信息模型的各個資源生成與后綴路徑連接的路徑字段(步驟S212)。
接下來,標記化部212根據構成知識信息模型的項對每一個生成的路徑字段進行標記(步驟S13) ο接下來,索引生成部202為每一個代表構成知識信息模型的每一個資源ID、每一個屬性ID和每一個文字值的項生成倒排表。然后,索引生成部202將每一個項及其倒排表彼此相互關聯(lián)地記錄到路徑索引中(步驟S14)。在項為文字屬性的情況下,索引生成部202將其記錄到文字屬性索引中。在項為具有特殊屬性的資源的情況下,索引生成部202將其記錄到元數據索引中。接下來,索引生成部202提取構成知識信息模型的每一個資源的子圖,并將子圖記錄到模型數據DB 207中(步驟S15)。如此,信息搜索設備21的索引生成過程結束。步驟S12至S14的一連串處理與步驟S15的處理之間的執(zhí)行順序并不存在依存關系,信息搜索設備21可先執(zhí)行任何一個。此外,在信息搜索設備21能夠同時執(zhí)行兩個處理的情況下,信息搜索設備21可同時執(zhí)行步驟S12至S14的一連串處理以及步驟S15的處理。接下來,將參考圖14描述信息搜索設備21的搜索過程。首先,輸入和輸出部206從客戶端設備13獲取目標資源的搜索條件(在步驟S21為“是”)。接下來,搜索部204基于已由輸入和輸出部206獲得的搜索條件提取一組受到限制以便使具體文字值作為特性及其限制內容的受限制資源(步驟S22)。接下來,針對已被提取的受限制資源的每一個,搜索部204使搜索路徑生成部205基于受限制資源的限制內容生成查詢以搜索受限制資源的實體(步驟S23)。接下來,搜索部204使用生成的查詢搜索索引庫203,從而獲得受限制資源的實體集(步驟S24)。搜索部204反復生成查詢(步驟S23)并對在步驟S22提取的所有受限制資源進行反復搜索(步驟S24),從而獲取受限制資源組的實體集。接下來,搜索部204使搜索路徑生成部205基于在步驟S21獲得的搜索條件以及在步驟S24搜索的受限制資源組的實體集生成搜索路徑。然后,搜索部204使搜索路徑生成部205基于生成的搜索路徑生成用于搜索路徑索引的路徑查詢(步驟S25)。接下來,搜索部204使用路徑查詢搜索索引庫203并獲取代表搜索結果的資源ID組(步驟S26)。接下來,搜索部204從模型數據DB 207獲取代表搜索結果的資源ID組的子圖組。然后,搜索部204形成子圖組,生成代表搜索結果的圖形數據,并將生成的圖形數據輸出至輸入和輸出部206。然后,輸入和輸出部206將代表搜索結果的圖形數據輸出至客戶端設備13(步驟 S27)。如此,信息搜索設備21的搜索過程結束。下面將結合圖15詳細描述步驟S25的路徑查詢生成過程。首先,搜索路徑生成部205從搜索部204接收搜索條件、受限制資源組和受限制資源的實體集組。接下來,搜索路徑生成部205基于搜索條件提取期望獲得的目標資源作為搜索結果(步驟S31)。
接下來,搜索路徑生成部205對每一個受限制資源執(zhí)行以下處理。首先,搜索路徑生成部205指定目標資源和受限制資源之間的知識信息模型的特性范圍,并生成一列特性作為搜索路徑(步驟S32)。接下來,搜索路徑生成部205對受限制資源的實體集執(zhí)行“或”合并(OR-join),并記錄到搜索路徑的受限制資源的位置(步驟S33)。接下來,搜索路徑生成部205將代表目標資源的保留項“THIS”記錄到搜索路徑的目標資源的位置(步驟S34)。接下來,考慮到未指定插入點,搜索路徑生成部205生成允許項之間的最大距離I的短語查詢(步驟S35)。存在以下情況,在步驟S32至S34生成的搜索路徑包括特性之間未指定資源的未指定插入點。因此,搜索路徑生成部205生成有可能將最大資源插入未指定插入點中的特性之間的短語查詢??刹迦胩匦灾g的元素的數量并不局限于一個,必要時可根據搜索條件的內容設置。搜索路徑生成部205對每一個受限制資源執(zhí)行步驟S32至S35的處理。接下來,在搜索條件包括對目標資源的屬性的限制的情況下,搜索路徑生成部205生成屬性查詢組(步驟S36)。接下來,搜索路徑生成部205對針對所有受限制資源的短語查詢組和目標資源的 屬性查詢組執(zhí)行“與”合并,并作為路徑查詢返回至搜索部204 (步驟S37)。如此,路徑查詢生成過程結束。接下來,將描述信息搜索設備21的搜索過程的示例。此處,將再次參考圖14和15描述客戶端設備13請求信息搜索設備21從圖7中所示的知識信息模型搜索“為其家庭成員的不可退款保險單在2010到期的客戶所指定的推銷員(a salesperson assigned to a personhaving a family member having anonrefundable insurance policyexpiring within 2010),,的情況。首先,輸入和輸出部206從客戶端設備13獲取代表上述搜索條件的偽SQL陳述(表達式I)(步驟S21)。[表達式I]Select x;Where x type Employee, x has Client y,y hasHamily Member z, zhas Insurance i, i valid Until<20110101, iis Nonrefundable true,i type Insurance;接下來,搜索部204從表達式I提取變量i作為受限制資源(步驟S22)。接下來,搜索部204使搜索路徑生成部205通過使用限制變量i的條件生成表達式2的查詢,作為用于搜索受限制資源的查詢(步驟S23)。[表達式2]Select i;Where i validUntil<20110101, i isNonrefundabletrue,i typeInsurance;接下來,搜索部204使用表達式2搜索文字屬性索引組和元數據索引組,并獲得作為受限制資源實體的資源IDal (步驟S24)。接下來,搜索路徑生成部205從表達式I提取X作為目標資源(步驟S31)。接下來,搜索路徑生成部205生成[hasClient] [hasFamilyMember] [haslnsurance]作為目標資源 x 和受限制資源 i之間的搜索路徑(步驟S32)。接下來,搜索路徑生成部205將受限制資源的實體al添加至末端,末端是搜索路徑中受限制資源的位置,搜索路徑變成[hasClient] [hasFamilyMember] [haslnsurance][al](步驟 S33)。此外,搜索路徑生成部205將保留項“THIS”添加至起點,起點是目標資源在生成的搜索路徑中的位置,搜索路徑變成[THIS] [hasClient] [hasFamilyMember][haslnsurance] [al](步驟 S34)。接下來,考慮到未指定插入點,搜索路徑生成部205基于生成的搜索路徑生成允許項之間存在距離I的短語查詢(步驟S35)。例如,該短語查詢表達為THIS. {O, 1}hasClient. {O, 1}hasFamilyMember. {O, 1}haslnsurance. {O, l}al。
此處,{O, 1} ”表示有可能將一個其它項插入該位置。此外,圖16中概念性地示出了該短語查詢。因此,考慮到搜索路徑中項的出現順序以及可插入未指定插入點的元素的數量,搜索路徑生成部205生成短語查詢。接下來,搜索路徑生成部205生成與“X type Employee”相對應的屬性查詢作為對目標資源X的屬性限制(步驟S36)。接下來,搜索路徑生成部205將在步驟S35生成的短語查詢與在步驟S36生成的屬性查詢進行“與”合并(And-join),并作為路徑查詢返回(步驟S37)。搜索部204使用路徑查詢搜索路徑索引、文字屬性索引組和元數據索引組,并獲得作為目標資源的el (步驟S26)。此處,將更詳細地描述在步驟S26處搜索部204搜索目標資源的操作的示例。(步驟S26-1):搜索部204從路徑索引搜索位于短語查詢的起點包括項“THIS”的資源(搜索 bl、el、cl、pi、al 和 a2)。(步驟S26-2):搜索部204從路徑索引搜索下一個項“hasClient(擁有客戶)”(搜索 bl, el)。(步驟S26-3):搜索部204以資源為基礎將步驟S26-1和S26-2的結果合并(剩下 bl, el)。(步驟S26-4):搜索部204從路徑索引搜索下一個項“hasFamilyMember” (搜索bl、el,cl)。(步驟S26-5):搜索部204以資源為基礎將步驟S26-3和S26-4的結果合并(剩下 bl, el)。(步驟S26-6):搜索部204從路徑索引搜索下一個項“haslnsurance”(搜索bl、el、cl,pi)。(步驟S26-7):搜索部204以資源為基礎將步驟S26-5和S26-6的結果合并(剩下 bl, e I)ο(步驟S26-8):搜索部204從路徑索引搜索下一個項“al”(搜索bl、el、cl,pl)。(步驟S26-9):搜索部204以資源為基礎將步驟S26-7和S26-8的結果合并(剩下 bl, e I)ο(步驟S26-10):搜索部204基于合并后剩下的資源bl和el的路徑字段的位置信息對資源進行過濾(el為最終的搜索結果)。
搜索部204可在步驟S26-1至S26-9每一個之后進行步驟S26-10的過濾處理。此外,搜索部204可基于搜索過程或合并處理之后資源數量的增加趨勢來判斷是否在步驟S26-1至S26-9每一個之后進行過濾處理。因此,已獲得作為搜索結果的資源el的搜索部204從模型數據DB207獲取資源el的子圖,并輸出至輸入和輸出部206 (步驟S27)。 客戶端設備13所請求的搜索條件的表達形式并不局限于表達式I所顯示的偽SQL語句,例如可以是代表RDF圖或RDF查詢語言(比如SPARQL協(xié)議和RDF查詢語言(SPARQL))的信息。 接下來,將描述本發(fā)明第二示例實施例的效果。即使知識信息模型變得復雜,作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)也可快速搜索目標資源。這是因為路徑索引將構成知識信息模型的項作為索引項,因此即使知識信息模型變得復雜,也有可能將影響搜索速度的索引項的數量限制為知識信息模型的項數量的數量級。進一步地,這是因為在搜索目標資源時,是從路徑索引搜索路徑字段包括構成路徑查詢的各個項的資源,并縮小該資源的范圍,因此有可能減少合并處理過程中的計算工作量。反之,非專利文獻I中,在搜索目標資源時,搜索并合并分別滿足條件“X hasClienty”和“yhasFamilyMember z”的資源。因此,隨著知識信息模型變得復雜,合并后剩下的元組的數量也增加,因此需要花費時間來執(zhí)行合并操作。因此,即便當包括在搜索請求中的資源范圍很長時,作為本發(fā)明第二示例實施例的信息搜索系統(tǒng)可以基本上恒定的搜索速度進行搜索而幾乎不受到影響。進一步地,本發(fā)明第二示例實施例中的路徑索引的數據結構有利于存儲在其內搜索目標資源的知識信息模型。這是因為路徑索引存儲構成知識信息模型的項,該知識信息模型與項的倒排表相關聯(lián),因此有可能存儲知識信息模型而不會限制索引項的數量。在該數據結構中,從路徑索引搜索路徑字段包括構成路徑查詢的項的資源,然后使用位置信息過濾該資源,結果是可快速搜索目標資源。進一步地,根據作為本發(fā)明第二示例實施例的信息搜索系統(tǒng),有可能降低存儲知識信息模型所消耗的資源的量。這是因為存儲知識信息模型所必需的數據結構可以只是模型數據DB和索引庫。此外,搜索時未使用模型數據DB中的子圖,該子圖是用于顯示搜索結果,因此子圖也可以壓縮格式儲存。此外,在索引庫中,路徑索引可將索引項的數量(其為確定索引大小的因素)限制為項的數量級而非路徑的數量級。此外,由于文字屬性索引組和元數據索引組遠遠小于路徑索引,且儲存于其中的信息只是項和資源ID,因此資源的消耗量很小。因此,模型數據DB和索引庫均可以很小,且有可能降低資源的消耗量,比如存儲設備。(第三示例實施例)接下來,將結合附圖描述本發(fā)明的第三示例性實施例。首先,作為本發(fā)明第三示例實施例的信息搜索系統(tǒng)3的功能塊配置在圖17中示出。在圖17中,將以相同的標號表示與本發(fā)明第二示例實施例中的組件相同的組件,且在本示例性實施例將省略相同組件的詳細描述。信息搜索系統(tǒng)3與本發(fā)明第二示例實施例的信息搜索系統(tǒng)2的不同之處在于信息搜索系統(tǒng)3包括信息搜索設備31,信息搜索設備31以路徑字段生成部301代替了路徑字段生成部201。路徑字段生成部301與路徑字段生成部201的不同之處在于路徑字段生成部301使用全路徑而非后綴路徑作為可從作為起點每一個資源追蹤的路徑。全路徑是從根資源至起點資源的路徑被連接至從起點資源開始的后綴路徑的路徑。例如,圖18示出了路徑字段生成路徑301生成的路徑字段的示例。圖18示出資源el的路徑字段。資源el的路徑字段是這樣的路徑字段,即每個都以el作為起點的十個路徑由全路徑表達并連接。下面將結合附圖解釋具有如上所述配置的本發(fā)明第三示例性實施例的操作。作為本發(fā)明第三示例性實施例的信息搜索系統(tǒng)如本發(fā)明第二示例實施例那樣執(zhí) 行索引生成過程、搜索過程和路徑查詢生成過程,但是索引生成過程與第二示例實施例的索引生成過程不同。下面將參考圖19描述信息搜索系統(tǒng)3的索引生成過程。信息搜索系統(tǒng)3與圖13中所示的本發(fā)明第二示例實施例的信息搜索系統(tǒng)2的不同之處在于信息搜索系統(tǒng)3在索引生成過程使用全路徑執(zhí)行生成路徑字段的步驟S42,而非步驟S12。作為步驟S42的示例,下面將描述為圖7中所示的知識信息模型的資源el生成路徑字段。路徑字段生成部301提取每一個都以資源el作為起點的十個路徑。然后,路徑字段生成部301將每一個路徑表示為全路徑,即從根資源[bl] [hasEmployee]至資源el的路徑并且連接從資源el開始的后綴路徑,并且連接全路徑作為資源el的路徑字段。信息搜索設備31如在本發(fā)明第二示例實施例的索引生成過程中那樣執(zhí)行步驟Sll和步驟S13至S15,然后結束索引生成過程。接下來,將描述本發(fā)明第三示例性實施例的效果。作為本發(fā)明第三示例性實施例的信息搜索系統(tǒng)可增加搜索知識信息模型的功能。這是因為,通過使用全路徑被連接的路徑字段有可能響應從受限制資源至目標資源中搜索路徑的搜索請求,例如“an employee working in acompany with sales of500million yen or more (在年銷售額為5000000000或者更多的企業(yè)中工作的雇員)”。(第四示例性實施例)接下來,將結合附圖描述本發(fā)明的第四示例性實施例。首先,將參考圖20描述作為本發(fā)明第四示例性實施例的信息搜索系統(tǒng)4的功能塊配置。在圖20中,將以相同的標號表示與本發(fā)明第二示例實施例中的組件相同的組件,且在本示例性實施例將省略相同組件的詳細描述。信息搜索系統(tǒng)4與本發(fā)明第二示例實施例的信息搜索系統(tǒng)2的不同之處在于信息搜索系統(tǒng)4所包括的信息搜索設備41進一步具有索引更新部409。索引更新部409從知識信息庫22獲取資源、與該資源相關的屬性,以及作為屬性對象的資源或文字。然后,索引更新部409將其與模型數據DB207中記錄的子圖進行對比,并將已被改變、添加或刪除的資源指定為差異資源。然后,索引更新部409更新儲存于索引庫203和模型數據DB207中的與差異資源有關的信息。
下面將結合附圖解釋具有如上所述配置的信息搜索系統(tǒng)4的操作。由于信息搜索系統(tǒng)4所執(zhí)行的索引生成過程、搜索過程和路徑查詢生成過程與本發(fā)明第二示例實施例的信息搜索系統(tǒng)2所執(zhí)行的操作類似,因此將省略對這些操作的詳細解釋。進一步地,信息搜索系統(tǒng)4執(zhí)行索引更新處理。將參考圖21描述信息搜索系統(tǒng)4所執(zhí)行的索引更新處理。首先,索引更新部409從知識信息庫22獲取資源、與該資源相關的屬性,以及作為屬性對象的資源或文字。然后,索引更新部409將已獲得的信息與已記錄在模型數據DB207中的子圖進行對比,并臨時存儲已被改變或更新的差異資源(步驟S51)。接下來,索引更新部409指定記錄在模型數據DB 207中但并不存在于知識信息庫22中的資源,并臨時將該資源存儲為已被刪除的差異資源(步驟S52)?!そ酉聛?,索引更新部409從模型數據DB 207中刪除所有差異資源極其子圖(步驟
553)。接下來,索引更新部409從索引庫203中刪除與所有差異資源有關的信息(步驟
554)。具體地說,索引更新部409從路徑索引中刪除與差異資源相對應的元組。此外,索引更新部409從包括與差異資源有關的信息的倒排表中刪除該信息。此外,索引更新部409還從文字屬性索引組和元數據索引組中刪除與差異資源有關的元組。接下來,索引更新部409對已被改變或添加的差異資源的每一個執(zhí)行以下處理。首先,索引更新部409使路徑字段生成部201生成該差異資源的路徑字段(步驟
555)。接下來,索引更新部409使標記化部212基于從知識信息庫22獲得的模型中的項以項為單位標記在步驟S55生成的路徑字段(步驟S56)。接下來,索引更新部409將與差異資源有關的信息記錄到索引庫203中(步驟S57)。具體而言,索引更新部409基于被標記的路徑字段生成該差異資源的倒排表并記錄到路徑索引中。此外,索引更新部409將該差異資源和該路徑字段中的項的位置信息所構成的信息添加至該差異資源的路徑字段內所包括的每一個項的倒排表中。此外,在差異資源為具有文字屬性或特殊屬性的資源的情況下,索引更新部還將其記錄到文字屬性索引組或元數據索引組中。接下來,索引更新部409將差異資源和從該資源開始具有預定深度的子圖記錄到模型數據DB207中(步驟S58)。對執(zhí)行已被改變或添加的所有差異資源進行步驟S55至S58的處理之后,信息搜索系統(tǒng)4結束索引更新處理。接下來,將描述本發(fā)明第四示例性實施例的效果。作為本發(fā)明第四示例性實施例的信息搜索系統(tǒng)可更有效地執(zhí)行更新索引庫的處理以便快速從知識信息中搜索目標資源。這是因為,通過比較知識信息庫和模型數據DB,有可能指定知識信息模型的改變位置,且只在索引庫和模型數據DB中更新指定的改變位置。此時,由于索引庫和模型數據DB的索引項的數量被限制為模型的項的數量級,因此有可能縮短將改變的位置反映給索引庫和模型數據DB的更新時間。
在對作為第二至第四示例性實施例的信息搜索系統(tǒng)所進行的描述中,信息搜索系統(tǒng)的每一個從以RDF模型表示為圖形信息的知識信息模型中搜索目標資源。然而,每一個信息搜索系統(tǒng)還可應用于從由多個節(jié)點和連接節(jié)點的邊所表示的其它圖形結構信息中搜索目標節(jié)點的情況。進一步地,在以上描述的本發(fā)明的每一個示例性實施例中,參考每一個流程圖描述的信息搜索設備的操作可儲存于信息搜索設備的存儲設備(存儲介質)中作為本發(fā)明的計算機程序以便CPU檢索并執(zhí)行該計算機程序。在這種情況下,本發(fā)明由計算機程序的代碼或存儲介質構成。此外,CPU通過執(zhí)行計算機程序,可實現上述每一個示例性實施例中的功能塊示意圖中所示出的路徑字段生成部、索引生成部、索引更新部、標記化部、搜索部和搜索路徑生成部所執(zhí)行的各個處理。進一步地,在以上描述的本發(fā)明的每一個示例性實施例中,可通過構成信息搜索設備的計算機的存儲設備將圖形結構存儲設備和知識信息庫配置為本地文件系統(tǒng)。進一步地,在以上描述的本發(fā)明的每一個示例性實施例中,可通過儲存于構成信·息搜索設備的計算機的存儲設備中的應用程序在相同計算機上實現客戶端設備。進一步地,在以上描述的本發(fā)明的每一個示例性實施例中,信息搜索設備可通過輸入和輸出裝置從用戶獲取搜索請求,而非搜索請求從客戶端設備獲取搜索請求。在這種情形中,信息搜索設備還可以經由輸入和輸出設備將搜索結果呈現給用戶。進一步地,可適當地組合并實施以上描述的各個示例性實施例。進一步地,可在各種模式下執(zhí)行本發(fā)明而不必局限于以上描述的各個示例性實施例。進一步地,以上公開的全部或部分示例性實施例可被描述為,但并不局限于以下補充說明。(補充說明I)一種信息搜索設備,其被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點,所述信息搜索設備包括路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。(補充說明2)根據補充說明I的信息搜索設備,其中,其中,所述搜索部分被配置為,在所述搜索路徑的一部分具有未指定的地點的情況下,基于元素在所述搜索路徑中出現的順序以及能被插入該未指定的地點的元素的數量來搜索目標節(jié)點。(補充說明3)根據補充說明I或2的信息搜索設備,其中,所述路徑字段生成部被配置為通過以從所述圖形結構信息中的根節(jié)點起的一列元素的形式表示能從作為起點的所述節(jié)點追蹤的路徑中的每一個路徑來生成路徑字段。(補充說明4)根據補充說明I至3任何一個的信息搜索設備,進一步包括索引更新部分,其被配置為獲取表示圖形結構信息中改變的元素的差異信息,并通過基于所述差異信息控制所述路徑字段生成部和所述索引生成部來更新所述索引庫。(補充說明5) 根據補充說明I至4任何一個的信息搜索設備,進一步包括子圖存儲部,其被配置為從所述圖形結構信息提取以所述節(jié)點中的每一個節(jié)點作為起點的預定深度的子圖,并存儲所提取的子圖;和搜索結果呈現部,其被配置為呈現由所述搜索部搜索的目標節(jié)點作為起點的子圖。(補充說明6)一種數據結構,其被配置為存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息,其中,儲存每一個元素以及倒排表以便彼此相關聯(lián),為每一個元素生成了倒排表,且倒排表為由以下內容構成的信息的列表節(jié)點,其具有路徑字段,路徑字段包括通過連接路徑表示的各個節(jié)點的路徑字段之中的元素,每一個路徑是一列可從每一個作為起點的節(jié)點追蹤的元素;以及位置信息,其表示元素在路徑字段中出現的位置。(補充說明7)根據補充說明6所述的數據結構,其中,包括在倒排表中的位置信息表示路徑字段中的位置,其中可從每一個作為起點的節(jié)點追蹤的路徑在圖形結構信息中從根節(jié)點以一列元素的形式表示,并相互連接。(補充說明8)一種信息搜索系統(tǒng)包括圖形結構信息存儲設備,其被配置為存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息;客戶端設備,其被配置為請求從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和信息搜索設備,其被配置為從所述圖形結構信息中搜索目標節(jié)點,其中,所述信息搜索設備包括路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。(補充說明9)一種用于控制信息搜索設備的操作的計算機程序,該信息搜索設備被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點,所述計算機程序包括使計算機執(zhí)行以下操作的指令 路徑字段生成處理,針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;索引生成處理,針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成處理,該處理以一列元素的形式生成表示搜索條件的搜索路徑;和搜索處理,所述處理從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。(補充說明10)一種信息搜索方法,其包括通過圖形結構信息存儲設備存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息;通過信息搜索設備針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素;為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表;以及將所述元素和所述倒排表存儲于索引庫中,以便彼此相關聯(lián);通過客戶端設備請求所述信息搜索設備從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和通過信息搜索設備以一列元素的形式生成表示搜索條件的搜索路徑;從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點;以及通過基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點來搜索目標節(jié)點。(補充說明11)
一種信息搜索方法,通過被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點的信息搜索設備,其包括針對圖形結構信息包括的每一個節(jié)點,提取每一個均為一列可從每一個作為起點的節(jié)點追蹤的兀素的路徑;為每一個節(jié)點生成提取的路徑被連接的路徑字段;針對構成圖形結構信息的每一個元素生成倒排表,倒排表是由具有路徑字段的節(jié)點構成的信息的列表,該路徑字段包括元素和元素在路徑字段中出現的位置的信息;將元素和倒排表存儲于索引庫中以便彼此相關聯(lián);以一列元素的形式生成表示搜索條件的搜索路徑;從索引庫搜索每一個都具有包括搜索路徑中包括的各個元素的路徑字段的節(jié)點; 和以及基于位置信息通過從搜索的節(jié)點中提取路徑字段滿足搜索路徑中的元素的出現序列的節(jié)點來搜索目標節(jié)點。(補充說明12)根補充說明8的信息搜索系統(tǒng),其中,信息搜索設備的搜索部被配置為,在部分搜索路徑的位置未被指定的情況下,基于元素在搜索路徑中出現的順序以及可被插入未指定插入點的元素的數量搜索目標節(jié)點。(補充說明13)根據補充說明9的計算機程序包括指令,搜索處理過程中在部分搜索路徑的位置未被指定的情況下,該指令可使計算機基于搜索路徑中的元素出現的順序以及可被插入未指定插入點的元素的數量來搜索目標節(jié)點。(補充說明14)根據補充說明11的信息搜索方法,其中,搜索目標節(jié)點時,在部分搜索路徑的位置未被指定的情況下,信息搜索設備可基于元素在搜索路徑中出現的順序以及可被插入未指定插入點的元素的數量搜索目標節(jié)點。本發(fā)明基于并要求2010年5月14日提交的日本專利申請?zhí)?010-111940的優(yōu)先權的權益,其整個內容通過引用合并于此。工業(yè)實用性本發(fā)明可提供即便圖形結構信息變得復雜也能夠快速搜索目標節(jié)點的信息搜索設備,且例如,作為被配置為從大型知識信息模型中搜索目標資源的知識信息搜索設備其是有利的。編號描述1、2、3、4信息搜索系統(tǒng)11、21、31、41信息搜索設備12 圖形結構信息存儲設備13 客戶端設備22 知識信息庫101,201,301 路徑字段生成部102, 202 索引生成部
103, 203 索引庫104, 204 搜索部105,205 搜索路徑生成部206 輸入和輸出部207 模型數據DB212 標記化部 409 索引更新部
權利要求
1.一種信息搜索設備,其被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點,所述信息搜索設備包括 路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段; 索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫; 搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和 搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。
2.根據權利要求I所述的信息搜索設備,其中,所述搜索部分被配置為,在所述搜索路徑的一部分具有未指定的地點的情況下,基于元素在所述搜索路徑中出現的順序以及能被插入該未指定的地點的元素的數量來搜索目標節(jié)點。
3.根據權利要求I或2所述的信息搜索設備,其中,所述路徑字段生成部被配置為通過以從所述圖形結構信息中的根節(jié)點起的一列元素的形式表示能從作為起點的所述節(jié)點追蹤的路徑中的每一個路徑來生成路徑字段。
4.根據權利要求I至3任何一個所述的信息搜索設備,進一步包括索引更新部分,其被配置為獲取表示圖形結構信息中改變的元素的差異信息,并通過基于所述差異信息控制所述路徑字段生成部和所述索引生成部來更新所述索引庫。
5.根據權利要求I至4任何一個所述的信息搜索設備,進一步包括 子圖存儲部,其被配置為從所述圖形結構信息提取以所述節(jié)點中的每一個節(jié)點作為起點的預定深度的子圖,并存儲所提取的子圖;和 搜索結果呈現部,其被配置為呈現由所述搜索部搜索的目標節(jié)點作為起點的子圖。
6.一種數據結構,其被配置為存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息, 其中,儲存每一個元素以及倒排表以便彼此相關聯(lián),為所述每一個元素生成所述倒排表,且所述倒排表為由以下內容構成的信息的列表節(jié)點,其具有路徑字段,所述路徑字段包括通過連接路徑表示的各個節(jié)點的路徑字段之中的元素,每一個路徑是一列可從每一個作為起點的節(jié)點追蹤的元素;和位置信息,其表示所述元素在所述路徑字段中出現的位置。
7.根據權利要求6所述的數據結構,其中,包括在所述倒排表中的位置信息表示路徑字段中的位置,其中可從每一個作為起點的節(jié)點追蹤的路徑在所述圖形結構信息中從根節(jié)點以一列元素的形式表示,并相互連接。
8.—種信息搜索系統(tǒng),其包括 圖形結構信息存儲設備,其被配置為存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息; 客戶端設備,其被配置為請求從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和信息搜索設備,其被配置為從所述圖形結構信息中搜索目標節(jié)點, 其中,所述信息搜索設備包括 路徑字段生成部,其被配置為針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段; 索引生成部,其被配置為針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫;搜索路徑生成部,其被配置為以一列元素的形式生成表示搜索條件的搜索路徑;和搜索部,被配置為從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。
9.一種用于控制信息搜索設備的操作的計算機程序,該信息搜索設備被配置為從包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息中搜索滿足搜索條件的目標節(jié)點,所述計算機程序包括使計算機執(zhí)行以下操作的指令 路徑字段生成處理,針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素,并為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段; 索引生成處理,針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表,并生成其中所述元素和所述倒排表相互關聯(lián)的索引庫; 搜索路徑生成處理,該處理以一列元素的形式生成表示搜索條件的搜索路徑;和搜索處理,所述處理從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點,并基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點。
10.一種信息搜索方法,其包括 通過圖形結構信息存儲設備存儲包括作為元素的多個節(jié)點和連接節(jié)點的邊的圖形結構信息; 通過信息搜索設備針對所述圖形結構信息中所包括的節(jié)點中的每一個提取路徑,所述路徑中的每一個均為能從作為起點的所述節(jié)點追蹤的一列元素;為所述節(jié)點中的每一個生成其中所提取的路徑被連接起來的路徑字段;針對配置所述圖形結構信息的元素中的每一個生成倒排表,所述倒排表為由具有包括該元素和代表該元素在路徑字段中出現的位置的位置信息的路徑字段的節(jié)點構成的信息的列表;以及將所述元素和所述倒排表存儲于索引庫中,以便彼此相關聯(lián); 通過客戶端設備請求所述信息搜索設備從所述圖形結構信息中搜索滿足搜索條件的目標節(jié)點;和 通過信息搜索設備以一列元素的形式生成表示搜索條件的搜索路徑;從所述索引庫搜索每一個都具有包括在搜索路徑中包括的相應元素的路徑字段的節(jié)點;以及通過基于所述位置信息從搜索的節(jié)點中提取具有滿足搜索路徑中的元素的出現順序的路徑字段的節(jié)點來搜索目標節(jié)點?!?br>
全文摘要
一種信息搜索設備,具有:路徑字段生成單元,其為每一個節(jié)點生成具有作為起點的節(jié)點的路徑被連接的路徑字段;索引生成單元,其為構成所述圖形結構信息的每一個元素生成倒排表,倒排表為由具有包括元素和位置信息的路徑字段的節(jié)點構成的信息的列表,其中位置信息代表所述元素在路徑字段中出現的位置,并生成元素和倒排表相互關聯(lián)的索引庫;搜索路徑生成單元,其生成表示搜索條件的搜索路徑;和搜索單元,其基于倒排表的位置信息提取路徑字段滿足搜索路徑中的元素的出現序列的節(jié)點。
文檔編號G06F17/30GK102893281SQ20118002404
公開日2013年1月23日 申請日期2011年5月12日 優(yōu)先權日2010年5月14日
發(fā)明者有熊威, 白石展久 申請人:日本電氣株式會社