"各データ要素をノードとしそれらデータ要素同士の関係の種類を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象の部分グラフが満たすべき検索条件と、の入力をユーザから受け付ける入力受付手段と、前記検索条件を満たす部分グラフを前記グラフデータから検索する通常検索手段と、前記通常検索手段により検索された1以上の検索結果をそれぞれ前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを前記ユーザに提示し、提示した前記検索結果データに含まれる1以上の検索結果の中から前記ユーザの選択を受け付ける選択受付手段と、ユーザごとに、当該ユーザが過去の前記通常検索手段による検索において前記選択受付手段に対して選択した検索結果に対応する経路データを、当該ユーザの検索経路履歴として記憶する経路データ記憶手段と、ユーザから前記検索経路履歴を利用する履歴利用検索の指示と当該履歴利用検索の基準とするノードの指定とを受けると、前記グラフ上で、前記基準とするノードからみて、当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶された各経路データが示す経路に類似する経路を経た位置にあるノード又は部分グラフを検索し、当該検索の結果得られた各ノード又は部分グラフを提示する履歴利用検索手段と、を備える検索装置。前記経路データ記憶手段は、前記ユーザの検索経路履歴に含まれる経路データごとに経路評価値を記憶しており、経路データに対応する経路評価値は、過去の前記履歴利用検索手段の検索結果のうち当該経路データが示す経路に対応する検索結果が当該ユーザにより選択された回数に基づく値であり、前記履歴利用検索手段は、前記ユーザからの前記履歴利用検索の指示に応じて行った検索の結果得られたノード又は部分グラフを、当該経路データの経路評価値に基づく検索順位に従って配列して提示する、ことを特徴とする請求項1に記載の検索装置。前記履歴利用検索手段は、前記ユーザからの前記履歴利用検索の指示に応じて行った検索の結果得られたノード又は部分グラフと前記履歴利用検索の基準とするノードとを結ぶ経路と、前記履歴利用検索で用いた経路データと、の類似度を求め、求めた類似度と当該経路データの経路評価値と、に基づく検索順位に従って、前記検索の結果得られたノード又は部分グラフを配列して提示する、ことを特徴とする請求項2に記載の検索装置。ユーザから、前記選択受付手段に対して選択した検索結果に対応する経路データの端点ノードから拡張すべき1以上のリンクの指定を受け付け、当該指定された1以上のリンクを当該端点ノードに付加することにより当該経路データを拡張し、拡張された経路データを当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶させる経路拡張手段、を更に備える、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置。前記選択受付手段に対して選択した検索結果に対応する経路データを拡張するリンク数の指定をユーザから受け付け、前記グラフ上で当該経路データを端点ノードからそのリンク数分のリンクだけ拡張し、拡張された経路データを当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶させる経路拡張手段、を更に備える、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置。コンピュータを、各データ要素をノードとしそれらデータ要素同士の関係の種類を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象の部分グラフが満たすべき検索条件と、の入力をユーザから受け付ける入力受付手段、前記検索条件を満たす部分グラフを前記グラフデータから検索する通常検索手段と、前記通常検索手段により検索された1以上の検索結果をそれぞれ前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを前記ユーザに提示し、提示した前記検索結果データに含まれる1以上の検索結果の中から前記ユーザの選択を受け付ける選択受付手段、ユーザごとに、当該ユーザが過去の前記通常検索手段による検索において前記選択受付手段に対して選択した検索結果に対応する経路データを、当該ユーザの検索経路履歴として記憶する経路データ記憶手段、ユーザから前記検索経路履歴を利用する履歴利用検索の指示と当該履歴利用検索の基準とするノードの指定とを受けると、前記グラフ上で、前記基準とするノードからみて、当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶された各経路データが示す経路に類似する経路を経た位置にあるノード又は部分グラフを検索し、当該検索の結果得られた各ノード又は部分グラフを提示する履歴利用検索手段、として機能させるためのプログラム。本発明は、データ要素をノードとしデータ要素同士の関係をリンクとするグラフ内での検索において、個々のユーザの過去の検索のパターンに合わせて検索できる装置及びプログラムを提供することを目的とする。請求項1に係る発明は、各データ要素をノードとしそれらデータ要素同士の関係の種類を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象の部分グラフが満たすべき検索条件と、の入力をユーザから受け付ける入力受付手段と、前記検索条件を満たす部分グラフを前記グラフデータから検索する通常検索手段と、前記通常検索手段により検索された1以上の検索結果をそれぞれ前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを前記ユーザに提示し、提示した前記検索結果データに含まれる1以上の検索結果の中から前記ユーザの選択を受け付ける選択受付手段と、ユーザごとに、当該ユーザが過去の前記通常検索手段による検索において前記選択受付手段に対して選択した検索結果に対応する経路データを、当該ユーザの検索経路履歴として記憶する経路データ記憶手段と、ユーザから前記検索経路履歴を利用する履歴利用検索の指示と当該履歴利用検索の基準とするノードの指定とを受けると、前記グラフ上で、前記基準とするノードからみて、当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶された各経路データが示す経路に類似する経路を経た位置にあるノード又は部分グラフを検索し、当該検索の結果得られた各ノード又は部分グラフを提示する履歴利用検索手段と、を備える検索装置である。請求項2に係る発明は、前記経路データ記憶手段は、前記ユーザの検索経路履歴に含まれる経路データごとに経路評価値を記憶しており、経路データに対応する経路評価値は、過去の前記履歴利用検索手段の検索結果のうち当該経路データが示す経路に対応する検索結果が当該ユーザにより選択された回数に基づく値であり、前記履歴利用検索手段は、前記ユーザからの前記履歴利用検索の指示に応じて行った検索の結果得られたノード又は部分グラフを、当該経路データの経路評価値に基づく検索順位に従って配列して提示する、ことを特徴とする請求項1に記載の検索装置である。請求項3に係る発明によれば、前記履歴利用検索手段は、前記ユーザからの前記履歴利用検索の指示に応じて行った検索の結果得られたノード又は部分グラフと前記履歴利用検索の基準とするノードとを結ぶ経路と、前記履歴利用検索で用いた経路データと、の類似度を求め、求めた類似度と当該経路データの経路評価値と、に基づく検索順位に従って、前記検索の結果得られたノード又は部分グラフを配列して提示する、ことを特徴とする請求項2に記載の検索装置である。請求項4に係る発明は、ユーザから、前記選択受付手段に対して選択した検索結果に対応する経路データの端点ノードから拡張すべき1以上のリンクの指定を受け付け、当該指定された1以上のリンクを当該端点ノードに付加することにより当該経路データを拡張し、拡張された経路データを当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶させる経路拡張手段、を更に備える、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置である。請求項5に係る発明は、前記選択受付手段に対して選択した検索結果に対応する経路データを拡張するリンク数の指定をユーザから受け付け、前記グラフ上で当該経路データを端点ノードからそのリンク数分のリンクだけ拡張し、拡張された経路データを当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶させる経路拡張手段、を更に備える、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置である。請求項6に係る発明は、コンピュータを、各データ要素をノードとしそれらデータ要素同士の関係の種類を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象の部分グラフが満たすべき検索条件と、の入力をユーザから受け付ける入力受付手段、前記検索条件を満たす部分グラフを前記グラフデータから検索する通常検索手段と、前記通常検索手段により検索された1以上の検索結果をそれぞれ前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを前記ユーザに提示し、提示した前記検索結果データに含まれる1以上の検索結果の中から前記ユーザの選択を受け付ける選択受付手段、ユーザごとに、当該ユーザが過去の前記通常検索手段による検索において前記選択受付手段に対して選択した検索結果に対応する経路データを、当該ユーザの検索経路履歴として記憶する経路データ記憶手段、ユーザから前記検索経路履歴を利用する履歴利用検索の指示と当該履歴利用検索の基準とするノードの指定とを受けると、前記グラフ上で、前記基準とするノードからみて、当該ユーザの検索経路履歴として前記経路データ記憶手段に記憶された各経路データが示す経路に類似する経路を経た位置にあるノード又は部分グラフを検索し、当該検索の結果得られた各ノード又は部分グラフを提示する履歴利用検索手段、として機能させるためのプログラムである。請求項1又は6に係る発明によれば、データ要素をノードとしデータ要素同士の関係をリンクとするグラフ内での検索において、個々のユーザの過去の検索のパターンに合わせて検索できる。請求項2に係る発明によれば、ユーザが過去に検索に多く使用した経路データに類似する経路ほど高い順位として提示することができる。請求項3に係る発明によれば、ユーザが過去に検索に多く使用した経路データに類似する経路ほど、かつその類似度が高いほど、高い順位として提示することができる。請求項4に係る発明によれば、ユーザの希望によりよく沿った経路データを記憶し、その経路データに類似する経路を検索することが可能になる。請求項5に係る発明によれば、ユーザの希望によりよく沿った経路データに類似する経路を検索できる可能性を高めることができる。図1に、実施形態の検索装置の機能的な構成の一例を示す。図1の構成において、データベース10には、データ要素同士の関係が構成するグラフ構造を表すグラフデータ10aが記憶されている。以下では、データ要素同士の関係をRDFで表現する場合の例を用いて説明する。ただし、実施形態の検索手法は、RDF以外の方式を用いる場合に適用してもよい。図2に、データ要素同士の関係のグラフの例を示す。この例では、楕円形のノードがデータ要素を示し、ノード同士を結ぶリンク矢印で示すがそれらノード同士の関係を示す。この例では、ノード内の文字列が、対応するデータ要素のデータ内容の少なくとも一部を示し、リンクの矢印の近傍に表示された文字列が、データ要素間の関係の種類を示す。RDFを用いている場合、矢印の根本側のノードが主語を、矢印の先端側のノードが目的語をそれぞれ示し、リンク矢印がそれら両者間の関係である述語を示す。例えば、ノード102と104とが構成する関係は、Workplaceaという識別名の作業場所はUsercという識別名のユーザにより参加されたparticipated、ということを示す言い換えれば、WorkplaceaにUsercが参加したということ。図3は、図2に示したグラフを表すグラフデータ10aの一例を示す。図3に例示するグラフデータには、主語、述語、目的語の組であるトリプルが複数含まれている。1つの例では、データベース10には、図3に例示するようなグラフデータ10aが登録されている。ただし、これはあくまで一例に過ぎず、データ要素間の関係を記述できるデータ形式であれば、図3に例示した形式以外の形式を用いてもよい。図1の説明に戻ると、データベース10には、各ユーザが過去に検索した際に使用した経路以下、履歴経路と呼ぶのリストを含む検索経路履歴データ10bも記憶されている。後で詳しく説明するように、この実施の形態の装置は、基準ノードと検索条件の部分グラフの指定をユーザから受け付け、基準ノードから検索条件を満たす検索結果の部分グラフまでのグラフ上での経路を求めてユーザに提示する機能後述する初期検索を備えている。部分グラフは、元のグラフ全体のうちの一部分のことであり、単一のノード、単一のリンク、又は相互に接続された1以上のノードと1以上のリンクの組合せである。経路は、基準ノードから検索結果の部分グラフまでを結ぶ、グラフ上の1以上のリンクの並び又はリンクとノードの並びのことである。ユーザは、各検索結果についての経路を見て、どの検索結果が自分の知りたがっていたものかを判別し、判別した検索結果を選択して詳細情報を表示する。このように、ユーザが選択した検索結果に対応する経路が、履歴経路である。ユーザが検索を行い、その検索結果の中から所望のものを選択すると、その検索結果に対応する経路が履歴経路として、当該ユーザに対応づけて検索履歴経路データ10bに追加される。図4に検索経路履歴データ10bのデータ内容に一例を示す。検索経路履歴データ10bには、ユーザごとに、当該ユーザが過去に検索に使用した履歴経路の情報が含まれる。図示のように、検索経路履歴データ10bは、ユーザID、履歴経路ID、履歴経路データ、経路評価値の項目を含んでいる。ユーザIDは、履歴経路を使用したユーザの識別情報である。履歴経路IDは、履歴経路の識別情報である。履歴経路データは、当該履歴経路を表すデータである。図4の例では、履歴経路データは、当該履歴経路を構成するリンクの並び、すなわちそれらリンクの種類述語を基準ノードに近い順に並べたものである。例えば、図5に示すように、楕円103で囲んだ検索結果の部分ノードがユーザから選択された場合、基準ノード102からその検索結果までを結ぶ順方向のリンクparticipatedと逆方向のcreatedの並びが、履歴経路データとして記憶されることになる。なお、図中createdに付された下線は、当該リンクcreatedが逆方向であること示す。一方、下線を付されていないリンクは順方向であることを示す。この例では、経路上にあるノードの情報は履歴経路データには含まれない。経路評価値は、当該履歴経路の重要度を示す評価値であり、当該履歴経路が過去に当該ユーザにより使用された回数が多いほど高い値となる。すなわち、後述する類似検索や履歴利用検索により履歴経路が検索に使用されるが、その使用の回数より詳しくは、多数提示される検索結果のうちユーザが所望のものとして選択した回数が多いほど、ユーザが過去にその履歴経路が表すパターンで情報を探していたことが多いことを示す。このように、履歴経路の使用回数が多いほど、すなわち当該履歴経路の経路評価値が高いほど、ユーザが当該履歴経路に沿った思考のパターンでものを探す可能性が高いといえる。なお、履歴経路の使用回数自体を経路評価値としてもよい。図6に、検索経路履歴データ10bの別の例を示す。図6の例では、履歴経路データに、経路上のノードの情報Usercなどが含まれている。すなわち、この例の履歴経路データは、履歴経路を構成するリンク及びノードを、基準ノードから近い順に並べたものである。再び図1の説明に戻ると、データベース10は、後で説明する関連ノード抽出部22、部分グラフ検索処理部26等のグラフ検索のための機能が実装されるコンピュータに対して実装されていてもよいし、このコンピュータからインターネット等のネットワークを介して接続された別のコンピュータに実装されていてもよい。基準ノード指定受付部12は、検索のための指定項目の1つとして、ユーザから基準ノードの指定を受け付ける。基準ノードは、ユーザが検索の基準位置すなわち目印とするノードのことである。基準ノード指定受付部12は、例えばグラフを画面表示し、ユーザからポインティングデバイス等によりそのグラフ上で基準ノードとするノードの指定を受け付けてもよい。また、別の例として、基準ノード指定受付部12は、基準ノードが満たすべき条件例えばノードの種類の指定をユーザから受け付け、その条件を満たすノードをグラフデータから検索してユーザに提示し、提示されたノードの中から基準ノードとするものをユーザが選択するようにしてもよい。ホップ数指定受付部14は、基準ノードからの検索範囲を表す上限ホップ数すなわち、リンクの数の指定をユーザから受け付ける。検索条件指定受付部16は、グラフから検索すべき検索対象が満たすべき検索条件の指定をユーザから受け付ける。検索対象は、例えば部分グラフの形で指定してもよい。検索条件となる部分グラフは、典型的には、1以上のノードが1以上のリンクで結ばれた一続きのグラフである。また、1つのリンクのみ、あるいは1つのノードのみ、を検索条件の部分グラフとして指定可能としてもよい。検索条件の部分グラフに含まれるノード及びリンクの1以上を変数としてもよい。検索条件は、部分グラフ全体を検索結果として求めるものであってもよいし、その検索条件に適合マッチする部分グラフの中の指定した1以上の変数を求めるものであってもよい。この場合、データベース10に記憶されたデータにより表されるグラフの中から、検索条件の部分グラフに適合する部分グラフが検索される。なお、検索条件は、例えば、SPARQL等のクエリ言語により記述すればよい。本実施形態の検索装置は、初期検索と類似検索と履歴利用検索の3種類の検索方式をサポートしている。初期検索は、基準ノード及び検索条件を指定して行う検索である。一方、類似検索は、初期検索の検索結果を利用した検索である。類似検索では、基準ノードの指定は受けるが、検索条件の指定は不要である。また、履歴利用検索では、着目ノードを指定するだけでよい。なお、初期検索及び類似検索及び履歴利用検索のいずれについても、検索範囲を規定するホップ数の指定は可能であるが必須ではないホップ数を指定しない場合、データベース10に記憶されたデータにより表されるグラフ全体となる。したがって、初期検索のためのユーザインタフェースUIである初期検索UI18は、基準ノード指定受付部12,検索条件指定受付部16及びホップ数指定受付部14を含んだものとなり、類似検索のためのUIである類似検索UI20は基準ノード指定受付部12及びホップ数指定受付部14を含んだものとなる。基準ノード指定受付部12,ホップ数指定受付部14及び検索条件指定受付部16は、基準ノード、ホップ数、検索条件などの指定のための入力画面の画像を例えばウェブページその他の形式で作成し、その入力画面画像をユーザが操作するクライアント例えばウェブブラウザ、あるいは専用の検索用クライアントに対して提供する。この場合、クライアントは、図1に示した検索装置が実装されたコンピュータ上に実装されてもよいし、このコンピュータに対してインターネット等のネットワークを介して接続されるコンピュータ上に実装されていてもよい。関連ノード抽出部22は、基準ノード指定受付部12で受け付けた基準ノードから、ホップ数指定受付部14に指定されたホップ数の範囲内に含まれるノード及びリンクを抽出する。抽出されたノード群からなる部分グラフが、検索範囲となる。関連ノード記憶部24には、それら抽出された関連ノード群が記憶される。部分グラフ検索処理部26は、関連ノード記憶部24に記憶された関連ノード群からなる部分グラフから、検索条件指定受付部16で受け付けた検索条件に適合する部分グラフを検索する。検索結果記憶部28は、部分グラフ検索処理部26の検索結果を記憶する。ソート部30は、検索結果記憶部28に記憶された各検索結果の順位付けすなわちスコア付けと、順位又はスコアに基づくソート並べ替え処理を実行する。この実施形態では、ソート部30は、ホップ数基準ソート処理32と経路類似度基準ソート処理34と履歴利用検索ソート処理35の3種類の順位付け及びソート処理の機能を備える。ホップ数基準ソート処理32は、基準ノードから検索結果の部分グラフまでのホップ数すなわちリンクの数に基づいて順位付け及びソートを行うものである。基準ノードからのホップ数が少ないほど順位あるいはスコアを高くし、順位が高いものから降順に検索結果をソートする。ホップ数基準ソート処理32は、例えば、初期検索UI18から指示された初期検索の結果をソートする際に用いられる。経路類似度基準ソート処理34では、基準ノードから検索結果までのグラフ上での経路と、基準の経路との類似度に基づいて順位付け及びソートを行う。基準の経路としては、例えば、初期検索の際の基準ノードから、初期検索の検索結果のうちユーザが選択したものまでのグラフ上での経路を用いればよい。経路類似度基準ソート処理34は、例えば、初期検索の結果を利用した類似検索の検索結果の順位付け及びソートの際に用いられる。なお、例示したホップ数基準ソート処理32と経路類似度基準ソート処理34はあくまで一例に過ぎず、別の基準に基づく順位スコア付け及びソート処理を採用してもよい。ソート結果記憶部36は、ソート部30によるソート結果を記憶する。また、履歴利用検索UI50は、履歴利用検索詳細は後述の起点となる着目ノードの指定を受け付ける。また、グラフ中から着目ノードを見つけ出すこと自体に手間がかかる場合もあるので、履歴利用検索UI50で着目ノードを求めるための検索条件をユーザから受け付け、着目ノード候補検索部52がその条件を満たすノードの候補を着目ノードの候補として検索してもよい。着目ノードの検索条件としては、例えば、アノードの種類がユーザUserに該当する、イなんらかの会議ノードの種類がWorkplaceに該当に参加participatedしているユーザノードの種類がUserに該当、ウ特定の会議Workplaceaに参加participatedしているユーザノードの種類がUserに該当など様々なものがある。イ及びウの検索条件は、ノードとリンクの組合せである部分グラフと、その部分グラフの中で着目するノードを特定する情報上述の例では、ノードの種類がUserに該当するという情報を含んでいる。このような検索条件は、SPARQL等のクエリ言語で記述すればよい。履歴利用検索UI50は、着目ノード候補検索部52が求めた着目ノードの候補を列挙して表示し、ユーザからの選択を受け付ける。そして、ユーザが選択した候補を着目ノードとして履歴利用検索処理部54に通知する。履歴利用検索処理部54は、履歴利用検索UI50から通知された着目ノードと、検索経路履歴データ10bに記憶された当該ユーザ履歴利用検索を指示したユーザの履歴経路とに基づいた検索を行う。すなわち、履歴利用検索処理部54は、着目ノードを起点として、当該ユーザの履歴経路と同じ又は類似する経路を経た位置にあるノード又はそのノードの近傍のリンクと他のノードを含む部分グラフを検索結果として求め、求めた各検索結果の検索スコアを求める。履歴利用検索処理部54が行う処理については、後でフローチャートを参照して更に詳しく説明する。履歴利用検索ソート処理35では、履歴利用検索処理部54の検索結果を、検索スコアの順にソートする。検索結果提示UI40は、関連ノード抽出部22,部分グラフ検索処理部26、履歴利用検索処理部54及びソート処理部30による検索及びソート処理の結果をユーザに提示するユーザインタフェース処理を実行する。検索結果提示UI40は、ソート結果提示部42及び選択受付部44を備える。ソート結果提示部42は、ソート部30によるソート結果例えばこれはソート結果記憶部36に保持されているを表示するソート結果表示画像を例えばウェブページなどの形式で生成し、この表示画像をユーザが操作するクライアント例えばウェブブラウザ、あるいは専用の検索用クライアントに提供する。選択受付部44は、そのソート結果表示画像において順位又はスコアに従って並べられた各検索結果の中から、ユーザが着目するものの選択を受け付ける。例えば、ユーザが選択受付部44を用いて、表示された各検索結果の中から更に詳細に確認したいものを選択すると、選択された検索結果の詳細情報が表示されるようにしてもよい。詳細情報としては、例えば基準ノードからその検索結果の部分グラフまでのグラフ上の経路の表示情報例えばそのグラフ上でその経路を強調表示したものなどや、検索結果の部分グラフに含まれるノードやリンクについての情報例えばノードに含まれるURLUniformResourceLocatorが指し示すリソースの内容などなどがある。また、選択受付部44は、ソートされた各検索結果のうち、ユーザが次の類似検索における基準とするものの選択を受け付ける機能を備える。ユーザが、次の類似検索の基準とする検索結果を選択すると、選択受付部44は、基準ノードからその選択された検索結果までのグラフ上での経路を基準経路として求め、基準経路記憶部38に記憶する。基準経路記憶部38に記憶された基準経路は、後の類似検索における検索結果をソートする際に経路類似度基準ソート処理34によって参照される。次に、この実施形態の検索装置における検索処理の流れの例を説明する。この実施形態の検索装置の基本UI画面には、初期検索と履歴利用検索とが選択肢として表示される。その中でユーザが初期検索を選択すると、図7の手順が実行される。初期検索では、図7に示すように、まず初期検索UI18の基準ノード指定受付部12により、グラフ中のノードのうち基準ノードとするノードの指定をユーザから受け付けると共にS10、ホップ数指定受付部14によりユーザから上限ホップ数の指定を受け付けるS12。次に、関連ノード抽出部22は、指定された基準ノードから指定された上限ホップ数以内で到達できるノード群を、関連ノード群として抽出するS14。データベース10に記憶されたデータにより規定される元のグラフのうち、抽出された関連ノード群により構成される部分グラフが、以降の検索処理における検索範囲となる。例えば、図2のグラフにおいて、ノード102が基準ノードに指定され、上限ホップ数が3と指定された場合、検索範囲は図11に破線の矩形で示す範囲となる。関連ノード群の抽出処理S14の詳細な処理手順の一例を、図8に示す。この例では、まずホップ数のカウンタを1に初期化しS70、処理対象とする注目ノードを収容するためのリストに、S10で指定された基準ノードを入れるS72。ここで、注目ノードのリストは、ホップ数ごとに作成される。例えば、S72では、カウンタが示すホップ数1に対応するリストに対し、基準ノードが唯一の注目ノードとして登録されることになる。次に、リスト中の注目ノードごとに、S74~S80の処理を実行する。すなわち、S74でリストから注目ノードを1つ取り出し、S76で、元のグラフにおいてその注目ノードに隣接するすなわち1つのリンクを介して接続されたノードをすべて、関連ノードとして抽出する。なお、S76では、既に関連ノードとして抽出済のノードは、重複して抽出しない。次に、抽出した各関連ノードについて、基準ノードから当該関連ノードまでのグラフ上での経路を求め、その経路の情報を当該関連ノードに対応づけて関連ノード記憶部24に登録するS78。このようにして関連ノード記憶部24に記憶される各関連ノードのデータの例を、図9に示す。この例では、関連ノードごとに、そのノードの識別情報図中でのノード、基準ノードからのホップ数図中でのホップ数、及び基準ノードからの経路情報図中での基準ノードからの経路が登録されている。ここでホップ数は、S78の処理を行う時点でのカウンタの値を登録すればよい。基準ノードからの経路情報は、例えば、基準ノードから出発して当該関連ノードに到達するまでに通過するグラフ上のリンク及びノードを、通過する順に並べたリストである。図9に示した関連ノード群のデータは、図2のグラフにおいてノード102を基準ノードとした場合の例である。再び図8の説明に戻ると、S76にて抽出された各隣接ノードが、次のホップ数に対応するリストに対して注目ノードとして追加されるS80。なお、S74でリストから取り出された注目ノードは、リストからは削除されている。今回のホップ数に対応するリストに含まれるすべての注目ノードについてS74~S80の処理が終了すると、ホップ数のカウンタの値を1だけインクリメントするS82。そして、カウンタの値が上限ホップ数を上回ったかどうかを検査しS84、上回っていなければ、そのカウンタ値に対応するリストに含まれる各注目ノードを対象として、S74~S80の処理を行う。S84で、カウンタの値が上限ホップ数を超えていると判定された場合、図8の処理は終了する。再び図7の手順の説明に戻る。初期検索UI18の検索条件指定受付部16により、検索条件の指定を受け付けるS16。検索条件として指定される部分グラフの例を図10に示す。図10に例示する部分グラフは、Document文書に該当する種類のノードを主語とし、Commentコメントに該当する種類のノードを目的語とし、述語がcommentedコメントされたである1つのトリプルで表されるグラフである。この部分グラフは、ある文書に対しあるコメントが付されている、という関係を表す。もちろん、検索条件としては、3以上のノードを含んだもっと複雑な部分グラフを指定してもよい。図7の手順では関連ノード群の抽出S14の後に検索条件の指定を受け付けているが、検索条件の指定を受け付けるタイミングはS14の前であってももちろんよい。ユーザが入力した検索条件部分グラフは、例えばSPARQLにより記述され、部分グラフ検索処理部26に渡される。部分グラフ検索処理部26は、S14で抽出された関連ノード群すなわち検索範囲の中から、S16で指定された検索条件にマッチする部分グラフを検索するS18。例えば、図2に例示したグラフにおいて、ノード102を基準ノードとし、上限ホップ数を3とし、図10に例示した部分グラフを検索条件として検索を行うと、図11に例示するように、部分グラフ110及び112が検索結果として求められる。次に、ソート部30が、部分グラフ検索処理部26により検索された各検索結果を、ホップ数の順にソートするS20。このソート処理では、例えば、S18で求められた検索結果ごとに、当該検索結果の部分グラフに含まれる各ノードの基準ノードからのホップ数を関連ノード記憶部24図9参照から求め、それらホップ数のうちの例えば最小値を当該検索結果に対応するホップ数とする。そして、そのホップ数の昇順に各検索結果をソートする。ソート結果は、ソート結果記憶部36に記憶される。ソート結果の例を、図12に示す。この例では、ソート結果記憶部36には、各検索結果の部分グラフが、対応するホップ数の小さい順に、基準ノードからその部分グラフまでの経路と共に登録される。なお、この経路の情報は、当該検索結果の部分グラフにおけるホップ数が最小のノードの、基準ノードからの経路情報であり、これは関連ノード記憶部24から求めればよい。なお、RDFにより表されるグラフは有向グラフすなわち、述語が表すリンクは、例えば主語から目的語を指す矢印となるなので、基準ノードから部分グラフまでの経路に含まれるリンクは、基準ノードから部分グラフの入口のノードに向かって順方向のものと逆方向のものがある。図12では、逆方向のリンクには、下線を付している。なお、ここで説明したソート処理の例では、検索結果の部分グラフに含まれるノードの中のホップ数の最小値を当該検索結果のホップ数としたが、これは一例に過ぎない。この代わりに、検索結果の部分グラフに含まれるノードの中のホップ数の例えば最大値を当該検索結果のホップ数としてもよい。このようにソート結果が求められると、そのソート結果がソート結果提示部42によりユーザに提供されるS22。提示されるソート結果の表示画像には、順位に従って並べられた各検索結果が、基準ノードからのグラフ上の経路の情報と共に表示される。基準ノードから検索結果の部分グラフまでの全体をユーザが前もって検索条件として指定することは困難な場合が多いが、基準ノードと部分グラフ検索条件とを指定することはそれよりもはるかに容易である。ユーザが、例えば断片的な記憶などを元に基準ノードと検索条件の部分グラフとを本実施形態の検索装置に指定すれば、この検索装置は、検索条件を満たす各検索結果部分グラフを、基準ノードからその検索結果までの経路の情報と共にユーザに提供する。ユーザは、経路の情報も参考に、検索結果の各部分グラフの中から、自分が検索したかったものを特定する。この意味では、経路の情報が第一義的であり、ホップ数に基づく順位付けは参考的な情報である。ユーザは、選択受付部44に対して、ソート結果に含まれる各部分グラフの中から、自分が検索したかったものではないかと思われる部分グラフを選択してもよい。選択が行われるとS24の選択結果がYes、ソート結果提示部42は選択された部分グラフについての詳細情報を表示しS26、基準ノードから選択された部分グラフまでの経路情報を、基準経路記憶部38に登録するS28。また、S28では、その経路情報を検索経路履歴データ10bに対して当該ユーザの新たな履歴経路として追加する。追加する履歴経路は、当該ユーザのIDに対応づけられるとともに、新たな履歴経路IDを付与される図4参照。また、この時点ではその履歴経路は1回使用すなわちユーザに所望の部分グラフを指すものとして選択されただけなので、使用回数1回に応じた経路評価値が登録される。さて、ここで、ソート結果から部分グラフを選択すると、例えば、類似検索を指示するためのGUIグラフィカルユーザインタフェースが画面表示され、ユーザが類似検索の実行を指示すると、図13に例示する処理手順が実行される。ユーザは、類似検索の実行ではなく、ソート結果から他の部分グラフを選択してもよく図7では表示省略、この場合新たに選択された部分グラフについてS26及びS28の処理が実行される。また、ユーザは、類似検索に進む代わりに、上限ホップ数又は検索条件部分グラフの少なくとも一方を変更してもよいS32の判定結果がYes。このような変更を行う場合、処理はステップS12に戻り、新たに上限ホップ数や検索条件が指示され、それらに従って検索処理S18が再び実行される。ユーザが、検索終了の操作を行うと、S32の判定結果がNoとなり、一連の検索処理手順が終了する。次に、図13を参照して、類似検索の処理手順の例を説明する。類似検索は、新たに指定された基準ノードから、初期検索のS58で登録された基準経路に近い部分グラフを検索する処理である。図13の手順では、類似検索の基準ノードの指定を受け付けS40、更に類似検索における上限ホップ数の指定を受け付けるS42。なお、上限ホップ数については、ユーザが変更しなければ、初期検索時の値をそのまま用いる。そして、関連ノード抽出部22が、新たに指定された類似検索の基準ノードから、その上限ホップ数の範囲内にある関連ノード群を抽出しS44、抽出結果を関連ノード記憶部24に記憶する。S44の処理は、図8と同様の処理手順により行えばよい。関連ノード群が抽出されると、それら関連ノード群が表す検索範囲内で、部分グラフ検索処理部26が検索処理を実行するS46。このとき用いる検索条件は、初期検索のときに用いた条件と同じである。検索が完了すると、ソート部30が、経路類似度基準ソート処理34を実行することにより、検索結果ごとに、基準ノードからその検索結果までの経路と、基準経路記憶部38に記憶された基準経路との類似度を計算するS48。類似度の計算は、例えばGrapheditdistance法など、グラフ同士の類似度を計算するための公知の方法を用いればよい。経路類似度基準ソート処理34では、このようにして求めた類似度の降順すなわち類似度が高い順に、検索結果をソートするS50。そして、そのソート結果をソート結果提示部42からユーザに提供するS52。この類似検索におけるソート結果の表示画像でも、検索された各部分グラフに対する基準ノードからの経路の情報を合わせて表示する。このようにして提供された類似検索処理のソート結果の中から、ユーザは特定の検索結果部分グラフを選択してもよいS54の選択結果がYes。この場合、選択された部分グラフの詳細情報が検索結果提示UI40に表示されS56、基準ノードから選択された部分グラフまでの経路情報が基準経路記憶部38に記憶されるS58。また、この選択により、その経路既に初期検索の際に検索経路履歴データ10bに登録済みの使用回数が1回増えたので、S58では、選択受付部44は、検索経路履歴データ10b内のその経路の経路評価値をその使用回数の増加に応じて更新する。さて、ここで、更なる類似検索を指示するS60の判定結果がYesことにより、このように新たに記憶された経路情報を基準経路として、S40に戻って新たな類似検索を実行するようにしてもよい。もちろんユーザは、新たな類似検索の実行ではなく、ソート結果から他の部分グラフを選択してもよく図13では表示省略、この場合新たに選択された部分グラフについてS56及びS58の処理が実行される。また、ユーザは、S58で新たに記憶した基準経路に基づく新たな類似検索に進む代わりに、上限ホップ数を変更してもよいS62の判定結果がYes。このような変更を行う場合、処理はステップS42に戻り、新たに上限ホップ数が指示され、それらに従って検索処理S46及びソート処理S48及びS50が再び実行される。なお、このときのS48では、S58で新たに記憶した基準経路ではなく、初期検索において記憶した基準経路を用いる。例えば、図2のグラフに対し、図10の部分グラフを検索条件とした初期検索を実行し、図11に示す検索結果の部分グラフ110及び112のうち、部分グラフ112がS24で選択され、類似検索に進んだ場合を考える。この場合、基準経路は、WorkspaceaparticipatedUserccreated下線は、逆方向のリンクであることを示すである。ノードを個別のものから種類別へと一般化すると、基準経路はWorkspaceparticipatedUsercreatedである。この状況で、ノード106が類似検索の基準ノードとして指定され、上限ホップ数が3に指定された場合、S46の検索処理では、図14に例示する部分グラフ120及び122が検索結果として求められる。ここで、基準ノード106から検索結果の各部分グラフ120及び122までの各経路と、基準経路WorkspaceparticipatedUsercreatedとを比較すると、部分グラフ120までの経路の方が基準経路に近い。したがって、類似度は部分グラフ120の方が高くなり、ソート結果は部分グラフ120,122の順となる。なお、以上の例では、類似度を求めるにあたり基準ノードから検索結果の部分グラフまでの経路にはその部分グラフ自体は含めなかったが、部分グラフ自体を経路に含めて類似度を求めてもよい。以上に説明したように、類似検索では、基準ノードを新たに指定して、その新たな基準ノードから見て、初期検索でユーザが特定した基準経路と類似の経路を持つ部分グラフが検索される。したがって、類似検索では、いわば、新たな視点基準ノードから、前の検索の結果である基準経路と類似した検索結果が求められることとなる。以上の例では、検索範囲を基準ノードから上限ホップ数以内の検索範囲内から検索条件に合致する部分グラフを検索した。この場合、部分グラフ全体が検索範囲内に含まれていないと、その部分グラフは検索されない。例えば図15に示すグラフ100において、基準ノードがノード102と、上限ホップ数が3と、検索条件として部分グラフ130が指定された場合、グラフ100中の部分グラフ135は検索条件に適合するが、一部のノードが検索範囲破線で示した矩形から外れるため、検索されないことになる。これに対し、検索条件に適合する部分グラフの一部のノードでも検索範囲内に含まれていたら、その部分グラフを検索するようにしてもよい。このためには、例えば、指定された上限ホップ数に対して検索条件の部分グラフの最大ホップ数すなわち部分グラフ中のノード同士の間のホップ数の中の最大値を上限ホップ数に加算し、基準ノードからその加算結果のホップ数の範囲を検索範囲とすればよい。例えば、図15の例では、検索条件の部分グラフ130の最大ホップ数は2なので、指定された上限ホップ数3にこの最大ホップ数を加えた結果5が、拡張した検索範囲の広さを示すものとなる。図16に示すように、検索条件130を満たす部分グラフ135は、このように拡張された検索範囲150内に完全に含まれているので、検索されることとなる。このような検索範囲の拡張は、初期検索、類似検索及び履歴利用検索のいずれに適用してもよい。次に、履歴利用検索の手順の一例を、図17を参照して説明する。この実施形態の検索装置の基本UI画面にてユーザが履歴利用検索を選択すると、図17の手順が実行される。この手順では、まず履歴利用検索UI50が、着目ノード候補の検索条件を入力するためのUI画面を表示し、ユーザから検索条件の入力を受け付ける。検索条件が入力されると、着目ノード候補検索部52がグラフデータ10aから、その検索条件を満たすノードを検索するS100。この検索により着目ノードの候補が求められる。履歴利用検索UI50は、求められた候補を一覧表示し、その中から着目ノードとするものをユーザに選択させるS102。ユーザが選択した着目ノードは、履歴利用検索処理部54に通知される。履歴利用検索処理部54は、検索経路履歴データ10bから当該ユーザのユーザIDに対応する履歴経路データ群を抽出し、抽出した当該ユーザの履歴経路データの中にS106以降の処理をまだ適用していないものがあるかどうかを判定するS104。このような未処理の履歴経路が存在する場合は、その中から1つを選択するS106。そして、着目ノードを端点とするグラフ上の経路であってS106で選択した履歴経路に合致する経路、を探索するS108。図4に示したノードを含まない履歴経路データを用いる場合、S108では、例えば、まず着目ノードに接続されたリンクの中から、選択した履歴経路中の最初のリンクに合致するものを探す。例えば、図4の履歴経路IDa1の履歴経路データが選択された場合、着目ノードに接続されたリンクの中からまずparticipatedという種類のリンクを探す。そのようなリンクが見つかれば、そのリンクのリンク先のノードに接続されたリンクの中から、その履歴経路の2番目のリンクに合致するものを探す。このような探索を繰り返すことで、着目ノードを端点とする、履歴経路に合致する経路が求められる。以上は履歴経路と順方向に合致する経路を見つける例であるが、逆方向に合致する経路を、同様の方法において、すなわち履歴経路データを構成するリンクを末尾から順に適用していくことで、求めてもよい。合致する経路が見つからない場合もあるし、複数見つかる場合もある。このような探索の結果、S106で選択した履歴経路に合致する経路が見つかった場合S110の判定結果がYes、履歴利用検索処理部54は、見つかった経路着目ノードから見たその経路の反対側の端点のノードも含むを、その履歴経路のIDと対応づけて記憶するS112。そして、S104に戻って当該ユーザの履歴経路に未処理のものがないかを調べ、あれば再びS106以降の処理を行う。また、S110で合致する経路がないと判定された場合は、S112はスキップしてS104に戻る。以上の処理を検索経路履歴データ10bに含まれる当該ユーザのすべての履歴経路について繰り返すS104。そして、当該ユーザのすべての履歴経路について処理を完了した場合S104の判定結果がNo、それまでの処理で求めて記憶した各経路及びその経路を求める際に用いた履歴経路データのIDの情報が履歴利用検索ソート処理35に渡される。履歴利用検索ソート処理35は、受け取った検索結果の各経路について、その経路を求める際に用いた履歴経路データのIDを用いることで、検索経路履歴データ10bからその履歴経路データの経路評価値を取得する。そして、それら各経路を、経路評価値の順にソートするS114。この例は、検索結果のスコアとして、経路評価値そのものを用いる例である。ソート結果はソート結果記憶部36に記憶される。そして、そのソート結果をソート結果提示部42からユーザに提供するS116。ソート結果提示部42は、個々の検索結果について、着目ノードからその経路の反対側の端点ノードまでのリンクとノードとの並びを、グラフとして表示する。この表示において、着目ノードの反対側の端点ノードは、他のノードと区別がつきやすいよう強調表示してもよい。また、着目ノードについても、他のノードとまた反対側の端点ノードとも区別が付きやすいよう強調表示してもよい。例えば、あるユーザについて図18の上段に例示するリンクparticipatedと逆方向のcreatedの並びからなる履歴経路データが存在する場合において、そのユーザが図2のグラフのノード106Workplacebを着目ノードとして履歴利用検索の実行を指示した場合、図18の下段に示す経路が求められ、表示されることになる。この表示では、着目ノード106と反対側の端点ノード107とが、それぞれ違う形態で強調表示されている。この反対側の端点ノードは、着目ノードに対し、ユーザの過去の検索のパターンに沿って求められるノードであり、そのユーザの思考パターンから見て何らかの価値がある可能性がある。なお、このように着目ノード106から端点ノード107までの経路を表示するだけでなく、端点ノード107の近傍例えば端点ノード107から予め定められたホップ数の範囲のリンク及びノードからなる部分グラフも合わせて表示するようにしてもよい。このようにして提供されたソート結果の中から、ユーザは選択受付部44を用いて特定の経路あるいはその経路の端点ノードを選択してもよいS118。この場合、選択された経路及び端点ノードの詳細情報が検索結果提示UI40に表示されるS120。この選択により、その選択された経路を求める際に用いた履歴経路の使用回数が1回増えたので、選択受付部44は、検索経路履歴データ10b内のその履歴経路の経路評価値をその使用回数の増加に応じて更新するS122。ユーザは、その選択した経路で満足すれば、検索結果提示UI40に対して検索終了の旨を入力し、ソート結果中の別の経路を見たければその旨の指示を入力する。ユーザが別の経路を見る旨を指示した場合S124の判定結果がYes、S116に戻る。終了を指示した場合は、処理を終了する。以上では、図4に示すリンクのみの履歴経路データを用いる場合を説明したが、図6に例示したノードも含む履歴経路データを用いる場合にも、同様の処理を適用可能である。すなわち、ノードも含む履歴経路データを用いる場合には、S108で履歴経路に合致する経路を求める際に、リンクが合致するだけでなく、ノードの種類も合致する経路を求めればよい。例えば、図6の履歴経路IDa1の履歴経路の場合、途中のノードUsercはUserユーザという種類に該当するので、例えば、着目ノードにリンクparticipatedが接続し、そのリンクにUserの種類のノードが接続し、そのノードに逆方向のリンクcreatedが接続する経路が検索される。以上、履歴利用検索の手順の一例を説明した。上述した初期検索では、ユーザは、基準ノードと検索条件部分グラフを指定する必要があった。これに対し、この履歴利用検索では、着目ノードを指定するのみで、その着目ノードから見て、過去によく使用したすなわち経路評価値が高い履歴経路に合致する経路の先の位置にある端点ノードが提示されることになる。この端点ノードは、ユーザが過去によく使用した履歴経路から求められるので、ユーザが潜在的に探したいと思っているものである可能性が高いといえる。また、以上の例において、図4に例示したリンクのみの履歴経路データを用いる場合には、経路上のノードの種類が一致しない経路も検索されるので、ユーザが過去に検索に用いた経路と類似した経路が幅広く求められる。次に、履歴利用検索の手順の別の例を、図19を参照して説明する。図17の手順では、履歴経路とすべてのリンクが一致する経路を求めるものであったのに対し、図19の手順では、履歴経路と類似する経路を求める。この手順では、まず、図17の手順と同様着目ノードの候補を検索しS140、それら候補の中からユーザに着目ノードを選択させるS142。また、履歴利用検索UI51は、ユーザから上限ホップ数の指定を受け付けS144、指定された基準ノードから指定された上限ホップ数以内で到達できるノード群を、関連ノード群として抽出するS146。S146の処理内容は、図8に示したものと同様でよい。この処理により、図9に示したものと同様に、着目ノードから各関連ノードまでの経路の情報が、経路のホップ数リンク数の少ない順に並べたデータが得られる。上限ホップ数の指定は、この後の処理での検索範囲を限定するためのものである。検索範囲を限定しなくてよい場合は、S144及びS146の処理は不要である。履歴利用検索処理部54は、検索経路履歴データ10bから当該ユーザのユーザIDに対応する履歴経路データ群を抽出し、抽出した当該ユーザの履歴経路データの中にS106以降の処理をまだ適用していないものがあるかどうかを判定するS148。このような未処理の履歴経路が存在する場合は、その中から1つを選択するS150。次に、各関連ノードについて、着目ノードから当該関連ノードまでの経路とS150で選択した履歴経路との類似度を計算するS152。類似度の計算は、例えばGrapheditdistance法など、グラフ同士の類似度を計算するための公知の方法を用いればよい。類似度は、リンクのみの履歴経路データを用いる場合にはリンクのみの並びについて、ノードも含む履歴経路データを用いる場合はリンクのノードの並びについて、計算すればよい。なお、S152では、順方向の履歴経路と逆方向の履歴経路の両方についてそれぞれ類似度を求めてもよい。そして、関連ノードごとに、着目ノードから当該関連ノードまでの経路と履歴経路との類似度と、当該履歴経路の経路評価値と、から検索スコアを計算するS154。この検索スコアは、類似度が高いほど高くなり、経路評価値が高いほど高くなる計算規則を用いて求めればよい。求められた検索スコアは、着目ノードから関連ノードまでの経路の情報と、S150で選択した履歴経路のIDと、に対応づけて記憶される。以上のS148からS154の処理を検索経路履歴データ10bに含まれる当該ユーザのすべての履歴経路について繰り返すS148。そして、当該ユーザのすべての履歴経路について処理を完了した場合S148の判定結果がNo、それまでの処理で求めて記憶した各経路及びその経路を求める際に用いた履歴経路データのIDと検索スコアの情報が履歴利用検索ソート処理35に渡される。履歴利用検索ソート処理35は、受け取った検索結果の各経路を、検索スコアの順にソートするS156。ソート結果はソート結果記憶部36に記憶される。そして、そのソート結果をソート結果提示部42からユーザに提供するS158。このようにして提供されたソート結果の中から、ユーザは選択受付部44を用いて特定の経路あるいはその経路の端点ノードを選択してもよいS160。この場合、選択された経路及び端点ノードの詳細情報が検索結果提示UI40に表示されるS162。この選択により、その選択された経路を求める際に用いた履歴経路の使用回数が1回増えたので、選択受付部44は、検索経路履歴データ10b内のその履歴経路の経路評価値をその使用回数の増加に応じて更新するS164。ユーザは、その選択した経路で満足すれば、検索結果提示UI40に対して検索終了の旨を入力し、ソート結果中の別の経路を見たければその旨の指示を入力する。ユーザが別の経路を見る旨を指示した場合S166の判定結果がYes、S158に戻る。終了を指示した場合は、処理を終了する。図19の手順では、履歴経路に厳密には一致しない経路も検索される。次に、履歴利用検索の手順の別の例を、図20及び図21を参照して説明する。この例では、図20に示すように、履歴経路が登録された時の初期検索にて用いられた基準ノード及び検索条件部分グラフの情報が履歴経路データに含まれており、これら基準ノード及び検索条件を用いて検索範囲を絞り込む。この例の手順の例を図21に示す。この手順のうち、S140からS150までは、図19の手順と同様である。S150で未処理の履歴経路を1つ選択すると、履歴利用検索処理部54は、その履歴経路の両端すなわち基準ノードと検索条件の部分グラフのどちらかが、着目ノードに適合するか否かを判定するS170。基準ノードの種類が着目ノードの種類に合致する場合、基準ノードが着目ノードに適合すると判定する。また、検索条件の部分グラフの中のいずれかのノードの種類が着目ノードの種類に合致し、且つグラフ上の着目ノードの近傍の部分グラフが検索条件の部分グラフと合致リンクのみ合致でもよいし、リンクもノードも合致することを要件としてもよいする場合、検索条件の部分グラフが着目ノードに適合すると判定する。この判定で、履歴経路の基準ノード及び部分グラフのどちらも、履歴利用検索の着目ノードに適合しない場合、その履歴経路は不採用として、S148に戻る。すなわち、この例では、検索に使用する履歴経路を、着目ノードを端点として持つ履歴経路のみに絞り込んでいる。S170の判定結果がYesの場合、履歴利用検索処理部54は、履歴経路の両端のうち、S170で着目ノードと適合した端部と反対側の端部の基準ノード又は部分グラフを、S146で求めた関連ノード群が構成する検索範囲の中から検索するS172。検索が完了すると、検索結果ごとに、着目ノードからその検索結果までの経路と、S150で選択した履歴経路との類似度を計算するS174。S174では、着目ノードが履歴経路の基準ノードに適合した場合は、順方向の履歴経路との類似度を計算する。また、着目ノードが検索条件の部分グラフの中のノードに合致した場合は、着目ノードから検索ケンカまでの経路のうち、着目ノードの近傍のその検索条件の部分グラフに合致する部分を除いた経路と、逆方向の履歴経路との類似度を計算する。そして、検索結果ごとに、着目ノードから当該検索結果までの経路と履歴経路との類似度と、当該履歴経路の経路評価値と、から検索スコアを計算するS176。当該ユーザの履歴経路のすべてについて、S148からS176の処理を繰り返す。そして、当該ユーザのすべての履歴経路について処理を完了した場合S148の判定結果がNo、図19のS156に進む。S156以降の処理は、上述の例と同様である。次に、履歴経路の拡張について説明する。これまで説明してきた例では、ユーザが初期検索において指定した基準ノードと、検索条件に合致する部分グラフとを結ぶグラフ上の経路が履歴経路として記録された。ところが、初期検索で検索された経路とその周辺のリンクやノードを見たユーザが、その経路に周辺のリンクを付け加えて拡張した方が、後の履歴検索や類似検索において便利であると考える場合もある。そのような場合に対応するのが履歴経路の拡張機能である。この経路拡張について、図22を参照して説明する。図22の最上段に示すグラフ100に対する初期検索で、ユーザがノードWorkplacea102を基準ノードに指定し、図10に示したDocumentcommentedCommentという部分グラフを検索条件に指定したとする。そして、符号103で示す楕円で囲まれた部分グラフが検索され、ユーザから選択されたとする。この場合、経路を拡張しなければ、基準ノード102から検索結果の部分グラフの最初のノードDocumentcまでの経路participatedcreated170が履歴経路として記憶されることになる。これに対し、ユーザが例えば基準ノード102に接続されたリンクheldを履歴経路に追加する拡張を指示すると、経路heldparticipatedcreated172が履歴経路として検索経路履歴データ10b内に登録されることとなる。この場合、拡張しない経路170に代えて拡張した経路172を登録してもよいし、拡張しない経路170に加えて拡張した経路172を登録してもよい。また、経路の拡張は、基準ノードに接続するリンクに限らず、履歴経路において基準ノードの反対側の端点に接続するリンクを拡張できるようにしてもよい。また、拡張は、1ホップに限られるものではなく、複数ホップのリンクを追加する拡張ができるようにしてもよい。この経路拡張機能は、例えば選択受付部44が初期検索、類似検索、又は履歴検索の検索結果の中からユーザが所望のものを選択した際に実行すればよい。例えば、ユーザが検索結果から所望のものを選択した場合、選択受付部44は、選択された検索結果に対応する経路基準ノード又は着目ノードから選択された部分グラフまでの経路を表示すると共に、履歴経路の拡張の指示を受け付けるUIを表示する。このUIに対して拡張を指示すると、例えばその表示した経路の両端のノードから、あらかじめ設定したホップ数の範囲のリンク及びノードを表示し、それら表示されたリンク又はノードの中から、履歴経路に追加すべきリンク又はノードをユーザに指定させる。そして、指定されたリンクを追加して拡張した履歴経路を検索経路履歴データ10bに追加する。また、このように追加したいリンクをユーザに指定させる代わりに、拡張するホップ数をユーザに指定させ、そのホップ数分のリンクを選択受付部44がグラフから抽出し、履歴経路に追加するようにしてもよい。指定されたホップ数分のリンクの追加は、最初の履歴経路の両端のノードに対してそれぞれ行ってもよいし、それら両端のノードのうちユーザが指定した片方のみに対して行ってもよい。また、履歴経路の各端部のノードから延びるホップ数分のリンクの組合せが複数ある場合は、それら複数の組合せのそれぞれについて履歴経路の拡張を行ってもよい。例えば基準ノードから2ホップのリンクを追加する設定の場合、基準ノードに接続するリンクと、基準ノードからみてそのリンクの反対側のノードに接続するリンクとを履歴経路に追加する。ここで、基準ノードからみて2ホップのリンクの組合せが複数存在する場合は、組合せごとに拡張した履歴経路を作成し、登録してもよい。このようにして拡張した履歴経路を検索経路履歴データ10bに追加しておけば、後の類似検索や履歴検索において、拡張された履歴経路に合致又は類似する経路も検索されることとなる。以上に例示した検索装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリRAMおよびリードオンリメモリROM等のメモリ一次記憶、HDDハードディスクドライブを制御するHDDコントローラ、各種I/O入出力インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。"