(57)【要約】【課題】目的とするデータやサービスを効率良く検索可能にする手段を提供する。【解決手段】本発明のデータ検索システムは、メタデータ用データベースおよびデータ検索装置を備える。データ検索装置は、さらに、メタデータ用データベースからメタデータを読み取るためのメタデータ読み取り手段と、目的とするデータやサービスを検索するための検索文を、その検索文を構成する語毎に順次入力できるように構成された入力手段と、入力手段によって語が入力される毎に、候補となる所定単位の語のリストを生成するリスト生成手段と、生成された語のリストを提示するリスト提示手段と、入力手段により入力された検索文に基づいてメタデータを検索するメタデータ検索手段とを備える。本発明によれば、検索者は、検索語を順次入力して自然な検索文を作成するという直感的な方法で目的とするデータやサービスを発見することができる。【選択図】図３
2004280349.tif 000002
【特許請求の範囲】
【請求項１】
データ検索を行うデータ検索システムにおいて、
メタデータの集合を格納するためのメタデータ格納手段であって、各メタデータは、各データに対応付けられていて、対応するデータのインデックスと、対応するデータの内容説明文と、対応するデータの型を含み、前記内容説明文は所定単位の語で区切られていることからなる、メタデータ格納手段と、
検索処理手段と
から構成され、
前記検索処理手段が、
前記メタデータ格納手段から前記メタデータの集合の少なくとも一部（第１のメタデータの集合）を読み取るためのメタデータ読み取り手段と、
第１の目的とするデータを検索するための一または複数の語からなる検索文を、その検索文を構成する語毎に順次入力するように構成された入力手段と、
前記入力手段によって前記語が入力される毎に、前記内容説明文のうちの対応する所定単位の語を、入力された語に続く候補の語として語のリストを生成するリスト生成手段と、
前記生成された語のリストを提示するためのリスト提示手段と、
前記メタデータ読み取り手段により読み取られたメタデータの集合（前記第１のメタデータの集合）から、前記入力手段により入力された検索文に基づいて、前記第１の目的とするデータに対応するメタデータ（第１の特定メタデータ）を検索するメタデータ検索手段
とを備えることからなる、データ検索システム。
【請求項２】
前記内容説明文を構成する所定単位の語の少なくとも１つはデータ型を有する変数とすることができ、
現在行っている前記データ検索とは別に行う前記データ検索の結果の型が前記変数の型と同じである場合は前記別に行う前記データ検索の結果が前記変数にマッチするとみなす
ことを特徴とする請求項１のデータ検索システム。
【請求項３】
前記変数は前記内容説明文の先頭に置かれた前記所定単位の語であり、
前記別に行う前記データ検索は現在行われている前記データ検索の直前の検索である
ことを特徴とする請求項２のデータ検索システム。
【請求項４】
前記変数は前記内容説明文の途中に置かれた前記所定単位の語であり、
現在行われている前記データ検索に対して前記入力手段から入力する検索文中の語が前記変数に対応する位置にある時、前記別に行う前記データ検索を開始する
ことを特徴とする請求項２のデータ検索システム。
【請求項５】
前記内容説明文は、その先頭の所定単位の語を所定のデータ型を有する変数として表すことが可能である、請求項１のデータ検索システムであって、
前記データ検索システムは、前記第１の特定メタデータを保持することができるよう構成され、前記入力手段は、前記第１の特定メタデータの内容説明文を入力することができるよう構成され、前記入力手段に前記第１の特定メタデータの内容説明文が入力された場合において、
前記メタデータ読み取り手段は、前記保持されている第１の特定メタデータに含まれるデータ型と同じ型の変数を先頭の語とする説明文を含むメタデータの集合（第２のメタデータの集合）を前記メタデータ格納手段から読み取り、
前記リスト生成手段は、前記第２のメタデータの集合を構成するメタデータの内容説明文の対応する所定単位の語を、前記第１の特定メタデータの内容説明文に続く候補の語として語のリストを生成するよう構成され、
前記メタデータ検索手段は、前記第２のメタデータの集合から、前記入力された第１の特定メタデータの内容説明文とその後に前記入力手段によって入力された語とからなる検索文に基づいて、第２の目的とするデータに対応するメタデータ（第２の特定メタデータ）を検索するように構成される、データ検索システム。
【請求項６】
請求項１または５のデータ検索システムであって、前記リスト生成手段が生成する語のリストに前記変数に対応する語が含まれ、かつ、前記入力手段に前記変数に対応する語が入力された場合において、
前記データ検索システムは、現在検索されているメタデータの集合を保持して現在の検索を中断し、
前記メタデータ読み取り手段は、前記変数と同じ型のデータ型を含むメタデータの集合（第３のメタデータの集合）を前記メタデータ格納手段から読み取り、
前記メタデータ検索システムは、前記第３のメタデータの集合から第３の目的とするデータに対応するメタデータ（第３の特定メタデータ）を検索し、
前記第３の特定メタデータが検索された場合において、
前記リスト生成手段は、前記変数に続く候補となる語のリストを生成するよう構成され、
前記データ検索システムは、前記中断した検索を再開し、
前記メタデータ検索手段は、前記保持したメタデータの集合の中から前記第１の特定メタデータを検索するよう構成される、データ検索システム。
【請求項７】
前記メタデータ検索手段が、前記入力手段により入力された検索文に一致する内容説明文を含むメタデータを検索するよう構成されており、さらに、前記メタデータ検索手段は、前記検索したメタデータから前記インデックスを取り出すインデックス取得手段を備える、請求項１乃至６のいずれかのデータ検索システム。
【請求項８】
メタデータを使用してデータ検索を行うデータ検索方法であって、各メタデータは、各データに対応付けられていて、対応するデータのインデックスと、対応するデータの内容説明文と、対応するデータの型を含み、前記内容説明文は所定単位の語で区切られており、
前記メタデータの集合をメタデータ格納手段に格納するステップと、
前記メタデータ格納手段から前記メタデータの集合の少なくとも一部を読み取るステップと、
目的とするデータを検索するための一または複数の語からなる検索文を、その検索文を構成する語毎に順次入力するステップと、
前記語が入力される毎に、入力された語に続く候補の語として前記内容説明文のうちの対応する所定単位の語のリストを生成するステップと、
前記生成された語のリストを提示するステップと、
前記読み取られたメタデータの中から、前記入力された検索文に基づいて、前記目的とするデータに対応するメタデータを検索するステップとを含む、データ検索方法。
【請求項９】
前記内容説明文を構成する所定単位の語の少なくとも１つはデータ型を有する変数とすることができ、
現在行っている前記データ検索とは別に行う前記データ検索の結果の型が前記変数の型と同じである場合は前記別に行う前記データ検索の結果が前記変数にマッチするとみなす
ことを特徴とする請求項８のデータ検索方法。
【請求項１０】
前記変数は前記内容説明文の先頭に置かれた前記所定単位の語であり、
前記別に行う前記データ検索は現在行われている前記データ検索の直前の検索である
ことを特徴とする請求項９のデータ検索方法。
【請求項１１】
前記変数は前記内容説明文の途中に置かれた前記所定単位の語であり、
現在行われている前記データ検索に対して前記入力手段から入力する検索文中の語が前記変数に対応する位置にある時、前記別に行う前記データ検索を開始する
ことを特徴とする請求項９のデータ検索方法。
【請求項１２】
前記メタデータを検索するステップは、前記入力された検索文に一致する内容説明文を含むメタデータを検索するステップと、検索したメタデータから前記インデックスを取り出すステップを含む、請求項８乃至１１のいずれかのデータ検索方法。
【請求項１３】
データ検索方法であって、各メタデータは、各データに対応付けられていて、対応するデータのインデックスと、対応するデータの内容説明文と、対応するデータの型を含み、前記内容説明文は、少なくとも１つの所定単位の語からなる語の列であって、文頭、文中及び文末の区切りによって前記所定単位の語毎に区切られており、
ａ．前記メタデータの集合をメタデータ格納手段に格納するステップと、
ｂ．前記メタデータ格納手段から前記メタデータの集合の少なくとも一部を読み取るステップと、
ｃ．前記メタデータ格納手段から読み取った前記メタデータの集合をメタデータ表現木（第１のメタデータ表現木）で表すステップであって、前記第１のメタデータ表現木は、前記文頭の区切りに対応するノード（ルートノード）と、ルートノードの下流に位置し、前記文中または文末の区切りに対応する１または複数のノード（子ノード）と、２つのノード間を接続する辺から構成され、前記ルートノードから下流に向かって子ノードを順次接続する辺の各々は、各メタデータの内容説明文の先頭の所定単位の語から続く所定単位の語の各々に順次対応しており、内容説明文の文末の区切りに対応する子ノードには、その内容説明文を内容説明文とするメタデータが割り当てられることからなる、ステップと、
ｄ．前記第１のメタデータ表現木のルートノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、
ｅ．生成されたリストから語を選択して入力するステップと、
ｆ．前記入力された語に対応する辺をたどって１つ下流の子ノードを取得するステップと、
ｇ．前記取得した子ノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、
ｈ．前記第１のメタデータ表現木からメタデータが割り当てられている子ノードを取得するまで、前記ステップｅ．からｇ．を繰り返すステップと
を含む、データ検索方法。
【請求項１４】
メタデータは、その内容説明文の所定単位の語を所定の型を有する変数として表すことが可能である、請求項１３のデータ検索方法であって、
前記ステップｇ．のリストを生成するステップにおいて、前記変数に対応する語がそのリストに含まれ、かつ、前記ステップｅ．の語を入力するステップにおいて、前記変数に対応する語が入力された場合において、請求項１３のステップｅ．からｈ．に代えて以下のステップを実施する方法。
ｉ．前記第１のメタデータ表現木において、現在の木とノードの位置を一時的に記憶するステップと、
ｊ．前記変数の型と同じデータの型を含むメタデータの集合（第２のメタデータの集合）を前記メタデータ格納手段から読み取って、前記第２のメタデータの集合を前記メタデータ表現木（第２のメタデータ表現木）で表すステップと、
ｋ．前記第２のメタデータ表現木のルートノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、
ｌ．生成されたリストから語を選択して入力するステップと、
ｍ．前記入力された語に対応する辺をたどって１つ下流の子ノードを取得するステップと、
ｎ．前記取得した子ノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、
ｏ．前記第２のメタデータ表現木から、メタデータが割り当てられている子ノードを取得するまで、前記ステップｌ．からｎ．までを繰り返すステップと、
ｐ．前記一時的に記憶した木とノードの位置を読み出すステップと、
前記第１のメタデータ表現木について、
ｑ．前記読み出したノードの位置から前記変数に対応する辺をたどって１つ下流の子ノードを取得するステップと、
ｒ．ステップｑ．において取得された前記第１のメタデータ表現木における子ノードを請求項１３のステップｆ．において取得した子ノードとして、請求項１３のステップｇ．及びｈ．を実施するステップ。
【請求項１５】
請求項１４のステップｒ．において、メタデータが割り当てられた子ノードが取得された場合に、その子ノードに割り当てられているメタデータを提示すると共に、請求項１４のステップｏ．において取得された子ノードに割り当てられたメタデータが前記変数に対応するものであることを提示するステップをさらに含む、請求項１４のデータ検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データやサービスの利用者からの要求に基づいてデータ及びサービスを検索するための検索システム、および、検索方法に関する。
【０００２】
【従来の技術】
例えば、データやサービスを検索する場合に、データやサービスそのものの内容から検索するのは、それらが通常バイナリデータとして表されているために困難な場合が多い。そこで、データの内容を説明する情報をメタデータとして付加して、メタデータをキーワード検索することによりデータの検索を効率的に実施しようとする試みが行われている。
【０００３】
メタデータをデータの検索に利用した例が、例えば、特開２００２−１０８８９２に記載されている。この文献では、メタデータの検索を自然言語処理を用いて行っているが、自然言語処理を用いる検索には、システムにかかる負荷が重くなるため迅速な検索処理ができなかったり、ユーザが入力するすべての検索語を常に正確に認識できるわけではないために、目的とするデータを検索するのに時間がかかることがあるという欠点がある。また、特開２００２−３７３１７４には、検索者によって入力されたキーワードを構文解析して重要検索語を選ぶことによりデータを効率的に検索する構成が記載されているが、従来のキーワード検索と同様に、検索者によって入力された検索用文を構文解析して重要語と非重要語に分けて単語毎にキーワード検索を行うとともに、非重要語については辞書を使って検索システムが代替語で検索を行うことができる構成が記載されている。しかしながら、この従来技術においても、従来のキーワード検索と同様に、検索者によって入力された検索文中の語やその代替語として検索システムが提供する語に対応するキーワードが存在しない場合には、新たに適当な語を探して入力しなければならず、目的のデータを検索するのに手間がかかる場合があるいう問題がある。
【０００４】
さらにまた、従来のシステムでは、データとサービスの組み合わせが固定されており、検索者がデータとサービスを柔軟に組み合わせて検索することはできなかった。
【０００５】
【特許文献１】
特開２００２−１０８８９２号公報
【特許文献２】
特開２００２−３７３１７４号公報
【０００６】
【発明が解決しようとする課題】
上記、従来技術の問題点に鑑み、本発明は、検索者が、目的とするデータやサービス（サービスの実体はプログラムであるので、以下ではサービスのことをプログラムともいう）を効率的に検索できるようにし、また、データとプログラムを柔軟に組み合わせた検索を可能にする検索システム、および検索方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るデータ検索を行うためのデータ検索システムは、目的とするデータを検索するために、そのデータに関連付けられたメタデータの説明文を順にたどって対応するメタデータを検索するよう構成されたものであって、以下のいくつかの態様を取りうる。
【０００８】
尚、以下では、単に「データ」と記載した場合には、プログラムとプログラム以外のデータのいずれか、または、それらの両方が含まれる。ここでプログラム以外のデータとは、文書データや画像データなどのデータであり、以下では、プログラムと区別するために、静的データと記載する。
【０００９】
第１の態様は、データに対応するメタデータを格納するためのメタデータ格納手段と、検索処理手段とから構成され、検索処理手段は、メタデータ格納手段からメタデータの集合の少なくとも一部（第１のメタデータの集合）を読み取るためのメタデータ読み取り手段と、第１の目的とするデータを検索するための一または複数の語の並びである検索文を、その検索文を構成する語毎に順次入力するように構成された入力手段と、入力手段によって語が入力される毎に、内容説明文のうちの対応する所定単位の語を、入力された語に続く候補の語（候補となる語が存在する場合には少なくとも１以上ある）として語のリストを生成するリスト生成手段と、生成された語のリストを提示するためのリスト提示手段と、メタデータ読み取り手段により読み取られたメタデータの集合（上記第１のメタデータの集合）から、入力手段により入力された検索文に基づいて、上記第１の目的とするデータに対応するメタデータ（第１の特定メタデータ）を検索するメタデータ検索手段とを備える。
【００１０】
第１の態様におけるメタデータの各々は、各データに対応付けられていて、対応するデータのインデックスと、１または複数の語の並び（列）であって対応するデータの内容を表す内容説明文と、対応するデータの型（データ型）を含む。尚、データの型とは、データがプログラムの場合には、プログラムの入力（引数）の型とプログラムの出力（返値）の型であり、静的データの場合にはデータフォーマットである。この内容説明文は、単語、連語などの語句であるところの所定の単位の語（以下、所定単位の語と記載）によって区分されている。
【００１１】
第１の態様によれば、以下のような検索処理を行うことが可能となる。検索者は、入力手段を用いて、リスト提示手段により提示される語のリストから選択するか、または、直接入力することによって検索のための語（検索語）を順次入力する。リスト提示手段は、検索者によって順次入力された１または複数の語からなる検索語に応答して、内容説明文の所定単位の語を入力された語に続く候補の語としてその語のリストを検索者に提示する。検索者は、この提示された語を参照して検索語の入力を続行することができる。そして、メタデータ検索手段は、入力された検索文と内容説明文に基づいて目的とするデータに対応するメタデータを検索する。
【００１２】
候補の語の決定は、例えば、内容説明文の先頭の所定単位の語から開始して、語が入力される度に、内容説明文の順次対応する所定単位の語と入力された語とを比較し、一致した語を含む内容説明文を有するメタデータのみを保持し、保持したメタデータの内容説明文について、直前に一致した所定単位の語の次の語を候補の語とすることによって行うことができる。
【００１３】
上記の如く、第１の態様は、検索者が入力した語に対応する語を逐次検索者に提示するよう構成されており、また、メタデータの内容説明文はデータの提供者が自由に決めることができ、したがって、内容説明文は、検索者がその内容を直感的に理解可能な文とすることができるので、検索者は、そのような文を組み立てるという直感的な操作で効率よく目的とするデータを発見することができることになる。また、データの提供者にも、内容説明文を自由に決めることができることから、従来特定の語に限定されていた検索語を用いる場合に比べて、より自由に、提供するサービス（プログラム）の内容を記述できるという利点がある。
【００１４】
尚、第１の態様は、先ず、リスト生成手段が候補の語のリストを生成し、このリストから語を選択して入力手段に入力し、この入力された語に基づいて、リスト生成手段がさらに候補の語となるリストを生成する、というように、リスト生成手段によって生成された語のリストから語を選択して入力手段に入力する構成をとることもできる。この構成によれば、全ての検索語を、リスト生成手段によって生成される語のリストから選択して入力することができるので、検索者は不正確な検索語を入力するといった無駄な作業を回避することができる。
【００１５】
第２の態様は、第１の態様のデータ検索システムにおいて、内容説明文を構成する所定単位の語の少なくとも１つはデータ型を有する変数とすることができ、現在行っているデータ検索とは別に行う上記データ検索の結果の型が上記変数の型と同じである場合は上記別に行うデータ検索の結果が上記変数にマッチするとみなすよう構成されている。
【００１６】
第３の態様は、第２の態様のデータ検索システムにおいて、上記変数は上記内容説明文の先頭に置かれた所定単位の語であり、上記別に行うデータ検索は現在行われているデータ検索の直前の検索であるよう構成されている。
【００１７】
第４の態様は、第２の態様のデータ検索システムにおいて、上記変数は上記内容説明文の途中に置かれた所定単位の語であり、現在行われているデータ検索に対して入力手段から入力する検索文中の語が上記変数に対応する位置にある時、上記別に行うデータ検索を開始するよう構成されている。
【００１８】
第５の態様は、第１の態様のデータ検索システムにおいて、内容説明文が、その先頭の所定単位の語を所定のデータ型を有する変数として表すことが可能であり、データ検索システムは、上記第１の特定メタデータを保持することができるよう構成され、入力手段は、上記第１の特定メタデータの内容説明文を入力することができるよう構成され、入力手段に上記第１の特定メタデータの内容説明文が入力された場合において、メタデータ読み取り手段は、上記保持されている第１の特定メタデータに含まれるデータ型と同じ型の変数を先頭の語とする説明文を含むメタデータの集合（第２のメタデータの集合）をメタデータ格納手段から読み取り、リスト生成手段は、上記第２のメタデータの集合を構成するメタデータの内容説明文の対応する所定単位の語を、上記第１の特定メタデータの内容説明文に続く候補の語として語のリストを生成するよう構成され、メタデータ検索手段は、上記第２のメタデータの集合から、上記入力された第１の特定メタデータの内容説明文とその後に入力手段によって入力された語とからなる検索文に基づいて、第２の目的とするデータに対応するメタデータ（第２の特定メタデータ）を検索するように構成される。
【００１９】
第６の態様は、第１または５のデータ検索システムにおいて、リスト生成手段が生成する語のリストに上記変数に対応する語が含まれ、かつ、入力手段に上記変数に対応する語が入力された場合において、データ検索システムは、現在検索されているメタデータの集合を保持して現在の検索を中断し、メタデータ読み取り手段は、上記変数と同じ型のデータ型を含むメタデータの集合（第３のメタデータの集合）をメタデータ格納手段から読み取り、メタデータ検索システムは、上記第３のメタデータの集合から第３の目的とするデータに対応するメタデータ（第３の特定メタデータ）を検索し、上記第３の特定メタデータが検索された場合において、リスト生成手段は、上記変数に続く候補となる語のリストを生成するよう構成され、データ検索システムは、上記中断した検索を再開し、メタデータ検索手段は、上記保持したメタデータの集合の中から上記第１の特定メタデータを検索するよう構成される。
【００２０】
上記第２、３、４、５及び６の態様によれば、変数を介してデータを柔軟に組みあわせた検索を行うことが可能になる。
【００２１】
第７の態様は、第１乃至６のいずれかの態様のメタデータ検索手段が、入力手段により入力された検索文に一致する文を内容説明文とするメタデータを検索するよう構成されており、さらに、メタデータ検索手段は、検索したメタデータからインデックスを取り出すインデックス取得手段を備える。
【００２２】
第７の態様によれば、入力された検索文と内容説明文との一致という負荷の軽い検索処理でメタデータの検索を行うことができ、さらに、メタデータに含まれるインデックスを取り出すことにより目的とするデータにアクセスする（すなわち、データを取得したり利用する）ことが可能となるので、データの検索を効率的に実施することができる。
【００２３】
第８の態様は、メタデータを使用してデータ検索を行うためのデータの検索方法に係る発明であり、各メタデータは、各データに対応付けられていて、対応するデータのインデックスと、対応するデータの内容説明文と、対応するデータの型を含み、内容説明文は所定単位の語で区切られており、メタデータの集合をメタデータ格納手段に格納するステップと、メタデータ格納手段からメタデータの集合の少なくとも一部を読み取るステップと、目的とするデータを検索するための一または複数の語からなる検索文を、その検索文を構成する語毎に順次入力するステップと、語が入力される毎に、その順次入力された語に続く候補の語として、内容説明文のうちの対応する所定単位の語のリストを生成するステップと、生成された語のリストを提示するステップと、読み取られたメタデータの中から、入力された検索文に基づいて、目的とするデータに対応するメタデータを検索するステップとを含む。第８の態様は、第１の態様を方法に係る発明として捉えたものに相当する。
【００２４】
第９の態様は、第８の態様のデータ検索方法において、内容説明文を構成する所定単位の語の少なくとも１つはデータ型を有する変数とすることができ、現在行っているデータ検索とは別に行う上記データ検索の結果の型が上記変数の型と同じである場合は上記別に行うデータ検索の結果が上記変数にマッチするとみなすよう構成されている。第９の態様は、第２の態様を方法に係る発明として捉えたものに相当する。
【００２５】
第１０の態様は、第９の態様のデータ検索方法において、上記変数が内容説明文の先頭に置かれた所定単位の語であり、上記別に行うデータ検索は現在行われているデータ検索の直前の検索であるよう構成されている。第１０の態様は、第３の態様を方法に係る発明として捉えたものに相当する。
【００２６】
第１１の態様は、第９の態様のデータ検索方法において、上記変数は内容説明文の途中に置かれた所定単位の語であり、現在行われているデータ検索に対して入力手段から入力する検索文中の語が上記変数に対応する位置にある時、上記別に行うデータ検索を開始するよう構成されている。第１１の態様は、第４の態様を方法に係る発明として捉えたものに相当する。
【００２７】
第１２の態様は、第８乃至１１のいずれかの態様のデータ検索方法であって、上記メタデータを検索するステップが、入力された検索文に一致する内容説明文を含むメタデータを検索するステップと、検索したメタデータからインデックスを取り出すステップを含む。
【００２８】
第１３の態様は、メタデータの集合を木（メタデータ表現木）で表し、その木を利用してメタデータを検索することを特徴とするデータ検索方法であって、各メタデータは、各データに対応付けられていて、対応するデータのインデックスと、対応するデータの内容説明文と、対応するデータの型を含み、内容説明文は、少なくとも１つの所定単位の語からなる語の列であって、文頭、文中及び文末の区切りによって所定単位の語毎に区切られており、ａ．メタデータの集合をメタデータ格納手段に格納するステップと、ｂ．メタデータ格納手段からメタデータの集合の少なくとも一部を読み取るステップと、ｃ．メタデータ格納手段から読み取ったメタデータの集合をメタデータ表現木（第１のメタデータ表現木）で表すステップであって、第１のメタデータ表現木は、文頭の区切りに対応するノード（ルートノード）と、ルートノードの下流に位置し、文中または文末の区切りに対応する１または複数のノード（子ノード）と、２つのノード間を接続する辺から構成され、ルートノードから下流に向かって子ノードを順次接続する辺の各々は、各メタデータの内容説明文の先頭の所定単位の語から続く所定単位の語の各々に順次対応しており、内容説明文の文末の区切りに対応する子ノードには、その内容説明文を内容説明文とするメタデータが割り当てられることからなる、ステップと、ｄ．第１のメタデータ表現木のルートノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、ｅ．生成されたリストから語を選択して入力するステップと、ｆ．ステップｅ．で入力された語に対応する辺をたどって１つ下流の子ノードを取得するステップと、ｇ．ステップｆ．で取得した子ノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、ｈ．第１のメタデータ表現木からメタデータが割り当てられている子ノードを取得するまで、上記ステップｅ．からｇ．を繰り返すステップとを含む。
【００２９】
木構造を用いてメタデータの検索を行う第１３の態様によれば、全てのメタノードの説明文を調べるのは木構造を作成する際の一度だけで済み、語のリストを作成する際に、メタデータに含まれている説明文を逐一調べる必要がないので説明文を参照する回数が減り、メタデータの効率的な検索が可能になる。
【００３０】
第１４の態様は、第１３の態様において、メタデータが、その内容説明文の所定単位の語を所定の型を有する変数として表すことが可能であり、上記ステップｄ．またはｇ．のリストを生成するステップにおいて、上記変数に対応する語がそのリストに含まれ、かつ、上記ステップｅ．の語を入力するステップにおいて、その変数に対応するが入力された場合において、第１３の態様におけるステップｅ．からｈ．に代えて以下のステップを実施する方法である。
【００３１】
それらのステップとは、ｉ．上記第１のメタデータ表現木において、現在の木とノードの位置を一時的に記憶する（退避する）ステップと、ｊ．上記変数の型と同じデータの型を含むメタデータの集合（第２のメタデータの集合）を上記メタデータ格納手段から読み取って、上記第２のメタデータの集合をメタデータ表現木（第２のメタデータ表現木）で表すステップと、ｋ．第２のメタデータ表現木のルートノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、ｌ．生成されたリストから語を選択して入力するステップと、ｍ．ステップｌ．で入力された語に対応する辺をたどって１つ下流の子ノードを取得するステップと、ｎ．ステップｍ．で取得した子ノードから１つ下流の子ノードに向かう辺に対応する語のリストを生成するステップと、ｏ．第２のメタデータ表現木から、メタデータが割り当てられている子ノードを取得するまで、上記ステップｌ．からｎ．までを繰り返すステップと、ｐ．ステップｉ．で一時的に記憶した木とノードの位置を読み出す（復帰する）ステップと、上記第１のメタデータ表現木について、以下のステップｑ．及びｒ．を実行するステップである。ステップｑ．は、ステップｐ．で読み出したノードの位置から上記変数に対応する辺をたどって１つ下流の子ノードを取得するステップであり、ステップｒ．は、ステップｑ．において取得された第１のメタデータ表現木における子ノードを第１３の態様におけるステップｆ．において取得した子ノードとして、第１３の態様におけるステップｇ．及びｈ．を実施するステップである。
【００３２】
第１４の態様によれば、内容説明文に変数を使用することにより、データを柔軟に組みあわせた検索を行うことが可能になるだけでなく、検索者は、データの組み合わせにどのようなものがあるかを容易に知ることができる。さらに、変数の型と同じデータの型を要素として含むメタデータの中から検索するので、検索の効率が良い。
【００３３】
第１５の態様は、第１４の態様におけるステップｒ．で、メタデータが割り当てられた子ノードが取得された場合に、その子ノードに割り当てられているメタデータを提示すると共に、第１４の態様におけるステップｏ．において取得された子ノードに割り当てられたメタデータが上記変数に対応するものであることを提示するステップをさらに含む。尚、上記ステップｏ．において取得された子ノードに対応するメタデータの説明文に変数が含まれており、その変数に対応する語を選択して入力した場合は、上記ステップｉ．乃至ｒ．を同様に繰り返して検索を行うことができる。
【００３４】
【発明の実施の形態】
図１に本願発明のデータ検索システム１の構成要素の概念図を示す。データ検索システム１は、データ検索装置１０とメタデータを格納するためのメタデータ用データベース２０を構成要素として含み、図示のようにデータ検索装置１０は、メタデータ用データベース２０に通信経路ａを介して接続されている。また、データ検索装置１０を、データを格納するためのデータ用データデータベース３０に通信経路ａを介して接続することもできる。したがって、本システムを、ＬＡＮ、ＷＡＮなどの独立したネットワークシステムとして構成することも、ＬＡＮ、ＷＡＮ、またはインターネットなどの既存のネットワークシステムの一部として組み込むこともでき、通信経路ａとしては、ＬＡＮケーブル、無線または有線による公衆網など任意の既存の伝送手段を用いることができる。
【００３５】
本明細書において、データには、上記の如く、データまたはプログラムのいずれか、または、データとプログラムの両方が含まれる。尚、データは、文字などの記号の並びであり、何らかのデータフォーマット（ｐｌａｉｎ  ｔｅｘｔ（平文）  、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）のファイル形式、ＪＰＥＧファイル形式など）に従って書かれている。プログラムは、サービスを実施する関数であり、０個以上のデータ（引数）を入力とし０または１個のデータ（返値）を出力するプログラムである。データ提供者とは、データを提供する者であり、検索者とは、データを検索する者（すなわち、データ検索システム１のユーザ）である。
【００３６】
データ用データベース３０に格納されたデータは、それに対応するデータベース上のインデックス（データインデックスとも呼ぶ）を指定することにより取り出すことができる。例えばインデックスとして１を指定するとインデックス１に対応するデータＡを、インデックスとして２を指定するとインデックス２に対応するプログラムＢを取り出すことができる。データはインターネット上に分散して置かれていても良い。その場合のインデックスはＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）となる。
【００３７】
メタデータ用データベース２０は、メタデータを格納するための格納手段である。メタデータは、図４に示すように、データ用データベース３０上のインデックス、そのデータの内容説明文（以下、内容説明文を単に説明文と記載する）及び上述したデータの型から構成される。すなわち、メタデータはこれらの要素を属性としてもっており、本明細書において、メタデータがデータ型を含むとは、メタデータがそのデータ型を属性としてもっていることを意味している。図５に、メタデータの具体例を示す。説明文はデータに関連する語句として自由に記述することができ、単語などの所定単位の語で区切られている。本明細書および図面では、区切りを記号「／」で表す。どこで区切るかは、データの提供者が定めるか、または形態素解析などの手法を用いて自動的に定めても良い。
【００３８】
説明文の中には型を持った変数を含めることができる。例えばＸを変数として「Ｘ：ＨＴＭＬ／を／印刷する」という説明文を書くことができるが、この場合、Ｘ：ＨＴＭＬとは、変数Ｘが型ＨＴＭＬを持つことを意味している。すなわち、「Ｘ：ＨＴＭＬ／を／印刷する」という説明文は、「変数Ｘとして渡されたＨＴＭＬフォーマットのデータを印刷する」を表すことになる。このように変数を使用することによって、他のデータをこのプログラムへの入力とすることを表現することができる。すなわち、他のデータとこのプログラムを組合わせることが可能であることを（検索装置を通じて）検索者に示すことができる。
【００３９】
一つのデータに対して説明文の異なるメタデータを複数登録することもできる。例えば、プリントを行うある（一つの）プログラムに対して「プリンタＢ／で／Ｘ：ＨＴＭＬ／を印刷する」という説明文を持ったメタデータを登録できると同時に、「Ｘ：ＨＴＭＬ／を／プリンタＢ／で／印刷する」という説明文を持ったメタデータを登録することができる。
【００４０】
図８に示す検索者、データ検索装置、メタデータ用データベース間における検索の流れの概念図を参照して、本発明の１実施形態における検索の流れの概要を説明する。先ず、検索者がデータ検索装置１０に検索を要求する（１．検索要求）。これに応答してデータ検索装置１０は、メタデータ群（メタデータの集合）をメタデータ用データベースに要求し（２．メタデータ群要求）、メタデータ群を読み出す（３．メタデータ群返信）。データ検索装置１０は、読み出したメタデータ群に基づいて候補となる語のリストを検索者に提示し（４．語のリストを提示）、検索者は語のリストの中から語を選択して入力する（５．語を選択）。以下、目的とするメタデータが検索されるまで、上記「４．語のリストを提示」と「５．語を選択」が繰り返される。検索が終了すると検索結果が検索者に提示される（７．結果の提示）。
【００４１】
次に、データ及びメタデータの登録について、データとそれに対応するメタデータの登録手順の概念図である図２を参照して説明する。
【００４２】
データ提供者は、データ用データベース２０にデータを登録（すなわち、格納）する。これは、例えば、不図示のデータ入力装置にデータを入力し、そのデータを通信回線ａを通じてデータ用データベースに登録することにより行うことができる（１．データの登録）。データのインデックスはデータ用データベース３０により付与される。検索者は、データ入力装置を用いてデータ用データベース３０からこのインデックスを取得することができ（２．データ用データベース上のインデックス取得）、このインデックスをデータ入力装置に入力することにより、そのインデックスに対応するデータにアクセスすることも可能である。また、データベースがインターネットなどの通信網を介して接続されている場合には、パーソナルコンピュータなどの端末からデータの登録や取得（アップロードやダウンロード）を行うことが可能である。
【００４３】
次に、検索者は、不図示のメタデータ入力装置（データ入力装置と兼用してもよい）を用いて、データ用データベース３０から取得したインデックスを含んだメタデータをメタデータ用データベース２０に登録（格納）する（３．インデックスを含むメタデータの登録）。このインデックスによって、データとそれに対応するメタデータとが相互に関連付けられる。また、説明文はメタデータ用データベースに格納される際に、所定単位の語毎に区切られて格納されるものとする（以下では単語毎に区切られているものとする。但し、適当な任意の単位で区切ることができる）。例えば「カメラＡのカタログ」が目的とするデータである場合（カメラＡのカタログのデータ形式はＨＴＭＬ形式であるとする）、それに対応するメタデータは「カメラＡ／の／カタログ」（／は区切り記号）という説明文とＨＴＭＬというデータの型、および、「カメラＡのカタログ」のデータのデータ用データベースにおけるインデックスを含んでいる。
【００４４】
次にメタデータの木構造であるメタデータ表現木（以下では、単に「木」とも記載する）について図６を参照して説明する。本実施形態では、登録されたメタデータの集合は、図６に例示するような木で表される。図６に示す木において、Ｎ１乃至Ｎ１６の参照符号で示す○部がノードであり、ノード間を結ぶ線が辺である。Ｎ１がルートノードでり、その他のノード（Ｎ２〜Ｎ１６）は子ノードである。メタデータを木構造形式で表すのは、メタデータの説明文を逐次参照して検索語と比較する場合に比べて検索を効率良く実施することができるからである。木において、木の辺（枝）にはラベルがついており、そのラベルは説明文を構成する区切られた語に対応する。各説明文は木のルートノードからある子ノードに至るまでのパスに対応する。例えば「カメラＡ／の／カタログ」という説明文は、ルートノードから「カメラＡ」というラベルを持った辺、「の」というラベルを持った辺、「カタログ」というラベルを持った辺、から構成されるパスとなる（図６では、ノードＮ１、Ｎ２、Ｎ３、Ｎ４を接続する辺からなるパスである）。
【００４５】
木のノードにはメタデータの集合（空集合を含む）が割り当てられている。ノードの要素であるメタデータの説明文はルートノードからそのノードまでのパスを構成する辺のラベルを並べた文となる。ルートノードは、説明文の文頭の区切りに対応しており、子ノードは文中及び文末の区切りに対応する。すなわち、上記「カメラＡ／の／カタログ」という説明文の例をノードと対応させて書くと、「／カメラＡ／の／カタログ／」となり、この場合は、カメラＡの前の「／」が文頭の区切りであり、カタログの直後の「／」が文末の区切りである。文末の区切りに対応する子ノード（説明文の文末に対応するノード）に関連付けられた集合は１つのメタデータを要素とする集合である。図６のノードＮ４には、２つのメタデータが割り当てられているが、それらは、例えば、「カメラＡの詳しいカタログデータ」、「カメラＡの簡単なカタログデータ」を表す２つのデータにそれぞれ対応するメタデータ（メタデータ１−（１）、１−（２））である。
【００４６】
例えば、ルートノードからある子ノードまでのパスを構成する辺のラベルがルートノードから順に「カメラＡ」、「の」、「カタログ」である場合には、その子ノードに割り当てられた集合の要素は「カメラＡ／の／カタログ」を説明文として持つメタデータとなる。すなわち、そのノードまでのパスによって表される説明文を説明文とするメタデータが存在する場合に、そのノードにはそのメタデータが割り当てられており、そのノードまでのパスによって表される説明文を説明文とするメタデータが存在しない場合には、そのノードにはメタデータは割り当てられていない（空集合）ことになる。
【００４７】
図６では、文末の区切りに対応するノードＮ４、Ｎ５、Ｎ７、Ｎ１２、Ｎ１４及びＮ１６は、それぞれ、「カメラＡ／の／カタログ」、「カメラＡ／の／マニュアル」、「カメラＡ／を／買う」、「プリンタＢ／で／Ｘ：ＰＤＦ／を／印刷する」、「プリンタＢ／の／カタログ」、「プリンタＢ／の／カタログ／を／請求する」という説明文を持つメタデータを要素として持つ。それ以外のノードには空集合が対応付けられている。
【００４８】
本実施形態では、木は、データ検索装置１０によって生成されるが、データ検索装置１０とは別個に設けられた手段によって生成するようにしてもよい。
【００４９】
以下、データ検索装置１０による木の生成処理について図１１及び図１２のフローチャートを参照して説明する。（）内の数字は、図面中の処理ステップの番号を表す。
【００５０】
先ず、データ検索装置１０は、メタデータ用データベース２０からメタデータの集合を取得する（１１１０）。次にルートノードのみの木を作成する（１１２０）。次に、取得した集合にメタデータが残っているか否かを判断し（１１３０）、残っている場合には、集合からメタデータを取り出して（１１４０）、メタデータの説明文からパス（パスとは枝分かれのない木をいう）を作成する（１１５０）。パスの各ノードは語の（文頭、文末を含む）区切りに対応し、パスの辺は説明文の語をラベルとして持つ。ここで、文末に対応するノードに関連付けられた集合はメタデータを要素とする集合であり、その他のノードには空集合が対応付けられている。ステップ１１５０に続いて、作成したパスと木を合成する（ステップ１１６０）。
【００５１】
ステップ１１６０におけるパスと木の合成処理の詳細を図１２を参照して説明する。先ず、パスのルートと木のルートが同一となるように二つのパスを合成する（ステップ１２１０）。その際、同じラベルを持つ辺は同じ辺となるようにする。次に、それぞれのノードに関連付けられた集合を合成する（ステップ１２２０）。この合成は、例えば以下のような擬似コードによって行うことができる。
【００５２】
【表１】
2004280349.tif 000003
【００５３】
次に、図１１のステップ１１３０に戻り、取得した集合にメタデータが残っている場合には、ステップ１１４０〜１１６０の処理を繰り返すが、メタデータが残っていない場合、すなわち、全てのメタデータが木に組み込まれた場合には、木の生成処理を終了する。
【００５４】
次に、上記のようなメタデータ表現木を利用したデータの検索処理の概要について、データ検索装置１０の構成をより具体的に示す図３を参照して説明する。また、データ検索装置１０によって検索者に提示される検索情報の例を図７に示す。
【００５５】
図３に示す本実施形態によるデータ検索装置１０は、ユーザインターフェース部（ユーザＩ／Ｆ部）１００と検索処理部２００から構成され、ユーザＩ／Ｆ部１００は、入力部１２０、リスト提示部１４０、検索結果提示部１６０及び検索画面１８０を備えている。検索者は、検索画面１８０を介して入力部１２０に語を入力する。検索処理部２００は、さらに、入力部１２０を介して検索者により入力された語に応答して、続く語の候補のリストを生成するリスト生成部２２０と、メタデータ検索部２３０を備えている。リスト生成部２２０で生成された語のリストがリスト提示部１４０に送られ、リスト提示部１４０からの語のリストが検索画面１８０上に表示される。
【００５６】
本実施形態では、メタデータ検索部２３０は、さらに、メタデータの集合をメタデータ用データベースから読み取るためのメタデータ読み取り部２３６、読み取ったメタデータの集合から木を生成する木生成部２３２、木生成部２３２により作成された木を用いてメタデータを検索する処理（木のノードをたどるなどの処理）を行うメタデータ検索エンジン２３４、木及びノード位置を一時的に記憶するための木格納部２３８を備えている。尚、この木格納部２３８はスタック構造であるのが好ましい。データ検索装置１０は、さらに、各構成部の動作の制御及び構成部間のインターフェースの管理等の処理を行う不図示の制御部を備えており、さらにまた、メタデータ検索部２３０によって検索されたメタデータに含まれるインデックスから対応するデータを利用または取得するためのデータ取得部３００を備えることもできる。データ取得部３００には、メタデータに含まれるデータのインデックスを取得する不図示のインデックス取得手段が含まれる。データ検索装置１０からの検索者への提示は、全て検索画面１８０への表示により行われ、検索結果もまた検索結果提示部１６０を介して検索画面１８０上に表示されるものとする。
【００５７】
上記のように構成されたデータ検索装置１０は木のルートから開始して一ずつ辺の候補のメニュー、すなわち、辺に付けられたラベルを表す語のリストからなるメニューをリスト提示部１４０を介して検索者に提示する。検索者はそのリストから語を選んで入力部１２０に入力していくことで目的とするデータに対応するメタデータを得ることができる。例えば、検索者がカメラＡのカタログが欲しいときには、検索者は、提示されたリストから、「カメラＡ」、「の」、「カタログ」と順に語を選んでいくことで目的のデータに対応するメタデータにたどり着くことができる。
【００５８】
語を直接入力または選択して入力するための具体的な手段については図示していないが、例えば、検索者は、従来の入力手段であるキーボート、マウス、またはタッチパネルなどを使用して検索画面１８０上から直接入力または選択して入力を行うことができる。ここで、提示される検索結果はメタデータの集合であり、各メタデータの説明文と少なくともデータのインデックスが表示される。メタデータには、データ用データベース上のデータのインデックスが含まれているので、データ取得部３００は、特定されたメタデータのインデックスから、そのインデックスで指定されるデータをデータ用データベースから取り出すことができる。
【００５９】
リスト生成部２２０は、検索者に提示する語が変数（Ｘとする）の場合には「他のデータを検索」という項目をメニューに追加して、リスト提示部１４０を介して検索者に提示する。これにより、検索者には、現在検索されているメタデータに対応するデータ（プログラム）を他のデータと組みあわせる（つまり、現在検索されているプログラムに入力できる）ことができるということがわかる。検索処理部２００は、検索者が「他のデータを検索」という項目を選んで入力部１２０に入力した場合には現在の検索処理を一旦中断し、新規にメタデータの検索を開始する。ただし、新規の検索では変数Ｘの型に当てはまるメタデータのみを検索の対象とする。つまり、データが静的データの場合にはＸと同じ型をデータ型として含むメタデータのみを検索の対象とし、プログラムの場合にはＸと同じ出力の型をデータ型として含むメタデータのみを検索の対象とする。この場合、検索処理部２００は、変数Ｘと同じデータ型を含む（すなわち、変数Ｘと同じ型のデータに対応する）メタデータの集合をメタデータデータベース２０から読み出して、そのメタデータの集合からなる木を新たに生成し、この木を利用して検索を実施する。尚、変数は複数あってもよく（すなわち、１つのノードから下流のノードに向かう複数の辺にそれぞれ変数が付けられていてもよく）、この場合には、それぞれの変数と同じ型を含むメタデータをメタデータ用データベース２０から読み出し、以下同様に木を生成して検索が行われる。新たに生成した木を利用した検索が終了したら中断した検索処理、すなわち、元の木に戻って検索を再開する。
【００６０】
このように、変数Ｘを利用することにより、ある説明文を持つメタデータに対応するデータと、他の説明文を持つメタデータに対応するデータの組合せ検索が可能となり、さらに変数Ｘに型を持たせることにより、組み合わせることができないデータ同士を組み合わせるという無駄な処理を省くことができる。例えば、ＨＴＭＬフォーマットの表示のみをサポートしているアプリケーションにＰＤＦフォーマットのデータを渡すことがなく、プリンタで印刷を行うプログラムにプリンタがサポートしていない形式の画像データ等を印刷させるようなこともなくなる。
【００６１】
リスト生成部２２０がリスト提示部１４０を介して提供する語のリストの中に適切な語がなかった場合には、一語ずつ語を遡って検索をやり直すこともできる。この場合、検索者は、例えば、検索画面１８０の「戻る」というアイコン（図７）をクリックすることによって１語前の語の表示状態に戻ることができる。
【００６２】
次に、図９〜１５のフローチャートを参照して、本発明の１実施形態の検索システムによる検索の処理の流れをより具体的に説明する。尚、（）内の数字は、図面に記載した処理ステップの番号である。
【００６３】
以下では、検索者は、リスト生成部２２０によって生成されて、リスト提示部１４０を介して検索画面１８０に表示された語のリストから語を選択して入力するものとする。先ず、図９のステップ９１０で、検索処理部２００が（具体的には、不図示の制御部による指示にしたがってメタデータ読み取り部２３６が）、メタデータ用データベースからメタデータを取得する際にフィルタを設定する。本実施形態のフィルタは、上記のようにフィルタリングを行わない「フィルタ無し」とする設定、すなわち、すべてのメタデータを通す設定（第１のフィルタ設定）、特定のデータの型を含むメタデータのみを通す設定であって、静的データの場合には、その特定のデータフォーマットのもののみを通し、プログラムの場合には、出力の型がその特定の型であるもののみを通す設定（第２のフィルタ設定）、説明文の先頭の語が変数であって、かつ、その変数の型が特定のデータ型であるメタデータのみを通す設定（第３のフィルタ設定）、の３通りに設定することができる。ステップ９１０では、メタデータ用データベースにあるすべてのメタデータを取得するために第１のフィルタ設定にする。
【００６４】
次に、データ検索装置１０は、図９のステップ９２０で示す検索処理を開始する。検索処理の処理手順は、図１０のフローチャートにより詳しく示されている。
【００６５】
検索処理部２００のメタデータ読み取り部２３６は、上述のいずれかに適宜設定されたフィルタを通過するメタデータのみを取得する（１０１０）。
【００６６】
次に、木生成部２３２が、取得したメタデータの集合から木を生成する（１０２０）。検索処理部２００は、生成された木のルートノードに移動する（１０３０）。リスト生成部２２０は、１つ下流の子ノードに向かう辺に付されたラベル、すなわち、説明文の先頭の語のリストからなるメニューを作成し、リスト提示部１４０を介してそのメニューを検索者に提示する（１０４０）。検索者は、入力部１２０に、提示されたリストから所望の語（項目）を選択して入力する（１０５０）。尚、ステップ１０４０におけるメニューの作成及び提示処理については、図１３を参照して後でより詳しく説明する。
【００６７】
データ検索装置１０は、図１０の１０６０における入力の処理において、検索者によって入力された語に応答して、検索結果を表示したり、入力された語に続く候補となる語のリストからなるメニューを検索者に提示するなどの処理を行う。この入力の処理については、図１４を参照して後でより詳しく説明する。
【００６８】
ステップ１０７０において検索処理部２００は、検索の終了を確認すると、検索画面１８０上に検索結果を表示する（１０８０）が、検索がまだ終了していない場合には、ステップ１０４０に戻って処理を続行する。
【００６９】
次に図１３を参照してデータ検索装置１０によるメニューの作成および提示処理について説明する。まず、リスト生成部２２０は、現在のノードから下流にある子ノードへの辺のラベルを項目とするメニューを作成する。ラベルが変数の場合には、「他のデータの検索」という項目をメニューに追加して、リスト提示部１４０を介して検索画面１８０に表示する（１３１０）。
【００７０】
次に、検索処理部２００（のメタデータ検索エンジン２３４）は、現在のノードにメタデータが割り当てられているかどうかを判断する（１３２０）。現在のノードにメタデータが割り当てられている場合には、リスト生成部２２０は、「結果を表示」と「結果を利用して検索を続ける」という項目をメニューに追加し（１３３０）、リスト提示部１４０は、検索者にそのメニューを提示する（１３４０）。現在のノードにメタデータが割り当てられていない場合には、検索処理部１０は、ステップ１３３０をスキップしてステップ１３４０に進み、ステップ１３４０で作成したメニューを提示する。ステップ１３１０を実施した後、「メニューの作成及び提示処理」を抜ける。
【００７１】
次に、図１４を参照してデータ検索装置１０による入力の処理について説明する。
【００７２】
検索処理部２００は、図１０のステップ１０５０のメニュー項目の選択入力において入力部１２０に検索者によって選択され入力された項目（語）が、図１３のステップ１３３０においてリスト生成部２２により作成された「結果を表示」か「結果を利用して検索を続ける」であるか否かを判断し（１４１０、１４２０）、「結果を表示」が入力された場合には、検索結果を検索画面１８０上に表示し、検索を終了（具体的には、検索終了フラグをセットする）して（１４６０）入力の処理を抜ける。尚、ステップ１４６０において、メタデータが割り当てられているノードが取得されている場合に、さらに検索を継続するか否かを検索者に提示し、検索者が検索を終了する旨の指示を出した場合は検索を終了し、検索者が検索を継続する旨の指示を出した場合には、さらに、そのノードに割り当てられたメタデータの説明文を要素として含む説明文を説明文とするメタデータについて検索処理（図６では、ノードＮ１４のさらに下流のノードをたどる処理に対応）を実施するようにすることもできる。
【００７３】
検索処理部２００は、検索者によって入力された項目が「結果を利用して検索を続ける」の場合には、現在のノードに割り当てられているメタデータを不図示の記憶部（メモリ）に記憶する（１４３０）。メタデータ読み取り部２３６は、記憶したメタデータに含まれるデータの型（静的データの場合はその値の型であり、プログラムの場合は返値、すなわち出力の型である）と同じ型の変数を説明文の先頭に持つもののみを通すフィルタを設定し（すなわち、第３のフィルタ設定を行い）（１４４０）、このフィルタを通過するメタデータのみを取得する。この取得したメタデータについて、上述した図１０に示す検索処理を実施し（１４５０）、検索終了フラグをセットして（１４６０）、入力の処理を抜ける。
【００７４】
検索処理部２００は、検索者によって入力された項目が「結果を表示」および「結果を利用して検索を続ける」のいずれでもない場合には、以下で説明するラベル選択処理を実施し（１４７０）、その後、入力の処理を抜ける。
【００７５】
このラベル選択処理について図１５のフローチャートを参照して説明する。先ず、検索処理部２００は、「他のデータを検索」という項目が検索者によって選択されたか否かを判断し（１５１０）、選択されなかった場合には、他の選択された項目に対応する辺をたどって子ノードに移動する（１５９０）。その後、ラベル選択処理を抜ける。
【００７６】
「他のデータを検索」という項目が選択された場合には、検索処理部２００は、子ノードへの辺のラベルとなっている変数の型（型は複数でもよい）を不図示の記憶部（メモリ）に記憶し（１５２０）、現在の木とノードの位置を木格納部２３８に退避し（１５３０）、入れ子になった別の検索を行ってその結果を取り込む。
【００７７】
すなわち、検索処理部２００のメタデータ読み取り部２３６は、ステップ１５２０で記憶した変数の型と同じデータの型を含むメタデータのみを通すフィルタを設定し（すなわち、上記第２のフィルタ設定を行い）（１５４０）、このフィルタを通過するメタデータのみを取得する。この取得したメタデータについて上述した図１０に示す検索処理が行われる（１５５０）。次に、検索処理部２００は、検索処理で得られた検索結果（メタデータ）を不図示の記憶部（メモリ）に記憶し（１５６０）、ステップ１５３０で退避した木とノードの位置を木格納部２３８から取り出すことにより、入れ子の外側の検索へ復帰する（１５７０）。この復帰処理によって、退避前の木のノード位置に戻ることができる。そして、復帰した木のノードから上記変数をラベルとする辺をたどって子ノードに移動する（１５８０）。すなわち、ステップ１５６０で記憶した検索結果において示されるメタデータに含まれているデータの型と同じ型を持つ辺をたどって子ノードに移動する。上記変数には、ステップ１５６０で検索されたメタデータの説明文が対応付けられる。ステップ１５８０を実施した後、ラベル選択処理を抜ける。
【００７８】
次に、データとメタデータをデータベースに登録する具体的な手順と、上記検索処理に従った検索手順の具体例を説明する。
【００７９】
以下の例では、データはインターネット上のデータベースに格納されるものとし、対応するメタデータは、インターネット上の別のデータベースに格納されるものとするが、データとそれに対応するメタデータを同一のデータベースに格納するようにしてもよい。また、メタデータは、データのインデックス、説明文、データの型から構成されているものとする。
【００８０】
先ず、データの登録の手順の具体例を説明する。以下で、ＵＲＬ１、ＵＲＬ２、ＵＲＬ３、ＵＲＬ４はデータのインデックスであり、それぞれ異なる４つのある特定のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を表している。また、ＰＤＦ、ＤＯＣ、ＨＴＭＬ、ＶＯＩＤはデータの型であり、ＰＤＦはＰｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔの略称でＡｄｏｂｅ  Ａｃｒｏｂａｔ（登録商標）で用いられるファイルフォーマットである。ＤＯＣはＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）で用いられるファイルフォーマットであり、ＨＴＭＬは、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略称でＷｅｂページを記述するための言語フォーマット、ＶＯＩＤとはプログラムの入力または返値（出力）の型であり、入力がＶＯＩＤ型の場合はプログラムが入力を持たず、出力がＶＯＩＤ型の場合はプログラムは返値（出力）を持たない。
【００８１】
以下の手順１）〜１１）は、データ提供者が行うが、これは、例えば、所定のデータ入力端末を操作することによって行うことができる。
１）カメラＡのカタログ（ＰＤＦ形式のデータ）を  ＵＲＬ１  に置く。
２）ＵＲＬ１、「カメラＡ／の／カタログ」、ＰＤＦ形式、というメタデータをメタデータ用データベースに格納する。
３）カメラＡのマニュアル（ＤＯＣ形式のデータ）をＵＲＬ２に置く。
４）ＵＲＬ２、「カメラＡ／の／マニュアル」、ＤＯＣ形式、というメタデータをメタデータ用データベースに格納する。
５）カメラＡのオンラインショップ（プログラム）をＵＲＬ３に置く。
【００８２】
６）ＵＲＬ３、「カメラＡ／を／販売する店」、ＨＴＭＬ形式、というメタデータをメタデータ用データベースに格納する。
７）プリンタＢで印刷するプログラムをＵＲＬ４に置く。
８）ＵＲＬ４、「プリンタＢ／で／Ｘ：ＰＤＦ／を／印刷する」、入力  ＰＤＦ、出力ＶＯＩＤ、というメタデータをメタデータ用データベースに格納する。ここで、入力  ＰＤＦ、出力ＶＯＩＤとは、このメタデータに対応するデータが、ＰＤＦファイル形式のデータを入力とし、返値を持たない（すなわち値を返さない）プログラムであることを意味する。
９）ＵＲＬ４、「Ｘ：ＰＤＦ／を／印刷する」、入力ＰＤＦ、出力ＶＯＩＤ、というメタデータをメタデータ用データベースに格納する。
１０）プリンタＢのマニュアル（ＰＤＦ形式のデータ）をＵＲＬ５に置く。
１１）ＵＲＬ５、「プリンタＢ／の／マニュアル」、ＰＤＦ形式、というメタデータをメタデータ用データベースに格納する。
【００８３】
以上の手順により、「カメラＡのカタログ」、「カメラＡのマニュアル」、「カメラＡのオンラインショップ」、「プリンタＢのマニュアル」の静的データがデータ用データベースのＵＲＬ１、ＵＲＬ２、ＵＲＬ３、ＵＲＬ５で特定される領域に、「プリンタＢで印刷する」というプログラムが、データ用データベース３０のＵＲＬ４で特定される領域にそれぞれ格納され、それらに対応するメタデータが、メタデータ用データベース２０の所定の領域に格納される。尚、この例では、「プリンタＢで印刷するプログラム」というデータに対して、「プリンタＢ／で／Ｘ：ＰＤＦ／を／印刷する」と「Ｘ：ＰＤＦ／を／印刷する」という説明文を含む２つのメタデータが登録されている。
【００８４】
以下、上記のようにデータおよびメタデータが登録されている状態で、目的とするデータに対応するメタデータを検索する手順の具体例を２つ説明する。
「検索手順例１」
これは、検索者が「カメラＡのカタログを印刷する」というプログラムを検索する場合の手順である。この手順において検索画面１８０により、検索者に表示される画面情報の概略を図７に示す。図７では、「カメラＡのカタログを印刷する」というプログラム（サービス）に対応するメタデータを検索して表示するまでの画面表示をａ〜ｈに例示している。尚、テキスト入力ボックスは、検索者が検索語を入力するためのボックスであるが、オプションであり必要な場合に設けることができる。
【００８５】
１）検索者が、データ検索装置１０のユーザＩ／Ｆ部を介して（例えば、検索画面に表示された不図示の開始ボタンをクリックすることにより）データ検索装置１０に検索開始の指示を出すことにより、検索が開始される。
２）データ検索装置１０は、メタデータ用データベース２０からメタデータをすべて取得する。
３）データ検索装置１０は、メタデータの説明文から先に説明した木を作成する。
４）データ検索装置１０は、木のルートノードに移動して、ルートノードから出ている辺についているラベルを項目とするリストを作り、検索者にメニューとして提示する（図７のａ）。
５）検索者は提示されたメニューから「カメラＡ」を選ぶ。
【００８６】
６）データ検索装置１０は、「カメラＡ」という語のラベルがついた辺をたどって、次のノードにたどり着く。
７）データ検索装置１０は、現在のノードの子ノードへの辺を調べ、それらの辺についたラベル（語）を項目とするリストを作成する。この例の場合「の」と「を」という語の項目からなるリストとなる。
８）データ検索装置１０は、生成したリストをメニューとして検索者に提示する（図７のｂ）。
９）検索者は提示されたメニューから「の」を選ぶ。
１０）データ検索装置１０は、現在保持しているメタデータの説明文の３個目の語のリストからなるメニューを生成する。この例の場合「マニュアル」と「カタログ」という語の項目からなるリストとなる（図７のｃ）
１１）検索者は「カタログ」を選ぶ。
１２）データ検索装置１０は、「カタログ」というラベルがついた辺をたどって子ノードへ移動する。
１３）データ検索装置１０は、到達したノードがメタデータを持っている（すなわち、そのノードにメタデータが割り当てられている）ことからここが説明文の終わりであり得ることを検知し、「結果を表示」という項目を持つメニューを生成する。この場合、到達したノードには、「カメラＡ／の／カタログ」という説明文を有するメタデータが割り当てられている。なお、この例では到達したところのメタデータを持っているノード（図６で言えばノードＮ４）は木の末端のノードであって、説明文は必ずここで終わる。しかし、図６のノードＮ１４のように、そのようなノードで終わっている説明文とその先へ続く説明文が重なっていて、検索者が選択するようになっている場合もあることに注意されたい。上で、「説明文の終わりであり得る」と記載しているのはその意味である。
１４）またデータ検索装置１０は、そのメタデータに含まれるデータの型（プログラムの出力の型）がＶＯＩＤ型でないこと、すなわち、そのデータ（プログラム）が値を返すものであることを検知し、変数Ｘを説明文の先頭に持つメタデータがメタデータ用データベースに存在する場合には「結果を利用して検索を続ける」という項目をメニューに付け加える。存在しない場合には、「結果を利用して検索を続ける」という項目をメニューに付け加えることはせず、以下の手順をスキップし、検索画面１８０に対応するデータが存在しない旨を表示する。
１５）データ検索装置１０は、作成したメニューを検索者に提示する（図７のｄ）。
【００８７】
１６）検索者は「結果を利用して検索を続ける」を選ぶ。尚、ここで、検索者が「結果を表示」を選択した場合には、検索画面には、上記手順１３）で到達したノードに割り当てられているメタデータが表示されることになる。
１７）データ検索装置１０は、現在のノードに割り当てられているメタデータ（これは、「カメラＡ／の／カタログ」という説明文を有する）を記憶し、この検索結果を使って以下の様にして次の検索を行う。
１８）データ検索装置１０は、記憶したメタデータに記載されたデータの型を調べ、その型の変数を説明文の先頭に持つメタデータをメタデータ用データベースから取得して、上述した木を作る。直前の検索結果のメタデータにより、「カメラＡのカタログ」の型がＰＤＦであることが示されているとする。この場合、変数の型としてＰＤＦを選ぶ。この例の場合、ＰＤＦを型とする変数を先頭に持つ説明文は「Ｘ：ＰＤＦ／を／印刷する」だけである。このようにして作成した木のルートに付いている唯一の辺Ｘ：ＰＤＦは当然直前の検索結果にマッチするので、データ検索装置１０はこの辺をたどって次のノードへ進む。
１９）当該次のノード上でデータ検索装置１０はそこに付いている辺を調べ、それらのラベルとなっている語のリストを生成し、メニューに加える。この例では「を」となる（図７のｅ）。
２０）データ検索装置１０は、検索者が続く語として「を」を選んだ場合には、「カメラＡ／の／カタログ」という説明文を持つ上記手順１７）で記憶したメタデータに対応するデータの型が変数Ｘと同じ型であることを記憶する。またデータ検索装置１０は、「を」をラベルとして持つ辺をたどって次の子ノードに移動する。
【００８８】
２１）手順２０で移動した現在の子ノードから次の子ノードへの辺を調べ、それらのラベルを項目とするリストを作成する。この例ではリストの項目は「印刷する」となる（図７のｆ）。
２２）データ検索装置１０は、生成したリストをメニューとして検索者に提示する。
２３）検索者は提示されたメニューから「印刷する」を選ぶ。
２４）データ検索装置は「印刷する」というラベルがついた辺をたどって次の子ノードへ移動する。
２５）データ検索装置１０は、メタデータの説明文の終わりを検知し、「結果を表示」を項目として持つメニューを生成する。これ以上たどる辺がないので、データ検索装置１０は他の項目をメニューに付け加えることはしない。
【００８９】
２６）データ検索装置１０は生成したメニューを検索者に提示する。（図７のｇ）
２７）検索者は「結果を表示」を選ぶ。
２８）データ検索装置１０は現在のノードが持つメタデータを検索者に提示する。また、上記手順１７）で記憶したメタデータがＸに対応するものである旨の注釈も併せて検索者に提示する（図７のｈ）。この時点で、検索者は、メタデータに含まれるインデックスからデータ取得部３００を介して目的とするプログラムを利用または取得することができることになる。
【００９０】
「検索手順例２」
これは、検索者が、「プリンタＢでカメラＡのカタログを印刷する」という、プログラムと静的データの組み合わせを検索する場合の手順である。尚、検索手順例１の手順１）〜４）までは、本手順においても同じである。
１）〜４）検索手順例１と同様。
５）検索者は提示されたメニューから「プリンタＢ」を選ぶ。
【００９１】
６）データ検索装置１０は、「プリンタＢ」というラベルがついている辺をたどって、次の子のノードにたどり着く。
７）データ検索装置１０は、手順６）で到達した現在の子ノードから次の子ノードへの辺を調べ、それらのラベルとなっている語のリストを生成する。この例の場合「で」と「の」という語の項目からなるリストとなる。
８）データ検索装置１０は生成したリストを検索者にメニューとして提示する。
９）検索者は提示されたメニューから「で」を選ぶ。
１０）データ検索装置１０は、「で」とついたラベルをたどって、子ノードへ移動する。
【００９２】
１１）データ検索装置１０は、手順１０）で移動した現在の子ノードから次の子ノードへの辺を調べ、それらのラベルとなっている語のリストを作成する。この例では、「で」の次に候補となる語が変数Ｘなので「他のデータを検索」がリストの項目となる。
１２）データ検索装置１０は、生成したリストのメニューを検索者に提示する。
１３）検索者は提示されたメニューから「他のデータを検索」を選ぶ。
１４）データ検索装置１０は、木と現在のノードの位置を退避し、以下のように新たな検索（これまで行ってきた検索に対して入れ子になった検索）を開始する。
１５）変数Ｘの型がＰＤＦであるので、データ検索装置１０は、静的データのデータ型およびプログラムの出力の型がＰＤＦであるメタデータをメタデータ用データベースから取得して新たに木を作成する。
【００９３】
１６）データ検索装置１０は、手順１５）で作成した木のルートから出ている辺を調べ、それらのラベルとなっている語のリストを作成する。この例の場合は、ＰＤＦのデータ型を含むメタデータの説明文の先頭の語は、「カメラＡ」と「プリンタＢ」であるので、「カメラＡ」と「プリンタＢ」という語の項目からなるリストとなる。
１７）データ検索装置１０は、生成したリストをメニューとして検索者に提示する。
１８）検索者はメニューから「カメラＡ」を選ぶ。
１９）データ検索装置１０は、「カメラＡ」をラベルとする辺をたどって子ノードへ移動する。
２０）データ検索装置１０は、現在のノードから子ノードへの辺を調べ、それらのラベルとなっている語のリストを生成して、それを検索者に提示する。
【００９４】
２１）検索者は「の」に続き「カタログ」を選ぶ。
２２）データ検索装置１０は、メタデータの説明文の終わりを検知し、このメタデータを記憶すると共に、このメタデータに対応するデータの型はＸの型と同じであることを記憶しておく。
２３）データ検索装置１０は入れ子の内側の検索を終了し、退避した木と現在のノードへ復帰する。
２４）入れ子の内側の検索結果は復帰した現在のノードから出ているところの変数Ｘが付いている辺にマッチするので、データ検索装置１０は当該辺をたどって子ノードに移動し、その子ノードから出ている子ノードへの辺を調べ、それらのラベルとなっている語のリストを生成し、検索者にメニューとして提示する。今の例では、語のリストとして「を」を生成して次の手順２５）に進むが、移動した子ノードが現在たどっている説明文の文末に対応するノードではない場合には、その文末に対応するノードに到達するまで、次の子ノードを調べて、語のリストを生成し、メニューとして提示するという上記処理が繰り返される。これは、手順２７）においても同様である。
２５）検索者は「を」に続いて「印刷する」を選ぶ。
【００９５】
２６）データ検索装置１０は「印刷する」というラベルを持つ辺をたどって子ノードへ移動する。
２７）データ検索装置１０は、手順２６）で移動した子ノードにメタデータが割り当てられていることを検知し、「結果を表示」という項目を持つリストを生成し、検索者にメニューとして提示する。
２８）検索者は「結果を表示」を選ぶ。
２９）データ検索装置１０はノードに割り当てられているメタデータを検索者に提示する。また手順２２）で記憶したメタデータがＸに対応するものである（すなわち、メタデータに対応するデータの型がＸの型と同じである）旨の注釈も併せて提示する。
【００９６】
尚、検索されたメタデータに複数の変数が含まれていた場合には、その各変数とメタデータの対応関係も表示する。例えば、検索されたメタデータの説明文が「プリンタＢ／で／Ｘ：ＰＤＦ／と／Ｙ：ＰＤＦ／を／印刷する」であり、「カメラＡ／の／カタログ」、「カメラＡ／の／仕様」という説明文がそれぞれ変数Ｘ、Ｙに対応付けられている場合には、「プリンタＢ／で／Ｘ：ＰＤＦ／と／Ｙ：ＰＤＦ／を／印刷する」というメタデータとと共に、変数Ｘ、Ｙにそれぞれ「カメラＡ／の／カタログ」、「カメラＡ／の／仕様」という説明文を持つメタデータが対応することも表示される。
【００９７】
１実施形態におけるデータ検索装置１０の動作を説明したが、以下のように動作するようデータ検索装置１０を構成することもできる。
【００９８】
データ検索装置１０は、語のリストを検索者に提示する際、その並びの順番を適切に変更するようにしてもよい。具体的な方法としては、データ検索装置１０が、入力された語及びその頻度などの検索履歴を保持しておき、入力された頻度の高い語の順にメニューの先頭から配置することなどが考えられる。このようにすれば、検索者の検索効率の向上を図ることができる。
【００９９】
検索装置１０は、語の同義性を内蔵の辞書に記載しておき、検索者に提示するリストに同じ意味の語を追加するようにしてもよい。例えば、「印刷する」は、「プリントする」と同義であるので、これら２つの語をリストに含めることができ、これにより、検索者は、「印刷する」または「プリントする」のいずれを選択した場合でも同じプログラムを検索することができるので、より簡単かつ迅速に目的とするプログラムを発見することできるようになる。
【０１００】
検索装置１０は、語の意味の包含関係を内蔵する辞書に登録し、包含関係にある語を、検索者に提示する語のリストに追加するという機能を有するものであってもよい。例としては、予め、「カメラＡ（具体的なカメラの機種名）はカメラ（一般名詞）に含まれる」とデータ検索装置１０内の辞書に記載しておく。この場合、「カメラＡ」が語のリストにある場合には「カメラ」も提示する語のリストに含めるようにし、また、検索者が最初に入力する語が「カメラ」であったならば「カメラＡ」を説明文の先頭に持つメタデータをメタデータ用データベースから取得するようにしてもよい。
【０１０１】
検索装置１０のユーザＩ／Ｆ部に含まれる入力部は、検索者が語をメニューから選ぶ代りに、検索者が語を直接入力できる構成であってもよく、また、メニューからの選択と直接入力のいずれかを選択して入力できる構成であってもよい。また、入力部が後者のように構成されている場合において、検索装置１０は、検索者に提示する語の候補の数が多いときに、検索者が語を直接入力するように入力部に指示するよう構成されたものであってもよい。直接入力は、例えば図７に示すテキスト入力ボックスに検索語を入力し、「ＯＫ」をクリックすることにより行うことができる。
【０１０２】
検索装置１０は、語順の並べ替えが可能であるという付加情報を説明文に付ける機能を有することもできる。例えば「Ｘ：ＨＴＭＬ／を／プリンタＢ／で／印刷する」という説明文に対して「Ｘ：ＨＴＭＬ／を」と「プリンタＢ／で」は並べ替え（交換）可能であるという付加情報をつけることができる。それによって、データ提供者は、「プリンタＢ／で／Ｘ：ＨＴＭＬ／を／印刷する」という説明文を持つメタデータを改めて登録せずに済むことになる。
【０１０３】
また、上記実施形態では、メタデータ表現木は、データ検索装置１０内の木生成部２３２により生成されるとしたが、メタデータ用データベースがメタデータ表現木を予めメタデータ用データベース上に生成する構成としてもよい。この場合は、メタデータ用データベースにメタデータを登録する際にメタデータ表現木を作成しておけば、この木を繰り返し利用できる。このような構成を取る場合には、メタデータ用データベースにメタデータを追加、削除する際に、メタデータ表現木も修正したり、あるいは作り直す。また、データ検索装置１０内の木生成部２３２でメタデータ表現木を生成する場合でも、検索の都度メタデータ表現木を生成してもよいし、あるいは最初１回だけ生成してその後はこのようにして生成した木を再利用してもよい。後者の場合、メタデータ用データベースへのメタデータの追加、削除があった場合に、そのような追加、修正の通知を当該データベース等から受け取って、メタデータ表現木の修正、あるいは作り直しを行う。更に、第２、第３のフィルタ設定によってメタデータを読み出して新たに部分木を生成する代りに、既に生成されているメタデータ表現木から辺を削除するなどして部分木を生成したり、あるいは既に生成されているメタデータ表現木をそのまま使用するが、その代わり、フィルタリング条件に合致しない辺をたどらない様に（また、その辺だけ見ると条件に合致しないというわけではないが、先をどのようにたどって行っても結局は条件に合致するパスが存在しないというような辺も排除するように）辺に属性を設定するなどの多様な変形が可能である。
【０１０４】
【発明の効果】
本発明によれば、提示された語群を参照しながら検索のための自然な文を作成するという直感的な方法で効率よく目的とするデータの検索を行うことが可能となる。また、複数のデータを柔軟に組みあわせた検索も可能になる。
【図面の簡単な説明】
【図１】本発明の１実施形態によるデータ検索システムの構成を示す概念図である。
【図２】本発明の１実施形態によるデータ及びメタデータを登録する手順の概要を示す。
【図３】本発明の１実施形態によるデータ検索装置の構成ブロックを示す図である。
【図４】本発明の１実施形態によるメタデータの形式を示す。
【図５】本発明の１実施形態によるメタデータの１例である。
【図６】本発明の１実施形態によるメタデータ表現木の例を示す図である。
【図７】本発明の１実施形態による検索処理における検索画面の表示の例を示す図である。
【図８】本発明の１実施形態による検索の流れを示す概念図である。
【図９】本発明の１実施形態による検索システムが実施する手順を示す最上位のフローチャートである。
【図１０】図９の「検索処理」の手順を示すフローチャートである。
【図１１】図１０の「木の生成処理」の手順を示すフローチャートである。
【図１２】図１１の「作成したパスと木の合成処理」の手順を示すフローチャートである。
【図１３】図１０の「メニューの作成及び提示処理」の手順を示すフローチャートである。
【図１４】図１０の「入力の処理」の手順を示すフローチャートである。
【図１５】図１４の「ラベル選択処理」の手順を示すフローチャートである。
【符号の説明】
１０  データ検索装置
２０  メタデータ用データベース
３０  データ用データベース
１００  ユーザＩ／Ｆ部
１２０  入力部
１４０  リスト提示部
２００  検索処理部
２２０  リスト生成部
２３０  メタデータ検索部
２３２  木生成部
２３４  メタデータ検索エンジン
２３６  メタデータ読み取り部
３００  データ取得部
【図１】
2004280349.tif 000004
【図２】
2004280349.tif 000005
【図３】
2004280349.tif 000006
【図４】
2004280349.tif 000007
【図５】
2004280349.tif 000008
【図６】
2004280349.tif 000009
【図７】
2004280349.tif 000010
【図８】
2004280349.tif 000011
【図９】
2004280349.tif 000012
【図１０】
2004280349.tif 000013
【図１１】
2004280349.tif 000014
【図１２】
2004280349.tif 000015
【図１３】
2004280349.tif 000016
【図１４】
2004280349.tif 000017
【図１５】
2004280349.tif 000018