(57)【特許請求の範囲】
【請求項１】
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続され、インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力装置であって、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段と、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段と、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段と、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力する検索結果出力手段とを備えたことを特徴とする検索結果出力装置。
【請求項２】
前記計数手段により、前記上位ノード検出手段が検出した上位ノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数させることを特徴とした請求項１記載の検索結果出力装置。
【請求項３】
基準となる属性情報は機能集団の組織構造において各個人が占める地位であり、前記属性情報記憶テーブルには、少なくとも各個人が精通する分野と各個人を特定するための属性情報が記憶され、前記インターフェイスには前記検索条件として少なくとも分野の属性情報が入力され、検索結果出力手段は検索結果となる指定された種別の属性情報として各個人を特定するための属性情報を出力することを特徴とした請求項１または請求項２記載の検索結果出力装置。
【請求項４】
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続されたコンピュータを、
インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルの中から前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルを検索する検索手段、
前記検索手段による検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段、および、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力手段として機能させることを特徴とした検索結果出力制御プログラム。
【請求項５】
前記計数手段により、前記上位ノード検出手段が検出した上位ノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数させることを特徴とした請求項４記載の検索結果出力制御プログラム。
【請求項６】
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存しておき、与えられた検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力方法であって、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出し、
検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数し、
計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替え、
並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力することを特徴とした検索結果出力方法。
【請求項７】
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの上位ノードとして検出されたノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数し、計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えることを特徴とした請求項６記載の検索結果出力方法。
【請求項８】
基準となる属性情報は機能集団の組織構造において各個人が占める地位であり、前記属性情報記憶テーブルには、少なくとも各個人が精通する分野と各個人を特定するための属性情報が記憶され、前記検索条件として少なくとも分野の属性情報を入力し、検索結果となる指定された種別の属性情報として各個人を特定するための属性情報を出力することを特徴とした請求項６または請求項７記載の検索結果出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースを利用した検索処理において検索条件に対する合致度が同等となる複数の検索結果が得られた場合に更に別の基準を適用して検索結果に優劣をつけて出力するようにした検索結果出力装置および検索結果出力制御プログラムと検索結果出力方法に関する。
【背景技術】
【０００２】
機能集団および機能集団に所属する個人の検索サービスを提供するディレクトリサーバやサービスサーバ等の検索結果出力装置においては、機能集団や個人の属性情報を整理するディレクトリーツリーの構造が機能集団の組織構造に倣った階層構造となっているのが一般的である。
【０００３】
ディレクトリサーバやサービスサーバ等の検索結果出力装置を用いて機能集団や個人の情報を検索しようとする場合、組織構造に倣った階層構造によって整理されたディレクトリーツリーを辿りながら検索する方法と検索条件となるキーワードを指定して検索する方法とがある。
【０００４】
たとえば、或る分野に精通した個人を検索したいような場合、組織構造を表すディレクトリーツリー構造、すなわち、機能集団の組織構造において各個人が占める地位を属性情報の基準として形成されたディレクトリーツリー構造とは異なる他の属性情報、つまり、或る分野に精通しているか否かといった属性情報を検索条件として検索を行なう必要が生じることになる。
【０００５】
ここで、仮に、ディレクトリーツリーを辿りながらディレクトリーツリーの各ノードつまり各個人の地位の順列に従って各個人の属性情報記憶テーブルを参照して其の個人が或る分野に精通しているか否かを判定し、或る分野に精通している個人の氏名等の属性情報を順に検索結果として出力したとするなら、その出力順序は単純にディレクトリーツリーの階層構造に沿った順序となる。
【０００６】
また、ディレクトリーツリーの階層構造を無視して各個人の属性情報記憶テーブルを片端から参照して其の個人が或る分野に精通しているか否かを判定し、或る分野に精通している個人の氏名等の属性情報を順に検索結果として出力したとするなら、その出力順序は単純に属性情報記憶テーブルの登録順序や各個人の氏名のアルファベット順に従った順序となってしまう。
【０００７】
つまり、何れの場合でも、その出力順序には検索条件とは無関係なディレクトリーツリーの階層構造や各個人の属性情報記憶テーブルの登録順序等が反映されるだけである。
【０００８】
よって、検索条件に対する合致度が同等である複数の検索結果が出力される場合にあっては、どの個人が或る分野に関して特に精通しているのかといった優劣をつけることができない。
【０００９】
その結果、或る分野に関する質問をする個人として最も相応しい個人を特定するのは容易でなく、検索結果として氏名を出力された何人かの個人に実際に尋ねてみるという手間を掛けなければならなくなる場合がある。従って、より相応しい検索結果つまり此の場合にあっては或る分野に関して特に精通した個人の氏名が先に出力されることが望まれる。
【００１０】
検索結果の出力を適正化するための装置としては、特許文献１に開示されるように、検索条件となるキーワードに加えて更にディレクトリーツリーにおける深度を別の基準として併用することで結果に重み付けを行なうものが知られているが、このものは、ディレクトリーツリーのルートからの深度を利用しているに過ぎず、出力すべき検索結果間の相対関係を考慮したものではないので、出力すべき検索結果の内どのものが一番望ましいのかを特定することはできない。
【００１１】
また、特許文献２には、チーム毎に個人の属性情報たとえばＣ＋＋といった分野に精通しているか否かといった情報を纏め、更に、同一チーム内で同じ属性情報を有する個人の数たとえばＣ＋＋といった分野に精通している個人の数といったものをチームプロファイルデータベースで管理するようにした検索システムが提案されている。しかしながら、このものは、予め適切なチームプロファイルを作成してデータベースに登録しておく必要があるもので、データベースの基本構造を決めるソフトウェア資源つまりディレクトリーツリーの構造を有効利用したものではなく、また、検索結果の出力順序を利用して検索結果の重要性を特定するとした技術思想も認められない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−１８６９１２号広報（段落００２１）
【特許文献２】特開２００５−２０８９４５号広報（段落００４３，図６）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、データベースを利用した検索処理において検索条件に対する合致度が同等となる複数の検索結果が得られた場合に、更に、データベース構造の基本となるディレクトリーツリーの構造を他の基準として併用することによって検索結果の優劣を差別化することのできる検索結果出力装置および検索結果出力制御プログラムと検索結果出力方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の検索結果出力装置は、基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続され、インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力装置であり、前記目的を達成するため、特に、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段と、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段と、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段と、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力する検索結果出力手段とを備えたことを特徴とする構成を有する。
【００１５】
また、本発明の検索結果出力制御プログラムは、前記と同様の目的を達成するため、基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続されたコンピュータを、
インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルの中から前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルを検索する検索手段、
前記検索手段による検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段、および、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力手段として機能させることを特徴とした構成を有する。
【００１６】
また、本発明の検索結果出力方法は、基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存しておき、与えられた検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力方法であり、前記と同様の目的を達成するため、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出し、
検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数し、
計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替え、
並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力することを特徴とした構成を有する。
【発明の効果】
【００１７】
本発明の検索結果出力装置，検索結果出力制御プログラム，検索結果出力方法は、検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードをノード情報記憶テーブルを参照して重複なく検出し、検出された上位ノードの１階層下位に位置する下位ノードのうち検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を上位ノード毎に計数し、計数された下位ノードの数の大小に基いて上位ノードの順位を降べきの順に並べ替え、並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力するようにしたので、検索結果として出力される属性情報の内容や数は一般的な検索結果出力装置，検索結果出力制御プログラム，検索結果出力方法の場合と同様であるが、基準となる属性情報の階層構造を更に別の基準として、この階層構造における同一階層内で検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの数が多い階層から順に検索結果となる属性情報が出力されることになる。
従って、検索条件に対する合致度が同等となる複数の検索結果が得られた場合であっても、検索結果の出力順序を確認することによって検索結果の優劣を差別化し、より相応しいと思われる検索結果を容易に取得することが可能となる。
【００１８】
たとえば、ディレクトリーツリーの構造を機能集団の組織構造に倣った階層構造とし、組織構造において各個人が占める地位を基準となる属性情報つまりディレクトリーツリーのノードとしてデータベースを作成した構成において、各個人の氏名や其の個人が或る分野に精通しているか否かの情報を他の属性情報としてノード毎の属性情報記憶テーブルに記憶させた場合に、或る分野に精通していることを検索条件として属性情報記憶テーブルを検索し、検索結果の属性情報として個人の氏名を出力させるとする。
その際、ディレクトリーツリーを辿りながら属性情報記憶テーブルを参照して或る分野に精通している個人の氏名を抽出したとしても、また、ディレクトリーツリーの階層構造を無視して各ノード毎つまりは各個人毎の属性情報記憶テーブルを片端から参照して或る分野に精通している個人の氏名を抽出したとしても、出力される幾つかの検索結果つまり何人かの個人の氏名は、その出力順位を無視すれば完全に同一のものとなるが、本発明では、検索条件に加えてデータベース構造の基本となるディレクトリーツリーの構造を他の基準として併用すること、たとえば、組織構造を表すディレクトリーツリーの階層構造を併用することにより、或る分野に精通している個人を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノード、要するに、或る分野に精通している個人を記憶した属性情報記憶テーブルに対応したノードを直下の階層に少なくとも１つ以上備える上位ノードの各々について、或る分野に精通している個人を記憶した属性情報記憶テーブルに対応したノードが其の直下の階層に幾つ存在するかを計数し、その数が多い順つまり或る分野に精通した個人の属性情報記憶テーブルに対応したノードが多い順に上位ノードの順位を並べ替え、上位ノードの順位に従って其の１階層下位の階層から順に検索結果となる個人の氏名が出力されることになる。
つまり、結果的に、同一階層内において或る分野に精通する個人が多い階層の順に検索結果となる個人の氏名が出力されることになるので、当該分野に関する人や組織のネットワークの中心人物あるいは当該分野に特に精通した人の氏名が先頭グループの検索結果として出力される可能性が高く、検索条件に対する合致度が同等となる複数の検索結果の差別化が効果的に行なわれるものと期待される。
【図面の簡単な説明】
【００１９】
【図１】本発明を適用した一実施形態の検索結果出力装置の構成について簡略化して示した機能ブロック図である。
【図２】ディレクトリーツリーの構造の一例を示した概念図である。
【図３】ノード情報記憶テーブルの論理構成の一例を示した概念図である。
【図４】属性情報記憶テーブルの論理構成の一例を示した概念図である。
【図５】検索結果出力装置をネットワーク経由で利用する際の接続例を示した概念図である。
【図６】キーワード対応検索結果記憶テーブルの論理構成の一例を示した概念図である。
【図７】カウントアップテーブルの論理構成の一例を示した概念図である。
【図８】ソーティングテーブルの論理構成の一例を示した概念図である。
【図９】検索結果記憶テーブルの論理構成の一例を示した概念図である。
【図１０】検索結果出力装置のハードウェア構成の概略について示したブロック図である。
【図１１】検索結果出力制御プログラムの構成の概略について示したフローチャートである。
【図１２】検索結果出力制御プログラムの構成の概略について示したフローチャートの続きである。
【図１３】検索結果出力制御プログラムの構成の概略について示したフローチャートの続きである。
【図１４】検索結果の出力例について概念的に示した図で、図１４（ａ）は本発明を適用した場合の出力例について、図１４（ｂ）はデータベース構造の基本となるディレクトリーツリーの構造を基準として併用しない場合の出力例について示している。
【発明を実施するための形態】
【００２０】
次に、本発明を実施するための形態について一例を挙げ、図面を参照して具体的に説明する。
【００２１】
図１はパーソナルコンピュータやワークステーション等のコンピュータによって構成される一実施形態の検索結果出力装置１と其の記憶装置２の構成について簡略化して示した機能ブロック図である。
【００２２】
検索結果出力装置１と接続した記憶装置２には、基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと、ノードの各々に対応して基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとが予めデータベース３として保存されている。
【００２３】
データベース３におけるディレクトリーツリーの構造の一例を図２の概念図に示す。ここでは一例として会社等の機能集団の組織構造に倣って構築されたディレクトリーツリーの階層構造について示している。ノードＰ１〜Ｐ４６の各々は、機能集団の組織構造において各個人が占める地位たとえば役職等を表すものである。つまり、この例において基準となる属性情報は、当該組織構造において各個人が占める地位であり、図２のディレクトリーツリーは、各個人が占める地位の関係をノードＰ１〜Ｐ４６で表したディレクトリーツリーということになる。
【００２４】
ノードＰ１〜Ｐ４６の各々を特定するために必要とされるノード特定情報は、各ノード毎に対応して設けられたノード情報記憶テーブルに記憶され、データベース３に収められている。ノード情報記憶テーブルの論理構成の一例を図３に示す。図３は図２に示したディレクトリーツリーのノードＰ１４を特定するノード情報記憶テーブルの例である。このノード情報記憶テーブルには、当該ノードに対して直接上位に位置するノードを特定するためのポインタ（以下、上位ノードポインタという）と、同じ上位ノードを持つ前ノードへのポインタ（以下、前ノードポインタという）と、同じ上位ノードを持つ後ノードへのポインタ（以下、後ノードポインタという）と、当該ノードに対して直接下位に位置するノードのうち先頭のノードを特定するためのポインタ（以下、下位先頭ノードポインタという）と、当該ノードに対応して基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルの在り処を特定するためのポインタ（以下、実データポインタという）と、同じ上位ノードを持つノード間の相対識別名を表すポインタ（以下、相対識別ポインタという）が記憶されている。
【００２５】
図２から明らかなように、ノードＰ１４を例にとって言えば、その上位ノードポインタはノードＰ７を現すポインタであり、前ノードポインタはノードＰ１３を現すポインタである。また、後ノードポインタはノードＰ１５を現すポインタであって、下位先頭ノードポインタはノードＰ２６を現すポインタである。ノード情報記憶テーブルには、当該ノード情報記憶テーブルに対応するノードに対して直接上位の階層や直接下位の階層および同じ階層において隣接するノードを特定するために必要とされる全ての情報が含まれているので、ノードＰ１〜Ｐ４６の全てのノード情報記憶テーブルを参照することにより、図２に示す通りのディレクトリーツリーの構築が可能である。つまり、実際にディレクトリーツリーの構造を特定するために必要な情報は各ノード毎のノード情報記憶テーブルだけであり、ノードＰ１〜Ｐ４６の各々に対応するノード情報記憶テーブルは、一括してデータベース３に収められている。図３に示されるように、基準となる属性情報である地位たとえば役職等をノード情報記憶テーブル内で明示してもよい。
【００２６】
更に、属性情報記憶テーブルの一例としてノードＰ１４に対応した属性情報記憶テーブルの一例を図４に示す。属性情報記憶テーブルは、既に述べた通り、ノードの各々に対応して基準となる属性情報以外の属性情報つまり此の例では個人の地位を除いた他の属性情報を記憶するためのもので、たとえば、個人の氏名，その個人の所属部署，その個人の勤続年数，その個人が精通した分野，当該分野におけるその個人のスキル等といった属性情報が記憶されている。氏名は各個人を特定するための属性情報の一種である。ノードＰ１〜Ｐ４６の各々に対応する属性情報記憶テーブルも前述のノード情報記憶テーブルの場合と同様に一括してデータベース３に収められている。属性情報記憶テーブルに記憶されている属性情報は、単体でも、また、複数の組み合わせでも検索条件として利用することが可能である。たとえば、分野のみを検索条件として当該分野に多少なりとも精通した個人の情報すなわち氏名を検索結果となる属性情報として出力させるようにすることもできるし、更に、分野とスキルのアンド条件を検索条件として当該分野に著しく精通した個人の情報すなわち氏名を検索結果となる属性情報とし出力させるようにすることもできる。このような検索処理に関しては既に公知であり、何れの場合であっても複数の検索結果つまり氏名が出力される可能性がある。
【００２７】
一方、パーソナルコンピュータやワークステーション等のコンピュータからなる検索結果出力装置１の主要部は、図１に示されるように、検索条件を入力するためのインターフェイスＡと、インターフェイスＡから入力された検索条件に基いてデータベース３の属性情報記憶テーブルの中から検索条件と一致する属性情報を記憶した属性情報記憶テーブルを検索する検索手段Ｂと、検索手段Ｂによる検索が完了した時点で、検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードをノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段Ｃと、上位ノード検出手段Ｃによって検出された上位ノードの１階層下位に位置する下位ノードのうち検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を上位ノード毎に計数する計数手段Ｄと、計数手段Ｄによって計数された下位ノードの数の大小に基いて上位ノード検出手段Ｃで検出された上位ノードの順位を降べきの順に並べ替えるソーティング手段Ｅと、ソーティング手段Ｅで並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報たとえば氏名を検索結果として出力する検索結果出力手段Ｆによって構成される。
【００２８】
検索条件を入力するためのインターフェイスＡは、検索結果出力装置１を単体で使用する場合にあっては検索結果出力装置１が備えるキーボード等である。また、図５に示されるようにして検索結果出力装置１をインターネットや社内ＬＡＮ等のネットワーク４に接続し、ネットワーク４に接続した他のクライアントマシン５，５，５，・・・から利用する際には、検索結果出力装置１が備える通信用インターフェイスが図１中のインターフェイスＡとして機能することになる。
【００２９】
検索手段Ｂに関しては、その構成および機能が既に公知である。つまり、検索手段Ｂはデータベース３のディレクトリーツリーを辿りながらディレクトリーツリーの各ノードすなわち各個人の地位の順列に従って各個人の属性情報記憶テーブルの内容を参照して各個人の属性情報が検索条件たとえばＣ＋＋といった分野と一致するか否かを判定し、その属性情報が検索条件と一致する属性情報記憶テーブルを検索する。あるいは、検索手段Ｂはディレクトリーツリーの階層構造を無視して各個人の属性情報記憶テーブルを片端から参照して各個人の属性情報が検索条件たとえばＣ＋＋といった分野と一致するか否かを判定し、その属性情報が検索条件と一致する属性情報記憶テーブルを検索するものであってもよい。また、検索条件は単体で指定しても複数の組み合わせでも指定してもよい。これらの点に関しては一般的な検索処理と同様である。
【００３０】
但し、この検索手段Ｂは属性情報が検索条件と一致する属性情報記憶テーブルを検索するだけのものであって、検索結果つまり出力対象として指定された種別の属性情報たとえば個人の氏名といったものを直ちに外部出力するものではない。
【００３１】
この実施形態における検索手段Ｂは、属性情報が検索条件と一致する属性情報記憶テーブルを検索して求め、属性情報が検索条件と一致する属性情報記憶テーブルが求められる度に、その属性情報記憶テーブルに対応するノードの値を図６に示されるようなキーワード対応検索結果記憶テーブルに時系列順で記憶させる。
【００３２】
図６に示される１〜ｎ１の値はキーワード対応検索結果記憶テーブルにおけるレコードのアドレス、また、ａ１〜ａｎ１はアドレス１〜ｎ１に対応するレコードであり、検索によって求められた属性情報記憶テーブルに対応するノードの値が記憶される。ディレクトリーツリーを辿りながら各個人の地位の順列に従って各個人の属性情報記憶テーブルを参照する場合とディレクトリーツリーの階層構造を無視して各個人の属性情報記憶テーブルを片端から参照する場合とでは、検索条件と一致する属性情報記憶テーブルに対応したノードの値をキーワード対応検索結果記憶テーブルに記憶させる際の順序に相違がでるが、キーワード対応検索結果記憶テーブルに記憶されるノードの値のコンビネーションは何れの方式を適用した場合であっても同じである。
【００３３】
上位ノード検出手段Ｃは、検索手段Ｂによる検索処理が完了した時点、つまり、検索手段Ｂがキーワード対応検索結果記憶テーブルにノードの値の書き込み処理を終えた時点で、検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノード、すなわち、図６のキーワード対応検索結果記憶テーブルに記憶されたノードの１階層上位に位置する上位ノードをノード情報記憶テーブルを参照して重複なく検出し、上位ノードの値を図７に示されるようなカウントアップテーブルに時系列順で記憶させる。
【００３４】
従って、たとえば、図６のキーワード対応検索結果記憶テーブルにおける第１アドレスのレコードａ１に図２に示されるノードＰ１４が記憶されていたとすれば、図７のカウントアップテーブルにおける第１アドレスのレコードｂ１には、ノードＰ１４の直接上位のノードＰ７が記憶されることになる。
同様に、図６のキーワード対応検索結果記憶テーブルにおける第２アドレスのレコードａ２に図２に示されるノードＰ８が記憶されていたとすれば、図７のカウントアップテーブルにおける第２アドレスのレコードｂ２には、ノードＰ８の直接上位のノードＰ５が記憶される。
更に、図６のキーワード対応検索結果記憶テーブルにおける第３アドレスのレコードａ３に図２に示されるノードＰ１５が記憶されていたとすれば、その直接上位のノードはノードＰ７ということになるが、この段階では既に上位ノードＰ７が図７のカウントアップテーブルにおける第１アドレスのレコードｂ１に書き込まれているので、上位ノード検出手段Ｃが再び重複して図７のカウントアップテーブルにおける第３アドレスのレコードｂ３にノードＰ７を書き込むことはない。
よって、図７のカウントアップテーブルに記憶されるノードの数ｎ２は、図６のキーワード対応検索結果記憶テーブルに記憶されるノードの数ｎ１と比べて同等であるか小さいかの何れかである。
【００３５】
計数手段Ｄは、上位ノード検出手段Ｃによって検出された上位ノード、つまり、カウントアップテーブルに記憶された上位ノードの１階層下位に位置する下位ノードのうち、検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を、上位ノード毎に計数し、その計数値を上位ノードに対応させてカウントアップテーブルに記憶させる。
【００３６】
従って、たとえば、図７のカウントアップテーブルにおける第１アドレスのレコードｂ１に図２に示されるノードＰ７が記憶されていたとすれば、図７のカウントアップテーブルにおける第１アドレスのレコードｃ１には、ノードＰ７の直接下位のノードＰ１３，Ｐ１４，Ｐ１５のうち、検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数つまり１〜３のうちの何れかの値が書き込まれることになる。
上位ノードは元々検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応するノードの上位ノードとして検出されたものであるから、レコードｃ１に記憶される計数値が０となることは有り得ない。レコードｃ２〜ｃｎ２についても同様である。
【００３７】
ソーティング手段Ｅは、計数手段Ｄによって計数された下位ノードの数の大小、つまり、図７のカウントアップテーブルにおける第１アドレス〜第ｎ２アドレスに記憶された計数値ｃ１〜ｃｎ２の大小に基いて、上位ノード検出手段Ｃで検出された上位ノード、つまり、図７のカウントアップテーブルにおける第１アドレス〜第ｎ２アドレスに記憶された上位ノードｂ１〜ｂｎ２の並び順を降べきの順に並べ替えて、図８に示されるようなソーティングテーブルの第１アドレス〜第ｎ２アドレスのレコードｄ１〜ｄｎ２に順に書き込む。
【００３８】
従って、たとえば、カウントアップテーブルに記憶された計数値ｃ１〜ｃｎ２のうち最大となる値がｃｉ２で最小となる値がｃ２であったとすれば、カウントアップテーブルでｃｉ２の値に対応するノードｂｉ２の値が図８に示されるソーティングテーブルの第１アドレスのレコードｄ１に書き込まれ、また、カウントアップテーブルでｃ２の値に対応するノードｂ２の値が図８に示されるソーティングテーブルの第ｎ２アドレスのレコードｄｎ２に書き込まれることになる。
【００３９】
検索結果出力手段Ｆは、ソーティング手段Ｅで並べ替えられた上位ノードの順、つまり、図８のソーティングテーブルのレコードｄ１〜ｄｎ２に書き込まれている上位ノードの順序に従って、まず、各上位ノードｄ１〜ｄｎ２の１階層下位に位置する下位ノードのうち、検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を、図９に示されるような検索結果記憶テーブルに、各上位ノードｄ１〜ｄｎ２の各々に対応させて検索結果として記憶させる。
【００４０】
たとえば、属性情報記憶テーブルに記憶された属性情報のうち氏名を最終的な検索結果として出力させることを前提とし、分野の属性情報がＣ＋＋であることのみを検索条件としてインターフェイスＡに入力して、検索手段Ｂ，上位ノード検出手段Ｃ，計数手段Ｄ，ソーティング手段Ｅによる前述の各処理を実行した結果、図９に示されるような検索結果記憶テーブルの上位ノードｄ１のレコードに図２に示されるノードＰ６が記憶されたとする。そして、更に、図２に示されるノードＰ６の１階層下位に位置する下位ノードＰ１０に対応した属性情報記憶テーブルにおける属性情報の分野の欄にＣ＋＋が記憶され、また、ノードＰ６の１階層下位に位置する下位ノードＰ１１に対応した属性情報記憶テーブルにおける属性情報の分野の欄にもＣ＋＋が記憶される一方、ノードＰ６の１階層下位に位置する下位ノードＰ１２に対応した属性情報記憶テーブルにおける属性情報の分野の欄にはＣＯＢＯＬが記憶されていたとする。
この場合、ノードＰ６の１階層下位に位置する下位ノードＰ１０〜Ｐ１２のうち、分野がＣ＋＋であるとした検索条件に一致する下位ノードはＰ１０とＰ１１であるから、図９に示されるような検索結果記憶テーブルには上位ノードｄ１のレコードに対応して、下位ノードＰ１０に対応した属性情報記憶テーブルの属性情報の氏名欄の内用である氏名ｅ１、および、下位ノードＰ１１に対応した属性情報記憶テーブルの属性情報の氏名の欄に記憶された氏名ｅ２が記憶されることになる。
【００４１】
更に、この実施形態の検索結果出力手段Ｆは分布密度算出機能を備えており、〔検索条件に一致する下位ノードの数／下位ノードの総数〕の値が、検索結果となる氏名の各々に対応して図９に示されるような検索結果記憶テーブルに分布密度として記憶されるようになっている。
前述した上位ノードＰ６と下位ノードＰ１０〜Ｐ１２および氏名ｅ１，ｅ２の関係を例にとれば、氏名ｅ１に対応する分布密度の値ｆ１は〔２／３〕＝０．６６、また、氏名ｅ２に対応する分布密度の値ｆ２も〔２／３〕＝０．６６となる。
【００４２】
そして、検索結果出力手段Ｆは、最終的に、図９に示されるような検索結果記憶テーブルに記憶された氏名と各氏名に対応する分布密度の値を１セットのデータとして、図９に示されるような検索結果記憶テーブルにおける先頭側のレコードから順に検索結果として外部に出力する。
【００４３】
従って、図９の例で言えば、最終的な検索結果の出力順は、〔氏名ｅ１，分布密度ｆ１〕，〔氏名ｅ２，分布密度ｆ２〕，〔氏名ｅ３，分布密ｆ３〕，〔氏名ｅ４，分布密ｆ４〕，・・・といったものになる。
【００４４】
ここでは一例として属性情報記憶テーブルに記憶される属性情報のうち分野を検索条件として利用し、属性情報記憶テーブルに記憶された属性情報のうち氏名を最終的な検索結果として出力させる場合について例示しているが、属性情報記憶テーブルに記憶される他の属性情報たとえば勤続年数等を検索条件として利用したり、複数の属性情報たとえば分野とスキルのアンド条件を検索条件としたりすることも考えられるし、あるいは、各個人を特定するための属性情報として社員番号等の属性情報が属性情報記憶テーブルに記憶されている場合にあっては、社員番号等を検索結果つまり出力対象となる種別の属性情報として指定することも考えられる。
【００４５】
図１０はパーソナルコンピュータやワークステーション等のコンピュータによって構成される検索結果出力装置１のハードウェア構成の概略について示したブロック図である。
【００４６】
コンピュータからなる検索結果出力装置１は、図１０に示されるように、演算処理用のマイクロプロセッサ６と、マイクロプロセッサ６の駆動制御に必要とされる基本的な制御プログラムを格納したＲＯＭ７、および、各種のパラメータを記憶するための不揮発性メモリ８や演算データ等の一時記憶に利用されるＲＡＭ９と、大容量記憶装置として機能するハードディスクドライブ１０、および、ネットワーク４との接続等に利用される通信用インターフェイス１１、更には、ＤＶＤ，ＣＤ，フラッシュメモリ等の非一時的な記録媒体からプログラムやデータを読み出すための外部ドライブ１２を備え、マイクロプロセッサ６の入出力回路１３には、マン・マシン・インターフェイスとして機能するキーボード１４およびマウス１５とディスプレイ１６が接続されている。
【００４７】
既に述べた通り、検索結果出力装置１を単体で使用する場合にあっては検索結果出力装置１のキーボード１４が図１中のインターフェイスＡとして機能し、また、図５に示されるようにして検索結果出力装置１をネットワーク４に接続し、ネットワーク４に接続した他のクライアントマシン５，５，５，・・・から利用するような場合にあっては、検索結果出力装置１の通信用インターフェイス１１が図１中のインターフェイスＡとして機能することになる。
【００４８】
また、大容量のハードディスクドライブ１０は、図１中の記憶装置２つまり各ノード毎のノード情報記憶テーブル（たとえば図３参照）や各ノード毎の属性情報記憶テーブル（たとえば図４参照）をノード数の分だけ纏めたデータベース３を格納するための手段としても機能する。
【００４９】
ハードディスクドライブ１０には、更に、検索結果出力装置１のマイクロプロセッサ６を図１中の検索手段Ｂ，上位ノード検出手段Ｃ，計数手段Ｄ，ソーティング手段Ｅ，検索結果出力手段Ｆとして機能させるための検索結果出力制御プログラムが予め格納されている。
検索結果出力制御プログラムのインストール作業は検索結果出力制御プログラムを記録した非一時的な記録媒体たとえばＤＶＤ，ＣＤ，フラッシュメモリ等と外部ドライブ１２を使用して行なってもよい。
【００５０】
また、ＲＡＭ９の記憶領域の一部は、前述したキーワード対応検索結果記憶テーブル（図６参照），カウントアップテーブル（図７参照），ソーティングテーブル（図８参照），検索結果記憶テーブル（図９参照）等を一時的に生成するためのテーブル生成領域としても機能する。
【００５１】
図１１〜図１３はマイクロプロセッサ６を検索手段Ｂ，上位ノード検出手段Ｃ，計数手段Ｄ，ソーティング手段Ｅ，検索結果出力手段Ｆとして機能させる検索結果出力制御プログラムの構成の概略について示したフローチャートである。
【００５２】
次に、図１１〜図１３のフローチャートを参照して本実施形態における検索結果出力装置１の全体的な処理動作と検索結果出力制御プログラムおよび検索結果出力方法について具体的に説明する。
【００５３】
ここでは一例として、属性情報記憶テーブルに記憶される属性情報のうち分野を検索条件として利用し、属性情報記憶テーブルに記憶された属性情報のうち氏名を最終的な検索結果として出力させる場合について説明する。検索条件はＣ＋＋とする。
【００５４】
インターフェイスＡとして機能するキーボード１４または通信用インターフェイス１１を介して検索結果出力装置１に１以上の検索条件を含む検索要求が入力されたことが確認されると（ステップＳ１）、まず、マイクロプロセッサ６が、検索要求のプロトコルを解析し、この検索要求からＣ＋＋等の検索条件を抽出する（ステップＳ２）。
【００５５】
そして、検索手段Ｂとして機能するマイクロプロセッサ６が、記憶装置２として機能するハードディスクドライブ１０に格納されているデータベース３に収められた各ノードＰ１〜Ｐ４６毎の属性情報記憶テーブルを順に検索し、与えられた検索条件Ｃ＋＋を分野の属性情報として記憶した属性情報記憶テーブルを求め（ステップＳ３）、その属性情報記憶テーブルに対応するノードの値を図６に示されるようなキーワード対応検索結果記憶テーブルに検索順の時系列で記憶させる（ステップＳ４）。
【００５６】
なお、図６の例では、検索条件であるＣ＋＋を分野の属性情報として記憶した属性情報記憶テーブルに対応するノードをａ１〜ａｎ１で表している。
【００５７】
既に述べた通り、データベース３のディレクトリーツリーを辿りながらノードの順列に従って属性情報記憶テーブルの内容を参照して属性情報の内容が検索条件と一致するか否かを判定してもよいし、あるいは、ディレクトリーツリーの階層構造を無視して属性情報記憶テーブルを片端から参照して属性情報の内容が検索条件と一致するか否かを判定しても構わない。ステップＳ１〜ステップＳ４までの処理は一般的な検索処理として公知である。
【００５８】
次いで、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６は、図６のキーワード対応検索結果記憶テーブルを検索するために用いる指標ｉの値を一旦０に初期化し（ステップＳ５）、改めて指標ｉの値を１インクリメントしてから（ステップＳ６）、この指標ｉの現在値がキーワード対応検索結果記憶テーブルに記憶されたノードの総数ｎ１の範囲内にあるか否かを判定する（ステップＳ７）。なお、指標ｉの値は図６中におけるアドレスｉ１の値に相当するものであるから、フローチャートの説明から図６を参照する場合にはｉをｉ１と読み替え、ａｉをａｉ１と読み替えるものとする。
【００５９】
ここで、指標ｉの現在値が図６のキーワード対応検索結果記憶テーブルに記憶されたノードの総数ｎ１の範囲内にあってステップＳ７の判定結果が真となった場合には、上位ノードを検出すべきノードａｉが図６に示されるようなキーワード対応検索結果記憶テーブルに未だ残っていることを意味する。
【００６０】
従って、この場合、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６は、データベース３にアクセスし、図６のキーワード対応検索結果記憶テーブルにおける第ｉアドレスのレコードａｉのノードに対応したノード情報記憶テーブルの上位ノードポインタを参照し、ノードａｉの上位ノードｂｉを求める（ステップＳ８）。
【００６１】
次いで、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６は、図７に示されるようなカウントアップテーブルを参照し、不用意な抽出処理を避けるため、ステップＳ８の処理で求められた上位ノードｂｉが既にカウントアップテーブルに記憶されているか否かを判定する（ステップＳ９）。
【００６２】
そして、ステップＳ８の処理で求められた上位ノードｂｉが当該時点で未だ図７のカウントアップテーブルに記憶されていない場合に限り、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６は、ステップＳ８の処理で求められた上位ノードｂｉを図７に示されるようなカウントアップテーブルに検出順で追加して記憶させ（ステップＳ１０）、カウントアップテーブルに記憶された上位ノードの数を表す指標ｋの値を１インクリメントする（ステップＳ１１）。
【００６３】
次いで、計数手段Ｄとして機能するマイクロプロセッサ６は、このたび新たに図７のカウントアップテーブルに記憶された上位ノードｂｉつまりステップＳ８の処理で求められた上位ノードの１階層下位に位置する下位ノードの中から、情報を読み出すべき下位ノードを１つ選択するための指標ｊの値を一旦０に初期化し（ステップＳ１２）、改めて指標ｊの値を１インクリメントする（ステップＳ１３）。
【００６４】
そして、計数手段Ｄとして機能するマイクロプロセッサ６は、データベース３にアクセスし、ステップＳ８の処理で求められた上位ノードｂｉに対応したノード情報記憶テーブルの下位先頭ノードポインタと、この下位先頭ノードポインタで特定されるノードに対応したノード情報記憶テーブルの後ノードポインタ、そして更に、この後ノードポインタで特定されるノードに対応したノード情報記憶テーブルの後ノードポインタ等・・・を順に参照して、ステップＳ８の処理で求められた上位ノードｂｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードを選択し、このノードに対応した属性情報記憶テーブルを参照して（ステップＳ１４）、ステップＳ８の処理で求められた上位ノードｂｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードに対応した属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致しているか否かを判定する（ステップＳ１５）。
【００６５】
そして、ステップＳ１５の判定結果が真となった場合、つまり、ステップＳ８の処理で求められた上位ノードｂｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードに対応した属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致していることが明らかとなった場合に限り、計数手段Ｄとして機能するマイクロプロセッサ６は、このたび新たに図７のカウントアップテーブルに記憶された上位ノードｂｉに対応する計数値ｃｉの値を１インクリメントし、その現在値を上位ノードｂｉに対応させて図７に示されるようなカウントアップテーブルに更新して記憶させる（ステップＳ１６）。
【００６６】
次いで、計数手段Ｄとして機能するマイクロプロセッサ６は、このたびのステップＳ１４の処理で選択された第ｊ番目の下位ノードに対応したノード情報記憶テーブルに後ノードポインタが記憶されているか否か、つまり、ステップＳ１４の処理で選択された第ｊ番目の下位ノードが上位ノードｂｉの１階層下位に位置するノードのうちの最後のものであったかどうかを判定する（ステップＳ１７）。
【００６７】
ここでステップＳ１７の判定結果が偽となった場合には、このたびのステップＳ１４の処理で選択された第ｊ番目の下位ノードに対応したノード情報記憶テーブルに後ノードポインタが記憶されていること、つまり、ステップＳ８の処理で求められた上位ノードｂｉの１階層下位に位置するノードが他にもあることを意味するので、計数手段Ｄとして機能するマイクロプロセッサ６は、改めてステップＳ１３の処理に移行し、更新された指標ｊの現在値に基いて前記と同様にしてステップＳ１３〜ステップＳ１７の処理を繰り返し実行する。
【００６８】
従って、最終的に、ステップＳ１７の判定結果が真となった時点で、カウントアップテーブルに記憶された上位ノードｂｉの１階層下位に位置する全てのノードについて、そのノードに対応した属性情報記憶テーブルが参照され、この属性情報記憶テーブルの分野の属性情報が検索条件であるＣ＋＋と一致しているか否かが判定され、その判定結果に応じて、当該ノードに対応した計数値ｃｉの値を更新してカウントアップテーブルに再記憶させる処理が完了する。
【００６９】
つまり、ステップＳ１７の判定結果が真となった時点で、１つの上位ノードｂｉの１階層下位に位置する全てのノードのうち属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致するノードの総数が、当該上位ノードｂｉに対応する計数値ｃｉとして図７に示されるようなカウントアップテーブルに記憶されることになる。
【００７０】
このようにして、カウントアップテーブルに記憶された１つの上位ノードについて１階層下位に位置する全てのノードのうち属性情報記憶テーブルにおける分野の属性情報が検索条件と一致するノードの数を計数する処理が終ると、マイクロプロセッサ６は、改めてステップＳ６の処理に移行し、更新された指標ｉの現在値に基いて前記と同様にしてステップＳ６〜ステップＳ１７に至る処理を繰り返し実行する。
【００７１】
従って、最終的に、ステップＳ７の判定結果が偽となった時点で、図７のカウントアップテーブルに記憶された上位ノードの全て、たとえば、上位ノードｂ１〜ｂｎ２の各々について上位ノードに対応する計数値ｃ１〜ｃｎ２の書き込み処理が終了することになる。
【００７２】
この実施形態では、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６が上位ノードを検出して図７のカウントアップテーブルに記憶させる度に（ステップＳ６〜ステップＳ１０参照）、計数手段Ｄとして機能するマイクロプロセッサ６が当該上位ノードの１階層下位に位置する全てのノードのうち属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致するノードの数を求めて当該上位ノードに対応させて図７のカウントアップテーブルに記憶させるようにしているが（ステップＳ１１〜ステップＳ１７参照）、上位ノード検出手段Ｃとして機能するマイクロプロセッサ６が全ての上位ノードを検出して図７のカウントアップテーブルに記憶させてから、各上位ノード毎に１階層下位に位置する全てのノードのうち属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致するノードの数を求めて各上位ノードに対応させて図７のカウントアップテーブルに記憶させるようにしてもよい。
【００７３】
次いで、ソーティング手段Ｅとして機能するマイクロプロセッサ６が、図７に示されるようなカウントアップテーブルを参照し、計数手段Ｄによって計数された下位ノードの数の大小、つまり、図７のカウントアップテーブルにおける第１アドレス〜第kアドレスに記憶された計数値ｃ１〜ｃkの大小に基いて、上位ノード検出手段Ｃで検出された上位ノード、つまり、図７のカウントアップテーブルにおける第１アドレス〜第kアドレスに記憶された上位ノードｂ１〜ｂkの並び順を降べきの順に並べ替えて、図８に示されるようなソーティングテーブルの第１アドレス〜第kアドレスのレコードｄ１〜ｄkに順に書き込む（ステップＳ１８）。なお、カウントアップテーブルに記憶された上位ノードの数を表す指標ｋの値、更に具体的に言えば、ステップＳ７の判定結果が偽となった時点以降の指標ｋの値（最終値）が図７および図８中におけるアドレスｎ２の値に相当するものであるから、フローチャートの説明から図７および図８を参照する場合にはｋをｎ２と読み替え、ｄkをｄｎ２と読み替えるものとする。また、単純なソーティング処理に関しては公知であるので、ここでは特に説明しない。
【００７４】
次いで、検索結果出力手段Ｆとして機能するマイクロプロセッサ６が、ソーティングテーブルを検索するために用いる指標ｉの値を一旦０に初期化し（ステップＳ１９）、改めて指標ｉの値を１インクリメントしてから（ステップＳ２０）、指標ｉの現在値がソーティングテーブルに記憶された上位ノードの総数ｋの範囲内にあるか否かを判定する（ステップＳ２１）。
【００７５】
ここで、指標ｉの現在値が図８のソーティングテーブルに記憶された上位ノードの総数ｋの範囲内にあってステップＳ２１の判定結果が真となった場合には、検索条件と一致する属性情報を記憶した属性情報記憶テーブルを備えた下位ノードを検出すべき上位ノードｄｉが図８に示されるようなソーティングテーブルに未だ残っていることを意味する。
【００７６】
従って、この場合、検索結果出力手段Ｆとして機能するマイクロプロセッサ６は、指標ｉの現在値に基いてソーティングテーブルの第ｉアドレスから上位ノードｄｉを１つ読み込み（ステップＳ２２）、次いで、当該上位ノードｄｉの１階層下位に位置する下位ノードの中から情報を読み出すべき下位ノードを選択するための指標ｊの値と当該上位ノードｄｉの１階層下位に位置する下位ノードのうち対応する属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致している下位ノードの数を数えるための計数指標Ｃの値を共に一旦０に初期化し（ステップＳ２３）、改めて指標ｊの値を１インクリメントする（ステップＳ２４）。
【００７７】
そして、検索結果出力手段Ｆとして機能するマイクロプロセッサ６は、データベース３にアクセスし、ステップＳ２２の処理で読み込まれた上位ノードｄｉに対応したノード情報記憶テーブルの下位先頭ノードポインタと、この下位先頭ノードポインタで特定されるノードに対応したノード情報記憶テーブルの後ノードポインタ、そして更に、この後ノードポインタで特定されるノードに対応したノード情報記憶テーブルの後ノードポインタ等・・・を順に参照して、ステップＳ２２の処理で読み込まれた上位ノードｄｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードを選択し、このノードに対応した属性情報記憶テーブルを参照して（ステップＳ２５）、ステップＳ２２の処理で読み込まれた上位ノードｄｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードに対応した属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致しているか否かを判定する（ステップＳ２６）。
【００７８】
そして、ステップＳ２６の判定結果が真となった場合、つまり、このたびのステップＳ２２の処理で読み込まれた上位ノードｄｉの１階層下位に位置するノードのうち先頭から第ｊ番目に位置する下位ノードに対応した属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致していることが明らかとなった場合に限り、検索結果出力手段Ｆとして機能するマイクロプロセッサ６は、この下位ノードに対応する属性情報記憶テーブルから検索結果とすべき出力対象として指定された種別の属性情報つまり氏名の属性情報を読み出し、この氏名を上位ノードｄｉに対応させて図９に示されるようなソーティング済検索結果記憶テーブルに順に記憶させ（ステップＳ２７）、かつ、上位ノードｄｉの１階層下位に位置する下位ノードのうち対応する属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致している下位ノードの数を数えるための計数指標Ｃの値を１インクリメントする（ステップＳ２８）。
【００７９】
次いで、検索結果出力手段Ｆとして機能するマイクロプロセッサ６は、このたびのステップＳ２５の処理で選択された第ｊ番目の下位ノードに対応したノード情報記憶テーブルに後ノードポインタが記憶されているか否か、つまり、ステップＳ２５の処理で選択された第ｊ番目の下位ノードが上位ノードｄｉの１階層下位に位置するノードのうちの最後のものであったかどうかを判定する（ステップＳ２９）。
【００８０】
ここでステップＳ２９の判定結果が偽となった場合には、このたびのステップＳ２５の処理で選択された第ｊ番目の下位ノードに対応したノード情報記憶テーブルに後ノードポインタが記憶されていること、つまり、ステップＳ２２の処理で読み込まれた上位ノードｄｉの１階層下位に位置するノードが他にもあることを意味するので、検索結果出力手段Ｆとして機能するマイクロプロセッサ６は、改めてステップＳ２４の処理に移行し、更新された指標ｊの現在値に基いて前記と同様にしてステップＳ２４〜ステップＳ２９の処理を繰り返し実行する。
【００８１】
従って、最終的に、ステップＳ２９の判定結果が真となった時点で、図８のソーティングテーブルに記憶された１つの上位ノードｄｉの１階層下位に位置する全てのノードについて、そのノードに対応した属性情報記憶テーブルが参照され、この属性情報記憶テーブルの分野の属性情報が検索条件であるＣ＋＋と一致しているか否かが判定され、その判定結果に応じ、当該下位ノードに対応した属性情報記憶テーブルから読み出された氏名の属性情報を上位ノードｄｉに対応させて図９のソーティング済検索結果記憶テーブルに記憶させる処理が完了する。
【００８２】
つまり、ステップＳ２９の判定結果が真となった時点で、１つの上位ノードｄｉの１階層下位に位置する全ての下位ノードのうち属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致する下位ノードが全て検出され、これらの下位ノードに対応した属性情報記憶テーブルに記憶されている氏名の属性情報が全て読み込まれて、これらの氏名たとえば図９中のｅ１，ｅ２といった値が上位ノードｄｉに対応して図９に示されるようなソーティング済検索結果記憶テーブルに記憶されることになる。
【００８３】
次いで、検索結果出力手段Ｆにおける分布密度算出機能実現手段として機能するマイクロプロセッサ６が、指標ｊの現在値すなわち指標ｊの最終値であって当該時点においては１つの上位ノードｄｉの１階層下位に位置する下位ノードの総数を表している指標ｊの値で、上位ノードｄｉの１階層下位に位置するノードのうち対応する属性情報記憶テーブルにおける分野の属性情報が検索条件であるＣ＋＋と一致している下位ノードの数を表す指標Ｃの値を除し、既に述べた通りの分布密度つまり〔検索条件に一致する下位ノードの数／下位ノードの総数〕の値を求め（ステップＳ３０）、その値を上位ノードｄｉ、より具体的には、上位ノードｄｉに対応して記憶された氏名の各々に対応させて、図９に示されるようなソーティング済検索結果記憶テーブルにｆ１，ｆ２のようにして記憶させる（ステップＳ３１）。
【００８４】
このようにして、図８のソーティングテーブルに記憶された１つの上位ノードについて、その１階層下位に位置する下位ノードのうち検索条件Ｃ＋＋と一致する属性情報を記憶した属性情報記憶テーブルを有する下位ノードの属性情報記憶テーブルに記憶された属性情報の一種である氏名の全てを当該上位ノードに対応させて図９のソーティング済検索結果記憶テーブルに記憶させる処理、および、各氏名の各々に対応させて〔Ｃ／ｊ〕つまり分布密度を図９のソーティング済検索結果記憶テーブルに記憶させる処理が終ると、マイクロプロセッサ６は、改めてステップＳ２０の処理に移行し、更新された指標ｉの現在値に基いて前記と同様にしてステップＳ２０〜ステップＳ３１に至る処理を繰り返し実行する。
【００８５】
従って、最終的に、ステップＳ２１の判定結果が偽となった時点で、図８のソーティングテーブルに記憶された上位ノードの全てについて、１階層下位に位置する下位ノードのうち検索条件Ｃ＋＋と一致する属性情報を記憶した属性情報記憶テーブルを有する下位ノードの属性情報記憶テーブルに記憶された属性情報の一種である氏名の全てを各上位ノード毎に対応させて図９のソーティング済検索結果記憶テーブルに記憶させる処理、および、各上位ノード毎に共通の分布密度を夫々の氏名に対応させて図９のソーティング済検索結果記憶テーブルに記憶させる処理が終了することになる。
【００８６】
そして、最後に、検索結果出力手段Ｆとして機能するマイクロプロセッサ６が、図９に示されるようなソーティング済検索結果記憶テーブルに記憶された氏名と各氏名に対応する分布密度の値を１セットのデータ〔氏名，分布密度〕として、図９に示されるような検索結果記憶テーブルにおける先頭側のレコードから順に検索結果として読み出して外部に出力する（ステップＳ３２）。
【００８７】
より具体的には、検索結果出力装置１が単体で使用されている場合にあっては、検索結果出力手段Ｆとして機能するマイクロプロセッサ６が、図９に示されるようなソーティング済検索結果記憶テーブルに記憶された氏名と各氏名に対応する分布密度の値を１セットのデータ〔氏名，分布密度〕として、図９に示されるような検索結果記憶テーブルにおける先頭側のレコードから検索結果として読み出して順にディスプレイ１６に表示する。
無論、プリンタを備えた検索結果出力装置１にあっては、ディスプレイ１６に代えてプリンタを検索結果の出力先としてもよい。
【００８８】
また、検索結果出力装置１をインターネットや社内ＬＡＮ等のネットワーク４に接続し、ネットワーク４に接続した他のクライアントマシン５，５，５，・・・から利用している場合にあっては、検索結果出力手段Ｆとして機能するマイクロプロセッサ６が、図９に示されるような検索結果記憶テーブルにおける先頭側のレコードから順に検索結果を読み出して、検索要求を送信してきたクライアントマシン５にネットワーク４を介して転送し、これを受けたクライアントマシン５が、前記と同様の順番で〔氏名，分布密度〕からなる検索結果をクライアントマシン５のディスプレイなりプリンタなりに出力することになる。
【００８９】
以上に述べた通り、この実施形態では、まず、検索手段Ｂが記憶装置２として機能するハードディスクドライブ１０に格納されているデータベース３にアクセスし、Ｃ＋＋等の検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索を終えて図６に示されるようなキーワード対応検索結果記憶テーブルを生成した後（ステップＳ１〜ステップＳ４）、上位ノード検出手段Ｃがデータベース３にアクセスしてノード情報記憶テーブルを参照し、検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを重複なく検出して図７に示されるようなカウントアップテーブルに記憶させ（ステップＳ５〜ステップＳ１０）、計数手段Ｄが、検出された上位ノードの１階層下位に位置する下位ノードのうちＣ＋＋等の検索条件と一致した属性情報を分野として記憶する属性情報記憶テーブルに対応したノードの数を上位ノード毎に計数して図７に示されるようなカウントアップテーブルに一時記憶させる（ステップＳ１１〜ステップＳ１７）。
そして、更に、計数された下位ノードの数の大小に基いて、ソーティング手段Ｅが上位ノードの順位を図７に示されるようなカウントアップテーブルに記憶された検出順から図８に示されるようなソーティングテーブルに降べきの順に並べ替えて一時記憶させ（ステップＳ１８）、検索結果出力手段Ｆが、ソーティングテーブルに並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち検索条件と一致する分野の属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報、つまり、此の例にあっては氏名と〔検索条件に一致する下位ノードの数／下位ノードの総数〕の値で示される分布密度とを図９に示されるようなソーティング済検索結果記憶テーブルに一時記憶させる（ステップＳ１９〜ステップＳ３１）。
そして、最終的に、検索結果出力手段Ｆがソーティング済検索結果記憶テーブルの先頭から順に、つまり、ソーティング手段Ｅによって並べ替えられた上位ノードの順に従って氏名および分布密度を検索結果として出力するようにしている（ステップＳ３２）。
従って、検索結果として出力される属性情報の内容や数、つまり、此の場合にあっては検索結果である氏名の内容や数は、公知の検索手段Ｂと検索手段Ｂによる検索結果を直ちに出力する公知の検索結果出力手段のみを備えた一般的な検索結果出力装置，検索結果出力制御プログラム，検索結果出力方法の場合と同様であるが、基準となる属性情報の階層構造、つまり、この実施形態にあっては基準となる属性情報である個人の地位を、検索条件とは異なる更に別の基準として併用し、この階層構造における同一階層内で検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの数が多い階層つまり〔検索条件に一致する下位ノードの数／下位ノードの総数〕で表される分布密度の値が大きい階層から順に検索結果となる氏名が出力されることになる。
【００９０】
よって、検索条件に対する合致度が同等となる複数の検索結果、例えば、検索条件であるＣ＋＋に対する精通の度合が同等である複数の個人がいた場合であっても、検索結果の出力順序を確認すること、また、この実施形態にあっては、特に、分布密度の値の大小を確認することによって、検索結果の優劣を差別化し、ユーザは、より相応しいと思われる検索結果を容易に取得することが可能となる。
【００９１】
図１４はディスプレイ１６やプリンタからの検索結果の出力例について示した概念図で、図１４（ａ）は本実施形態を適用した場合の出力例について示し、また、図１４（ｂ）はデータベース３の属性情報記憶テーブルの内容を参照して各個人の属性情報が検索条件たとえばＣ＋＋といった分野と一致するか否かを判定し、一致する属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報、つまり、この場合でいえば個人の氏名を直ちに外部出力した場合の出力例について示している。
【００９２】
公知の検索手段Ｂと検索手段Ｂによる検索結果を直ちに出力する公知の検索結果出力手段のみを備えた一般的な検索結果出力装置，検索結果出力制御プログラム，検索結果出力方法では、検索条件に対する合致度が同等である場合の検索結果は図１４（ｂ）に示されるように、検索条件に対する合致度が同等となる複数の検索結果が出力された場合、既に述べた通りの理由により、その出力順序は、属性情報記憶テーブルの登録順序や各個人の氏名のアルファベット順に従ったものとなってしまい、検索結果の優劣をユーザが特定することは困難であるが、この実施形態にあっては、例えば図１４（ａ）に示されるように、検索結果の出力順序や検索結果に対応する分布密度の値の大小を確認することによって、検索結果の優劣を容易に識別することができる。
【００９３】
組織の階層構造を表すディレクトリーツリー上での分布密度の高さを検索結果において重要視する理由は、次に示すとおりである。
まず、ディレクトリツリー上の位置関係で同一階層内に密集している人は、離散している人に比べ、組織上での関連度が高く、同じ部署あるいは近い部署に所属しているものと考えられる。
これは、この部署が組織的にも特定の分野たとえばＣ＋＋といった分野を担当しているか、または、当該分野に詳しい人が集まっている部署であることを示している。
従って、分布密度の高い部署に所属している人の方が、より目的に相応しい人つまり検索条件となるＣ＋＋等の分野に最も詳しい人で、この分野に関する人や組織のネットワークの中心人物であると推測することが可能であり、これらの人を優先的に検索結果として出力することにより、当該分野に特に精通した人の氏名が先頭グループの検索結果として出力される可能性が高くなり、検索条件に対する合致度が同等となる複数の検索結果の差別化が効果的に行なわれると考えられるからである。
【００９４】
以上に述べた実施形態では、上位ノード検出手段Ｃによって検出された上位ノードの１階層下位に位置する下位ノードのみを対象にして検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を計数手段Ｄにより計数するようにしたが、上位ノード検出手段Ｃによって検出された上位ノードの直下の２階層あるいは其れ以上の複数階層に亘って検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を計数手段Ｄにより計数し、その計数結果に基いてソーティング手段Ｅによる上位ノードの順位の並べ替えを行なうようにしてもよい。
このようにして、分布密度の高さを求めるための計数処理を行うディレクトリーツリーの範囲（組織単位の階層）を少し拡げてやれば、ディレクトリーツリー上での組織階層が深く細分化され、且つ、検索条件に合致するノードが末端の部署で各部署単位に分散したような状況下にあっても、計数手段Ｄによる計数値つまり分布密度の高さに積極的に明確な差異を出して、ソーティング手段Ｅによる並べ替えを適切に行なわせることができるようになる。
分布密度の高さを求めるための計数処理を行うディレクトリーツリーの範囲を、検索結果出力装置１やクライアント５のパラメータ設定によって可変的に指定できるようにすることも可能である。
【００９５】
また、検索手段Ｂ，上位ノード検出手段Ｃ，計数手段Ｄ，ソーティング手段Ｅ，検索結果出力手段Ｆは必ずしも単一のマイクロプロセッサで構成する必要はなく、各手段毎に独立したマイクロプロセッサを使用してもよい。その場合は、各手段によって得られる中間的なデータの受け渡しをマイクロプロセッサ間で行なう必要が生じるが、例えば、ＲＡＭ９の記憶領域の一部を共有メモリとして使用し、この共有メモリにキーワード対応検索結果記憶テーブル，カウントアップテーブル，ソーティングテーブル，ソーティング済検索結果記憶テーブル等を一時記憶させて各手段毎のマイクロプロセッサからの読み書きを許容するようにすれば、マイクロプロセッサ間でのデータの受け渡しは容易である。
【００９６】
以上に開示した実施形態の一部または全部は、以下の付記に示す記載によって適切に表現され得るが、発明を実施するための形態や発明の技術思想は、これらのものに制限されるものではない。
【００９７】
また、検索結果出力制御プログラムは非一時的な記録媒体に記憶されてもよい。非一時的な記録媒体としては、たとえば、ＤＶＤ，ＣＤ，フラッシュメモリ等のものを利用することができる。検索結果出力制御プログラムを非一時的な記録媒体に記憶した場合、検索結果出力制御プログラムは非一時的な記録媒体からコンピュータによって読み出され、そのマイクロプロセッサによって実行されることになる。
【００９８】
〔付記１〕
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続され、インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力装置であって、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段と、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段と、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段と、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力する検索結果出力手段とを備えたことを特徴とする検索結果出力装置。
【００９９】
〔付記２〕
前記計数手段により、前記上位ノード検出手段が検出した上位ノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数させることを特徴とした付記１記載の検索結果出力装置。
【０１００】
〔付記３〕
基準となる属性情報は機能集団の組織構造において各個人が占める地位であり、前記属性情報記憶テーブルには、少なくとも各個人が精通する分野と各個人を特定するための属性情報が記憶され、前記インターフェイスには前記検索条件として少なくとも分野の属性情報が入力され、検索結果出力手段は検索結果となる指定された種別の属性情報として各個人を特定するための属性情報を出力することを特徴とした付記１または付記２記載の検索結果出力装置。
【０１０１】
〔付記４〕
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存した記憶装置に接続されたコンピュータを、
インターフェイスから入力された検索条件に基いて前記データベース中の属性情報記憶テーブルの中から前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルを検索する検索手段、
前記検索手段による検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出する上位ノード検出手段、
前記上位ノード検出手段によって検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数する計数手段、
前記計数手段によって計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えるソーティング手段、および、
前記ソーティング手段で並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力手段として機能させることを特徴とした検索結果出力制御プログラム。
【０１０２】
〔付記５〕
前記計数手段により、前記上位ノード検出手段が検出した上位ノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数させることを特徴とした付記４記載の検索結果出力制御プログラム。
【０１０３】
〔付記６〕
基準となる属性情報の階層構造を表すディレクトリーツリーの各ノードを特定するノード特定情報をノード毎に記憶したノード情報記憶テーブルと前記ノードの各々に対応して前記基準となる属性情報以外の属性情報を記憶した属性情報記憶テーブルとを予めデータベースとして保存しておき、与えられた検索条件に基いて前記データベース中の属性情報記憶テーブルを検索し、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報のうち出力対象として指定された種別の属性情報を検索結果として出力する検索結果出力方法であって、
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルの検索が完了した時点で、前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの１階層上位に位置する上位ノードを前記ノード情報記憶テーブルを参照して重複なく検出し、
検出された上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数し、
計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替え、
並べ替えられた上位ノードの順に従って各上位ノードの１階層下位に位置する下位ノードのうち前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに記憶された属性情報を検索結果として出力することを特徴とした検索結果出力方法。
【０１０４】
〔付記７〕
前記検索条件と一致する属性情報を記憶した属性情報記憶テーブルに対応したノードの上位ノードとして検出されたノードの直下の複数の下位階層に位置する下位ノードのうち前記検索条件と一致した属性情報を記憶する属性情報記憶テーブルに対応したノードの数を前記上位ノード毎に計数し、計数された下位ノードの数の大小に基いて前記上位ノードの順位を降べきの順に並べ替えることを特徴とした付記６記載の検索結果出力方法。
【０１０５】
〔付記８〕
基準となる属性情報は機能集団の組織構造において各個人が占める地位であり、前記属性情報記憶テーブルには、少なくとも各個人が精通する分野と各個人を特定するための属性情報が記憶され、前記検索条件として少なくとも分野の属性情報を入力し、検索結果となる指定された種別の属性情報として各個人を特定するための属性情報を出力することを特徴とした付記６または付記７記載の検索結果出力方法。
【産業上の利用可能性】
【０１０６】
本発明は、ディレクトリーツリーを有するデータベースを利用した各種の検索処理、特に、検索条件に対する合致度が同等となる複数の検索結果が得られる可能性の高い検索システムに対して利用することができる。
【符号の説明】
【０１０７】
１  検索結果出力装置（コンピュータ）
２  記憶装置
３  データベース
４  ネットワーク
５  クライアントマシン
６  マイクロプロセッサ（検索手段，上位ノード検出手段，計数手段，ソーティング手段，検索結果出力手段）
７  ＲＯＭ
８  不揮発性メモリ
９  ＲＡＭ
１０  ハードディスクドライブ（記憶装置）
１１  通信用インターフェイス（インターフェイス）
１２  外部ドライブ
１３  出力回路
１４  キーボード（インターフェイス）
１５  マウス
１６  ディスプレイ
Ａ  インターフェイス
Ｂ  検索手段
Ｃ  上位ノード検出手段
Ｄ  計数手段
Ｅ  ソーティング手段
Ｆ  検索結果出力手段
Ｐ１〜Ｐ４６  ノード
【図１】
0005614356.tif 000002
【図２】
0005614356.tif 000003
【図３】
0005614356.tif 000004
【図４】
0005614356.tif 000005
【図５】
0005614356.tif 000006
【図６】
0005614356.tif 000007
【図７】
0005614356.tif 000008
【図８】
0005614356.tif 000009
【図９】
0005614356.tif 000010
【図１０】
0005614356.tif 000011
【図１１】
0005614356.tif 000012
【図１２】
0005614356.tif 000013
【図１３】
0005614356.tif 000014
【図１４】
0005614356.tif 000015