"データ要素をノードとしデータ要素同士の関係をリンクとするグラフのデータを記憶するグラフ記憶手段と、前記グラフ上のノードの中から基点ノードの指定を受け付ける基点ノード指定受付手段と、着目ノードに対して1つのリンクを介して接続された隣接ノードであって、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有するという検索条件を満たす隣接ノードを検索する検索手段であって、前記基点ノードを着目ノードとして前記検索条件を満たす隣接ノードを検索すると共に、前回の検索により求められた前記検索条件を満たす隣接ノードを次の着目ノードとして前記検索条件を満たす隣接ノードを検索する処理を繰り返し、前記繰り返しにより検索された隣接ノード群の連鎖を出力する検索手段と、を備える検索装置。前記検索条件は、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有すること、且つ当該着目ノードと当該隣接ノードとの間のリンクがあらかじめ定められた1以上の種類のいずれかに該当すること、であることを特徴とする請求項1に記載の検索装置。前記基点ノード指定受付手段は、第1の基点ノードと第2の基点ノードの指定を受け付け、前記検索手段は、前記第1の基点ノードから前記第2の基点ノードまで前記検索条件を満たす隣接ノード群の連鎖を求める、ことを特徴とする請求項1~2のいずれか1項に記載の検索装置。前記検索手段は、前記検索条件を満たす隣接ノード群の連鎖が複数求められた場合に、各連鎖を、それぞれ当該連鎖に含まれるリンクの数が少ない順に並べて提示する、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置。コンピュータを、データ要素をノードとしデータ要素同士の関係をリンクとするグラフのデータを記憶するグラフ記憶手段、前記グラフ上のノードの中から基点ノードの指定を受け付ける基点ノード指定受付手段、着目ノードに対して1つのリンクを介して接続された隣接ノードであって、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有するという検索条件を満たす隣接ノードを検索する検索手段であって、前記基点ノードを着目ノードとして前記検索条件を満たす隣接ノードを検索すると共に、前回の検索により求められた前記検索条件を満たす隣接ノードを次の着目ノードとして前記検索条件を満たす隣接ノードを検索する処理を繰り返し、前記繰り返しにより検索された隣接ノード群の連鎖を出力する検索手段、として機能させるためのプログラム。本発明は、データ要素をノードとしデータ要素同士の関係をリンクとするグラフ状のデータ構造をなすデータベースにおいて、ユーザが指定した基点ノードから、特定の属性を有するノードを介した関係により連鎖する経路を求めることができるようにすることを目的とする。請求項1に係る発明は、データ要素をノードとしデータ要素同士の関係をリンクとするグラフのデータを記憶するグラフ記憶手段と、前記グラフ上のノードの中から基点ノードの指定を受け付ける基点ノード指定受付手段と、着目ノードに対して1つのリンクを介して接続された隣接ノードであって、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有するという検索条件を満たす隣接ノードを検索する検索手段であって、前記基点ノードを着目ノードとして前記検索条件を満たす隣接ノードを検索すると共に、前回の検索により求められた前記検索条件を満たす隣接ノードを次の着目ノードとして前記検索条件を満たす隣接ノードを検索する処理を繰り返し、前記繰り返しにより検索された隣接ノード群の連鎖を出力する検索手段と、を備える検索装置である。請求項2に係る発明は、前記検索条件は、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有すること、且つ当該着目ノードと当該隣接ノードとの間のリンクがあらかじめ定められた1以上の種類のいずれかに該当すること、であることを特徴とする請求項1に記載の検索装置である。請求項3に係る発明は、前記基点ノード指定受付手段は、第1の基点ノードと第2の基点ノードの指定を受け付け、前記検索手段は、前記第1の基点ノードから前記第2の基点ノードまで前記検索条件を満たす隣接ノード群の連鎖を求める、ことを特徴とする請求項1~2のいずれか1項に記載の検索装置である。請求項4に係る発明は、前記検索手段は、前記検索条件を満たす隣接ノード群の連鎖が複数求められた場合に、各連鎖を、それぞれ当該連鎖に含まれるリンクの数が少ない順に並べて提示する、ことを特徴とする請求項1~3のいずれか1項に記載の検索装置である。請求項5に係る発明は、コンピュータを、データ要素をノードとしデータ要素同士の関係をリンクとするグラフのデータを記憶するグラフ記憶手段、前記グラフ上のノードの中から基点ノードの指定を受け付ける基点ノード指定受付手段、着目ノードに対して1つのリンクを介して接続された隣接ノードであって、当該着目ノード又は当該隣接ノードのうちの少なくとも一方があらかじめ定められた属性を有するという検索条件を満たす隣接ノードを検索する検索手段であって、前記基点ノードを着目ノードとして前記検索条件を満たす隣接ノードを検索すると共に、前回の検索により求められた前記検索条件を満たす隣接ノードを次の着目ノードとして前記検索条件を満たす隣接ノードを検索する処理を繰り返し、前記繰り返しにより検索された隣接ノード群の連鎖を出力する検索手段、として機能させるためのプログラムである。請求項1又は5に係る発明によれば、ユーザが指定した基点ノードから、特定の属性を有するノードを介した関係により連鎖する経路を求めることができる。請求項2に係る発明によれば、限られた種類のリンクを介して連鎖する経路のみを検索することができる。請求項3に係る発明によれば、第1の基点ノードから第2の基点ノードまでの経路を求めることができる。請求項4に係る発明によれば、基点ノードに対して関係が深いリンク数が少ない連鎖から順に並べて提示することができる。データ要素同士の関係が構成するグラフ構造を記述する方式が知られている。例えば、事物リソース。具体物も抽象概念を含む同士の関係を主語、述語、目的語の組トリプルと呼ばれるで記述するRDFResourceDescriptionFrameworkはその一例である。RDFでは、複数のトリプルにより、主語又は目的語である事物をノードとし、述語をリンクエッジとするグラフが表される。また、RDFで記述されたデータを検索するコンピュータ言語として、例えばSPARQLSPARQLProtocolandRDFQueryLanguageが知られている。以下に示す実施の形態では、様々な事物同士の関係をRDFに従って記述したデータからなるデータベースを検索する例を示す。なお、事物間の関係を表す方法はRDFに限られるわけではないので、以下に示す実施の形態はRDF以外の方式でそのような関係を表すデータベースにも適用し得る。この実施の形態の手法を理解しやすくするために、次のような事例を考える。ユーザAがデータベースを検索し、ある電子文書Xを見つけたとする。ところが、ユーザAにはその電子文書Xのアクセス権がなく、中身を読むことができない。このような状況において、ユーザAの知り合いの中にその電子文書Xへのアクセス権を持つ人がいれば、ユーザAがその知り合いに頼んでその電子文書Xの内容を教えてもらうことも考えられる。また、ユーザAの直接の知り合いの人物Bの同僚である人物Cの同僚である人物Dがその文書へのアクセス権を持っている場合には、ユーザAは、人物Bの伝手により人物Cに接触し、更に人物Cの伝手により人物Dに接触することで、人物Dに電子文書Xの内容を教えてもらうなどの対処をとり得る。また、ユーザAの直接の知り合いの人物Bが参加していたY会議に参加していた人物Cがその電子文書Xへのアクセス権を持っている場合、人物Bと人物Cが直接の知り合いや同僚の関係にあるかは不明であるが、人物Bは同じ会議Xに参加していたという関係から人物Cに接触できる可能性がある。これにより、ユーザAは、人物Bの伝手により人物Cに接触し、人物Cに電子文書Xの内容を教えてもらうなどの対処をとり得る。したがって、人物を含む様々な事物や抽象概念同士の関係をRDFに従って記述したデータベース内で、ユーザAと電子文書Xとの間を繋ぐ、上述のような人物を介する関係の連鎖を見つけることができれば、ユーザAはその連鎖の経路上の人物の伝手をたどって電子文書Xにアクセスできる可能性が出てくる。この経路は、人であるという属性を持つ事物例えば人物B、又は人であるという属性を持つ事物に対して関係を持つ事物例えば人物Cが参加したY会議が連鎖した経路である。なお、Cは人であるというデータは、主語Cと、述語目的語という属性を有する/目的語のクラスのメンバであると、目的語人とからなるトリプルで表現される。この実施の形態では、事物間の関係の集合からなるグラフ構造を表すデータベースにおいて、そのような特定属性に関与する事物同士の関係の連鎖経路を求める。以下、このための方法の概要を説明する。例えば、ユーザAが、電子文書Xに関連がある人の連鎖を知りたいという場合には、ユーザAは、検索装置に対して、経路検索の絞り込みの条件として、人という属性を有する、という条件を設定する。条件設定の方法としては、例えば、検索装置内に記憶された属性人、文書、会議、組織などの一覧を提示し、そこから選択させるなどの方法を用いればよい。検索装置が記憶しておく属性は、例えばRDFのvocabularyに属するものなどでもよいし、検索装置内で独自に定義したものでもよい。SPARQLで、例えば、人という属性をもったノードを検索する場合には、SelectpwhereprdftypefoafPersonといった検索式を用いればよい。ここでrdftypeとは、リソースがあるクラスのメンバインスタンスであることを示すプロパティを意味する。また、rdfとはRDFモデル構文の名前空間を表す。この名前空間の具体的な仕様は、W3C勧告として,RDFVocabularyDescriptionLanguage10RDFSchemaにまとめられている。同様に、foafPersonとは人を表すリソースである。foafPersonという記述は、FOAFVocabularySpecification09に準拠したものである。また、RDFに従って記述されたグラフデータベースにおいて、特定のノード以下、着目ノードと呼ぶを目的語として持つようなノードの検索には、着目ノードがとして記述できるとき、Selectnwherenpredといった検索式を用いればよい。上述の検索式を組み合わせた例えば以下のような検索式を用いれば、着目ノードを目的語として持ち、且つ特定属性人を有するノード以下ではsubjnと表すが検索されることになる。なお、このノードsubjnは、着目ノードに隣接するノードである。<検索式1>Selectsubjnwheresubjnpred1subjnrdftypefoafPersonこの検索式1は、図1Aに示すようなノードとリンクとからなる部分グラフを表している。図1Aでは、ノードを楕円で示し、リンクをそれら楕円を結ぶ矢印で示している。すなわち、図1Aに示す部分グラフは、Subjnというノードが、で特定されるリソースを目的語として持ち、且つ人という属性を有することを示している。上述の検索式では、リンク述語pred1を変数としており、これによりpred1にはどのようなリンクでもマッチ適合することになるすなわちsubjnとと間の関係は限定されない。そして、上記検索式は、ノードSubjnを変数としており、上述のような部分グラフにマッチするノードSubjnを検索結果とすることを示している。例えば、電子文書XがRDFデータベースにおいてリソースとして記述されているとすると、あるリソースSubjnは、電子文書Xとあるプロパティpred1で記述される関係をもち、なおかつ人であるという条件を満たすことになる。また、関係の方向性は一方向に限るものではない。例えば、以下の検索式2を用いれば、着目ノードを主語として持ち、且つ特定属性人を有するノードsubjnが検索されることになる。<検索式2>Selectsubjnwherepred1subjnsubjnrdftypefoafPersonこの検索式2は、図1Bに示す部分グラフを表している。例えばリソースが電子文書Xを表しており、pred1がuploadedという述語である場合には、ノードsubjnは、電子文書Xをアップロードした人物を示すものとなる。上述の検索式1及び2のいずれかにより検索された、着目ノードリソースの隣接ノードSubjnは、着目ノードに対して何らかの関係を持つ人を表す。このようにして、上述の検索式1及び2による検索がなされると、次に、検索式1又は2のいずれかを満たすものとして検索された隣接ノードSubjnの各々をそれぞれ次の繰り返しイタレーションにおける着目ノードとして扱い、同様な検索を繰り返す。このような繰り返しにより、特定属性人を持つノードの連鎖が生成される。例えば、図2に、2回の繰り返しにより求められるノードの連鎖SubjnSubjn2を示す。すなわち、図2は、着目ノード例えば目的とする電子文書Xに対してある関係pred1を持つ人subjnと、その人subjnに対してある関係pred2を持つ人subjn2とからなる連鎖を示している。ここで、関係述語pred2は、例えば人物間の関係を表している。なお上述の検索式1及び2は、着目ノードに隣接する隣接ノードの属性が人であることを示すものであるが、隣接ノードの属性が人でなくても着目ノードの属性が人であれば、連鎖を延ばすようにしてもよい。これは、最初に挙げた事例のうち、同じY会議に参加した人物Bと人物Cとの間を、そのY会議を介して連鎖させる例である。すなわち、人物C着目ノードとするがY会議その着目ノードの隣接ノードに該当に参加していた場合、Y会議は人ではないものの、人物Cの次のノードとしてその連鎖の中に組み入れるのである。そして、次にY会議を着目ノードとしたときに、その隣接ノードである人物Bが、上述の検索式1にマッチすることになり、連鎖に組み入れられることになる。このように、着目ノードの属性が人である場合の隣接ノードを検査するための検索式としては、次の検索式3及び4それぞれ検索式1及び2の方向性に対応しているを用いればよい。<検索式3>Selectsubjnwheresubjnpred1rdftypefoafPerson<検索式4>Selectsubjnwherepred1subjnrdftypefoafPersonこのように、a着目ノードに対して、検索式1~4のいずれかを満たす隣接ノードsubjnを検索するb検索された各隣接ノードを次の繰り返しの着目ノードとする、というステップを繰り返すことで、最初に指定された着目ノードに関して関係のあるノードの連鎖が作成される。そして、この実施の形態では、このようなノードの連鎖を、それらノード間がどのような関係リンクであるかと共に、検索結果として提示する。図3には、あるグラフデータベースに対してそのような検索を行うことで求められる、人物あなたから文書Doc1に至る、人を介する事物の連鎖が2つ例示されている。なお、図3では、人の属性を持つノードを輪郭が破線の楕円で示しており、人の属性を持たないノードを輪郭が実線の楕円で示している。<連鎖1>人物あなたの同僚である人物知り合い1→人物知り合い1の同僚である人物誰かa→人物誰かaが参加した会議B会議→会議B会議に参加した人物Psn1→人物Psn1が作成した文書Doc1<連鎖2>人物あなたが参加した会議A会議→会議A会議に参加した人物誰かb→人物誰かbが所属する組織組織C→組織組織Cに所属する人物Psn1→人物Psn1が作成した文書Doc1この実施の形態の検索装置は、検索を指示したユーザあなたに対し、このような連鎖経路の情報を提示する。すなわち、隣接ノード群の連鎖を、各ノード、リンクの情報およびノード間の接続情報の系列として、出力する。図3を例にすると、各ノード、リンクの情報は、各ノードに対応するのがあなたと知り合いであり、リンクに対応するのが同僚である。ノード間の接続情報は、同僚という関係によってあなたと知り合いが結びつけられていることを、矢印によって示されている。以上、この実施の形態の手法について概説した。次に、この手法を実現した検索装置の構成及び処理手順の例を説明する。図4に、この実施の形態の検索装置の構成の一例を例示する。図4の構成において、データベース10には、データ要素同士の関係が構成するグラフ構造を表すグラフデータが記憶されている。ここでは、データ要素同士の関係をRDFで表現する場合の例を用いて説明するが、この実施の形態の検索手法は、RDF以外の方式を用いる場合に適用してもよい。図5に、データベース10に記憶されるグラフデータの一例を示す。図5に例示するデータには、主語、述語、目的語の組であるトリプルが複数含まれている。図5に例示したグラフデータは、図3に示したグラフを表している。ただし、図5に例示するデータ形式はあくまで一例に過ぎず、データ要素間の関係を記述できるデータ形式であれば、図5に例示した形式以外の形式を用いてもよい。再び図1の説明に戻ると、データベース10は、後で説明する検索処理部20等のグラフ検索のための機能が実装されるコンピュータに対して実装されていてもよいし、このコンピュータからインターネット等のネットワークを介して接続された別のコンピュータに実装されていてもよい。基点ノード指定受付部12は、検索のための指定項目の1つとして、ユーザから基点ノードの指定を受け付ける。基点ノードは、ユーザが検索で求めたい連鎖経路の端点のノードである。図3の例では、経路の始点ノードあなたと終点ノードDoc1が基点ノードに該当する。なお、始点と終点をユーザに指定させる場合、終点の方がユーザが目的とする事物であり、始点はその終点まで連鎖して欲しい事物典型的にはそのユーザ自身である。また、始点と終点という2つのノードを基点ノードとして指定させる代わりに、基点ノードを1つだけ指定させてもよい。例えば、文書Doc1に対して人を介して関連する事物を知りたい場合、1つのノードすなわち文書Doc1のみを基点ノードとして指定させてもよい。上限ホップ数指定受付部14は、基点ノードからの検索範囲を表す上限のホップ数すなわち、リンクの数の指定をユーザから受け付ける。これら基点ノード指定受付部12及び上限ホップ数指定受付部14が、この検索装置のための検索条件を入力する検索UIユーザインタフェース16を構成している。なお、検索範囲を表す上限ホップ数の指定は必須のことではない。上限ホップ数の指定を求めない構成の場合は、検索UI16は上限ホップ数指定受付部14を持たなくてよい。検索処理部20は、上に概説した検索手順を実行することで、検索UI16を介してユーザから入力された基点ノードに対して、特定属性例えば人のノードを介した関係の連鎖経路を検索する。様々な属性のうちどれを特定属性とするかは、検索処理部20内に固定的に設定しておいてもよいし、上述したようにユーザに選択させるようにしてもよい。ユーザに選択させる場合には、検索UI16に属性選択のためのUIを設ければよい。なお、このように特定属性をユーザに選択させる方式の場合、検索に用いる検索式1~4における述語rdftypeの目的語は、選択された属性を表す値とすればよい。ソート部22は、検索処理部20が検索した1以上の連鎖経路を、あらかじめ定められた基準に従ってソート順序づけする。例えば、ソートの基準としては、連鎖経路のホップ数の小さい順などといった基準が考えられる。検索結果提示部24は、ソート部22のソート結果をユーザに提示すなわち表示する処理を実行する。検索結果提示部24は、例えば、検索された1以上の連鎖経路をソート順に一覧表示すればよい。ただし、これは一例に過ぎず、ソート結果の提示の仕方は特に限定されない。次に、図6及び図7を参照して、検索処理部20の処理手順の一例を説明する。この例は、基点ノードとして始点と終点の2つをユーザが指定する場合の例である。この手順では、図6に示すように、まず検索UI16の基準ノード指定受付部12により、グラフ中のノードのうち始点とするノード及び終点とするノードの指定をユーザから受け付けると共に、上限ホップ数指定受付部14によりユーザから上限ホップ数の指定を受け付けるS10。これらの指定を受け付けると、検索処理部20は、ホップ数を表すカウンタの値を1に初期化するS12。次に検索処理部20は、終点に指定されたノードを含んだ経路情報を作成し、作成した経路情報をその終点ノードと対応づけて記憶すると共にS14、その終点ノードをホップ数1用の着目ノードのリスト着目ノードリストに入れるS16すなわち、終点ノードを最初の着目ノードとする。ここで、経路情報は、求めたい連鎖の経路に属するノードを、その連鎖経路上でのそれらノードの並び順に並べた列の情報である。なお、連鎖経路上のリンクの情報を経路情報に含めてもよい。図6及び図7の手順では、終点ノードから連鎖経路の探索を始め、条件に合致するすなわち上述の検索式1~4のいずれかを満たす隣接ノードを求めるごとに、その隣接ノードを経路情報に追加していく。この探索の過程で、連鎖経路が枝分かれする場合もある。このような枝分かれが生じる場合は、枝ごとに経路情報が追加される。このように終点ノードから探索を開始するのは、ユーザが目的とする終点ノードから連鎖経路を探索することで、仮に始点ノードまで連鎖する経路が見つからない場合でも、目的とする終点ノードに繋がる連鎖経路は提示できるからである。図3の例を参照すると、目的である文書Doc1から人を介した関係が連鎖して構成される連鎖経路が、仮に始点である人物あなたに到達しなくても、その連鎖経路上にあるいずれかの人に、あなたが面識を持っているただし、この面識の事実はグラフデータには登録されていない可能性があるので、このような連鎖経路を提示するのには意味がある。次に、検索処理部20は、カレントの着目ノードリスト内のノードごとに、S18~S30の処理を繰り返す。これまでの説明の流れでは、現時点ではカレントすなわちホップ数=1の着目ノードリストに終点ノードが入っているだけなので、まずはその終点ノードを着目ノードとして、S18~S30の処理を実行する。カレントの着目ノードリスト内の個々の着目ノードについての処理では、検索処理部20は、まず、着目ノードリストから未処理の着目ノードを1つ取り出しS18、その着目ノードに対応づけて記憶していた経路情報を取得するS20。次に検索処理部20は、その着目ノードに対してリンクを介して隣接するすなわち1つのリンクで接続されているノードをグラフからすべてただしS20で取得した経路情報に含まれるノードは除く抽出し、それら抽出したノード着目ノードに対する隣接ノードと呼ぶを隣接ノードリストに入れるS22。そして、検索処理部20は、隣接ノードリスト内の隣接ノードごとに、隣接ノード処理S30を繰り返す。隣接ノード処理S30の詳細な手順の一例を図8に示す。個々の隣接ノードについての処理では、検索処理部20は、まず、隣接ノードリストから未処理の隣接ノードを1つ取り出すS32。そして、取り出した隣接ノード又は着目ノードが特定属性図3等の例では人を持つかどうかを判定するS34。S22,S32,S34の処理は、着目ノードをに設定して上述した検索式1~4を実行する処理である。S34の判定結果がYesの場合、S20で取得した経路情報着目ノードに対応するもの内のノードの列の末尾に当該隣接ノードを追加することで、新たな経路情報を生成し、生成した経路情報を当該隣接ノードと対応づけて記憶するS36。新たに生成した経路情報には、カレントのホップ数のカウンタ値を含める。このカウンタ値が、その経路情報の終点ノードからの長さホップ数を示している。なお、経路情報にリンクも記録する場合には、新たに生成する経路情報には、着目ノードと当該隣接ノードとを繋ぐリンクの情報も含める。次に検索処理部20は、当該隣接ノードがS10で指定された始点ノードに一致しているか否かを判定するS38。一致していなければ、当該隣接ノードを、終点ノードからみてカレントのホップ数の次のホップ数用の着目ノードリストに入れて、処理を終了するS40。一致していれば、当該隣接ノードに対応づけて記憶している経路情報に対して、到達済みの旨の情報を記録して処理を終了するS42。なお、着目ノードに隣接するすべての隣接ノードについてS32~S42の処理が終わると、当該着目ノードに対応する経路情報は削除してよい。以上の隣接ノード処理S30により、着目ノード又は隣接ノードのいずれかが特定属性例えば人を有するという条件が満たされる場合に、終点ノードから着目ノードまで延びてきている連鎖の経路に対して隣接ノードが追加されることになる。また、条件を満たす隣接ノードが複数存在する場合は、その隣接ノードの数だけ新たな連鎖経路経路情報が生成されることになる。図6に戻ると、カレントの着目ノードリスト中の全ノードについてS18~S30の処理が終わると、検査処理部20は次のホップ数用の着目ノードリストが空か否かを調べS24、空でなければ、ホップ数のカウンタの値を1増加させるS26。そして、カウンタの値がS10で指定された上限ホップ数を超えたかどうかを判定しS28、超えていなければ、カウンタが示すホップ数用の着目ノードリストについて、S18~S30の処理を繰り返す。カウンタ値が上限ホップ数を超えていれば、探索を打ち切って処理を終了する。また、S24で次のホップ数用の着目ノードリストが空であるすなわち特定属性のノードを介した連鎖がとぎれたことが分かった場合も、探索を打ち切って処理を終了する。図6及び図7に示した処理により、終点ノードからみて、特定属性のノードを介する関係により連鎖した経路の経路情報がいくつか作成される。そのような経路情報の例を図8に示す。図8に示した表の1行が1つの経路情報である。個々の経路情報は、到達フラグ、ホップ数、及び終点ノードからの経路、の情報を含んでいる。到達フラグは、当該連鎖の経路が始点ノードまで到達したか否かを示すフラグである。到達フラグは、S42図7で到達にセットされる。それ以外の場合は未達到達していないである。ホップ数は当該連鎖の経路のホップ数である。そして、終点ノードからの経路は、S14及びS36で追加されるノード及び着目ノードからそのノードまでのリンクのリストである。図8の例は、図3に示したグラフに対応するものであり、1つめの経路情報は、終点ノードDoc1を先頭とし、リンク作成、属性が人であるノードPsn1、逆向きのリンク参加図8においてリンクの名称に引いた下線は逆向きを示す。なお、終点に向かう向きを順方向とした場合の逆向きである、ノードB会議、...というように始点ノードあなたまで延びる連鎖を示している。この経路情報は、始点まで到達しているので、到達フラグの値は到達である。図8の3行目の経路情報は、図3には示していないが、これは始点まで到達しない連鎖の例である。次に、図9を参照して、ソート部22の処理手順の一例を説明する。ソート部22は、検索処理部20が図6及び図7に示した処理により生成した経路情報群図8参照に対して、図9の処理を行う。この処理では、ソート部22は、それら経路情報の中に到達フラグが到達となっているものがあるかどうかを調べS50、到達済みのものが1つでもあれば、それら到達済みの経路情報のみをホップ数の少ない順にソートするS52。すなわち、ホップ数の少ない連鎖経路ほど、上位すなわち重要度が高いに順位付けする。間に入る人の数が少ないほど、目的文書Doc1にアクセスするための労力が少なくて済む可能性が高いからである。到達済みのものに限るのは、到達済みのものがあるのであれば、未達の連鎖経路には価値がないからである。S50の判定結果がNo、すなわち検索処理部20が求めた経路情報が未達のもののみであれば、それら未達の経路情報をホップ数の少ない順にソートするS54。そして、S52又はS54のソート結果を検索結果提示部24に出力するS56。検索結果提示部24は、ソートされた連鎖経路を表示する。以上、実施の形態の装置の処理手順の例を説明した。以上の例では、終点ノードから探索を行ったが、これに限らず、始点ノードから探索を行うようにしてもよい。また、以上に例示した図6及び図7の手順は、ユーザから2つの基点ノード、すなわち始点及び終点の指定を受け付ける場合の例であった。ユーザから1つ基点ノードのみの指定を受け付ける場合、図6の手順はS10を1つの基点ノードの指定を受け付けるように変更すればよく、図7の手順はS38及びS42を除く形に変更すればよい。また、上述の例では、着目ノード又は隣接ノードのいずれかが特定属性を持っている場合、それら両ノード間のリンクの種類によらずその隣接ノードを連鎖経路に組み入れたが、これは一例に過ぎない。この代わりに、そのような場合でも、両ノード間のリンクがあらかじめ定められた何種類かのうちのどれかに該当しなければ、隣接ノードを連鎖経路に組み入れないようにしてもよい。例えば、図3の例では、着目ノード又は隣接ノードの少なくとも一方が特定属性人を持つ場合、着目ノードと隣接ノードとの間のリンク述語の種類が同僚である、参加する、所属するのいずれかに該当する場合にのみ、その隣接ノードを連鎖経路に組み入れるようにする、等の処理を行えばよい。同僚である、参加する、所属する等のリンクは、人同士を繋ぐ関係であるため、これらに限定して連鎖経路を延ばすのである。ただし、終点ノードが特定属性人を持たない場合図3の終点ノードDoc1はこれに該当するは、例外であり、終点ノードに隣接するノードが特定属性人を持てば、その隣接ノードを連鎖経路に組み入れるようにしてもよい。また、以上の例では、着目ノードが特定属性例えば人を持っている場合、その着目ノードに隣接するノードは無条件に連鎖経路に追加されるが、この代わりに、そのような場合でも、隣接するノードが別の条件を満たさない限り連鎖経路に入れないようにしてもよい。例えば、隣接ノードがある一群の属性のいずれかに該当するという条件を課す等である。例えば、図3の例では、人属性を持つノードPsn1に隣接するノードとしてB会議、組織C、Doc1が例示されているが、この他にその人物Psn1が文書Doc1以外の文書例えばDoc2と呼ぶを作成していたとする。この場合、終点ノードDoc1から探索をはじめて、Psn1が着目ノードとなった場合、直前の着目ノードDoc1を除いて着目ノードに隣接するノードはB会議、組織C、Doc2となる。これらはいずれも特定属性人を有していないが、着目ノードPsn1が人属性を有しているので、上述の図7の手順では、それら3つのノードがそれぞれ連鎖経路に組み入れられる。これに対し、着目ノードが特定属性を持つ場合に、隣接ノードが人又は会議又は組織のいずれかの属性を持つ場合に限り、その隣接ノードを連鎖経路に組み入れるという条件を課してもよい。会議や組織等といった人の集まりに該当するノードは、人同士の関係を媒介する例えばその会議の参加者同士として知り合っている可能性が高いため、人を介した関係を辿っていく場合には、会議等の属性のノードが間に入っても人間関係が辿れる可能性が高い。これに対し、人物Psn1が作成した文書Doc2を別の人物Psn2が閲覧したという関係があったとして、人物Psn1とPsn2とが知り合いである可能性は高いとはいえない。そのようなことから、人でないノードは、人間関係を媒介する事物であることを示す属性会議、組織などの集合のうちのいずれかの属性を持つ場合にのみ、連鎖経路に組み入れられるように限定した方がよい場合がある。このように限定した場合、文書属性を持つDoc2は連鎖経路に組み入れられない。また、以上の例では、連鎖の条件とする特定属性が人である場合を示したが、他の属性を特定属性として用いてもよい。以上に例示した検索装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリRAMおよびリードオンリメモリROM等のメモリ一次記憶、HDDハードディスクドライブを制御するHDDコントローラ、各種I/O入出力インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。"