(57)【要約】【課題】半構造文書データの表現に用いる内部スキーマの変更がユーザ端末側へ波及するのを阻止する。【構成】データベースＤＢ１〜５はそれぞれ内部スキーマＩＳ１〜５を持っており、各ユーザ端末２−１〜２−５のユーザインタフェースは、それぞれ公開スキーマＰｂ１〜５により構成される。対応規則決定部１０は、各公開スキーマＰｂ１〜５と各内部スキーマＩＳ１〜５の関係に基づいて対応規則を決定する。各ユーザ端末２から発行されるクエリ、及びデータベースＤＢから出力される検索結果は、翻訳部１Ａにおいてこの対応規則に基づいて翻訳される。【選択図】　図２０
2004126771.tif 000002
【特許請求の範囲】
【請求項１】
半構造化文書データを格納する半構造化文書データベースと、この半構造化文書データを検索するためのクエリを送信するユーザ端末と、このクエリに基づいて前記半構造化データベースを検索し検索結果を前記ユーザ端末に向けて送信するデータベース管理装置とを備えた半構造化文書データベース検索システムにおいて、
前記ユーザ端末が前記クエリの送信及び前記検索結果の受信を行うためのユーザインタフェースの構造を示す公開スキーマと前記半構造化文書データベースに格納されている前記半構造化文書データの構造を示す内部スキーマとの関係に基づいて対応規則を決定する対応規則決定部と、
その対応規則に基づき前記ユーザ端末からの前記クエリを前記内部スキーマに対応したクエリに翻訳すると共に前記半構造化文書データベースから出力された前記検索結果を前記公開スキーマに沿った形式の検索結果に翻訳する翻訳部とを備えたことを特徴とする半構造化文書データベース検索システム。
【請求項２】
前記公開スキーマを編集する公開スキーマ編集部を備えた請求項１に記載の半構造化文書データベース検索システム。
【請求項３】
前記公開スキーマ編集部により編集された公開スキーマと前記内部スキーマとの前記関係に基づき前記対応規則を編集する対応規則編集部と、この編集された前記対応規則を管理する対応規則管理部とを備えた請求項２に記載の半構造化文書データベース検索システム。
【請求項４】
前記対応規則管理部に複数種類の前記対応規則を管理させると共に、ユーザを特定するユーザＩＤ又はデータベースを特定するデータベースＩＤに基づき前記対応規則管理部から適切な前記対応規則を読み出し、この対応規則に基づいて前記翻訳部に翻訳を実行させるように構成した請求項３に記載の半構造化文書データベース検索システム。
【請求項５】
前記公開スキーマは、前記ユーザごとに異なったものとされる請求項１乃至４のいずれか１項に記載の半構造化文書データベース検索システム。
【請求項６】
半構造化文書データベースに格納される半構造化文書データを検索するためのクエリをユーザ端末より受け付けるとともに検索結果を前記ユーザ端末に向けて送信するデータベース管理装置において、
前記ユーザ端末が前記クエリの送信及び前記検索結果の受信を行うためのユーザインタフェースの構造を示す公開スキーマと前記データベースに格納されている半構造化文書データの構造を示す内部スキーマとの関係に基づいて対応規則を決定する対応規則決定部と、
その対応規則に基づき前記ユーザ端末からの前記クエリを前記内部スキーマに対応したクエリに翻訳すると共に前記データベースから出力された前記検索結果を前記公開スキーマに沿った形式の検索結果に翻訳する翻訳部とを備えたことを特徴とするデータベース管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＸＭＬ（　ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ　）文書などの構造化された半構造化文書データを格納したデータベース検索するための半構造化文書データベース検索システム及びデータベース管理装置に関する。
【０００２】
【従来の技術】
半構造化文書データベースでは、時間の経過により、使用目的の変化、処理効率向上の要請、複数データの統合などの理由により、そのスキーマ（内部スキーマという）が変更されたり拡張されたりすることがある。
【０００３】
この場合、ユーザ端末のアプリケーションなどを変更する必要があると共に、アプリケーションに組み込まれる検索式なども変更する必要が生じる。システムが大規模なものとなると、この変更の労力は膨大なものとなる。
【０００４】
こうした問題を解決するため、特許文献１に記載のデータベース検索システムでは、データベースのスキーマ情報をダイレクトに参照してプロファイル化する構成を採用することにより、処理プログラムを変更することなく、データベースの内容を表示することが出来るようにしている。これにより、データベースに新たにを追加、削除等した場合にユーザインタフェースを変更する必要をなくしている。
【０００５】
【特許文献１】
特開２００２−７１９９号公報（第４頁、図１等）
【０００６】
【発明が解決しようとする課題】
しかし、この構成の場合、スキーマ情報の参照を行うための構成が必要になると共に、データベースの変更箇所が増えると、ユーザインタフェースにおいて変更箇所の表示が目立ってしまい、結局はユーザインタフェースの変更を強いられるという問題がある。また、ユーザインタフェースの変更は必要ないにしても、検索式は変更しなければならず、ユーザの負担は依然として大きい。
【０００７】
本発明は、この点に鑑みてなされたものであり、データベースの内部スキーマに変更が生じた場合でも、ユーザ端末のアプリケーションや検索式の変更をする必要がなく、データベースの管理上の労力を著しく軽減させることを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る半構造化文書データベース検索システムは、半構造化文書データを格納する半構造化文書データベースと、この半構造化文書データを検索するためのクエリを送信するユーザ端末と、このクエリに基づいて前記半構造化データベースを検索し検索結果を前記ユーザ端末に向けて送信するデータベース管理装置とを備えた半構造化文書データベース検索システムにおいて、前記ユーザ端末が前記クエリの送信及び前記検索結果の受信を行うためのユーザインタフェースの構造を示す公開スキーマと前記半構造化文書データベースに格納されている前記半構造化文書データの構造を示す内部スキーマとの関係に基づいて対応規則を決定する対応規則決定部と、その対応規則に基づき前記ユーザ端末からの前記クエリを前記内部スキーマに対応したクエリに翻訳すると共に前記半構造化文書データベースから出力された前記検索結果を前記公開スキーマに沿った形式の検索結果に翻訳する翻訳部とを備えたことを特徴とする。
【０００９】
次に、本発明に係る半構造化文書データベース検索システムの動作原理図を、図２０に基づいて説明する。
図２０に示すように、本発明に係る半構造化文書データベース検索システムは、データベースＤＢと、データベースを管理するデータベース管理装置（データベースマネージャ）１と、データベース管理装置１に対して検索要求を送信し検索結果を受信するユーザ端末２を備えている。本発明において、ユーザ端末２、データベースＤＢは単数でも差し支えないが、ここでは両者とも複数、例えば５個ずつ存在するものとして説明する。
５個のデータベースＤＢ１〜５はそれぞれ内部スキーマＩＳ１〜５を持っており、システム全体としては複数のスキーマが混在して存在している。また、各ユーザ端末２−１〜２−５のユーザインタフェースは、それぞれ公開スキーマＰｂ１〜５により構成されている。
【００１０】
対応規則決定部１０は、各公開スキーマＰｂ１〜５と各内部スキーマＩＳ１〜５の関係に基づいて対応規則を決定する。各ユーザ端末２から発行されるクエリ、及びデータベースＤＢから出力される検索結果は、翻訳部１Ａにおいてこの対応規則に基づいて翻訳される。これによりユーザは、内部スキーマと公開スキーマの相違を意識せず、公開スキーマにより決められた入力形式、出力形式により、データベースの検索を行うことができる。このため、内部スキーマが変更、拡張されても、ユーザとしてはこれを意識することなく検索をすることができ、また、検索式の変更をしなくても済む。
【００１１】
また、複数のデータベースＤＢのうちの一部の内部スキーマの変更を行った場合でも、その内部スキーマが関係する対応規則を書き換えるだけで引き続き従前のように検索を実行でき、公開スキーマの変更は不要となる。このため、データベースの管理上の負担が軽減されている。
【００１２】
【発明の実施の形態】
次に、本発明の実施の形態に係る半構造化文書データベース検索システムを、図面に基づいて説明する。
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態に係る半構造化文書データベース検索システムの中核を構成するデータベースマネージャ１、ユーザ端末２、公開スキーマ編集部３、及び対応規則編集部４とを示している。
【００１３】
図１では図示を省略しているが、この実施の形態では、データベースが複数存在し、その複数のデータベースはそれぞれ異なるスキーマ（内部スキーマ）を持っており、半構造化文書データベース検索システム全体としては複数の内部スキーマが混在して存在するものとする。例えば、図２および図３のような内部スキーマが混在して存在しているものとする。また、ユーザ端末２も基本的には複数存在するものとして説明する。
【００１４】
図２の内部スキーマに即したデータ例としてのＸＭＬ文書を図４に示す。
この図４では、書籍（本）を示すタグ＜ｂｏｏｋ＞に、発行年度ｙｅａｒを示す属性を持たせ，発行年度ごとにデータを分類する形式を取っている。そして、タグ＜ｂｏｏｋ＞以下にタイトルや著者の情報を示すタグ（＜ｔｉｔｌｅ＞、＜ａｕｔｈｏｒ＞、＜ｐｒｉｃｅ＞等）を列挙する構造になっている。
【００１５】
図３のスキーマに即したデータ例を図５に示す。こちらのデータは、書籍を示すタグ＜ｂｏｏｋ＞の中の要素として発行年度を示すタグ＜ｙｅａｒ＞、及びその他のデータ（著者、タイトル等）を示すタグがあり、発行年度に関係なく書籍データを列挙する形式を取っている
【００１６】
このように、内部スキーマが複数のデータベース間で異なっている複雑な状態において、ユーザにこの異なるスキーマを意識し、そのデータベースごとに異なる検索方法を実行することを強制するのは現実的ではない。また、内部スキーマが拡張、変更されるたびにユーザインタフェースや検索式を変更することを強いることになるのも合理的でない。そこで、ユーザがこのような内部スキーマの相違を意識せず検索を実行できるようにするため、内部スキーマを隠蔽し、別途、仮想的なスキーマ（公開スキーマ）を作成／提示し、検索の際にはその公開スキーマを前提として検索式を作成させる。
公開スキーマは、内部スキーマとは別の仮想的に作成したスキーマであり、検索要求の入力や検索結果の表示に使用するユーザインタフェースとして公開される情報である。この公開スキーマは、図１に示す公開スキーマ編集部３により編集される。例えば、公開スキーマ編集部３において、図６に示すような公開スキーマを編集することができる。図７は、この図６に示す公開スキーマに従ったデータサンプルを示す。
【００１７】
対応規則編集部４は、こうして編集された公開スキーマと、内部スキーマとの対応関係に基づき、対応規則を編集するためのものである。対応規則編集部４では、図８に示すように、内部スキーマと公開スキーマを並列で表示させる。両者に含まれる構成要素及び属性の対応関係を見て、対応するものについては、同じ付加数字を有するドルマークを与える。例えば図８の例でいうと、内部スキーマのタグ＜ｂｏｏｋ＞の属性＠ｙｅａｒは、公開スキーマの＜ｂｉｂ＞直下のタグ＜ｙｅａｒ＞に対応するので、両者に共通の付加数字２を有するドルマーク（＄２）が与えられている。
【００１８】
こうして対応規則編集部４での編集が終了した場合には、図９に示すように、その対応規則には対応規則ＩＤを付して、対応させた公開スキーマのＩＤ（ユーザＩＤ）及び内部スキーマのＩＤ（データベースＩＤ）と関連付けて記憶させる。
ユーザＩＤとデータベースＩＤの組合せごとに、使用する対応規則が割り当てられ、管理され、決定される。なお、公開スキーマのＩＤ、内部スキーマのＩＤのいずれかを任意とし、その場合の対応規則を決定することもできる。
【００１９】
図１に戻って、データベースマネージャ１は、クエリ翻訳部１０１、対応規則決定部１０２、対応規則決定ルール管理部１０３、対応規則管理部１０４、データベース検索部１０５、ＤＢデータ管理部１０６、検索結果翻訳部１０７等を備えている。一方、ユーザ端末２は、クエリを発行するためのクエリ発行部１０８と、検索結果を表示するための結果表示部１０９とを備えている。クエリ発行部１０８と結果表示部１０９のユーザインタフェースは、公開スキーマにより規定されている。
【００２０】
クエリ翻訳部１０１は、ユーザ端末２からのユーザ発行クエリを対応規則に基づいてデータベースを検索するための実行クエリに翻訳する機能を有する。
対応規則は、ユーザ発行クエリに含まれるユーザＩＤと、検索先のデータベースのデータベースＩＤとに基づいて対応規則決定部１０２が決定する。
すなわち、対応規則決定部１０２は、入力されたユーザＩＤ及びデータベースＩＤに基づき、対応規則決定ルール管理部１０３で管理される決定ルールを参照して、対応規則管理部１０４に管理されている対応規則データから適当なものを読み出す。読み出された対応規則データは、クエリ翻訳部１０１に送信される。
【００２１】
クエリ翻訳部１０１は、対応規則データを利用してユーザ発行クエリを実行クエリに翻訳する。この実行クエリはデータベースに格納されている内部スキーマに即したクエリであり、データベース検索部１０５が直接解釈実行でき、意味的にはユーザ発行クエリと等価なクエリである。しかし、ユーザとしては、このような内部スキーマや、実行クエリの発行を意識することなく、検索を実行することができる。
【００２２】
データベース検索部１０５は実行クエリに基づいて検索を実行し、得られた検索結果（内部検索結果）を検索結果翻訳部１０７に返却する。ＤＢデータ管理部１０６は、要求に応じてデータベースへのデータの格納をすると共に、データベースからのデータの取得を行う。
検索結果翻訳部１０７は、データベース検索部１０５からの内部検索結果を、対応規則に基づいて、公開スキーマに即した形式の検索結果（翻訳後検索結果）に翻訳する機能を有する。
ここで利用する対応規則は、クエリ翻訳部１０１で利用されるものと同一である。すなわち、対応規則は、クエリ翻訳部１０１では公開スキーマに沿ったユーザ発行クエリを内部スキーマに沿った実行クエリに翻訳するのに利用されるのに対し、検索結果翻訳部１０７では、内部スキーマに沿った内部検索結果を、公開スキーマに沿った翻訳後検索結果に翻訳するのに利用される。
【００２３】
なお、検索すべきデータベースが複数となる場合などにおいては、対応規則決定部１０２からは複数の対応規則データが読み出され、ユーザ発行クエリはその複数の対応規則データにより、クエリ翻訳部１０２においてそれぞれ複数の実行クエリに翻訳される。内部検索結果も、実行クエリと同様に複数となる。検索結果翻訳部１０７は、この複数の内部検索結果を翻訳した後ＯＲ結合したものを翻訳後検索結果として出力する。
【００２４】
次に、この第１の実施の形態の半構造化文書データベース検索システムの作用を説明する。
最初に、クエリ発行部１０８から公開スキーマに基づいたユーザ発行クエリが出力される。ここでは、２００２年に出版された本の一覧の取得するため、／ｂｉｂ／ｙｅａｒ［．＝２００２］／ｂｏｏｋというユーザ発行クエリが出力されたものとする。
一方、このユーザ発行クエリに付加されたユーザＩＤ及びデータベースＩＤにより、対応規則決定部１０２において対応規則が決定される。
決定された対応規則は、クエリ翻訳部１０１において、ユーザ発行クエリを実行クエリに翻訳するのに利用される。例えば、上記で例示したユーザ発行クエリ／ｂｉｂ／ｙｅａｒ［．＝２００２］／ｂｏｏｋを、／ｂｉｂ／ｂｏｏｋ［ｙｅａｒ＝２００２　　ＯＲ　　＠ｙｅａｒ＝２００２］のような実行クエリに変更する。
データベース検索部１０５は、この実行クエリに基づいてデータベース検索部１０５はデータの検索を実行し、得られた検索結果（内部検索結果）を検索結果翻訳部１０７に送信する。決定された対応規則は、この検索結果翻訳部１０７において、内部検索結果を公開スキーマに沿った表示形式を備えた検索結果（翻訳後検索結果）に翻訳するのに使用される。
【００２５】
この実施の形態において、検索対象とするデータベースが複数個指定されるか、又は検索対象とするデータベースの指定がなされない場合には、複数のデータベース（指定がされない場合は全部）が検索対象とされる。その複数のデータベースの内部スキーマが互いに異なる場合、内部検索結果として、図１０に示すように、互いにスキーマの異なる文書データが得られることになる。しかし、このような異なるスキーマの文書データを含んだ内部検索結果は、図１１に示すように、決定された対応規則を利用して、検索結果翻訳部１０１により、スキーマを統一された翻訳後検索結果に変換される。なお、図１１に示すように、翻訳後検索結果においては、クエリに対応する構成要素は削除される。例えば、上記のようにｙｅａｒが検索キーワードとしてクエリに含まれた場合、このｙｅａｒに関連する構成要素は翻訳後検索結果からは除かれ、その他の構成要素だけが含まれることになる。
【００２６】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態を、図１２〜１９に基づいて説明する。
この実施の形態では、データベースに含まれる一部のデータを、ユーザによって公開するか非公開にするかを公開スキーマに基づいて決定するようにしている。
【００２７】
例えば、書籍のデータベースにおいて、データの中に書籍の書誌情報だけでなく、その書籍を購買した顧客の情報が含まれている場合がある。こうした顧客情報は販売側の出版社等では有効であるものの、これを顧客にそのまま公開することはできない。そこで、こうしたデータベースを顧客用の外部利用と出版社内の内部利用とで共用する場合において、一部のデータにはマスクをかけ、外部利用者にはマスクのかかった情報（顧客情報等）が公開されないようにする。本実施の形態では、ユーザごとに公開スキーマを変更することにより、公開レベル（公開範囲）を複数設定でき、これにより上記マスクの機能を生じさせている。
【００２８】
顧客情報が含まれた半構造化文書データベースの内部スキーマの一例を図１２に示す。図１３は、この図１２に示す内部スキーマに従ったデータサンプルを示す。
このとき、例えば、顧客情報＜ｐｕｒｃｈａｓｅ＞タグなどを削除した図１４のような公開スキーマを作成し、これを顧客など、顧客情報を隠す必要のあるユーザに対して割り当てる。
【００２９】
一方、顧客情報を公開する必要のあるユーザ（出版社のマーケティング担当など）に対しては、図１５に示すように、顧客情報＜ｐｕｒｃｈａｓｅ＞タグなどをそのまま残した図１５のような公開スキーマを割り当てる。
図１４のような公開スキーマを割り当てられたユーザと、図１５のような公開スキーマを割り当てられたユーザとでは、同一のクエリを発行した場合でも、得られる検索結果が異なることになる（上記の例では、前者では顧客情報が得られず、後者では得られる）。
【００３０】
図１６及び図１７により、この場合の対応規則編集部４での対応規則の編集を説明する。図１６は、図１５のような、顧客情報を公開することを意図した公開スキーマに関し編集される対応規則を示している。図１６に示すように、公開スキーマには顧客情報を示す＜ｃｕｓｔｏｍｅｒ＞のタグが設けられるとともに、このタグには、内部スキーマ中の対応部分と同一のドルマーク（＄１０）が付加されている。
【００３１】
一方、図１７は、図１４のような、顧客情報を秘匿することを意図した公開スキーマに関し編集される対応規則を示している。図１７に示すように、公開スキーマにおいて顧客情報を示す＜ｃｕｓｔｏｍｅｒ＞のタグが削除されるとともに、内部スキーマ中の顧客情報を示す部分のドルマーク（＄１０）は、公開スキーマ中には設けられていない。
【００３２】
図１４及び図１５に示す公開スキーマを割り当てられた場合において得られる検索結果を図１８及び図１９にそれぞれ示す。図１８は、図１５のような、顧客情報を公開することを意図した公開スキーマが割り当てられたユーザが得る検索結果の一例である。検索結果中には、顧客情報を示す＜ｃｕｓｔｏｍｅｒ＞、＜ｃｕｓｔｏｍｅｒ　　ＩＤ＞、＜ｎａｍｅ＞等が含まれている。
一方、図１９は、図１４のような、顧客情報を秘匿することを意図した公開スキーマを割り当てられたユーザが得る検索結果の一例である。検索結果中には、顧客情報を示す＜ｃｕｓｔｏｍｅｒ＞、＜ｃｕｓｔｏｍｅｒ　　ＩＤ＞、＜ｎａｍｅ＞等が含まれていない。
【００３３】
なお、図１４のような顧客情報を秘匿することを意図した公開スキーマの下でも、ユーザが顧客情報を検索条件に含めた検索要求を不正に送信する場合が考えられる。
しかし、図１４の公開スキーマに対応する図１７の対応規則には、顧客情報に関する検索要求を翻訳するための対応関係が与えられていない。このため、クエリ翻訳部１０１で上記のように顧客情報を検索条件に含む検索要求を翻訳しようとしても翻訳に失敗することになる。従って、検索は不可能となり、秘匿すべき情報は秘匿されたまま守られることになる。
【００３４】
【発明の効果】
以上説明したように、本発明によれば、半構造文書データの表現に用いる内部スキーマの変更を翻訳部および対応規則決定部を備えることにより吸収し、ユーザやアプリケーション側への波及を阻止することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る半構造化文書データベース検索システムの構成を示すブロック図である。
【図２】のデータベースが有する内部スキーマの一例を示す。
【図３】のデータベースが有する内部スキーマの一例を示す。
【図４】図２の内部スキーマに即したデータ例を示す。
【図５】図３の内部スキーマに即したデータ例を示す。
【図６】公開スキーマの一例を示す。
【図７】図６に示す公開スキーマに従ったデータサンプルを示す。である。
【図８】対応規則編集部４において、公開スキーマと内部スキーマとの対応関係に基づき対応規則を編集する手法について説明するものである。
【図９】対応規則ＩＤの付与について説明するものである。
【図１０】検索対象とされた複数のデータベースの内部スキーマが互いに異なる場合、に得られる内部検索結果の例を示す。
【図１１】図１０に示す内部検索結果を、対応規則を利用して検索結果翻訳部１０１により翻訳した結果としての翻訳後検索結果の例を示す。
【図１２】顧客情報が含まれた半構造化文書データベースの内部スキーマの一例を示す。
【図１３】図１２に示す内部スキーマに従ったデータサンプルを示す。
【図１４】図１２に示すような顧客情報を秘匿することを意図した公開スキーマを示す。
【図１５】図１２のような顧客情報を公開することを意図した公開スキーマを示す。
【図１６】対応規則編集部４での対応規則の編集を説明する図である。
【図１７】対応規則編集部４での対応規則の編集を説明する図である。
【図１８】図１４に示す公開スキーマを割り当てられた場合において得られる検索結果を示す。
【図１９】図１５に示す公開スキーマを割り当てられた場合において得られる検索結果を示す。
【図２０】本発明に係る半構造化文書データベース検索システムの動作原理を説明するものである。
【符号の説明】
ＤＢ…データベースＤＢ、　１…データベース管理装置（データベースマネージャ）、　２…ユーザ端末、　１０…対応規則決定部、　３…公開スキーマ編集部、　４…対応規則編集部、　　　１０１…クエリ翻訳部、　１０２…対応規則決定部、　１０３…対応規則決定ルール管理部、　１０４…対応規則管理部、　１０５…データベース検索部、　１０６…ＤＢデータ管理部、　１０７…検索結果翻訳部
【図１】
2004126771.tif 000003
【図２】
2004126771.tif 000004
【図３】
2004126771.tif 000005
【図４】
2004126771.tif 000006
【図５】
2004126771.tif 000007
【図６】
2004126771.tif 000008
【図７】
2004126771.tif 000009
【図８】
2004126771.tif 000010
【図９】
2004126771.tif 000011
【図１０】
2004126771.tif 000012
【図１１】
2004126771.tif 000013
【図１２】
2004126771.tif 000014
【図１３】
2004126771.tif 000015
【図１４】
2004126771.tif 000016
【図１５】
2004126771.tif 000017
【図１６】
2004126771.tif 000018
【図１７】
2004126771.tif 000019
【図１８】
2004126771.tif 000020
【図１９】
2004126771.tif 000021
【図２０】
2004126771.tif 000022