(57)【特許請求の範囲】
【請求項１】
リレーショナル・データベース（以下、ＲＤＢという）に対するセマンティック・マッピングを自動的に生成するための方法であって、
第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングを取得するステップと、
前記第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングを取得するステップと、
前記第２のＲＤＢから、前記リンクト・データの前記オントロジへの第２のセマンティック・マッピングを、前記第１のセマンティック・マッピングおよび前記スキーマ・マッピングに基づいて生成するステップと
を含み、
前記生成するステップは、
前記第１のセマンティック・マッピングに関する内部モデル表現を、前記第１のセマンティック・マッピングに基づいて取得するステップであって、前記内部モデル表現はグラフィック構造ベースの表現である、前記取得するステップと、
前記スキーマ・マッピングに関する内部モデル表現を、前記スキーマ・マッピングに基づいて取得するステップと、
前記第１のセマンティック・マッピングに関する前記内部モデル表現、および、前記スキーマ・マッピングに関する前記内部モデル表現を合成して、マッピングの合成内部モデル表現を取得するステップと、
前記マッピングの前記合成内部モデル表現をコンパイルして、前記第２のセマンティック・マッピングを取得するステップであって、マッピングの合成グラフィック構造表現上のグラフ探索を実行して、前記第２のセマンティック・マッピングを取得するステップを含む、前記第２のセマンティック・マッピングを取得するステップと
を含む、前記方法。
【請求項２】
前記第１のセマンティック・マッピングは、リソース記述フレームワークＲＤＦトリプルから構成され、前記ＲＤＦトリプルは、主語、述語、および目的語を含み、
前記第１のセマンティック・マッピングに基づいて取得する前記ステップは、
前記ＲＤＦトリプルの前記主語および目的語を、グラフ上のノードとして具象化し、前記ＲＤＦトリプルの前記述語を、前記グラフ上のエッジとして具象化し、そのことにより、前記第１のセマンティック・マッピングに関するグラフィック構造表現を取得するステップ
を含む、請求項１に記載の方法。
【請求項３】
前記第１のセマンティック・マッピングに基づいて取得する前記ステップは、
前記ＲＤＦトリプルの前記目的語を、リテラル情報である前記目的語に応じて、前記グラフ上の空白ノードとして具象化するステップであって、前記空白ノードは、前記リテラル情報に内包されるＲＤＢノードに有向化される、前記具象化するステップ
をさらに含む、請求項２に記載の方法。
【請求項４】
前記スキーマ・マッピングに基づいて取得する前記ステップは、
前記スキーマ・マッピング内のスキーマ・マッピング名を、前記グラフ上のノードとして具象化するステップと、
前記第１のＲＤＢのtable-name.column-name、および、前記第２のＲＤＢのtable-name.column-nameを、前記グラフ上のノードとして具象化するステップと、
同じ変数記号を共有する、前記スキーマ・マッピング内の、前記第１のＲＤＢの前記table-name.column-name、および、前記第２のＲＤＢの前記table-name.column-nameに応じて、前記スキーマ・マッピング名に対応するノードを、関連ノードに、エッジによって有向化するステップであって、前記関連ノードは、前記第１のＲＤＢの前記table-name.column-name、および、前記第２のＲＤＢの前記table-name.column-nameそれぞれに対応するノードに有向化される、前記有向化するステップと
を含む、請求項２又は３に記載の方法。
【請求項５】
前記合成内部モデル表現を取得する前記ステップは、
前記第１のセマンティック・マッピングに関する前記内部モデル表現、および、前記スキーマ・マッピングに関する前記グラフィック構造表現上のグラフ探索を実行して、マッピングの合成内部モデル表現を取得するステップ
を含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記セマンティック・マッピングは、Ｄ２ＲＱマッピングである、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
リレーショナル・データベース（以下、ＲＤＢという）に対するセマンティック・マッピングを自動的に生成するためのシステムであって、
第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングを取得するように構成されるセマンティック・マッピング取得モジュールと、
前記第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングを取得するように構成されるスキーマ・マッピング取得モジュールと、
前記第２のＲＤＢから、前記リンクト・データの前記オントロジへの第２のセマンティック・マッピングを、前記第１のセマンティック・マッピングおよび前記スキーマ・マッピングに基づいて生成するように構成されるセマンティック・マッピング生成モジュールと
を備えており、
前記セマンティック・マッピング生成モジュールは、
前記第１のセマンティック・マッピングに関する内部モデル表現を、前記第１のセマンティック・マッピングに基づいて取得するように構成されるセマンティック・マッピング処理モジュールであって、前記内部モデル表現はグラフィック構造ベースの表現である、前記セマンティック・マッピング処理モジュールと、
前記スキーマ・マッピングに関する内部モデル表現を、前記スキーマ・マッピングに基づいて取得するように構成されるスキーマ・マッピング処理モジュールと、
前記第１のセマンティック・マッピングに関する前記内部モデル表現、および、前記スキーマ・マッピングに関する前記内部モデル表現を合成して、マッピングの合成内部モデル表現を取得するように構成されるマッピング合成モジュールと、
前記マッピングの前記合成内部モデル表現をコンパイルして、前記第２のセマンティック・マッピングを取得するように構成されるマッピング・コンパイル・モジュールであって、マッピングの合成グラフィック構造表現上のグラフ探索を実行して、前記第２のセマンティック・マッピングを取得する前記マッピング・コンパイル・モジュールと
を備える、
前記システム。
【請求項８】
前記第１のセマンティック・マッピングは、リソース記述フレームワークＲＤＦトリプルから構成され、前記ＲＤＦトリプルは、主語、述語、および目的語を含み、
前記セマンティック・マッピング処理モジュールは、
前記ＲＤＦトリプルの前記主語および目的語を、グラフ上のノードとして具象化し、前記ＲＤＦトリプルの前記述語を、前記グラフ上のエッジとして具象化し、そのことにより、前記第１のセマンティック・マッピングに関するグラフィック構造表現を取得する
ように構成される、請求項７に記載のシステム。
【請求項９】
前記セマンティック・マッピング処理モジュールは、
前記ＲＤＦトリプルの前記目的語を、リテラル情報である前記目的語に応じて、前記グラフ上の空白ノードとして具象化することであって、前記空白ノードは、前記リテラル情報に内包されるＲＤＢノードに有向化される、前記具象化すること
を行うようにさらに構成される、請求項８に記載のシステム。
【請求項１０】
前記スキーマ・マッピング処理モジュールは、
前記スキーマ・マッピング内のスキーマ・マッピング名を、前記グラフ上のノードとして具象化することと、
前記第１のＲＤＢのtable-name.column-name、および、前記第２のＲＤＢのtable-name.column-nameを、前記グラフ上のノードとして具象化することと、
同じ変数記号を共有する、前記スキーマ・マッピング内の、前記第１のＲＤＢの前記table-name.column-name、および、前記第２のＲＤＢの前記table-name.column-nameに応じて、前記スキーマ・マッピング名に対応するノードを、関連ノードに、エッジによって有向化することであって、前記関連ノードは、前記第１のＲＤＢの前記table-name.column-name、および、前記第２のＲＤＢの前記table-name.column-nameそれぞれに対応するノードに有向化される、前記有向化することと
を行うように構成される、請求項８又は９に記載のシステム。
【請求項１１】
前記マッピング合成モジュールは、
前記第１のセマンティック・マッピングに関する前記内部モデル表現、および、前記スキーマ・マッピングに関する前記グラフィック構造表現上のグラフ探索を実行して、マッピングの合成内部モデル表現を取得する
ように構成される、請求項７〜１０のいずれか１項に記載のシステム。
【請求項１２】
前記セマンティック・マッピングは、Ｄ２ＲＱマッピングである、請求項７〜１１のいずれか１項に記載のシステム。
【請求項１３】
コンピュータ・プログラムであって、前記プログラムをコンピュータ上で走らせるときに、請求項１〜６のいずれか１項に記載の方法を実行するように適合させたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理に関し、より詳細には、リレーショナル・データベースに対するセマンティック・マッピングを自動的に生成するための方法およびシステムに関する。
【背景技術】
【０００２】
データ統合は常に、企業データ管理における重要なタスクの１つであり続けており、最も普及しているものは、リレーショナル・データ統合である。伝統的なリレーショナル・データ統合は、各々のローカル・リレーショナル・データベースＲＤＢが、グローバル・データ・スキーマにマッピングされ得るように、グローバル・データ・スキーマを設計する必要がある。しかしながらそのようなグローバル・データ・スキーマは、大部分の場合、特に、各々のローカル・リレーショナル・データベースが、動的な追加または削除を有する場合は、前もって設計され得るということはほとんどない。したがってデータ管理コミュニティは徐々に、リンクト・データが大きく価値をもつ、スキーマレス・データ統合方法を支持してきている。リンクト・データは、データ・モデル、すなわちＲＤＦ（リソース記述フレームワーク）を採用して、インスタンス・データおよびオントロジ・データをパブリッシュするように、ＵＲＩ（ユニフォーム・リソース識別子）を使用してデータ・エンティティを表す。したがってパブリッシュされたデータは、人間−機械の理解を容易にするためのリンケージおよび文脈情報を伴って、ＨＴＴＰ（ハイパーテキスト転送プロトコル）によって取得され得る。
【０００３】
リレーショナル・データは、リンクト・データとしてセマンティック・マッピングによってパブリッシュされ得る。Ｄ２ＲＱ（http://www4.wiwiss.fu-berlin.de/bizer/d2rq/）、SquirrelRDF（http://jena.sourceforge.net/SquirrelRDF）、およびOpenLink Virtuoso（http://virtuoso.openlinksw.com/）などの、よく知られているセマンティック・マッピング・ツールが存在する。
【０００４】
リレーショナル・データはスキーマを有し、一方でスキーマは、列から構成されるテーブルから構成される。同様にリンクト・データはオントロジを含み、一方でオントロジは、クラスおよびプロパティから構成される。一般的には、リレーショナル・データをリンクト・データとしてパブリッシュするための２つの方途が存在する。一方は、デフォルトによるものである。すなわち、そのような生成されたリンクト・データのオントロジは、新しく定義されたクラス名（すなわち、リレーショナル・データベース内のテーブル名）、およびプロパティ名（すなわち、リレーショナル・データベース内の列名）から構成される。他方の方途は、リレーショナル・データベース内のテーブル名および列名が、リンクト・データのオントロジで定義されているクラス名およびプロパティ名にマッピングされ得るように、セマンティック・マッピングを定義することである。当然のことながら、デフォルトによりパブリッシュされるようなリンクト・データは常に、ささいな意味のないものである。それとは対照的に、良好に定義されたセマンティック・マッピングによりパブリッシュされるようなリレーショナル・データは、より有用で意味のあるものである。しかしながら、数百の、さらには数千のリレーショナル・データベースが、リンクト・データとしてパブリッシュされる必要があるとき、Ｄ２ＲＱマッピングを手動で定義することは、疑いの余地なく時間がかかりエネルギーを消費する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】http://www4.wiwiss.fu-berlin.de/bizer/d2rq/
【非特許文献２】http://jena.sourceforge.net/SquirrelRDF
【非特許文献３】http://virtuoso.openlinksw.com/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の問題に鑑みて、セマンティック・マッピングを自動的に生成するための解決策を提供することが所望されている。
【課題を解決するための手段】
【０００７】
本発明の１つの態様によると、リレーショナル・データベースＲＤＢに対するセマンティック・マッピングを自動的に生成するための方法が提供される。方法は、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングを取得するステップと、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングを取得するステップと、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングを、第１のセマンティック・マッピングおよびスキーマ・マッピングに基づいて生成するステップとを含む。
【０００８】
本発明の別の態様によると、リレーショナル・データベースＲＤＢに対するセマンティック・マッピングを自動的に生成するためのシステムが提供される。システムは、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングを取得するように構成されるセマンティック・マッピング取得モジュールと、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングを取得するように構成されるスキーマ・マッピング取得モジュールと、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングを、第１のセマンティック・マッピングおよびスキーマ・マッピングに基づいて生成するように構成されるセマンティック・マッピング生成モジュールとを備える。
【０００９】
本発明はさらには、コンピュータ・プログラムとして実装され得る。
【００１０】
本発明の実施形態による、方法、システム、およびコンピュータ・プログラムによって、リレーショナル・データベースからセマンティック・マッピングを生成することの効率が、効果的に高められ得る。
【００１１】
添付図面での、本開示のいくつかの実施形態のより詳細な説明によって、本開示の上記および他の、目的、特徴、および利点が、より明らかとなるものであり、同じ参照番号は一般的には、本開示の実施形態での同じ構成要素を指す。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態を実装するように適用可能である、例示的なコンピュータ・システム／サーバ１２を示す図である。
【図２】本発明の１つの実施形態による、セマンティック・マッピングを自動的に生成するための方法のフローチャートを示す図である。
【図３】本発明の１つの実施形態による、図２のステップを実装するためのさらなるフローチャートを示す図である。
【図４】本発明の１つの実施形態による、セマンティック・マッピングを自動的に生成するためのシステムのブロック図である。
【図５】本発明の１つの実施形態による、グラフィック構造の概略図である。
【図６】本発明の１つの実施形態による、グラフィック構造の概略図である。
【図７】本発明の１つの実施形態による、グラフィック構造の概略図である。
【発明を実施するための形態】
【００１３】
いくつかの好ましい実施形態を、本開示の好ましい実施形態が例解されている添付図面を参照して、より詳細に説明する。しかしながら本開示は、様々な様式で実装され得るものであり、したがって本開示を、本明細書で開示する実施形態に制限されると解釈すべきではない。それとは対照的に、それらの実施形態は、本開示を徹底して完全に理解すること、ならびに、本開示の範囲を当業者に完全に伝えることのために提供されるものである。
【００１４】
ここで、本発明の実施形態を実装するように適用可能である、例示的なコンピュータ・システム／サーバ１２が示される、図１を参照する。コンピュータ・システム／サーバ１２は、単に例解的なものであり、本明細書で説明する本発明の実施形態の使用または機能性の範囲に関する何らかの制限を示唆することは意図されない。
【００１５】
図１で示されるようにコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形式で示される。コンピュータ・システム／サーバ１２の構成要素は、１つまたは複数のプロセッサまたは処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム構成要素を、プロセッサまたは処理ユニット１６に結合するバス１８とを含み得るが、それらに制限されない。
【００１６】
バス１８は、種々のバス・アーキテクチャの任意のものを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、および、プロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造の任意のものの１つまたは複数を表す。例としてであって、制限としてではなく、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バスを含む。
【００１７】
コンピュータ・システム／サーバ１２は典型的には、種々のコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２によりアクセス可能である任意の利用可能な媒体であり得るものであり、その媒体は、揮発性および不揮発性の両方の媒体、リムーバブルおよび非リムーバブルの媒体を含む。
【００１８】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方などの、揮発性メモリの形式でのコンピュータ・システム可読媒体を含み得る。コンピュータ・システム／サーバ１２は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ・システム記憶媒体をさらに含み得る。単に例として、記憶システム３４は、非リムーバブル、不揮発性の磁気媒体（図示しないが、典型的には「ハード・ドライブ」と呼ぶ）から読み出す、および、その磁気媒体に書き込むために設けられ得る。図示しないが、リムーバブル、不揮発性の磁気ディスク（例えば、「フロッピィ（R）・ディスク」）から読み出す、および、その磁気ディスクに書き込むための磁気ディスク・ドライブ、ならびに、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、もしくは他の光学媒体などのリムーバブル、不揮発性の光学ディスクから読み出す、または、その光学ディスクに書き込むための光学ディスク・ドライブが設けられ得る。そのような場合、各々のドライブは、バス１８に、１つまたは複数のデータ媒体インターフェイスにより接続され得る。下記でさらに描写および説明するように、システム・メモリ２８は、本発明の実施形態の機能を実行するように構成される１組（例えば、少なくとも１つ）のプログラム・モジュールを有する、少なくとも１つのプログラム製品を含み得る。
【００１９】
１組（少なくとも１つ）のプログラム・モジュール４２を有するプログラム／ユーティリティ４０は、例としてであって、制限としてではなく、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、システム・メモリ２８に記憶され得る。オペレーティング・システム、１つもしくは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々、または、それらの何らかの組み合わせは、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール４２は一般的には、本明細書で説明するような本発明の実施形態の機能または方法論あるいはその両方を実行する。
【００２０】
コンピュータ・システム／サーバ１２はさらには、キーボード、ポインティング・デバイス、ディスプレイ２４などの、１つもしくは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２と対話することを可能にする１つもしくは複数のデバイス、または、コンピュータ・システム／サーバ１２が１つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（例えば、ネットワーク・カード、モデム、その他）、あるいはそれらの組み合わせと通信し得る。そのような通信は、入出力（Ｉ／Ｏ）インターフェイス２２を介して行われ得る。その上さらにコンピュータ・システム／サーバ１２は、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ）、または公衆ネットワーク（例えば、インターネット）、あるいはそれらの組み合わせなどの、１つまたは複数のネットワークと、ネットワーク・アダプタ２０を介して通信し得る。描写するようにネットワーク・アダプタ２０は、コンピュータ・システム／サーバ１２の他の構成要素と、バス１８を介して通信する。特に示さないが、他のハードウェアまたはソフトウェアあるいはその両方の構成要素が、コンピュータ・システム／サーバ１２と連関して使用され得るということを理解すべきである。例としては、マイクロコード、デバイス・ドライバ、冗長な処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ保存用記憶システム、その他を含むが、それらに制限されない。
【００２１】
リレーショナル・データベースのリレーション・モデルでは、エンティティ、および、エンティティ間の関係の両方は、単一の構造的な、すなわち、２次元テーブルにより表される関係を有する。各々のテーブルは、行および列から構成される。テーブルの各々の行はタプルであり、各々の列はプロパティである。プロパティの値は、対応するデータ・タイプおよび値範囲を有する。リンクト・データのデータ・モデルはＲＤＦモデルである。ＲＤＦモデルは、主語、述語、および目的語を含むトリプルにより表され得る。
【００２２】
本明細書では以降、本発明の１つの実施形態による、セマンティック・マッピングを自動的に生成するための方法を、図２を参照して説明する。
【００２３】
ステップＳ２１０で、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングが取得され、セマンティック・マッピングは、任意の知られている様式で生成され得る。例えばそのセマンティック・マッピングは、人為的な定義によって、または、任意の他の知られている様式で生成され得る。
【００２４】
ステップＳ２２０で、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングが取得され、リレーショナル・データベース間のスキーマ・マッピングは、任意の既存の技術を使用して実装され得る。
【００２５】
ステップＳ２３０で、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングが、第１のセマンティック・マッピングおよびスキーマ・マッピングに基づいて生成される。
【００２６】
このように、新しいリレーショナル・データベースと、リンクト・データの所与のオントロジとの間のセマンティック・マッピングは、シードとしての定義されたセマンティック・マッピングとともに、他のリレーショナル・データベースと、このリレーショナル・データベースとの間のスキーマ・マッピングによって取得され、そのことにより、セマンティック・マッピングを生成することの効率を、効率的に高め得る。
【００２７】
図３は、図２で示されるステップＳ２３０の１つの実施形態のフローチャートを示す。
【００２８】
ステップＳ３１０で、第１のセマンティック・マッピングに関する内部モデル表現が、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングに基づいて取得され、内部モデル表現は、論理ベースの表現、グラフィック構造ベースの表現、または、他の形式の内部モデル表現を用い得る。ここではその内部モデル表現は、任意の特有の内部モデル表現に制限されず、代わりに、当業者に知られている任意の内部モデル表現が採用され得る。
【００２９】
ステップＳ３２０で、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングに基づいて、スキーマ・マッピングに関する内部モデル表現が取得される。同様にこの内部モデル表現は、論理ベースの表現、グラフィック構造ベースの表現、または、当業者に知られている他の形式の内部モデル表現を用い得る。
【００３０】
ステップＳ３３０で、第１のセマンティック・マッピングに関する内部モデル表現、および、スキーマ・マッピングに関する内部モデル表現が、マッピングの合成内部モデル表現を取得するために合成される。例えば、論理ベースの内部モデル表現に対しては、第１のセマンティック・マッピングの論理表現、および、スキーマ・マッピングの論理表現が、分析により論理的に合成され得る。グラフィック構造ベースの表現に対しては、２つのグラフィック構造表現が、グラフィック構造によって、マッピングの合成を実現するように構成され得る。本発明の１つの実施形態によると、グラフィック構造を構成することは、グラフ探索によって実行され得る。
【００３１】
ステップＳ３４０で、合成マッピングの内部モデル表現が、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングを取得するためにコンパイルされる。例えば本発明の１つの実施形態によると、グラフィック構造ベースの表現に対しては、合成グラフィック構造表現は、グラフ探索によってコンパイルされる。
【００３２】
当業者であれば、上記の方法が、ソフトウェアにより、または、ハードウェアにより、または、ソフトウェアおよびハードウェアの組み合わせにより実装され得るということを十分認識することが可能である。さらに当業者は、上記の方法でのそれぞれのステップを、ソフトウェア、ハードウェア、または、ソフトウェアおよびハードウェアの組み合わせの様式で実装することにより、セマンティック・マッピングを自動的に生成するためのシステムが提供され得るということを十分認識するであろう。システムが、ハードウェア構造において一般的な処理デバイスと同一である場合でも、そのシステムに含まれるソフトウェアの影響に起因して、システムは、一般的な処理デバイスとは別個の特性を呈し、そのことにより、本発明の様々な実施形態による装置を形成する。
【００３３】
図４は、本発明の１つの実施形態による、セマンティック・マッピングを自動的に生成するためのシステムのブロック図を示す。システムは、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングを取得するように構成されるセマンティック・マッピング取得モジュール４１０と、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングを取得するように構成されるスキーマ・マッピング取得モジュール４２０と、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングを、第１のセマンティック・マッピングおよびスキーマ・マッピングに基づいて生成するように構成されるセマンティック・マッピング生成モジュール４３０とを備え、セマンティック・マッピング取得モジュールにより取得されるセマンティック・マッピングは、任意の知られている方式で生成され得る。例えばそのセマンティック・マッピングは、人為的な定義によって、または、任意の他の知られている方式で生成され得る。スキーマ・マッピング取得モジュールにより取得されるスキーマ・マッピングは、任意の既存の技術により実装される、リレーショナル・データベース間のスキーマ・マッピングであり得る。
【００３４】
本発明の１つの実施形態によると、セマンティック・マッピング生成モジュール４３０は、以下のモジュール、すなわち、セマンティック・マッピング処理モジュール４３２と、スキーマ・マッピング処理モジュール４３４と、マッピング合成モジュール４３６と、マッピング・コンパイル・モジュール４３８とをさらに備え得る。
【００３５】
本明細書ではセマンティック・マッピング処理モジュール４３２は、第１のセマンティック・マッピングに関する内部モデル表現を、第１のＲＤＢから、リンクト・データのオントロジへの第１のセマンティック・マッピングに基づいて取得するように構成される。スキーマ・マッピング処理モジュール４３４は、第１のＲＤＢから第２のＲＤＢへのスキーマ・マッピングに基づいて、スキーマ・マッピングに関する内部モデル表現を取得するように構成される。マッピング合成モジュール４３６は、第１のセマンティック・マッピングに関する内部モデル表現、および、スキーマ・マッピングに関する内部モデル表現を合成して、マッピングの合成内部モデル表現を取得するように構成される。マッピング・コンパイル・モジュール４３８は、マッピングの合成内部モデル・スキーマをコンパイルして、第２のＲＤＢから、リンクト・データのオントロジへの第２のセマンティック・マッピングを取得するように構成される。
【００３６】
本明細書では以降、例としてのＤ２ＲＱマッピングによって、本発明の実施形態によるそれぞれのモジュールを、具体的な例を参照して説明する。描写を簡潔にするために、第１のリレーショナル・データベースＸから、所与のリンクト・データのオントロジＯへのマッピングを、Ｄ２ＲＱマッピングＸＯと呼び、第２のリレーショナル・データベースＹから第１のリレーショナル・データベースＸへのマッピングを、スキーマ・マッピングＹＸと呼び、第２のリレーショナル・データベースＹから、リンクト・データの所与のオントロジＯへのマッピングを、Ｄ２ＲＱマッピングＹＯと呼ぶ。
【００３７】
セマンティック・マッピング処理モジュールは、ＸＯの内部モデル表現を、受信されるＤ２ＲＱマッピングＸＯに基づいて取得する。内部モデル表現は、論理ベースの表現、グラフィック構造ベースの表現、または、他の形式の内部モデル表現を用い得る。ここではその内部モデル表現は、任意の特有の内部モデル表現に制限されず、代わりに、当業者に知られている任意の内部モデル表現が採用され得る。
【００３８】
ここでは例解の説明を、グラフィック構造ベースの表現に関して行う。
【００３９】
本発明の１つの実施形態によると、Ｄ２ＲＱマッピングが、本質的には、ＲＤＦトリプル、すなわち、＜主語，述語，目的語＞から構成され得るということを考慮すると、ＲＤＦトリプルの主語および目的語はここでは、グラフ上のノードとして具象化され、一方でＲＤＦトリプルの述語は、グラフ上のエッジとして具象化される。本発明の１つの実施形態によると、ＲＤＦトリプルの目的語が、ユニフォーム・リソース識別子ではなくリテラル情報である場合、対応して空白ノードがグラフ上に存在し、加えて空白ノードは、リテラル情報に含まれるリレーショナル・データベース・ノードに有向化される（directed）ことになる。ここではそのような有向化のエッジを、linkToRDBと呼ぶ。
【００４０】
例えば、Ｄ２ＲＱマッピングの一部が下記で示され、各々の行はＲＤＦトリプルを表し、行間インデントは、同じ主語を共有することを意味する。第１の行は、map:studentがＤ２ＲＱクラス・マッピングの名であるということを定義する。第２の行は、その対応するオントロジ・クラス名がonto:Studentであるということを定義する。第３の行は、そのユニフォーム・リソース識別子が、テーブル「student」の列「name」を指すということを定義する。特にＲＤＦトリプルの目的語は、リレーショナル・データベースのテーブル名Studentおよび列名nameを内包するリテラル情報である。
map:student rdf:type d2rq:ClassMap;
d2rq:class onto:Student;
d2rq:uriPattern"Student/@@Student.name@@";
【００４１】
セマンティック・マッピング処理モジュールによって、本発明は、図５で示されるような、Ｄ２ＲＱマッピングのグラフィック構造表現を取得することになる。この図では、ＲＤＦトリプルの主語map:studentが、最も低いノードに対応し、一方で右エッジは、この主語ノードが、ノードd2rq:ClassMapに、エッジrdf:typeによって有向化されるということを示し、そのことは、これがＤ２ＲＱクラス・マッピングであるということを意味する。中央は、主語ノードが、リンクト・データのオントロジＯ内のクラス・ノードonto:Studentに、エッジd2rq:classによって有向化されるということを示す。左エッジは、主語ノードが、空白ノードに、エッジd2rq:uriPatternによって有向化され、次いで空白ノードが、リレーショナル・データベースのノードStudent.nameに、エッジlinkToRDBによって有向化されるということを示す。
【００４２】
セマンティック・マッピング処理モジュールの実装形態の詳細を、上記で、例によって説明したが、当業者であれば、これらは単に例示的な目的のためのものであり、本発明はこれらの特定の実装形態に制限されないということを理解するであろう。
【００４３】
スキーマ・マッピング処理モジュールは、ＹＸの内部モデル表現を、受信されるスキーマ・マッピングＹＸに基づいて取得する。同様に、例示的な目的のために、スキーマ・マッピングの内部モデル表現は、グラフィック構造ベースの表現を採用する。
【００４４】
Ｄ２ＲＱマッピングとは異なり、スキーマ・マッピングそれ自体は、グラフィック構造の特性を有しない。例として、以下のグラフィック構造ベースの表現方法をここで提案する。しかしながら当業者であれば、その表現方法は、ここでのグラフィック構造ベースの表現方法に制限されず、代わりに、当業者に知られている任意の表現方法が用いられ得るということを理解することが可能である。
【００４５】
本発明の１つの実施形態によると、各々のスキーマ・マッピング名は、グラフ上のノードとして具象化され、各々のリレーショナル・データベースの「table name. column name」は、グラフ上のノードとして具象化され、さらには、１つのスキーマ・マッピング内の「table name.column name 1」および「tablename.column name2」が、同じ変数記号を共有する場合、本発明は関連ノードを導入し、そのことによって、スキーマ・マッピング名に対応するノードは、関連ノードに、エッジlinkToAssociationによって有向化され、関連ノードは、「tablename.column name 1」および「table name.column name 2」それぞれに対応する２つのノードに、エッジlinkFromAssociationによって有向化される。
【００４６】
例えば、スキーマ・マッピングの一部が下記で提供され、Ｍ１は、２つのテーブル名UndergraduateおよびStudentと、３つの列名「id1」、「id2」、および「name」とを含むスキーマ・マッピング名を示す。特に、Undergraduateテーブル内の列名、および、Studentテーブル内の列名は、同じ変数記号「name」を共有し、一方で、Undergraduateテーブル内の列「id1」、および、Studentテーブル内の列「name」は、何らの変数記号も共有しない。このことは、スキーマ・マッピング名Ｍ１は、Undergraduateテーブル内の列「name」を、Studentテーブル内の列「name」にマッピングしており、一方で、Undergraduateテーブル内の列「id1」、および、Studentテーブル内の列「name」を、相対的に独立に維持しているということを意味する。換言すればＭ１は、学部在学生の名を学生の名にマッピングするが、学部在学生のＩＤが学生のＩＤと完全に同一であるということは保証しない。
M1: ∀id1. ∀name. Undergraduate(id1, name) → ∃id2.Student(id2, name)
【００４７】
スキーマ・マッピング処理モジュールによって、本発明では、図６で示されるような、上記のスキーマ・マッピング名Ｍ１のグラフィック構造表現を得ることになり、スキーマ・マッピング名Ｍ１は、最も低いノードに対応し、そのノードは、関連ノードに、エッジlinkToAssociationによって有向化され、次いで関連ノードは、左リレーショナル・データベース・ノードUndergraduate.name、および、右リレーショナル・データベース・ノードStudent.nameに、それぞれ、エッジlinkFromAssociationによって有向化される。Ｍ１は、左リレーショナル・データベース・ノードUndergraduate.idと、右リレーショナル・データベース・ノードStudent.idとの間のマッピング関係を定義しないので、これら２つのノードは、インバウンド・エッジまたはアウトバウンド・エッジを有しない。
【００４８】
スキーマ・マッピング処理モジュールの実装形態の詳細を、上記で、例によって例解したが、当業者であれば、これらは単に例示的な目的のためのものであり、本発明はこれらの特定の実装形態に制限されないということを十分認識するであろう。
【００４９】
セマンティック・マッピング処理モジュールから取得されるような内部モデル表現のＤ２ＲＱマッピングＸＯ、および、スキーマ・マッピング処理モジュールから取得される内部モデル表現のスキーマ・マッピングＹＸに対して、マッピング合成モジュールは、ＸＯおよびＹＸのマッピング合成を実行する。本発明の１つの実施形態によると、マッピング合成は、グラフ探索ベースのアルゴリズムによって実装され得る。Ｄ２ＲＱマッピングＸＯのグラフィック構造表現を示すＧＸＯによって、スキーマ・マッピングＹＸのグラフィック構造表現を示すＧＹＸによって、および、Ｄ２ＲＱマッピングＹＯのグラフィック構造表現を示すＧＹＯによって、アルゴリズムは下記のように指定される。
【００５０】
最初にd2rq:ClassMapを開始点として、ＧＸＯグラフが探索される。エッジrdf:typeによって逆方向に有向化されるＤ２ＲＱクラス・マッピングのノードは、集合ＮＣと称する。
【００５１】
任意のノードｃ∈ＮＣに対して、ＧＸＯグラフが探索され、空白ノードが、エッジd2rq:uriPatternによって有向化される。次いで、エッジlinkTORDBによって有向化される、第１のリレーショナル・データベースＸ内の「tablename. column name」のノードは、集合ＮＸと称する。
【００５２】
任意のノードｘ∈ＮＸに対して、ＧＹＸグラフが探索され、関連ノードが、エッジlinkFromAssociationによって逆方向に有向化される。次いで一方では、エッジlinkToAssociationによって逆方向に有向化されるスキーマ・マッピング名のノードは、集合ＮＭと称するものであり、他方では、エッジlinkFromAssociationによって有向化される、第２のリレーショナル・データベースＹ内の「table name.column name」のノードは、集合ＮＹと称する。
【００５３】
任意のノードｍ∈ＮＭに対して、ＧＹＸグラフが探索され、関連ノードが、エッジlinkToAssociationによって逆方向に有向化される。次いで、共に第２のリレーショナル・データベースＹ内の「table name.column name」のノードである、ノードｕおよびｖが、エッジlinkFromAssociationによって有向化され、集合ＮＥ＝｛＜ｕ，ｖ＞｝が定義される。
【００５４】
ノードｗが、Ｄ２ＲＱクラス・マッピングのノードｃ、および、スキーマ・マッピング名のノードｍに有向化するように新しく確立される。
【００５５】
例えば、以下のＤ２ＲＱマッピングおよびスキーマ・マッピングに対するものである。
map:student rdf:type d2rq:ClassMap;
d2rq:class onto:Student;
d2rq:uriPattern"Student/@@Student.name@@";
M1: ∀id1. ∀name. Undergraduate(id1, name) → ∃id2.Student(id2, name)
M2: ∀id1. ∀name. Graduate(id1, name) → ∃id2.Student(id2, name)
【００５６】
図７で示されるように、右側は、Ｄ２ＲＱマッピングmap:studentのグラフィック構造表現であり、一方で左側は、スキーマ・マッピング名Ｍ１およびＭ２のグラフィック構造表現である。d2rq:ClassMapから開始して、右グラフを探索するものであり、その右グラフは、Ｄ２ＲＱクラス・マッピングのノードmap:studentに、エッジrdf:typeによって逆方向に有向化され、次いで空白ノードに、エッジd2rq:uriPatternによって有向化され、次いで第１のリレーショナル・データベースＸ内のノードStudent.nameに、エッジlinkToRDBによって有向化されるものである。次に左グラフを探索するものであり、その左グラフは、２つの関連ノードに、エッジlinkFromAssociationによって逆方向に有向化され、次いで、一方の態様では、スキーマ・マッピング名のノードＭ１およびＭ２に、エッジlinkToAssociationによって逆方向に有向化され、他方では、第２のリレーショナル・データベースＹ内のノードUndergraduate.nameおよびGraduate.nameに、それぞれ、エッジlinkFromAssociationによって有向化されるものである。加えて、Ｍ１およびＭ２から開始して、関連ノードに、エッジlinkToAssociationによって、および次いでエッジlinkFromAssociationによって有向化される左グラフを探索すると、第２のリレーショナル・データベースＹ内の「table name.column name」に有向化されるノードは見いだされない。したがって、新しく確立されたノードmap:student 1およびmap:student 2が、それぞれ、Ｄ２ＲＱクラス・マッピングのノードmap:student、ならびに、スキーマ・マッピング名のノードＭ１およびＭ２に有向化される。
【００５７】
マッピング合成モジュールの実装形態の詳細を、上記で、例によって例解したが、当業者であれば、これらは単に例示的な目的のためのものであり、本発明はこれらの特定の実装形態に制限されないということを十分認識するであろう。
【００５８】
マッピング・コンパイル・モジュールは、マッピング合成モジュールによる合成結果をコンパイルして、対応するＤ２ＲＱマッピングＹＯを取得する。本明細書では以降、グラフ探索によって実装されるマッピング・コンパイル・モジュールの実施形態を、例を参照して説明する。
【００５９】
新しく確立されるノードｗから開始して、そのノードｗが有向化される、Ｄ２ＲＱクラス・マッピングのノードｃ、および、スキーマ・マッピング名のノードｍを見いだす。
Ｄ２ＲＱクラスのノードｃから開始して、関連データのオントロジＯに対応するクラス名ｃｎを見いだし、ＲＤＦトリプルw d2rq:class cnを取得する。
【００６０】
スキーマ・マッピング名のノードｍから開始して、ノードｙ∈ＮＹを、エッジlinkToAssociationによって、および次いでエッジlinkFromAssociationによって見いだし、ＲＤＦトリプルw d2rq:uriPattern "@@y@@"を取得する。
【００６１】
スキーマ・マッピング名のノードｍから開始して、対応する集合ＮＥが空でない場合、＜ｕ，ｖ＞∈ＮＥである、リレーショナル・データベースの各々の対での「table name.column name」のノードｕおよびｖに対して、ＲＤＦトリプルwd2rq:join "u=v"を取得する。
【００６２】
例えば、図７で示されるような、上記のマッピングから合成されるグラフィック構造表現に対して、新しく確立されたノードmap:student 1から開始して、そのノードが有向化される、Ｄ２ＲＱクラス・マッピングのノードmap:student、および、スキーマ・マッピング名のノードＭ１を見いだす。map:studentから開始して、関連データ・オントロジＯに対応するクラス名onto:Studentを、エッジd2rq:classによって見いだす。Ｍ１から開始して、ノードUndergraduate.name∈ＮＹを、エッジlinkToAssociationによって、次いでエッジlinkFromAssociationによって見いだす。加えてＭ１から開始して、対応する集合ＮＥが空集合であること、すなわち、対応するd2rq:join条件が必要とされないことになるということが見いだされる。最終的に、以下のＤ２ＲＱマッピングを導出する。
map:student1 rdf:type d2rq:ClassMap;
d2rq:class onto:Student;
d2rq:uriPattern"Student/@@Undergraduate.name@@";
【００６３】
同様に、新しく確立されたノードmap:student 2から開始して、そのノードが有向化される、Ｄ２ＲＱクラス・マッピングのノードmap:student、および、スキーマ・マッピング名のノードＭ２を見いだす。map:studentから開始して、リンクト・データ・オントロジＯに対応するクラス名onto:Studentを、エッジd2rq:classによって見いだす。Ｍ２から開始して、ノードGraduate.name∈ＮＹを、エッジlinkToAssociation、および次いでエッジlinkFromAssociationによって見いだす。加えてＭ２から開始して、対応する集合ＮＥが空集合であること、すなわち、対応するd2rq:join条件が必要とされないことになるということが見いだされる。最終的に、以下のＤ２ＲＱマッピングが導出される。
map:student2 rdf:type d2rq:ClassMap;
d2rq:class onto:Student;
d2rq:uriPattern"Student/@@Graduate.name@@";
【００６４】
マッピング・コンパイル・モジュールの実装形態の詳細を、上記で、例によって例解したが、当業者であれば、これらは単に例示的な目的のためのものであり、本発明はこれらの特定の実装形態に制限されないということを十分認識するであろう。
【００６５】
さらに、上記の説明は、様々なモジュールの実装形態を例として取り上げたが、当業者であれば、上記の実装形態は、本発明による、セマンティック・マッピングを自動的に生成するための方法での対応するステップに同様に適しているということを十分認識するであろう。
【００６６】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるための、コンピュータ可読プログラム命令を有する、１つまたは複数のコンピュータ可読記憶媒体を含み得る。
【００６７】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または、上述のものの任意の適した組み合わせであり得るが、それらに制限されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、携帯型コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、memory stick（Ｒ）、フロッピィ・ディスク、命令が記録されるパンチ・カードまたは溝内の一段高い構造などの機械的に符号化されるデバイス、および、上述のものの任意の適した組み合わせを含む。コンピュータ可読記憶媒体を、本明細書で使用される際は、本質的には、電波もしくは他の自由伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、または、電線を介して伝送される電気信号などの、一時的な信号であると解釈すべきではない。
【００６８】
本明細書で説明するコンピュータ可読プログラム命令は、それぞれのコンピューティング／処理デバイスにコンピュータ可読記憶媒体から、あるいは、外部コンピュータまたは外部記憶デバイスに、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらの組み合わせを介してダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを備え得る。各々のコンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスが、コンピュータ可読プログラム命令をネットワークから受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイスの内部のコンピュータ可読記憶媒体での記憶のために転送する。
【００６９】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態セッティング・データ、または、１つもしくは複数のプログラミング言語の任意の組み合わせで書き表される、ソース・コードもしくはオブジェクト・コードのいずれかであり得るものであり、それらのプログラミング言語は、Smalltalk（R）、Ｃ＋＋、または類するものなどのオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来型の手続き型プログラミング言語を含む。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上、および部分的にリモート・コンピュータ上で、または、全体的にリモート・コンピュータもしくはサーバ上で実行し得る。後の方のシナリオではリモート・コンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介して接続され得るものであり、または接続は、外部コンピュータに対して（例えば、インターネットを介して、インターネット・サービス・プロバイダを使用して）行われ得る。一部の実施形態では、例えば、プログラマブル論理回路網、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路網が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路網をパーソナライズすることにより、コンピュータ可読プログラム命令を実行し得る。
【００７０】
本発明の態様を、本明細書では、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の、フローチャート例解またはブロック図あるいはその両方を参照して説明する。フローチャート例解またはブロック図あるいはその両方の各々のブロック、および、フローチャート例解またはブロック図あるいはその両方でのブロックの組み合わせが、コンピュータ可読プログラム命令により実装され得るということが理解されよう。
【００７１】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方の、１つまたは複数のブロックで指定される機能／行為を実装するための手段を創出するように、汎用コンピュータ、専用コンピュータ、または、他のプログラマブル・データ処理装置のプロセッサに提供され、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はさらには、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の、１つまたは複数のブロックで指定される機能／行為の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または、他のデバイス、あるいはそれらの組み合わせに、特有の様式で機能するように指示するものであってもよい。
【００７２】
コンピュータ可読プログラム命令はさらには、コンピュータ、他のプログラマブル装置、または、他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の、１つまたは複数のブロックで指定される機能／行為を実装するように、コンピュータ実装プロセスを生み出すべく、コンピュータ、他のプログラマブル・データ処理装置、または、他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または、他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００７３】
図でのフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を例解するものである。この点に関して、フローチャートまたはブロック図での各々のブロックは、指定される論理機能を実装するための１つまたは複数の実行可能命令を含む、コードのモジュール、断片、または小部分を表し得る。一部の代替的実装形態では、ブロックで記される機能は、図で記される順序から外れて行われる場合があるということに、さらに留意すべきである。例えば、連続して示される２つのブロックは、実際には、実質的に同時に実行される場合があり、またはブロックは時には、必然的に含まれる機能性に依存して、逆の順序で実行される場合がある。ブロック図またはフローチャート例解あるいはその両方の各々のブロック、および、ブロック図またはフローチャート例解あるいはその両方でのブロックの組み合わせは、指定される機能もしくは行為を実行する専用ハードウェア・ベースのシステム、または、専用ハードウェアおよびコンピュータ命令の組み合わせにより実装され得るということが、さらに留意されよう。
【００７４】
本発明の様々な実施形態の説明を、例解の目的のために提示したが、それらの説明は、網羅的であること、または、開示する実施形態に制限されることは意図されない。多くの変更および改変が、説明した実施形態の範囲および趣旨から逸脱することなく、当業者には明らかとなろう。本明細書で使用された専門用語は、実施形態の原理、実用的な用途、もしくは、商業界で見いだされる技術に対する技術的改善を最良に解説するために、または、当業者の他の者が、本明細書で開示した実施形態を理解することを可能にするために選ばれたものである。
【図１】
0006719751.tif 000002
【図２】
0006719751.tif 000003
【図３】
0006719751.tif 000004
【図４】
0006719751.tif 000005
【図５】
0006719751.tif 000006
【図６】
0006719751.tif 000007
【図７】
0006719751.tif 000008