(57)【要約】【課題】データ項目間の主従関係を表現可能ではあるが、論理関係の記述の仕方は規定されていないような記述言語を検索キー情報の作成に用いながらも、データ項目（検索項目）間の論理関係の条件を満たす情報を検索可能とする。【解決手段】ツリー構造によりデータ項目間の主従関係を表現可能な記述言語において、このツリー構造のパターンに対応させて論理関係を割り当てるようにして定義を行うことで、ツリー構造としての表現により論理関係を表現することを可能とする。そして、このような記述言語によって、検索キー情報を作成するように構成する。【選択図】        図１１
2004157752.tif 000002
【特許請求の範囲】
【請求項１】
検索対象の情報を蓄積する蓄積手段と、
複数の情報項目の関係をツリー構造として表現可能な記述言語により記述され、これら複数の情報項目についての論理関係を、上記ツリー構造における複数の情報項目の位置関係により表現した内容を有する検索キー情報を入力する入力手段と、
上記入力手段により入力された検索キー情報を解釈して、上記複数の情報項目についての論理関係を認識し、この認識した複数の情報項目の論理関係を満たすとされる情報を上記蓄積手段から検索する検索手段と、
を備えることを特徴とする検索装置。
【請求項２】
複数の情報項目の関係をツリー構造として表現可能な記述言語により記述され、これら複数の情報項目についての論理関係を、上記ツリー構造における複数の情報項目の位置関係により表現した内容を有する検索キー情報を入力する入力手順と、
上記入力手順により入力した検索キー情報を解釈して、上記複数の情報項目についての論理関係を認識し、この認識した複数の情報項目の論理関係を満たすとされる情報を、検索対象の情報が蓄積されている蓄積手段から検索する検索手順と、
を実行することを特徴とする検索方法。
【請求項３】
上記記述言語は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）であることを特徴とする請求項２に記載の検索方法。
【請求項４】
複数の情報項目の関係をツリー構造として表現可能な記述言語により記述され、これら複数の情報項目についての論理関係を、上記ツリー構造における複数の情報項目の位置関係により表現した内容を有する検索キー情報を入力する入力手順と、
上記入力手順により入力した検索キー情報を解釈して、上記複数の情報項目についての論理関係を認識し、この認識した複数の情報項目の論理関係を満たすとされる情報を、検索対象の情報が蓄積されている蓄積手段から検索する検索手順と、
を検索装置に実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばデータベースを検索するための検索装置及びその方法と、このような検索装置が実行すべきプログラムに関する。
【０００２】
【従来の技術】
データ記述言語の１つとして、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が知られている（例えば非特許文献１参照）。
周知のように、ＸＭＬでは、要素（ｅｌｅｍｅｎｔ）というデータ項目の単位の集合により文書が形成され、また、各要素の内容をタグによって表すものとしている。ＸＭＬにおいて、このタグは、任意に定義することができる。これに対して、例えばＨＴＭＬでは、このタグが固定的となる。
【０００３】
一例として、ここで、「会社概要」という１つの要素（データ項目）について、「商号」、「設立日」、「所在地」、「代表者」、「資本金」、「事業分野」の各要素（データ項目）にさらに細分化して表そうとした場合、ＸＭＬでは、例えば、タグとして、＜会社概要＞、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞を定義するようにされる。そして、これらのタグを利用して、
＜会社概要＞
＜商号＞○×株式会社＜／商号＞
＜設立日＞１９４６年（昭和２１年）５月７日＜／設立日＞
＜所在地＞東京都品川区北品川ｘ−ｘ−ｘ＜／所在地＞
＜代表者＞○×○男＜／代表者＞
＜資本金＞４，０００億５，０００万４，０００円＜／資本金＞
＜事業分野＞エレクトロニクス＜／事業分野＞
＜事業分野＞エンタテイメント＜／事業分野＞
＜／会社概要＞
などの形式により文書を記述するようにされる。
【０００４】
上記した記述によると、＜会社概要＞という要素の開始タグと終了タグの間に、＜会社概要＞の内容（ｃｏｎｔｅｎｔｓ）として、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞の各要素がさらに埋め込まれている。これにより、＜会社概要＞という要素の階層下において、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞の各要素が存在するという主従関係にあることが示される。そして、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞の各開始タグと終了タグとの間に、これらの内容が示されている。
また、＜会社概要＞の要素の階層下において記述される、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞の各要素の開始タグ及び終了タグは、互いに並列的に記述されている関係にある。これにより、＜商号＞、＜設立日＞、＜所在地＞、＜代表者＞、＜資本金＞、＜事業分野＞の各要素間の関係としては、＜会社概要＞の１階層下において、同じ階層位置にあることが示される。
【０００５】
このようにして文書を記述するＸＭＬは、タグによってデータ項目である要素の内容を定義することが可能とされることで、例えば、検索システムに適用するのに有利であるとされている。つまりは、検索のために入力する検索キーに、ＸＭＬ文書を利用するものである。
例えば、文字列情報を検索キーとして検索する場合について考えてみる。
ここで、単純に、文字列情報としての検索キーにより検索を行う検索システムにおいて、単に「山田」という文字列情報を検索キーとして検索を行ったとする。この場合には、検索結果として、人名の姓である「山田」と、地名の「山田」とを区別することなく、両者を検索キーに合致したものとして出力してしまうことになる。
これに対して、ＸＭＬを適用した場合には、＜人名＞＜地名＞のタグを定義すれば、［人名の「山田」］と［地名の「山田」］という内容の検索キーを生成することができる。これにより、検索結果としても、［人名の姓の「山田」］と［地名の「山田」］とを区別して出力できることになる。つまり、ＸＭＬによっては、より効率的な検索結果を得るようにすることが可能となる。
【０００６】
【非特許文献１】
Ｗ３Ｃ，“Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）１．０（Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ）”
ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＲＥＣ−ｘｍｌ
【０００７】
【発明が解決しようとする課題】
ところで、ＸＭＬでは、各要素（データ項目）間の関係を、階層構造により示すことが可能とされている。つまり、階層の上下に対応する主従関係により示すことができる。この点については、上記した＜会社概要＞についてのＸＭＬ文書の表記からも理解される。また、周知のように、ＸＭＬ文書における要素の階層構造は、いわゆるツリー構造の下で形成されるものとなる。
しかしながら、現状におけるＸＭＬの規格としては、各データ項目間について、ＡＮＤ（論理積），ＯＲ（論理和）などのように、いわゆる論理的関係を表現可能な文書型式とされてはいない。
【０００８】
そして、上記のようにしてＸＭＬにおいて、データ項目間の論理的関係の表現ができないことによっては、次のような不都合が生じる。
例えば、一般に検索を行うのにあたっては、検索条件として、例えば単位文字列などの複数の検索項目についてＡＮＤ（論理積），ＯＲ（論理和）などによる論理的関係を与えることがしばしば行われる。
例えば、会社を検索するのにあたり、「＜所在地＞が東京で、かつ、＜事業分野＞がエレクトロニクス」などのようにして検索条件を入力するものである。この場合には、「＜所在地＞東京」、「＜事業分野＞エレクトロニクス」の各検索項目について論理積（ＡＮＤ）の関係を与え、これを検索条件としているものである。
【０００９】
しかしながら、ＸＭＬ文書によっては、上記もしたように要素（データ項目）間について論理的関係を表現することができないのであるから、「＜所在地＞が東京で、かつ、＜事業分野＞がエレクトロニクス」という論理構造によるデータ列を表現することはできないことになる。
つまり、ＸＭＬ文書を検索条件として用いるとした場合、先にも述べたように、例えば同じ表記による検索条件であっても、その検索条件としての内容を区別したうえで検索ができるというメリットはあるものの、複数の検索項目間について論理的関係を与えて形成した検索条件により検索を行うことはできない。
【００１０】
【課題を解決するための手段】
そこで、本発明は上記した課題を考慮して、検索装置として次のように構成する。
検索対象の情報を蓄積する蓄積手段と、複数の情報項目の関係をツリー構造として表現可能な記述言語により記述され、これら複数の情報項目についての論理関係を、上記ツリー構造における複数の情報項目の位置関係により表現した内容を有する検索キー情報を入力する入力手段と、この入力手段により入力された検索キー情報を解釈して、上記複数の情報項目についての論理関係を認識し、この認識した複数の情報項目の論理関係を満たすとされる情報を蓄積手段から検索する検索手段とを備えて構成することとした。
【００１１】
また、検索方法としては次のように構成することとした。
つまり、複数の情報項目の関係をツリー構造として表現可能な記述言語により記述され、これら複数の情報項目についての論理関係を、ツリー構造における複数の情報項目の位置関係により表現した内容を有する検索キー情報を入力する入力手順と、この入力手順により入力した検索キー情報を解釈して、複数の情報項目についての論理関係を認識し、この認識した複数の情報項目の論理関係を満たすとされる情報を、検索対象の情報が蓄積されている蓄積手段から検索する検索手順とを実行するように構成することとした。
【００１２】
また、本発明のプログラムとして、上記検索方法としての各手順を検索装置に実行させるように構成することとした。
【００１３】
上記各構成によると、検索のための検索キー情報は、本来は複数の情報項目間の関係をツリー構造によって表現可能な記述言語によって作成されていることになる。ツリー構造による表現とは、本来は、複数の情報項目間の主従関係、階層関係としての位置関係を示すものとなる。しかしながら、本発明では、ツリー構造の特定の位置関係を、これら複数の情報項目間の特定の論理関係に割り当てるようにしていることになる。つまり、本発明において検索キー情報は、ツリー構造の表現によって情報項目（個々の検索項目）間の論理関係を特定した内容を有していることになる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について説明を行っていく。
本実施の形態としては、要素の階層構造を表現可能な記述言語により記述された文書を検索キーとして利用してデータベースの検索を行う検索システムとして、検索キーにＸＭＬ文書を用いる場合を例に挙げることとする。
ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）は、周知のようにして、要素（ｅｌｅｍｅｎｔ）というデータ項目の単位の集合により文書が形成される。そして、これら各要素の内容種別的なものはタグによって表すこととされている。ＸＭＬにおいて、このタグは、任意に定義できることとなっている。
また、ＸＭＬの表記によっては、要素間の関係として、ツリー構造における階層関係を与えることが可能とされている。
【００１５】
本実施の形態では、検索キーとしてＸＭＬ文書を用いるのであるが、従来として述べたようにして、ＸＭＬによる記述によっては、要素（データ項目）間の論理的関係を規定することができない。
そこで、本実施の形態としては、ＸＭＬにおいて、要素間に論理的関係を与えるための定義を追加するようにされる。これにより、これまでにおけるＸＭＬ文書の表記方法によっても、要素間の論理的関係を記述することを可能とする。つまり、検索キーとしてＸＭＬ文書を用いながらも、検索キーを形成する複数の項目（要素）間に論理的関係が与えられるようにし、この検索キーによる検索を可能とするものである。
そして本実施の形態では、ＸＭＬが、複数の要素をツリー構造により表現可能であることを前提して、このツリー構造のための記述を、複数の要素について論理的関係を与えるための記述に利用する。以下、この点について述べていくこととする。
【００１６】
先ず、図１により、ＸＭＬにおける記述により表現されるツリー構造を模式的に示している。
図１には、ツリー構造の構成要素として、３つのＮｏｄｅと、３つのＬｅａｆが示されている。ここでは、ツリー構造において終端を与える要素についてＬｅａｆとし、それ以外の要素をＮｏｄｅとして扱うこととする。また、Ｎｏｄｅについては、（  ）内にアルファベットを付すことで個々の区別を行うようにされる。また、Ｌｅａｆについては、英数字を付すことで個々の区別を行うこととする。
そして、図１においては、Ｎｏｄｅ（Ａ），Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）と、Ｌｅａｆ１，Ｌｅａｆ２，Ｌｅａｆ３が示されている。
ちなみに、図１に示すツリー構造は、先ず、最上階層にＮｏｄｅ（Ａ）が位置しており、このＮｏｄｅ（Ａ）の１階層下に、Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）が従属するように位置している。そして、Ｎｏｄｅ（Ｂ）の１階層下には、Ｌｅａｆ１，Ｌｅａｆ２が従属し、Ｎｏｄｅ（Ｃ）の１階層下にはＬｅａｆ３が従属している。
また、以降における本実施の形態の説明にあたり、ＸＭＬにより記述されるツリー構造において、論理的関係が与えられるべき各要素（データ項目）は、Ｌｅａｆであることとする。
【００１７】
そして、ＸＭＬの記述により論理構造を表現することとした場合においては、先ず、論理としてのＡＮＤ、ＯＲ、ＮＯＴの各演算を、ツリー構造の表現を基としてどのようにして表現するのかを定義する必要があることとなる。
そこで、本実施の形態としては、先ず、ＡＮＤ演算については、図２に示すようにして定義することとする。
ここでは、Ｎｏｄｅ（Ａ）の１階層下において、並列的に２つのＬｅａｆ１，Ｌｅａｆ２が従属している。本実施の形態では、このようにして、１つのＮｏｄｅに従属させて複数のＬｅａｆを位置させた場合、これら複数のＬｅａｆ間においてＡＮＤの関係が成立しているものと定義する。
この図２の場合には、Ｉｔｅｍ１としての内容を有するＬｅａｆ１と、Ｉｔｅｍ２としての内容を有するＬｅａｆ２との間にＡＮＤの関係が成立していることが示されている。
ここで、Ｌｅａｆの内容であるＩｔｅｍは、その要素の内容（ｃｏｎｔｅｎｓ）を示すものであり、具体例としては、検索キーを形成する各検索項目としての文字列情報などとなる。従って、Ｉｔｅｍ１がＡ、Ｉｔｅｍ２がＢという内容を実際に示すものであった場合には、図２では、「ＡかつＢであること」を実際には表現していることになる。
【００１８】
また、ＡＮＤ演算としては、他にも、図３に示すツリー構造における位置関係を有するＬｅａｆ間で成立するものと定義することとする。
つまり、図３においては、先ずＮｏｄｅ（Ａ）に従属してＩｔｅｍ１の内容のＬｅａｆ１が位置している。そして、Ｎｏｄｅ（Ａ）には、Ｎｏｄｅ（Ｂ）も従属しており、さらに、このＮｏｄｅ（Ｂ）に対してＩｔｅｍ２の内容のＬｅａｆ２が従属している。そして、この場合において、Ｉｔｅｍ１としてのＬｅａｆ１と、Ｉｔｅｍ２としてのＬｅａｆ２がＡＮＤ関係にあるものとされる。
つまり、ＡＮＤ関係は、ツリー構造における位置関係として、上位Ｎｏｄｅに従属するＬｅａｆと、下位Ｎｏｄｅに従属するＬｅａｆとの間にも成立することとして定義するものである。
【００１９】
また、ＯＲ演算の例を図４に示す。
図４には、先ず上位ＮｏｄｅとしてＮｏｄｅ（Ａ）が位置しており、このＮｏｄｅ（Ａ）に従属するＮｏｄｅとして、Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）の２つのＮｏｄｅが存在する。そして、Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）には、それぞれ、Ｉｔｅｍ１の内容を有するＬｅａｆ１と、Ｉｔｅｍ２の内容を有するＬｅａｆ２が従属している。
ここで、Ｌｅａｆ１とＬｅａｆ２は、ツリー構造において「同じ階層位置にあり、かつ、異なるＮｏｄｅに従属する」という位置関係にあるといえる。本実施の形態において、ＯＲ関係は、このような関係にある複数のＬｅａｆ間で成立することとする。
【００２０】
また、ＮＯＴ演算は次のようにして定義することとする。
本実施の形態では、Ｌｅａｆ又はＮｏｄｅのそれぞれにおいて、属性として”ｎｏｔ”を定義することとする。そして、この属性”ｎｏｔ”の論理値としてデフォルトを”ｆａｌｓｅ”とし、ＮＯＴ演算を有効とする場合には、”ｔｒｕｅ”とする。
先ず、図５によりＬｅａｆそのものについて、属性”ｎｏｔ”の論理値を設定した場合について説明する。ここで、図５（ａ）に示すようにして、Ｉｔｅｍ１の内容を有するＬｅａｆの属性”ｎｏｔ”の論理値について、”ｆａｌｓｅ”とされている場合、このＩｔｅｍ１としてのＬｅａｆについて、ＮＯＴ演算が適用されない。つまり、「Ｉｔｅｍ１である」ということが表現される。
これに対して、図５（ｂ）に示すようにして、Ｌｅａｆの属性”ｎｏｔ”の論理値について”ｔｒｕｅ”とされると、このＩｔｅｍ１としてのＬｅａｆに対し、ＮＯＴ演算が適用されることになる。つまり、「Ｉｔｅｍ１ではない」ということが表現される。
【００２１】
また、図６に示すようにして、Ｎｏｄｅ（Ａ）に対して、Ｉｔｅｍ１としてのＬｅａｆ１と、Ｉｔｅｍ２としてのＬｅａｆ２が従属している場合において、Ｎｏｄｅ（Ａ）の属性”ｎｏｔ”の論理値について”ｔｒｕｅ”とされているものとする。
このようにして、Ｎｏｄｅに対して属性”ｎｏｔ”の論理値について”ｔｒｕｅ”とされている場合には、そのＮｏｄｅに従属している全てのＬｅａｆに対してＮＯＴ演算を適用することとされる。従って、図６の場合には、「Ｉｔｅｍ１かつＩｔｅｍ２でない」ことを表現していることとなる。
【００２２】
以上のようにして、本実施の形態では、ツリー構造におけるＬｅａｆとしてのデータ項目の位置関係に対して、論理的関係（ＡＮＤ、ＯＲ、ＮＯＴ）を割り当てる（マッピングする）ようにして定義することとしている。
そして、このようなマッピングに従うことで、任意数のデータ項目間における任意の論理的関係を、ツリー構造の組み方によって表現することが可能となる。
【００２３】
ここで、上記図２〜図６に基づくツリー構造による論理関係の表現例として、先ず、
［Ｉｔｅｍ１  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２）］
を表現した場合には、図７のようになる。なお、上記した表記は、プログラミング言語の１つである、Ｃ／Ｃ＋＋言語の演算子による論理関係の記述となっている。Ｃ／Ｃ＋＋言語では、周知のように、ＡＮＤ、ＯＲ、ＮＯＴ演算を、それぞれ、演算子’＆’、’｜’、’！’のように記述する。
この図７においては、先ず、最上位にＮｏｄｅ（Ａ）が位置し、このＮｏｄｅ（Ａ）に対してＩｔｅｍ１であるＬｅａｆ１と、Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）が従属している。そして、さらにＮｏｄｅ（Ｂ）にはＩｔｅｍ２１であるＬｅａｆ２が従属し、Ｎｏｄｅ（Ｃ）には、Ｉｔｅｍ２２であるＬｅａｆ３が従属している。
この場合、先ず、Ｉｔｅｍ２１であるＬｅａｆ２と、Ｉｔｅｍ２２であるＬｅａｆ３とは、図４により説明したように、「同じ階層位置にあり、かつ、異なるＮｏｄｅに従属する」という関係にある。従って、Ｉｔｅｍ２１とＩｔｅｍ２２との論理的関係は、ＯＲであり、［Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２］として表現できることになる。
そのうえで、これら［Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２］に対するＩｔｅｍ１の論理関係としては、図３を適用することになる。つまり、上位Ｎｏｄｅに従属するＩｔｅｍ１であるＬｅａｆ１から見た場合、Ｉｔｅｍ２１であるＬｅａｆ２と、Ｉｔｅｍ２２であるＬｅａｆ３とは、下位Ｎｏｄｅに従属していることになる。従って、Ｉｔｅｍ１は、Ｉｔｅｍ２１，Ｉｔｅｍ２２に対して、ＡＮＤの関係にあることになる。そのうえで、上記のようにして、Ｉｔｅｍ２１，Ｉｔｅｍ２２の間ではＯＲの関係が成立しているから、結果的には、［Ｉｔｅｍ１  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２）］で記述される論理関係を表現していることになる。
【００２４】
また、本実施の形態の定義によるツリー構造により、
［Ｉｔｅｍ１  ｜  （Ｉｔｅｍ２１  ＆  Ｉｔｅｍ２２）］
を表現する場合には、図８に示すものとなる。
この図においては、先ずＮｏｄｅ（Ａ）に対してＮｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）が従属する。そして、Ｎｏｄｅ（Ｂ）には、Ｉｔｅｍ１のＬｅａｆ１が従属する。また、Ｎｏｄｅ（Ｃ）には、Ｉｔｅｍ２１，Ｉｔｅｍ２２としてのＬｅａｆ２，Ｌｅａｆ３が従属する。
この場合において、先ず、Ｎｏｄｅ（Ｃ）に従属するＬｅａｆ２，Ｌｅａｆ３には、図２が適用されることになって、ＡＮＤの関係が成立する。従って、［Ｉｔｅｍ２１  ＆  Ｉｔｅｍ２２］となる。
また、Ｎｏｄｅ（Ｃ）に従属する［Ｌｅａｆ２，Ｌｅａｆ３］の組と、Ｎｏｄｅ（Ａ）に従属するＬｅａｆ１の関係は、図４が適用されてＯＲの関係が成立することになる。従って、図８全体としては、［Ｉｔｅｍ１  ｜  （Ｉｔｅｍ２１  ＆  Ｉｔｅｍ２２）］が表現されていることになる。
【００２５】
また、
［（Ｉｔｅｍ１１  ｜  Ｉｔｅｍ１２）  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２１）］
を、本実施の形態の定義によるツリー構造で表現した場合には、図９に示すものとなる。
図９では、先ずＮｏｄｅ（Ａ）に対して、Ｎｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ），Ｎｏｄｅ（Ｄ）が従属している。また、Ｎｏｄｅ（Ｂ）にはＩｔｅｍ１１のＬｅａｆ１、Ｎｏｄｅ（Ｃ）にはＩｔｅｍ１２のＬｅａｆ２がそれぞれ従属している。Ｎｏｄｅ（Ｄ）には、さらにＮｏｄｅ（Ｅ），Ｎｏｄｅ（Ｆ）が従属し、Ｎｏｄｅ（Ｅ）にはＩｔｅｍ２１のＬｅａｆ３、Ｎｏｄｅ（Ｆ）にはＩｔｅｍ２２のＬｅａｆ４がそれぞれ従属している。
【００２６】
この場合、Ｉｔｅｍ１１のＬｅａｆ１とＩｔｅｍ１２のＬｅａｆ２については、「同じ階層位置にあり、かつ、異なるＮｏｄｅに従属する」ことで、図４が適用されてＯＲの関係を有することになる。また、Ｉｔｅｍ２１のＬｅａｆ３、及びＩｔｅｍ２２のＬｅａｆ４についてもＯＲの関係が与えられることになる。つまり、［Ｉｔｅｍ１１，Ｉｔｅｍ１２］［Ｉｔｅｍ２１，Ｉｔｅｍ２２］の各組については、それぞれ、［Ｉｔｅｍ１１  ｜  Ｉｔｅｍ１２］、［Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２］として記述される。
そのうえで、［Ｉｔｅｍ１１  ｜  Ｉｔｅｍ１２］に対応する［Ｌｅａｆ１，Ｌｅａｆ２］の組と、［Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２］に対応する［Ｌｅａｆ３，Ｌｅａｆ４］の組との関係を見た場合には、次の関係を有している。つまり、［Ｌｅａｆ１，Ｌｅａｆ２］が従属するＮｏｄｅ（Ｂ），Ｎｏｄｅ（Ｃ）に対して、［Ｌｅａｆ３，Ｌｅａｆ４］が従属するＮｏｄｅ（Ｅ），Ｎｏｄｅ（Ｆ）は、階層的に下位に位置している。従って、［Ｌｅａｆ１，Ｌｅａｆ２］の組と、［Ｌｅａｆ３，Ｌｅａｆ４］の組とについて、ＡＮＤの関係が与えられることとなる。
この結果、図９に示すツリー構造は、
［（Ｉｔｅｍ１１  ｜  Ｉｔｅｍ１２）  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２１）］
を表現していることになるものである。
【００２７】
さらに、
［（Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））  ｜  Ｉｔｅｍ２  ｜  ！（Ｉｔｅｍ３１  ｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２））］
という論理的関係は、図１０に示すツリー構造によって表現することが可能とされる。
図１０においては、先ず、Ｎｏｄｅ（Ａ）に対してＮｏｄｅ（Ｂ）、Ｎｏｄｅ（Ｅ）、Ｎｏｄｅ（Ｆ）が従属している。
Ｎｏｄｅ（Ｂ）に対しては、Ｉｔｅｍ１１のＬｅａｆ１が従属し、さらにＮｏｄｅ（Ｃ），Ｎｏｄｅ（Ｄ）が従属している。Ｎｏｄｅ（Ｃ）にはＩｔｅｍ１１１のＬｅａｆ２が従属し、Ｎｏｄｅ（Ｄ）には、Ｉｔｅｍ１１２のＬｅａｆ３が従属する。
Ｎｏｄｅ（Ｅ）には、Ｉｔｅｍ２のＬｅａｆ４が従属している。
また、Ｎｏｄｅ（Ｆ）には、Ｎｏｄｅ（Ｇ）、Ｎｏｄｅ（Ｈ）が従属しており、さらに、Ｎｏｄｅ（Ｇ）にはＩｔｅｍ３１のＬｅａｆ５が従属し、Ｎｏｄｅ（Ｈ）にはＩｔｅｍ３２１のＬｅａｆ６、及びＩｔｅｍ３２２のＬｅａｆ７が従属している。
【００２８】
この構造においては、先ず、Ｉｔｅｍ１１１のＬｅａｆ２と、Ｉｔｅｍ１１２のＬｅａｆ３とについて、図４を適用したＯＲの関係が与えられることになり、［Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２］となる。そして、［Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２］に対応する［Ｌｅａｆ２，Ｌｅａｆ３］の組と、Ｉｔｅｍ１１のＬｅａｆ１とについては、図３の適用によって、ＡＮＤの関係が成立する。これにより、［Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））］で記述される論理関係が与えられていることになる。
【００２９】
また、同じＮｏｄｅ（Ｈ）に従属するＩｔｅｍ３２１のＬｅａｆ６と、Ｉｔｅｍ３２２のＬｅａｆ７については、図２の適用によってＡＮＤの関係が得られていることとなって、［Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２］と記述することができる。
そのうえで、［Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２］に対応する［Ｌｅａｆ６，Ｌｅａｆ７］の組と、Ｉｔｅｍ３１のｌｅａｆ５は、図４によるＯＲの関係となっている。ただし、ｌｅａｆ５と、［Ｌｅａｆ６，Ｌｅａｆ７］の組は、Ｎｏｄｅ（Ｆ）の下層に位置しており、このＮｏｄｅ（Ｆ）の属性”ｎｏｔ”の論理値については、”ｔｒｕｅ”とされている。このため、ｌｅａｆ５と、［Ｌｅａｆ６，Ｌｅａｆ７］の組の間では、図６に示したＮＯＴ演算も適用されるべきこととなる。
従って、ｌｅａｆ５，Ｌｅａｆ６，Ｌｅａｆ７としての各Ｉｔｅｍ３１，Ｉｔｅｍ３２１，Ｉｔｅｍ３２２の関係としては、
［！（Ｉｔｅｍ３１  ｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２）］
により記述されるようにして論理関係が与えられていることになる。
【００３０】
そして、Ｎｏｄｅ（Ｅ）に従属するＩｔｅｍ２のＬｅａｆ４と、先ず、［Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））］に対応する［Ｌｅａｆ１，Ｌｅａｆ２，Ｌｅａｆ３］の組とは、Ｎｏｄｅ（Ａ）を親としてその位置関係を考えると、図４によるＯＲの関係が適用されることになる。
同様に、Ｎｏｄｅ（Ｅ）に従属するＩｔｅｍ２のＬｅａｆ４と、［！（Ｉｔｅｍ３１  ｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２）］に対応する［Ｌｅａｆ５，Ｌｅａｆ６，Ｌｅａｆ７］の組についても、Ｎｏｄｅ（Ａ）を親としてその位置関係を考えると、図４によるＯＲの関係が適用される。
従って、Ｌｅａｆ４であるＩｔｅｍ２と、［Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））］、及び［！（Ｉｔｅｍ３１  ｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２）］については、
［（Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））  ｜  Ｉｔｅｍ２  ｜  ！（Ｉｔｅｍ３１  ｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２））］
により記述される論理的関係が与えられていることになる。
このようにして、図２〜図６により説明した定義に基づいて、ＡＮＤ、ＯＲ、ＮＯＴによる複数のデータ項目（Ｉｔｅｍ）についての論理的関係を、ツリー構造によって表現することが可能であるということが理解される。
【００３１】
なお、先に図２〜図６に示した、ツリー構造に対する論理関係のマッピングは、あくまでも一例であって、これ以外の定義が行われて構わないものである。例えば図２に示したツリー構造に対してＯＲ関係をマッピングする一方で、図４のツリー構造に対してＡＮＤ関係をマッピングするようにして定義することも考えられる。また上記した例ではＮＯＴ演算子を単純な論理属性として表現している。しかしながら、これを、例えば［−１．０  １．０］の値をとる属性とし、その値が０未満の場合をＮＯＴ演算として表現するなど、ＮＯＴ演算子の定義の仕方についても他に考えられるものである。
【００３２】
上記のようにして、ツリー構造に対して論理関係をマッピングするようにして定義することで、本実施の形態としては、これまでどおりのＸＭＬの記述によって、データ項目（要素）間の論理関係を表現することが可能になる、ということがいえる。
例として、図７に示したように、Ｃ／Ｃ＋＋言語によっては［Ｉｔｅｍ１  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２）］と記述される論理関係を表現するツリー構造を、ＸＭＬ文書として記述する場合には、図１１に示す内容とすればよい。
また、図８に示した［Ｉｔｅｍ１  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２２）］としてのツリー構造は、ＸＭＬ文書では、図１２に示す内容の記述とすればよい。
また、図９に示した［（Ｉｔｅｍ１１  ｜  Ｉｔｅｍ１２）  ＆  （Ｉｔｅｍ２１  ｜  Ｉｔｅｍ２１）］としてのツリー構造は、ＸＭＬ文書では、図１３に示す内容の記述とすればよい。
また、図１０に示した［（Ｉｔｅｍ１１  ＆  （Ｉｔｅｍ１１１  ｜  Ｉｔｅｍ１１２））  ｜  Ｉｔｅｍ２  ｜  ！（Ｉｔｅｍ３１｜  （Ｉｔｅｍ３２１  ＆  Ｉｔｅｍ３２２））］としてのツリー構造は、ＸＭＬ文書では、図１４に示す内容の記述とすればよい。
【００３３】
上記のようにしてデータ項目間の論理関係が表現されるＸＭＬ文書を利用した、本実施の形態としての検索システムの構成を図１５に示す。
図１５において、入力クエリ１は、検索システムに入力される検索キーのことである。そして、この入力クエリ１は、ＸＭＬ文書としての記述により、クエリ情報が表現されている。この具体的な記述例は、例えば、図１１〜図１４に示したものとなる。
例えば、実際においては、検索を行うユーザは、検索システムとしてのアプリケーションプログラムを起動させ、検索キーとしての検索項目を入力するようにされる。この際においては、ユーザは、検索項目間で論理的関係を与えるようにして入力を行うことが可能とされている。具体的には、例えば個々の検索項目としての文字列を、任意の検索項目数に応じて入力可能とされると共に、所定の手順による入力操作を行うことで、これらの入力された文字列としての検索項目間の論理関係（ＡＮＤ、ＯＲ、ＮＯＴ演算）を任意に設定できるようになっている。
そして、検索システムとしてのアプリケーションプログラムでは、上記したような検索項目の入力に応じて、ＸＭＬ文書による入力クエリ１を作成する。
【００３４】
このようにして作成された入力クエリ１は、検索システムにおけるＸＭＬパーサー２に入力される。ＸＭＬパーサー２では、ＸＭＬ文書を読み込んで、ここでは図示していない内部メモリに対して、ツリー構造を持つデータ列として展開して保持するようにされる。なお、ＸＭＬパーサー２においては、上記のようにして読み込まれたデータ列の任意のデータ項目に対して、例えばＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）のインターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介してアクセスすることを可能としている。
【００３５】
そして、ツリー構造→論理表現変換モジュール３では、上記ＸＭＬパーサー２の内部メモリにて展開されたデータ列のツリー構造を基として、先に図２〜図６により説明したツリー構造と論理関係とのマッピングの定義規則に従って、論理構造を有するデータ列に変換する。
さらに、ツリー構造→論理表現変換モジュール３は、上記のようにして得た論理構造のデータ列を、データベース４が要求するクエリ表現に従って変換することも行う。このような処理を経た入力クエリ１は、データベース４に対して直接入力することが可能な表現となっている。
【００３６】
データベース４は、或る内容のデータに対応するデータベースである。本実施の形態としては、このデータベースに格納されるデータ内容種別としては特に限定しない。そして、検索に関する内部機能として、検索対象データ群４Ａ、検索モジュール４Ｂと、検索結果出力モジュール４Ｃとを有する。
検索対象データ群４Ａは、検索結果として出力されるべきデータの集合がデータベース化されて形成される。
そして、検索モジュール４Ｂは、入力されたクエリに基づいて、検索対象データ群４Ａから、クエリに一致するとされるデータを検索する。検索結果出力モジュール４Ｃは、検索モジュール４Ｂによる検索結果５を、例えば表示出力などの所定の態様によって出力する。
【００３７】
ここで、補足的に述べておくと、上記図１５に示した検索システムは、例えばコンピュータシステムを基として構成されるべきものとなる。従って、実際においては、上記コンピュータシステムにおけるＣＰＵが、プログラムに従って処理を実行することで、例えば、ＸＭＬパーサー２、ツリー構造→論理表現変換モジュール３、検索モジュール４Ｂ、検索結果出力モジュール４Ｃ等の機能を実現することになる。また、データベース４において検索対象とな検索対象データ群４Ａは、コンピュータシステムにおいて備えられるハードディスクなどの記憶媒体に記憶されるようにして格納されることになる。また、上記したＣＰＵが実行すべきプログラムも、ハードディスクなどの記憶媒体にインストールするようにして記憶させて格納しておくようにすればよい。
【００３８】
そして、上記図１５に示した検索システムとしては、例えば１つのコンピュータシステムによって構築することが考えられる。
また、例えば、インターネットなどのグローバルネットワーク、又はＬＡＮなどをはじめとした各種ネットワークを介して接続されるデータベースと、端末装置（例えばパーソナルコンピュータなど）から成る情報処理システムとして構築してもよい。この場合には、端末装置に対する操作によってＸＭＬ文書としての入力クエリ１が作成され、ネットワークを経由して、データベース側に伝送される。データベース側では、例えば図１５におけるＸＭＬパーサー２、ツリー構造→論理表現変換モジュール３、及びデータベース４としての処理を実行する。但し、この場合には、データベース４としては、検索結果出力モジュール４Ｃにより検索結果５を出力する必要は無い。かわりに、例えば、検索結果５としての情報を、ネットワークを経由して端末装置に送信するようにされる。例えば、表示などによる検索結果の出力は、端末装置側で実行するようにされる。
【００３９】
なお、本発明としては、これまでに説明した実施の形態の内容に限定されるものではない。例えば上記実施の形態では、入力クエリ１をＸＭＬにより記述された文書としているが、本発明としては、データ項目間の関係をツリー構造として表現可能であれば、ＸＭＬに限定されることなく、他の任意の記述言語等を用いてもよいものである。
また、データ項目間の論理関係を示す情報を入力したのに応じて、何らかの所要の処理を実行するような用途であれば、検索以外にも本発明は適用することができる。
【００４０】
【発明の効果】
以上説明したように本発明は、ツリー構造によりデータ項目間の主従関係を表現可能な記述言語において、このツリー構造のパターンに対応させて論理関係を割り当てるようにしてマッピングするようにしている。これによって、ツリー構造としての表現により論理関係を表現することが可能となっている。
このような構成であれば、例えば、検索キー情報の作成に用いるべき記述言語について、データ項目間の主従関係をツリー構造により表現可能ではあるが、論理関係の記述の仕方までは規定されていないような場合でも、データ項目（検索項目）間の論理関係の条件を満たす情報を検索することが可能となるものである。
そして、例えば上記した記述言語としてＸＭＬを用いた場合には、タグの定義が任意であることに応じた検索効率の向上に加え、上記したように、データ項目（検索項目）間の論理関係に対応した検索も可能となって、さらに検索効率は向上する。つまり、近年、ネットワークにおいて利用価値が高いとされて注目されているＸＭＬ文書について、さらに利用価値を高めることが可能となるものである。
【図面の簡単な説明】
【図１】本実施の形態におけるツリー構造の表現形式を示す説明図である。
【図２】ツリー構造へのＡＮＤ演算の適用例を示す説明図である。
【図３】ツリー構造へのＡＮＤ演算の適用例を示す説明図である。
【図４】ツリー構造へのＯＲ演算の適用例を示す説明図である。
【図５】ＮＯＴ演算の適用例を示す説明図である。
【図６】ツリー構造へのＮＯＴ演算の適用例を示す説明図である。
【図７】ツリー構造による論理関係の表現例を示す説明図である。
【図８】ツリー構造による論理関係の表現例を示す説明図である。
【図９】ツリー構造による論理関係の表現例を示す説明図である。
【図１０】ツリー構造による論理関係の表現例を示す説明図である。
【図１１】図７に示したツリー構造を、ＸＭＬにより記述した文書内容を示す図である。
【図１２】図８に示したツリー構造を、ＸＭＬにより記述した文書内容を示す図である。
【図１３】図９に示したツリー構造を、ＸＭＬにより記述した文書内容を示す図である。
【図１４】図１０に示したツリー構造を、ＸＭＬにより記述した文書内容を示す図である。
【図１５】本実施の形態の検索システムの構成例を示すブロック図である。
【符号の説明】
１  入力クエリ、２  ＸＭＬパーサー、３  ツリー構造→論理表現変換モジュール、４  データベース、４Ａ  検索対象データ群、４Ｂ  検索モジュール、４Ｃ  検索結果出力モジュール、５  検索結果
【図１】
2004157752.tif 000003
【図２】
2004157752.tif 000004
【図３】
2004157752.tif 000005
【図４】
2004157752.tif 000006
【図５】
2004157752.tif 000007
【図６】
2004157752.tif 000008
【図７】
2004157752.tif 000009
【図８】
2004157752.tif 000010
【図９】
2004157752.tif 000011
【図１０】
2004157752.tif 000012
【図１１】
2004157752.tif 000013
【図１２】
2004157752.tif 000014
【図１３】
2004157752.tif 000015
【図１４】
2004157752.tif 000016
【図１５】
2004157752.tif 000017