(57)【要約】【課題】グラフ構造を持つデータが格納されているグラフ構造データベースのノード間の関連づけを豊かにする。【解決手段】  グラフ構造を持つデータが格納されているグラフ構造データベース２１を検索する検索装置１は、グラフ構造データベース２１の利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベース２３に格納する利用履歴蓄積部１３と、利用履歴データベース２３から利用履歴を抽出して、グラフ構造データベース２１に利用履歴をマージする利用履歴利用部１４とを備える。【選択図】      図１
2010277553.tif 000002
【特許請求の範囲】
【請求項１】
グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索装置であって、
前記グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積部と、
前記利用履歴データベースから前記利用履歴を抽出して、前記グラフ構造データベースに当該利用履歴をマージする利用履歴利用部
を備えることを特徴とする検索装置。
【請求項２】
前記新たなグラフ構造データベースを参照して、前記利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成部
をさらに備えることを特徴とする請求項１に記載の検索装置。
【請求項３】
グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索プログラムであって、
コンピュータを、
前記グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積手段と、
前記利用履歴データベースから前記利用履歴を抽出して、前記グラフ構造データベースに当該利用履歴をマージする利用履歴利用手段
として、機能させるための検索プログラム。
【請求項４】
前記新たなグラフ構造データベースを参照して、前記利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成手段
をさらに前記コンピュータに機能させるための請求項３に記載の検索プログラム。
【請求項５】
グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索方法であって、
前記グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積ステップと、
前記利用履歴データベースから前記利用履歴を抽出して、前記グラフ構造データベースに当該利用履歴をマージする利用履歴利用ステップ
を備えることを特徴とする検索方法。
【請求項６】
前記新たなグラフ構造データベースを参照して、前記利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成ステップ
をさらに備えることを特徴とする請求項５に記載の検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索装置、検索プログラムおよび検索方法に関する。
【背景技術】
【０００２】
一般的に、様々なデータをグラフとして表現して、複数のデータソースをまたがる関係等を統一した表現で表す手法が確立されている。また、グラフとして表現されたデータから特徴的な関係を発見するグラフマイニングなどの手法に関する研究が、進展している。
【０００３】
例えば特許文献１では、ＲＤＦグラフとして表現されたデータを対象として、特徴的なパターンをマイニングし、そのパターンに合致するノードを検索するための技術が開示されている。特許文献１においては特に、検索対象データの中に、ある「人」とその人が作成した「コンテンツ」という関係が含まれていること、あるいはそのような関係データと元の対象データが統合されていることを前提となっている。特許文献１に記載の方法は、特徴的なパターンに合致するノードを検索するには好適である。
【０００４】
ここでコンテンツとしては、例えばＳＮＳ（Social Networking Service）やブログなどの個々の記事(ページ)や、論文などの文書等が考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１３５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の方法においては、グラフ構造データベースに記録されたデータは複数のデータソースが対象となっており、新たなデータを追加することについては何ら触れられていない。
【０００７】
従って本発明の目的は、グラフ構造を持つデータが格納されているグラフ構造データベースのノード間の関連づけを豊かにすることのできる検索装置、検索プログラムおよび検索方法を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の特徴は、グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索装置に関する。即ち本発明の第１の特徴に係る検索装置は、グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積部と、利用履歴データベースから前記利用履歴を抽出して、前記グラフ構造データベースに当該利用履歴をマージする利用履歴利用部を備える。
【０００９】
ここで、新たなグラフ構造データベースを参照して、利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成部をさらに備えても良い。
【００１０】
本発明の第２の特徴は、グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索プログラムに関する。即ち本発明の第２の特徴に係る検索プログラムは、コンピュータを、グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積手段と、利用履歴データベースから利用履歴を抽出して、グラフ構造データベースに当該利用履歴をマージする利用履歴利用手段として、機能させる。
【００１１】
ここで、新たなグラフ構造データベースを参照して、利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成手段をさらにコンピュータに機能させても良い。
【００１２】
本発明の第３の特徴は、グラフ構造を持つデータが格納されているグラフ構造データベースを検索する検索方法に関する。即ち本発明の第３の特徴に係る検索方法は、グラフ構造データベースの利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベースに格納する利用履歴蓄積ステップと、利用履歴データベースから利用履歴を抽出して、グラフ構造データベースに当該利用履歴をマージする利用履歴利用ステップを備える。
【００１３】
ここで、新たなグラフ構造データベースを参照して、利用した旨のパスを含み、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータを生成して、クエリグラフパターンデータベースに記憶するクエリグラフパターン生成ステップをさらに備えても良い。
【発明の効果】
【００１４】
本発明によれば、グラフ構造を持つデータが格納されているグラフ構造データベースのノード間の関連づけを豊かにすることのできる検索装置、検索プログラムおよび検索方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る検索システムのシステム構成と、検索装置の機能ブロックを説明する図である。
【図２】本発明の実施の形態に係るグラフ構造データベースを説明する図である。
【図３】本発明の実施の形態に係るグラフ構造データベースの一部のデータについて、元のリレーショナルデータと、このデータをＸＭＬ形式およびグラフ形式を用いてＲＤＦで表現した状態を説明する図である。
【図４】本発明の実施の形態に係る利用履歴を説明する図である。
【図５】本発明の実施の形態に係る検索システムの効果を説明する図である。
【図６】本発明の実施の形態に係る検索システムにおいて、利用履歴を蓄積する処理を説明する図である。
【図７】本発明の実施の形態に係る検索システムにおいて、ユーザ端末で検索リクエストを入力する画面を説明する図である。
【図８】本発明の実施の形態に係る検索システムにおいて、クエリグラフパターンを生成する処理を説明する図である。
【図９】本発明の実施の形態に係る検索システムにおいて、まだ利用されていないグラフ構造データベースのクエリグラフパターンと検索結果を説明する図である。
【図１０】図９（ｂ）に示す検索結果を説明する図である。
【図１１】本発明の実施の形態に係る検索システムにおいて、利用履歴がマージされたグラフ構造データベースを説明する図である。
【図１２】本発明の実施の形態に係る検索システムにおいて、利用履歴がマージされたグラフ構造データベースのクエリグラフパターンと検索結果を説明する図である。（その１）
【図１３】本発明の実施の形態に係る検索システムにおいて、利用履歴がマージされたグラフ構造データベースのクエリグラフパターンと検索結果を説明する図である。（その２）
【図１４】図１２（ｂ）に示す検索結果を説明する図である。
【図１５】図１３（ｂ）に示す検索結果を説明する図である。
【発明を実施するための形態】
【００１６】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１７】
本発明の実施の形態に係る検索システム３は、検索装置１とユーザ端末２を備える。検索装置１とユーザ端末２は、ＬＡＮ等の相互に通信可能な通信ネットワークで接続されている。
【００１８】
ユーザ端末２は、一般的なコンピュータである。ユーザ端末２は、中央処理制御装置、入力装置、通信制御装置、表示装置等を備える。入力装置は、本発明の実施の形態に係る検索装置１で検索するための条件を入力するための装置である。通信制御装置は、入力された条件を検索装置１に送信するとともに検索装置１から検索結果を受信するための装置である。表示装置は、検索結果を表示するための装置である。中央処理制御装置は、これらの処理を制御するための装置である。
【００１９】
検索装置１は、グラフ構造を持つデータが格納されているグラフ構造データベースを検索する。検索装置１は、例えば一般的なコンピュータに、所定の検索プログラムをインストールすることにより実現される。検索装置１は、図１に示すように、中央処理制御装置１０および記憶装置２０を備える。検索装置１はさらに、ユーザ端末１から検索条件を受信するとともに、ユーザ端末１に検索条件を送信するための通信制御装置や、入力装置および表示装置等を備えても良い。
【００２０】
記憶装置２０には、本発明の実施の形態に係る検索プログラムが記憶されるとともに、グラフ構造データベース２１、クエリグラフパターンデータベース２２および利用履歴データベース２３の各データが記憶されている。
【００２１】
グラフ構造データベース２１には、図２に示すような図グラフ構造を持つグラフ構造データ２１ａが格納されている。本発明の実施形態におけるグラフ構造データ２１ａはラベル付き有向グラフデータである。グラフ構造データ２１ａにおいて、データのアーク（ノード間を結ぶ矢印で示されたパス） をＲＤＦ（Resource Description Framework）の仕様に基づいてプロパティと称する。ＲＤＦは、図２に示すようなラベル付き有向グラフで表現可能なデータのデータモデルで定められる。
【００２２】
例えば、グラフ構造データベース２１は、ある「人」とその人が作成した「コンテンツ」という関係が含まれていること、あるいはそのような関係データと元の対象データが統合されていることを前提となっている。ここでコンテンツとしては、例えばＳＮＳ（Social Networking Service）やブログなどの個々の記事(ページ)や、論文などの文書等が考えられる。
【００２３】
図２は、これらのグラフ構造データ２１ａがどのように既存のリレーショナルデータベースなどで管理されているデータから生成され、グラフ化されているかを示す説明図である。図３は図２のデータの一部を示したものである。図３においては、元データとして、ドキュメント「Ｔ−０４１」と、そのドキュメントの著者「山田太郎」と、そのドキュメントの題名「セマンティックW e b入門」と、そのドキュメントのキーワード「セマンティックW e b」とが与えられている。図３において、この元データを、それぞれX M L形式（図３の右上）およびグラフ形式を用いてR D F（図３の右下）で表現したものである。
【００２４】
クエリグラフパターンデータベース２２には、所定の条件で制約される２点以上のノード間のパスを検索するためのクエリグラフパターンデータ２２ａが格納されている。本発明の実施の形態において、グラフ構造データベース２１を検索する際、クエリグラフパターンデータ２２ａに所定の条件が入力され、この条件が入力されたクエリグラフパターンデータ２２ａにマッチする情報が、グラフ構造データベース２１から抽出される。
【００２５】
クエリグラフパターンは、ＲＤＦグラフとして表現されたデータを対象として、マイニングされた特徴的なパターンである。
【００２６】
利用履歴データベース２３には、グラフ構造データベース２１が利用された利用履歴データ２３ａが格納されている。利用履歴データベース２３は、例えば、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴が、ＲＤＦの要素として格納されている。
【００２７】
中央処理制御装置１０は、クエリグラフパターンマッチング部１１、クエリグラフパターン生成部１２、利用履歴蓄積部１３および利用履歴利用部１４を備える。
【００２８】
クエリグラフパターンマッチング部１１は、ユーザ端末２ａから検索条件が入力されると、記憶装置２０からクエリグラフパターンデータベース２２のクエリグラフパターンデータ２２ａを読み出すとともに、ユーザ端末２ａから入力された検索条件に従って、検索クエリを生成する。さらにクエリグラフパターンマッチング部１１は、記憶装置２０からグラフ構造データベース２１のグラフ構造データ２１ａを読み出して、検索クエリにマッチするデータを抽出し、ユーザ端末２ａに出力する。
【００２９】
クエリグラフパターン生成部１２は、グラフ構造データベース２１に記憶された各データについて、クエリグラフパターンを生成して、クエリグラフパターンデータベース２２に格納する。クエリグラフパターン生成部１２は、定期的にクエリグラフパターンを生成しても良いし、入力装置からの指示に基づいてクエリグラフパターンを生成しても良い。また本発明の実施の形態においては特に、後述する利用履歴利用部１４によってグラフ構造データベース２１に利用履歴がマージされた際に、クエリグラフパターン生成部１２は、利用履歴利用部１４からの指示に従って、クエリグラフパターンを生成しても良い。
【００３０】
利用履歴蓄積部１３は、グラフ構造データベース２１の利用が検知されると、利用主体の識別子と、利用対象の識別子とを関連づけた利用履歴を、利用履歴データベース２３に格納する。ここで格納される利用履歴は、ＲＤＦグラフにより表現される。ここで「グラフ構造データベース２１の利用」には、グラフ構造データベース２１の検索や、検索結果に対するアクションなど、グラフ構造データベース２１に関する様々な利用形態が含まれる。
【００３１】
例えば検索装置１が検索リクエストを受信した場合に、利用履歴には、検索リクエストを送信した人と、その検索リクエストによる検索キーワードとを関連づけたデータが含まれる。例えば、人が「ＸＭＬ」をキーワードに検索すると、利用履歴蓄積部１３は、「人」が「ＸＭＬ」を「検索」したことを示す利用履歴を、ＲＤＦグラフで作成して、利用履歴データベース２３に格納する。この利用履歴から、人が「ＸＭＬ」に興味を示していると推測することができる。
【００３２】
さらにその検索結果のうちの一つのコンテンツについて、参照された場合、利用履歴には、そのコンテンツを参照した人と、その参照したコンテンツとを関連づけたデータも含まれる。例えば、人が「ＸＭＬ」をキーワードに検索した結果、ＳＮＳページの「sns:Ｓ−１０５」および「sns:Ｓ−１０６」が検索結果として出力され、その「人」が「sns:Ｓ−１０５」を参照した場合、利用履歴蓄積部１３は、「人」が「sns:Ｓ−１０５」を「参照」したことを示す利用履歴を、ＲＤＦグラフで作成して、利用履歴データベース２３に格納する。この履歴から、人が、複数の検索結果の中でも特に「sns:Ｓ−１０５」に興味を示していると推測することができる。
【００３３】
この場合、利用履歴をＲＤＦ形式で表現すると、図４（ａ）に示すように、利用主体となる「人」のノードに、利用対象となる「コンテンツ」のノードから、「ｒｅｃ：参照」を示すパスが付された形式となる。具体的には、「Person:山田太郎」が、検索結果の一つである「sns:Ｓ−１０５」を参照した場合、図４（ｂ）に示すような利用履歴がＲＤＦグラフ形式で生成される。
【００３４】
利用履歴蓄積部１３は、利用履歴が入力される度に、図４（ｂ）に示すような利用履歴を生成して、利用履歴データベース２３に格納する。
【００３５】
利用履歴利用部１４は、利用履歴データベース２３に格納された各利用履歴と、グラフ構造データベース２１に格納されたデータとをマージする。具体的には、利用履歴利用部１４は、利用履歴データベース２３から利用履歴を抽出して、グラフ構造データベース２１において、この利用履歴の利用主体の識別子のノードおよび当該利用対象の識別子のノード間に、利用した旨のパスを追加して、新たなグラフ構造データベースを生成する。利用履歴利用部１４は、定期的に新たなグラフ構造データベースを生成しても良いし、入力装置からの指示に基づいて新たなグラフ構造データベースを生成しても良い。また、グラフ構造データベース２１が利用される度に、新たなグラフ構造データベースを生成しても良い。
【００３６】
本発明の実施の形態に係る検索装置１は、グラフ構造データベース２１が利用されると、その情報を、グラフ構造データベース２１に反映する。例えば、図５に示すように、論文データベースとＳＮＳデータベースとを統合した検索システム３ａに、人Ｂが検索し、人ＡのＳＮＳを閲覧すると、「人Ｂが人ＡのＳＮＳページを見た」利用履歴を示すメタデータが生成される。本発明の実施の形態に係る検索装置１においては、この「人Ｂが人ＡのＳＮＳページを見た」利用履歴を示すメタデータを、グラフ構造データベース２１に反映する。これにより、新たな検索システム３ｂにおいては、さらに「人Ｂが人ＡのＳＮＳページを見た」という情報が登録されているので、人Ｃが人Ａを検索した際に、人Ｂの情報も検索することができる。
【００３７】
本発明の実施の形態に係る検索装置１においては、グラフ構造データベース２１を利用した利用履歴を反映して新たなグラフ構造データベース２１を生成することができる。従って、論文データベースやＳＮＳデータベースなどの元々入力されていたデータに限らず、検索した人が興味を持つ人やコンテンツも併せて検索することができるので、グラフ構造データベース２１の検索結果を豊かにすることができる。例えば、同一の検索条件でも、検索時期によって異なる検索結果を取得することができる。
【００３８】
図６を参照して、本発明の実施の形態に係る検索装置１において、利用履歴を蓄積する際の処理を説明する。
【００３９】
まずステップＳ１０１において、ユーザ端末２から検索装置１に対する操作が入力される。例えば、検索装置１は、ユーザ端末２に図７に示す入力インタフェースを表示する。この入力インタフェースには、キーワードを入力するテキストボックスと、その概念（クラス）を選択するラジオボタンが設けられている。ユーザ端末２において、ユーザによって、テキストボックスに「ＸＭＬ」が入力されるとともに、概念として「人」が選択されると、ステップＳ１０１において、キーワードとして、テキストボックスに入力された「ＸＭＬ」と、概念として「人」が含まれた検索リクエストが、ユーザ端末２から検索装置１に入力される。このとき検索リクエストは、利用履歴蓄積部１３に入力されるとともに、クエリグラフパターンマッチング部１１に入力される。
【００４０】
検索装置１において、利用履歴蓄積部１３は、検索リクエストを受信すると、ステップＳ１０２において、グラフ構造データベース２１の利用があったことを検知し、この利用履歴をＲＤＦグラフ構造で生成する。さらにステップＳ１０３において利用履歴蓄積部１３は、ステップＳ１０２で生成した利用履歴を、利用履歴データベース２３に格納する。ここで格納される利用履歴は、人がグラフ構造データベース２１を検索したことを示す利用履歴である。
【００４１】
一方検索装置１において、ステップＳ１０４においてクエリグラフパターンマッチング部１１は、ユーザ端末２から入力された検索リクエストに基づいて、クエリグラフパターンデータベース２２からクエリグラフパターンを抽出する。さらにクエリグラフパターンマッチング部１１は、抽出したクエリグラフパターンにキーワードを代入し、検索クエリを生成して、グラフ構造データベース２１に検索を要求する。グラフ構造データベース２１は、入力された検索クエリに適合するグラフパターンをグラフ構造データ２１ａから抽出して、検索リクエストに対する検索結果としてユーザ端末２に送信する。ステップＳ１０６においてユーザ端末２は、検索結果を受信すると、その結果をユーザ端末２の表示装置に表示する。
【００４２】
ここでステップＳ１０７においてユーザ端末２から検索結果のいずれかを参照した場合、検索装置１は、その利用履歴を取得する。この利用履歴には、検索装置１において、利用履歴蓄積部１３は、利用履歴を受信すると、ステップＳ１０８において、検索結果の利用があったことを検知し、この利用履歴をＲＤＦグラフ構造で生成する。さらにステップＳ１０９において利用履歴蓄積部１３は、ステップＳ１０８で生成した利用履歴を、利用履歴データベース２３に格納する。ここで格納される利用履歴は、人が検索結果を参照したことを示す利用履歴である。
【００４３】
図８を参照して、本発明の実施の形態に係る検索装置１において、利用履歴をグラフ構造データベース２１にマージする際の処理を説明する。
【００４４】
まずステップＳ２０１において、利用履歴利用部１４は、所定のタイミングで、利用履歴データベース２３に利用履歴を要求する。この「所定のタイミング」は、２４時間毎などの定期的なタイミングであっても良い。
【００４５】
利用履歴データベース２３は、利用履歴利用部１４から利用履歴が要求されると、ステップＳ２０２において、利用履歴データベース２３に蓄積されている利用履歴を抽出し、利用履歴利用部１４に入力する。ここで入力される利用履歴は、図４（ｂ）を参照して説明した様に、ＲＤＦグラフの形式で表現されたＲＤＦグラフの要素である。また、利用履歴が利用履歴利用部１４に入力されると、利用履歴データベース２３から、利用履歴が消去されても良い。
【００４６】
利用履歴が入力されると、ステップＳ２０３において利用履歴利用部１４は、グラフ構造データベース２１に対して、利用履歴とグラフ構造データベース２１のマージを要求する。この要求を受信すると、ステップＳ２０４においてグラフ構造データベース２１は、既存のグラフ構造データ２１ａに、利用履歴をマージする。具体的には、この利用履歴の利用主体の識別子のノードおよび当該利用対象の識別子のノード間に、利用した旨のパスを追加して、新たなグラフ構造データベース２１ｂを生成する。利用履歴のマージが完了すると、グラフ構造データベース２１は、利用履歴利用部１４に、その旨を通知する。
【００４７】
マージが完了すると、ステップＳ２０５において利用履歴利用部１４は、クエリグラフパターン生成部１４に対して、クエリグラフパターンの生成を要求する。
【００４８】
ステップＳ２０６においてクエリグラフパターン生成部１２は、利用履歴利用部１４からの要求に応じて、クエリグラフパターンを生成する。具体的には、クエリグラフパターン生成部１２は、クエリグラフパターンを生成する要求を、グラフ構造データベース２１に入力する。
【００４９】
ステップＳ２０７においてグラフ構造データベース２１は、クエリグラフパターン生成部１２から入力された要求に合致するプロパティ、クラスおよびグラフパターンを生成する。クエリグラフパターン生成部１２は、グラフ構造データベース２１から入力されたプロパティ、クラスおよびグラフパターンから、特徴的なグラフパターンを抽出し、クエリグラフパターンとして、クエリグラフパターンデータベース２２に入力する。ここでクエリグラフパターンは、グラフ構造データベース２１から入力されたプロパティ、クラスおよびグラフパターンのうち、１回以上出現するグラフパターンに基づいて生成される。クエリグラフパターン生成部１２は、この抽出されたグラフ構造に含まれる任意のノード名およびプロパティ名を変数にすることにより、ユーザにより入力された情報または予め設定された情報に関連する情報が追加されたデータを検索するためのクエリグラフパターンを生成する。
【００５０】
クエリグラフパターンがクエリグラフパターンデータベース２２に入力されると、ステップＳ２０８において、このクエリグラフパターンがクエリグラフパターンデータベース２２に蓄積される。
【００５１】
例えば、図２に示すグラフ構造データ２１ａのクエリグラフパターンについて説明する。図２は、利用履歴がマージされていない状態のグラフ構造データ２１ａを示している。図２に示すグラフ構造データ２１ａについて、図９（ａ）に示すようなクエリグラフパターンが考えられる。
【００５２】
図９（ａ）に示すクエリグラフパターンは、「提示されたキーワードを持つ論文の著者と、その著者が作製したＳＮＳのページ」の関連を示している。ここで、図９（ａ）のノード中に、「?」が先頭にある名称は、任意の値が入る可能性のある変数であることを示す。また、ノードで「:」の前に付された「Person」はクラスを示し、パスで「:」の前に付された「rm」は、プロパティを示す。
【００５３】
このクエリグラフパターンに基づいて、グラフ構造データ２１ａを検索すると、図９（ｂ）に示すようなデータが検索される。図９（ｂ）においては、変数「?Keyword」の値として「ＸＭＬ」がマッチしている検索結果のうち、クラス「P e r s o n :人」のインスタンス「P e r s o n :鈴木花子」に関するデータである。図９（ｂ）に示したデータは、図１０において太線で記した部分に関するデータである。また図９（ｂ）に示すデータと同様に、インスタンス「P e r s o n :田中一郎」に関するデータ等も検索される。
【００５４】
ここで、図４（ｂ）に示す様なＲＤＦの断片に基づいて「Person:山田太郎」が「sns:Ｓ−１０５」および「sns:Ｓ−１０６」を参照した利用履歴をグラフ構造データベース２１ａにマージされると、利用履歴利用部１４によって、図１１に示すようなグラフ構造データ２１ｂが生成される。グラフ構造データ２１ｂにおいては、人「山田太郎」がＳＮＳページ「Ｓ−１０５」および「Ｓ−１０６」を参照したことを示すパスが追加される。このパスにはそれぞれ、プロパティとして「ｒｅｃ:参照」が付される。
【００５５】
このような新たなグラフ構造データ２１ｂにおいては、図１２（ａ）および図１３（ａ）に示すようなクエリグラフパターンが新たに検索可能になる。
【００５６】
図１２（ａ）に示すクエリグラフパターンは、「提示されたキーワードを持つノード（ＳＮＳページなど）を参照した著者」の関係を示している。このクエリグラフパターンに基づいて、グラフ構造データ２１ｂを検索すると、図１２（ｂ）に示すようなデータが検索される。図１２（ｂ）においては、変数「?Keyword」の値として「ＸＭＬ」および変数「?x」の値として「Ｓ−１０５」がマッチしている検索結果のうち、クラス「P e r s o n :人」のインスタンス「P e r s o n :山田太郎」に関するデータと、変数「?Keyword」の値として「ＸＭＬ」および変数「?x」の値として「Ｓ−１０６」がマッチしている検索結果のうち、クラス「P e r s o n :人」のインスタンス「P e r s o n :山田太郎」に関するデータである。図１２（ｂ）に示すデータは、図１４に示す太線で記した部分に関するデータである。
【００５７】
このように、本発明の実施の形態においては、「山田太郎」が「Ｓ−１０５」および「Ｓ−１０６」を検索し、その検索結果を参照した場合、その利用履歴がグラフ構造データベース２１に挿入されるとともに、これ以降の検索において、グラフ構造データベース２１からその検索履歴を取得することができる。
【００５８】
図１３（ａ）に示すクエリグラフパターンは、「提示されたキーワードを持つノード（ＳＮＳページなど）の著者と、その著者が参照したノード（ＳＮＳページなど）の著者」の関係を示している。このクエリグラフパターンに基づいて、グラフ構造データ２１ｂを検索すると、図１３（ｂ）に示すようなデータが検索される。図１３（ｂ）においては、変数「?Keyword」の値として「ＸＭＬ」および変数「?x」の値として「Ｔ−０４１」がマッチしている検索結果のうち、「P e r s o n :山田太郎」が参照したＳＮＳページ「Ｓ−１０５」とその著者「田中一郎」に関するデータと、変数「?Keyword」の値として「ＸＭＬ」および変数「?x」の値として「Ｔ−０４１」がマッチしている検索結果のうち、「P e r s o n :山田太郎」が参照したＳＮＳページ「Ｓ−１０６」とその著者「鈴木花子」に関するデータである。図１３（ｂ）に示すデータは、図１５に示す太線で記した部分に関するデータである。
【００５９】
このように、本発明の実施の形態においては、「山田太郎」が「Ｓ−１０５」および「Ｓ−１０６」を検索した場合、その検索履歴がグラフ構造データベース２１に挿入されるとともに、グラフ構造データベース２１から、「Ｓ−１０５」の著者である「田中一郎」と、「Ｓ−１０６」の著者である「鈴木花子」の各データを取得することができる。
【００６０】
本発明の実施の形態においては、グラフ構造データベースへの利用履歴を、グラフ構造データベースに登録する。これにより、本発明の実施の形態に係る検索装置１は、その利用履歴を検索結果として出力するとともに、その利用履歴から、利用した人と、利用対象に関連づけられたノードも検索結果として出力することができる。これにより、新たにデータベースを追加しなくても、ノードの関連づけをより豊かにした検索結果を出力することができる。
【００６１】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００６２】
例えば、本発明の実施の形態に記載した検索装置は、図１に示すように一つのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。また、既存の検索システム上に実現されても良い。
【００６３】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００６４】
１  検索装置
２  ユーザ端末
３  検索システム
１０  中央処理制御装置
１１  クエリグラフパターンマッチング部
１２  クエリグラフパターン生成部
１３  利用履歴蓄積部
１４  利用履歴利用部
２０  記憶装置
２１  クエリグラフパターンデータベース
２２  グラフ構造データベース
２３  利用履歴データベース
【図１】
2010277553.tif 000003
【図２】
2010277553.tif 000004
【図３】
2010277553.tif 000005
【図４】
2010277553.tif 000006
【図５】
2010277553.tif 000007
【図６】
2010277553.tif 000008
【図７】
2010277553.tif 000009
【図８】
2010277553.tif 000010
【図９】
2010277553.tif 000011
【図１０】
2010277553.tif 000012
【図１１】
2010277553.tif 000013
【図１２】
2010277553.tif 000014
【図１３】
2010277553.tif 000015
【図１４】
2010277553.tif 000016
【図１５】
2010277553.tif 000017