(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムを用いてデータベース・システムからの情報を統合する、メディエータで用いる方法であって、
ａ）データベース・システムで用いる第１のデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第１のデータベース見本ファイルを前記メディエータが受信するステップと、
ｂ）コンピュータ・システムで用いる第２のデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第２のデータベース見本ファイルを前記メディエータが受信するステップとを含み、前記第２のデータベース見本ファイルの前記値が前記第１のデータベース見本ファイルの前記値に対応し、さらに、
ｃ）前記第１のデータベース見本ファイルと前記第２のデータベース見本ファイルとに基づいて、前記第１のデータベース・スキーマの前記属性名と前記第２のデータベース・スキーマの前記属性名との間の変換マップを前記メディエータが生成するステップと、
ｄ）生成した前記変換マップに従って、前記第２のデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムからの情報の問合わせを前記第１のデータベース・スキーマの属性名を用いて構成された前記データベース・システムへの情報の問合わせに前記メディエータが変換し、そして、前記第１のデータベース・スキーマの属性名を用いて構成された前記データベース・システムからの応答を前記第２のデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムへの応答に前記メディエータが変換するステップとを含むことを特徴とする方法。
【請求項２】
前記第１のデータベース見本ファイルおよび前記第２のデータベース見本ファイルが、前記データベース・システムに格納され、前記第１のデータベース見本ファイルおよび前記第２のデータベース見本ファイルに対する前記データベース・システムへの問合わせに応答して、前記ステップｃ）を実行することを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のデータベース見本ファイルおよび前記第２のデータベース見本ファイルが、前記コンピュータ・システムに格納されていることを特徴とする請求項１に記載の方法。
【請求項４】
前記第１のデータベース・スキーマがローカルのスキーマであり、そして前記第２のデータベース・スキーマがワールド・ビューのスキーマであることを特徴とする請求項１に記載の方法。
【請求項５】
第１のローカルのデータベース・スキーマを有するデータベース・システムからの情報を、第２のローカルのデータベース・スキーマを有するコンピュータ・システムを用いて、ワールド・ビューのデータベース・スキーマへの中間の変換を介して統合する、メディエータで用いる方法であって、
ａ）データベース・システムで用いる第１のローカルのデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第１のデータベース見本ファイルを前記メディエータが受信するステップと、
ｂ）ワールド・ビューのデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第２のデータベース見本ファイルを前記メディエータが受信するステップとを含み、前記第２のデータベース見本ファイルの前記値が前記第１のデータベース見本ファイルの前記値に対応し、さらに、
ｃ）コンピュータ・システムで用いる第２のローカルのデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第３のデータベース見本ファイルを前記メディエータが受信するステップと、
ｄ）前記第１のデータベース見本ファイルと前記第２のデータベース見本ファイルとに基づいて、前記第１のローカルのデータベース・スキーマの前記属性名と前記ワールド・ビューのデータベース・スキーマの前記属性名との間の第１の変換マップを前記メディエータが生成するステップと、
ｅ）前記第２のデータベース見本ファイルと前記第３のデータベース見本ファイルとに基づいて、前記第２のローカルのデータベース・スキーマの前記属性名と前記ワールド・ビューのデータベース・スキーマの前記属性名との間の第２の変換マップを前記メディエータが生成するステップと、
ｆ）生成した前記第１及び第２の変換マップに従って、前記第２のローカルのデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムからの情報の問合わせを、前記ワールド・ビューのデータベース・スキーマへの中間の変換を介して、前記第１のローカルのデータベース・スキーマの属性名を用いて構成された前記データベース・システムへの情報の問合わせに前記メディエータが変換し、そして、前記第１のローカルのデータベース・スキーマの属性名を用いて構成された前記データベース・システムからの応答を、前記ワールド・ビューのデータベース・スキーマへの中間の変換を介して、前記第２のローカルのデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムへの応答に前記メディエータが変換するステップを含むことを特徴とする方法。
【請求項６】
第１のデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第１のデータベース見本ファイルによって特徴付けられる、前記第１のデータベース・スキーマを用いて情報の問合わせを形成するコンピュータ・システムと、
第２のデータベース・スキーマを用いてデータ・レコードに情報を格納するデータベースを含むデータベース・システムとを含み、前記第２のデータベース・スキーマは前記第２のデータベース・スキーマのフォーマットで格納された値と前記値の属性名とを含む第２のデータベース見本ファイルによって特徴付けられ、前記第２のデータベース見本ファイルの前記値が前記第１のデータベース見本ファイルの前記値に対応し、さらに、
前記第１のデータベース見本ファイルと前記第２のデータベース見本ファイルとに基づいて、前記第１のデータベース・スキーマと前記第２のデータベース・スキーマとの間の変換マップを生成する、前記コンピュータ・システムと前記データベース・システムとの間に結合されているメディエータを含み、前記メディエータは、生成した前記変換マップに従って、前記第１のデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムからの情報の問合わせを前記第２のデータベース・スキーマの属性名を用いて構成された前記データベース・システムへの情報の問い合わせに変換し、そして前記第２のデータベース・スキーマの属性名を用いて構成された前記データベース・システムからの応答を前記第１のデータベース・スキーマの属性名を用いて構成された前記コンピュータ・システムへの応答に変換することを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータのネットワークおよびデータベースに関し、そして特に、コンピュータ・ネットワーク上での別種の情報データベース・システムからの情報を共有することに関する。
【０００２】
【従来の技術、及び、発明が解決しようとする課題】
現代のコンピュータおよび通信技術によって接続される情報の量は急速に拡大している。この情報のほとんどが構造化されておらず、テキストおよび画像から構成されているが、データベース・システムの中で構造化されて記憶されている情報の量が増大しつつある。構造化された情報の利点は単に情報源全体の表示が可能であるだけでなく、関連の情報についてデータベース・システムに問い合わせができることである。
【０００３】
構造化された情報はデータベースが異なると格納される方法が変わる傾向がある。例えば、或るデータベース・システムにおいては、個人の名前が２つの別々のデータベース・フィールドとして格納され、それに属性名「姓（ｌａｓｔｎａｍｅ）」および「名（ｆｉｒｓｔｎａｍｅ）」の属性が付いている。しかし、別のデータベースにおいては、個人のフルネームが属性名「名前（ＮＡＭＥ）」として１つのデータベース・フィールドの中に格納されている場合がある。両方のデータベース・システムは同じ情報を持っているが、個人のフルネーム、情報を格納するために使われるデータベースのスキームが異なっている。さらに、その情報を格納するために使われるフォーマットが変わる可能性がある。例えば、或るデータベースにおいては、個人の住所を格納するために５０ビットが使われ、別のデータベースにおいては同じ情報を格納するために４０ビットだけしか使われない可能性がある。さらに、同じ属性名が２つの異なるデータベース・システムの中に存在し、それぞれの意味が異なる時には混乱が生じる。例えば、或るデータベース・システムにおいては、属性名「個人（ｐｅｒｓｏｎ）」は名前Ｊｏｈｎ  Ｄｏｅを意味し、一方、第２のデータベースにおいては属性名「個人（ｐｅｒｓｏｎ）」は社会保障番号を意味する場合がある。
【０００４】
既存のネットワーク上で異なるデータベース・システムの中に情報の格納されている方法が大きく変化しているとして、ユーザがそのデータベース・システムの特定の用語を使ってそれぞれのデータベース・システムと対話することは実際的ではない。この直接の結果として、メディエータ（ｍｅｄｉａｔｏｒ）の概念に基づいたシステムが開発されてきている。メディエータは１つのデータベース・スキーマにおける情報の問合わせと別のスキーマにおける情報の問合わせとの間での変換に使われる。従って、ユーザは親しみやすい用語を使って異なるデータベース・システムに対して情報の問合わせをまとめる（ｆｏｒｍｕｌａｔｅ）ことができる。
【０００５】
メディエータが正常に動作するためには、新しいデータベース・システムに遭遇した時、その新しいデータベース・システムを使用可能な情報源のネットワークの中に統合化するために、その新しいデータベース・システムのスキーマと既存のスキーマとの間の変換マップが開発されなければならない。これはデータベースの世界においてはスキーマ統合化問題として考慮されてきている。異なるデータベース・システムのスキーマを互いに、あるいは１つのグローバル・スキーマにマッピングするための、自動の、あるいは半自動の方法を設計しようと試みることによって、この問題を克服しようとする努力が多くの人々によってなされてきた。自動の方法はデータベースの中の情報の意味の広範な知識を必要とし、新しい言語における情報の意味を表現するためにデータベース管理者に過剰な負担を掛ける。
【０００６】
【課題を解決するための手段】
本発明は新しい言語における属性名の意味を表現することについてのデータベース管理者に掛かる負担を解消する。代わりに、データベース管理者は異なるデータベース・スキーマの対応している属性名を使って格納される、情報値の共通ボディーを含んでいるデータベース見本ファイルを作成することによって、異なるデータベース・スキーマとの間のマッピングを指定する。
【０００７】
本発明の方法はコンピュータ・システムを使ってデータベース・システムから情報を統合化する負担を大幅に削減する。その方法は第１のデータベースの中で使われている第１のデータベース・スキーマのフォーマットで値が格納されている属性名を含んでいる、第１のデータベース見本ファイルを作成することを含む。次に、第２のデータベース見本ファイルが生成される。これはそのコンピュータ・システムの中で使われる第２のデータベース・スキーマのフォーマットで値が格納されている属性名を含んでいる。第２のデータベース見本ファイルの中の値は第１のデータベース見本ファイルの中の値に対応している。
【０００８】
データベース見本ファイルが生成されると、第１のデータベース・スキーマの属性と第２のデータベース・スキーマの属性との間の変換マップが生成される。その変換マップは第１のデータベース見本ファイルと第２のデータベース見本ファイルに基づいている。
【０００９】
変換マップが生成されると、そのコンピュータ・システムからの情報の問合わせに応答して、その変換マップを使って変換が行われる。それによって、第２のデータベース・スキーマの属性名を使って構成されている情報の問合わせが、第１のデータベース・スキーマによる属性名を使っている情報の問合わせに変換される。この方法で、データベース・システムの中に格納されている値にコンピュータ・システムへの問合わせを経由してアクセスできるようになる。
【００１０】
【発明の実施の形態】
＜概要＞
本発明の好適な実施形態が図１に示されている。ユーザ１０はコンピュータ・システム１２に接続されており、コンピュータ・システム１２はメディエータ１４を経由してコンピュータ・ネットワーク１６に接続されている。メディエータ１４はハードウェアまたはソフトウェアで実装することができ、コンピュータ・システム１２そのものの中にあってもよく、あるいはコンピュータ・ネットワーク１６上にあってもよい。本発明の好適な実施形態においては、メディエータ１４はコンピュータ・システム１２の中に存在する形で実装されている。コンピュータ・ネットワーク１６はさらに複数のデータベース・システム２２に接続されており、各データベース・システム２２はローカルのデータベース・スキーマ２０で格納されている情報の格納場所（ｒｅｐｏｓｉｔｏｒｙ）を備えている。しかし、本発明の代わりの実施形態においては、別種のデータベース・システム２２は同じコンピュータ・システム１２の中の別種の記憶装置によって、あるいは同じコンピュータ・システム１２の中の同じ記憶装置によってすべて実装することができる。代表的な記憶装置としては、磁気テープ、フロッピー、またはハードディスク・ドライブ、ＣＤ‐ＲＯＭディスク・ドライブ、または半導体メモリ装置などがある。
【００１１】
ユーザ１０およびコンピュータ・システム１２はワールド・ビューのデータベース・スキーマ１８で構造化された情報を理解する。メディエータ１４はコンピュータ・システム１２におけるユーザ１０からの情報の問合わせを変換し、ワールド・ビューのデータベース・スキーマ１８から、コンピュータ・ネットワーク１６上のデータベース・システム２２の異なるローカルのデータベース・スキーマ２０へ変換する。従って、ユーザ１０は自分がよく知っているワールド・ビューのデータベース・スキーマ１８を使って、メディエータ１４によって認識されるデータベース・システム２２に問合わせることができる。
【００１２】
データベース・システム１２によって認識される情報源のネットワークに対して新しいデータベース・システム２２を追加する場合も、メディエータ１４を利用する。ユーザ１０は先ず最初に、データベース管理者２４からサイト記述を得なければならない。このサイト記述は２つのデータベース見本ファイルから構成されている。１つはローカルのデータベース・スキーマ２０のフォーマットで格納されている情報を含んでいる。他のデータベース見本ファイルはワールド・ビューのデータベース・スキーマ１８のフォーマットで格納されている同じ情報から構成されている。このデータベース見本ファイルに基づいてメディエータ１４が変換マップを生成する。
【００１３】
その変換マップはローカルのデータベース・スキーマ２０の中の１つまたはそれ以上の属性から、ワールド・ビューのデータベース・スキーマ１８の中の１つまたはそれ以上の属性に、値およびフォーマットを相関付ける。また、その逆の相関付けを行う。例えば、ワールド・ビューのデータベース・スキーマ１８の中の属性は、ローカルのデータベース・スキーマ２０の中の多くの属性からの値から構成される可能性がある。同様に、ローカルのデータベース・スキーマ２０の中の属性はワールド・ビューのデータベース・スキーマ１８の中の１つまたはそれ以上の属性から構成される場合がある。さらに、その変換マップはローカルのデータベース・スキーマ２０の中の属性に対して暗黙にワールド・ビューのデータベース・スキーマ１８の中の属性に対応している属性に対して定数の値を追加する。その変換マップは次にメディエータ１４によって利用されて、ユーザ１０からの情報の問合わせを新しいデータベース・システム２２に対して変換し、そして新しいデータベース・システム２２からユーザ１０へ戻す応答を変換する。上記の情報の問合わせの両方がローカルのデータベース・システム２２からコンピュータ・システム１２に対して発行された時にも、上記の変換が逆の順序で行われる。
【００１４】
＜サイト記述の獲得＞
ユーザ１０はいくつかの異なる方法で新しいリモートのデータベース・システム２２のサイト記述を得ることができる。図２に示されている本発明の第１の実施形態においては、ユーザ１０は自分がステップＳ３０においてコンピュータ・ネットワーク１６に追加したいリモートのデータベース・システム２２において、データベース管理者２４にコンタクトすることによってサイト記述を得る。ユーザ１０はステップＳ３２において、データベース管理者が行う２つのデータベース見本ファイルの生成をデータベース管理者２４に要求する。第１のデータベース見本ファイルは新しいデータベース・システム２２の中で使われているローカルのデータベース・スキーマ２０のフォーマットで値が格納されている属性名を含んでいる。
【００１５】
第２のデータベース見本ファイルはユーザ１０によって提供され、そしてユーザ１０によって理解されるワールド・ビューのデータベース・スキーマ１８のフォーマットで値が格納されている属性名を含む。第２のデータベース見本ファイルの値は第１のデータベース見本ファイルの中の値に対応し、その２つが一緒にサイト記述を構成する。そのサイト記述に基づいて、次にメディエータ１４はステップＳ３４において、ワールド・ビューのデータベース・スキーマ１８と新しいデータベース・システム２２のローカルのデータベース・スキーマ２０との間の変換マップを生成する。次に、ユーザ１０はそのマップが十分であるかどうかをステップＳ３６において判定しなければならない。十分であった場合、その変換マップはステップＳ３８においてメディエータ１４によって格納され、それ以降、データベース・システム２２に対するユーザ１０からの問合わせを変換するために使われる。マップが十分でなかった場合、ユーザはステップＳ３９においてその変換マップを変更することができる。
【００１６】
図３に示されている本発明の第２の実施形態においては、ユーザ１０は先ず最初にステップＳ４０において、データベース管理者２４にコンタクトする。次にデータベース管理者２４はステップＳ４２において、リモートのデータベース・システム２２の中で使われているローカルのデータベース・スキーマ２０のフォーマットで値が格納されている属性名を含んでいる、第１のデータベース見本ファイルをユーザ１０へ送る。次にステップＳ４４において、ユーザ１０はユーザ１０によって理解されるワールド・ビューのデータベース・スキーマ１８の中の対応している属性名に対して、ローカルのデータベース・スキーマ２０の中の属性名からの値をマッピングすることによって、第２のデータベース見本ファイルを生成する。次に、メディエータ１４はステップＳ４６においてデータベース見本ファイル１および２から変換マップを生成する。次に、ユーザ１０はその変換マップが適しているかどうかをステップＳ４８において判定しなければならない。適していた場合、その変換マップはステップＳ５０において格納され、それ以降でのユーザ１０からの情報の問合わせを変換する際に使われる。マップが適切でなかった場合、その変換マップはステップＳ５１においてユーザの目的に合わせてユーザ１０によって変更される。
【００１７】
図４に示されている本発明の第３の実施形態においては、ユーザ１０はリモートのデータベース管理者２４にまったくコンタクトしない。代わりに、ユーザ１０はローカルのデータベース・スキーマ２０で動作しているリモートのデータベース・システム２２において、ステップＳ６０において実験的な情報の問合わせを実行する。次に、その実験的な問合わせの結果に基づいて、ユーザ１０はステップＳ６２においてローカルのデータベース・スキーマ２０によって記述されている格納された値および属性名を含んでいる、第１のデータベース見本ファイルを構築する。次に、ステップＳ６４において、ユーザ１０はローカルのデータベース・スキーマ２０の中の値を、ユーザ１０のワールド・ビューのデータベース・スキーマ１８の中の対応している属性名に対してマップすることによって、第２のデータベース見本ファイルをさらに構築する。次に、メディエータ１４はステップＳ６６において第１および第２のデータベース見本ファイルに基づいて変換マップを生成する。次にユーザ１０はその変換マップが適切であるかどうかをステップＳ６８において判定しなければならない。その変換マップが適切であった場合、メディエータ１４はステップＳ７０においてその変換を格納し、それ以降のユーザ１０からの情報の問合わせを変換する際に使う。マップが適切でなかった場合、ユーザ１０はステップＳ６９において所望の結果を得るためにその変換マップを変更することができる。
【００１８】
図５に示されている本発明の第４の実施形態においては、ワールド・ビューのデータベース・スキーマ１８は広く知られている。詳しく言えば、ワールド・ビューのデータベース見本ファイルが存在しており、それは正規化形式で格納されている属性名および値を含んでおり、そして広く知られていて利用することができる。正規化形式はワールド・ビューのデータベース・スキーマ１８のフォーマットでワールド・ビューのデータベース・スキーマ１８の中の属性名に対して曖昧でない値を割り当てるために設けられている。
【００１９】
次に、データベース管理者２４は当然のこととして、そのワールド・ビューのデータベース見本ファイルに基づいて、ステップＳ８０およびＳ８２において第１および第２のデータベース見本ファイルを生成する。第１のデータベース見本ファイルは、ローカルのデータベース・スキーマ２０の対応して属性名で格納されている、ワールド・ビューのデータベース見本ファイルの正規化形式からの値を含んでいる。
【００２０】
第２のデータベース見本ファイルはローカルのデータベース・スキーマ２０が暗黙の情報を含んでいない限り、ワールド・ビューのデータベース見本ファイルのコピーである。この場合、第２のデータベース見本ファイルを生成するためにワールド・ビューのデータベース見本ファイルの中の１つまたはそれ以上の属性名の正規化の値を暗黙の情報が置き換える。
【００２１】
次に、データベース管理者２４は、ワールド・ビューのデータベース・スキーマ１８を使っている人によって広く理解される総称名のファイルの中に、データベース・システム２２上の第１および第２のデータベース見本ファイルを格納する。次にステップＳ８４において、データベース・システム２２はコンピュータ・システム１２から新しいユーザ１０からの問合わせを受ける。判定ボックスＳ８５において格納されている変換マップがなかった場合、ステップＳ８６において、第１および第２のデータベース見本ファイルが自動的にコンピュータ・システム１２の中にロードされる。それ以外の場合、ステップＳ９０へ進む。次にメディエータ１４はその第１および第２のデータベース見本ファイルを読み、ステップＳ８８において変換マップを生成する。
【００２２】
それ以降で、メディエータ１４はステップＳ８９において変換マップを格納することができる。次に、ユーザの問合わせがその変換マップに基づいて、ステップＳ９０において変換される。それ以降において、情報の問合わせからの結果がステップＳ９２においてユーザ１０に返される。次に判定のステップＳ９４において、ユーザ１０はステップＳ９６において別の情報の問合わせを行うか、あるいは行われるようにすることができる。この方法で、ユーザ１０は以前には未知であったデータベース・システム２２に問合わせをすることができ、そしてワールド・ビューのデータベース・スキーマ１８で情報の問合わせを行うことができる。次に、情報の問合わせがデータベース管理者２４にコンタクトすることなしに、あるいはデータベース見本ファイルを構築することなしに、リモートのデータベース・システム２２に自動的に変換される。
【００２３】
本発明の第５の実施形態においては、ユーザ１０はワールド・ビューのデータベース・スキーマ１８においては操作することはできないが、統合化されるべきリモートのデータベース・システム２２のスキーマとは異なるローカルのデータベース・スキーマ２０で操作することができる。ユーザ１０はそのユーザのローカルのデータベース・スキーマ２０およびワールド・ビューのデータベース・スキーマ１８のそれぞれに対応している、第３および第４のデータベース見本ファイルを自分のコンピュータ・システム１２上に常駐させておくことができる。次に、これらの第３および第４のデータベース見本ファイルはそのユーザのローカルのデータベース・スキーマからワールド・ビューのデータベース・スキーマ１８に対する変換のためのベースを形成することになる。
【００２４】
このシナリオにおいて、ユーザ１０は以前には未知であったデータベース・システム２２と自動的にコンタクトし、そのユーザ自身のローカルのデータベース・スキーマにおいて問合わせを提示することができる。次に、メディエータ１４はその第３および第４のデータベース見本ファイルに基づいてそのユーザのローカルのデータベース・スキーマ２０からワールド・ビューのデータベース・スキーマ１８へのユーザの情報の問合わせを自動的に変換する。さらに、メディエータ１４はワールド・ビューのデータベース・スキーマ１８からのそのユーザの問合わせを、リモート・データベース・システム２２のローカルのデータベース・スキーマへ変換する。これらのすべてがリモートのデータベース管理者２４にコンタクトする必要なしに自動的に行われる。
【００２５】
＜マッピングの生成＞
公式の論理的な文章に使うと思われる情報源の記述の中に与えられる３種類の情報がある。それらは関係および属性のマッピング、フォーマットのマッピングおよび情報源における完全性の制約である。
【００２６】
次の論理的な文章の中で、Ｒはワールド・ビューのデータベース・スキーマにおける属性の関係を表し、Ｅは同じローカルのデータベース・スキーマにおける属性名の関係を示す。ｆは２つの役割りを演じることができる。先ず最初に、それはワールド・ビューのデータベース・スキーマ１８と情報源との中で使われるフォーマットの間で変換することができる。第２に、それはその情報源の中のいくつかの属性からワールド・ビューのデータベース・スキーマ１８の属性を作ること、あるいはその逆ができる。
【００２７】
１．Ｒ（ｘ，ｙ）＝Ｅ1（ｘ，ｘ1）＾．．．Ｅn（ｘ，ｘn）＝ｆ（ｘ1，．．．，ｘn）
この論理的な文章の中では、ワールド・ビューのデータベース・スキーマ１８の中の属性が、ローカルのデータベース・スキーマ２０の中のいくつかの属性から作成されている。
【００２８】
２．Ｒ1（ｘ，ｘ1）＾．．．Ｒn（ｘ，ｘn）＾ｙ＝ｆ（ｘ1，．．．，ｘn）＝Ｅ（ｘ，ｙ）
この論理的な文章の中では、リモートのデータベース・スキーマ２０の中の属性名が、ワールド・ビューのデータベース・スキーマ１８の中の複数の属性名から作られている。
【００２９】
３．Ｒ（ｘ，ｙ）＝Ｃ
この論理的な文章の中では、ワールド・ビューのデータベース・スキーマの中の属性は定数である。この論理的な文章は１つの情報源の中の値についての完全性の制約を表している。
【００３０】
本発明の好適な一実施形態の中で、上記の論理的な文章がマッピングに対する直観的な採点の方法を使ってワールド・ビューのデータベース・スキーマの中の各属性名に対して生成される。図６はコンピュータのソフトウェアまたはハードウェアの中で実装するために使われる疑似コード、ローカルのデータベース・スキーマ２０とワールド・ビューのデータベース・スキーマ１８とに対応しているデータベース見本ファイルから、変換マップを生成するためのシステムを示している。
【００３１】
プログラム・ステップＰＳ１において、データベース見本ファイル１および２がコンピュータ・システム１２のメモリの中にロードされる。プログラム・ステップＰＳ２は可能なすべての属性マッピングを決定するために設けられている、サブステップＰＳ２Ａ〜ＰＳ２Ｅから構成されている。プログラム・ステップＰＳ２Ａにおいて、データベース見本ファイル２の中の各属性に対して、プログラムはデータベース見本ファイル２の中の１つの属性の完全な値にマッチするデータベース見本ファイル１の中の属性を探す。プログラム・ステップＰＳ２Ｂにおいて、データベース見本ファイル２の中の各属性に対して、プログラムはデータベース見本ファイル２の中の属性の値を含んでいるデータベース見本ファイル１の中の複数の属性を探す。プログラム・ステップＰＳ２Ｃにおいて、データベース見本ファイル１の中の各属性に対して、プログラムはデータベース見本ファイル１の中の属性の値を含んでいる、データベース見本ファイル２の中の複数の属性を探す。プログラム・ステップＰＳ２Ｄにおいて、値が欠落しているプログラム・ステップＰＳ２Ａ〜ＰＳ２Ｃの中で決定された任意のマッピングにフラグを立てる。プログラム・ステップＰＳ２Ｅにおいて、データベース見本ファイル１の中にマッピングを持たないデータベース見本ファイル２からの属性を探す。これが発生した場合、データベース見本ファイル２の中の属性値は定数である。
【００３２】
プログラム・ステップＰＳ３はサブステップＰＳ３Ａ〜ＰＳ３Ｅから構成されている。ここで、プログラムは可能なマッピングの内から最善のマッピングを決定するために、以下に述べるような採点のアルゴリズムを実行する。プログラム・ステップＰＳ３Ａにおいて、データベース見本ファイル１とデータベース見本ファイル２の中の属性間に１‐１の属性マッピングがあった場合、＋１０点がそのマッピングに対して割り当てられる。
【００３３】
プログラム・ステップＰＳ３Ｂにおいて、１‐１のマッピングがあって、その１‐１のマッピングが大文字と小文字を区別する場合、＋２０点が追加される。プログラム・ステップＰＳ３Ｃにおいて、図７に示されているように、その１‐１のマッピングが属性名に対する共通語と一致した場合、そのマッピングには＋５０点が与えられる。そのような共通属性名のファイルはユーザ１０によって維持され、変更される可能性がある。ステップＰＳ３Ｄにおいて、そのマッピングが多−１または１−多であった場合、マッチするすべてのフィールドに対してそのマッピングに５点が追加される。そのマッピングが大文字と小文字を区別する場合、追加の１０点が加算される。ステップＰＳ３Ｅにおいて、多−１または１−多のマッピングの中に欠落している値がなかった場合、そのマッピングに対して２０点が加算される。
【００３４】
プログラム・ステップＰＳ４は選択肢の中から最善のマッピングの組を拾い出すために、プログラム・ステップＰＳ３において採点されたマッピングの得点の比較が行われる。プログラム・ステップＰＳ４Ａにおいて、多−１のマッピングまたは１−多のマッピングが２０点以上の得点を持つ１−１のマッピングの属性を含んでいた場合、その１−多または多−１のマッピングの得点は２５点だけ等級が下げられる。プログラム・ステップＰＳ４Ｂにおいて、多−１または１−多のマッピングが、２０点以上の得点を持つ多−１または１−多のマッピングを伴う属性を含んでいた場合、その問題の多−１または１−多のマッピングから２５点が差し引かれる。プログラム・ステップＰＳ４Ｃにおいて、１−１のマッピングが４０点以上の別の１−１のマッピング付きの属性を含んでいた場合、その問題の１−１のマッピングから２５点が差し引かれる。
【００３５】
プログラム・ステップＰＳ５において、論理的な変換文章が最高得点のマッピングから発生される。
【００３６】
図８は図８Ａおよび図８Ｂから構成され、データベース・システムの中に格納されている情報の一例を表している。ローカルのデータベース・スキーマ２０の中に格納されている情報を含んでいる、第１のデータベース見本ファイルがある。また、ワールド・ビューのデータベース・スキーマ１８のフォーマットで格納されている値を含んでいる、第２のデータベース見本ファイルも示されている。さらに、図８は図６の疑似コードを実装しているメディエータ１４によって決定される、直観的採点および属性のマッピングを示している。図９Ａおよび図９Ｂから構成される図９は、図８に対する第２の類似の見本である。
【００３７】
＜ユーザの問合わせ＞
変換マップが生成された後、ユーザ１０は図１０に示されているように、そのユーザのワールド・ビューのデータベース・スキーマ１８の属性名を使って、リモートのデータベース・システム２２に対して情報の問合わせを生成することができる。ユーザ１０はステップＳ１００においてそのユーザのコンピュータ・システム１２に対して情報の問合わせを発行する。メディエータ１４はユーザ１０からの問合わせを受け付け、そのユーザの情報の問合わせをステップＳ１０２においてワールド・ビューのデータベース・スキーマ１８から、ユーザ１０が情報を必要としているリモートのデータベース・システム２２のローカルのデータベース・スキーマ２０へ変換する。ユーザ１０はリモートのデータベース・システム２２を直接にターゲットとしてもよいし、あるいはメディエータ１４が与えられたユーザ１０の問合わせを適切なリモートのデータベース・システム２２に対して、あるいは要求された情報を最も効率的に供給するデータベース・システムに対して指令し、そして変換することができる。その後、図８に示されているように、ユーザの問合わせからの結果がステップＳ１０４においてユーザ１０へ戻される。ユーザ１０はその時、ステップＳ１０８においてさらに情報に対する問合わせを継続するか、あるいは停止するかどうかを、ステップＳ１０６において判定しなければならない。
【００３８】
本発明の特定の実施形態が開示されてきたが、この分野の技術に熟達している人によって、本発明の精神および範囲から逸脱することなしにそれらの特定の実施形態に対する変更が可能であることを理解されたい。
【図面の簡単な説明】
【図１】コンピュータ・ネットワークを経由してコンピュータ・システムに接続されている、リモートのデータベース・システムを含んでいる統合化された情報システムのブロック図である。
【図２】新しいリモートのデータベース・システムに対するサイト記述を含んでいるユーザの流れ図であり、その中ではデータベース管理者が第１および第２のデータベース見本ファイルを両方とも生成する。
【図３】新しいリモートのデータベース・システムに対するサイト記述を得ているユーザの流れ図であり、その中ではデータベース管理者が第１のデータベース見本ファイルを生成する。次に、ユーザが第２のデータベース見本ファイルを生成する。
【図４】データベース管理者にコンタクトせずに、新しいリモート・データベース・システムに対する第１および第２のデータベース見本ファイルの両方を構築するユーザの流れ図である。
【図５】よく知られているワールド・ビュー（ｗｏｒｌｄ−ｖｉｅｗ）データベース・スキーマに基づいて、データベース管理者が既に生成されている第１のデータベース見本ファイルと第２のデータベース見本ファイルを持っている新しいリモートのデータベース・システムに問い合わせるユーザの流れ図である。
【図６】第１および第２のデータベース見本ファイルの直観的な採点に基づいて、ワールド・ビューのデータベース・スキーマとローカルのデータベース・スキーマとの間の変換マップを生成するために使われる疑似コードである。
【図７】疑似コードによって使われる属性名に対して使われる共通語のリストである。
【図８】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの一例である。
【図８Ａ】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの一例である。
【図８Ｂ】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの一例である。
【図９】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの第２の例である。
【図９Ａ】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの第２の例である。
【図９Ｂ】第１および第２のデータベース見本ファイルの中に格納されている構造化された情報および疑似コードによって生成された結果の、直観的採点および変換マップの第２の例である。
【図１０】サイト記述が得られて変換マップが生成された後の、リモートのデータベースに対する問合わせをまとめているユーザの流れ図である。
【図１】
0004132137.tif 000002
【図２】
0004132137.tif 000003
【図３】
0004132137.tif 000004
【図４】
0004132137.tif 000005
【図５】
0004132137.tif 000006
【図６】
0004132137.tif 000007
【図７】
0004132137.tif 000008
【図８】
0004132137.tif 000009
【図８Ａ】
0004132137.tif 000010
【図８Ｂ】
0004132137.tif 000011
【図９】
0004132137.tif 000012
【図９Ａ】
0004132137.tif 000013
【図９Ｂ】
0004132137.tif 000014
【図１０】
0004132137.tif 000015