(57)【要約】  １つ又は複数のオントロジをブラウズする際に用いるための装置であって、少なくとも１つの電子処理デバイスを備え、この少なくとも１つの電子処理デバイスは、オントロジを決定し、オントロジ内の複数のオントロジ用語のインジケーションを表示し、ユーザ入力コマンドに応答して、複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定し、推論器を用いて、少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定し、少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示し、詳細は、任意の公理及び任意の推測と、少なくとも１つのデータプロパティと、少なくとも１つの関連するオントロジ用語と、少なくとも１つのオブジェクトプロパティと、のうちの少なくとも１つを含む、装置。【選択図】図１４Ｂ
2017514257.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数のオントロジをブラウズする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
オントロジを決定し、
前記オントロジ内の複数のオントロジ用語のインジケーションを表示し、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定し、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定し、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示する
ことを特徴とするものであり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含むものである、装置。
【請求項２】
前記電子処理デバイスは、
少なくとも１つのクラスと、
前記少なくとも１つのクラスのための少なくとも１つのデータプロパティと
を表示する、請求項１に記載の装置。
【請求項３】
前記電子処理デバイスは、
少なくとも１つのデータプロパティに関連付けられた検索語を決定し、
前記検索語及び前記少なくとも１つのデータプロパティに従ってクエリを生成し、
前記クエリを用いて、データ構造を有するデータストア内に記憶されたコンテンツを探索し、
少なくとも幾つかの検索結果を表示する、
請求項１又は２に記載の装置。
【請求項４】
前記オントロジは、データ構造を有するデータストアに関連付けられ、前記オントロジは、
前記データ構造にマッピングされることと、
前記データ構造から生成された推定オントロジであることと
のうちの少なくとも一方である、請求項１〜３のいずれか１項に記載の装置。
【請求項５】
前記電子処理デバイスは、ユーザ入力コマンドに従って、少なくとも１つの選択されたオントロジ用語を決定する、請求項１〜４のいずれか１項に記載の装置。
【請求項６】
前記電子処理デバイスは、ユーザが少なくとも１つの表示されたオントロジ用語をタグ付けすることを可能にすることによって、前記少なくとも１つの選択されたオントロジ用語を決定する、請求項５に記載の装置。
【請求項７】
前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に従って、実行可能コードを生成し、該実行可能コードは、コンピュータシステムにおいて実行されると、該コンピュータシステムに、ユーザが、データ構造を有するデータストアに記憶されたコンテンツとインタラクトすることを可能にするためのユーザインタフェースを表示させる、請求項５又は６に記載の装置。
【請求項８】
前記実行可能コードは、前記コンピュータシステムに、前記コンテンツとインタラクトするためのクエリを生成させる、請求項７に記載の装置。
【請求項９】
前記クエリは、少なくとも１つの選択されたオントロジ用語に従って生成される、請求項８に記載の装置。
【請求項１０】
前記実行可能コードは、前記コンピュータシステムに対し、
１つ又は複数のオントロジ用語のインジケーションを表示させ、
ユーザ入力コマンドに応答して、少なくとも１つのオントロジ用語の選択を決定させ、
前記選択されたオントロジ用語に関連付けられたデータフィールドに記憶されたデータに問い合わせさせる、
請求項９に記載の装置。
【請求項１１】
前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に基づいて、スクリプトを用いて前記実行可能コードを生成する、請求項７〜１０のいずれか１項に記載の装置。
【請求項１２】
前記電子処理デバイスは、スクリプトを生成するものであり、
前記スクリプトは、実行されると、
前記少なくとも１つの選択されたオントロジ用語に従って定義されたデータ構造を有するデータベースを生成し、
コンテンツをデータベースにロードする、
請求項７〜１１のいずれか１項に記載の装置。
【請求項１３】
前記実行可能コードは、
少なくとも１つのクラスと、
少なくとも１つのクラスのための少なくとも１つのデータプロパティと、
前記少なくとも１つのクラスに関連付けられた任意の推測及び任意の公理と、
クラス間の関係を定義する少なくとも１つのオブジェクトプロパティと
を用いて生成される、請求項１１に記載の装置。
【請求項１４】
前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のグルーピングを実行する、請求項５に記載の装置。
【請求項１５】
前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のアライメントを実行する、請求項５に記載の装置。
【請求項１６】
前記電子処理デバイスは、前記オントロジのインデックスを用いて前記複数のオントロジ用語を決定する、請求項１に記載の装置。
【請求項１７】
オントロジ用語ごとに、前記インデックスは、
オントロジ用語の意味と、
オントロジ用語タイプと
のインジケーションを含む、請求項１６に記載の装置。
【請求項１８】
前記電子処理デバイスは、
推定オントロジを生成し、
複数の既存のオントロジのうちの１つを選択する
ことによって、前記オントロジを決定する、請求項１に記載の装置。
【請求項１９】
前記電子処理デバイスは、
オントロジのリストを表示し、
前記オントロジのリストから、オントロジのユーザ選択を決定する、
請求項１８に記載の装置。
【請求項２０】
前記電子処理デバイスは、
データ構造に関連付けられたメタデータと、
データ構造を有するデータストアのデータフィールドと
のうちの少なくとも一方を用いてオントロジを選択する、請求項１８又は１９に記載の装置。
【請求項２１】
前記電子処理デバイスは、
データストアのデータフィールドを複数の既存のオントロジのオントロジ用語と比較し、
前記比較の結果に従って前記複数の既存のオントロジのうちの１つを選択する
ことによって、複数の既存のオントロジのうちの１つを選択する、請求項１８〜２０のいずれか１項に記載の装置。
【請求項２２】
前記電子処理デバイスは、
前記スキーマ内のテーブルを特定し、
各テーブルに対応するオントロジ用語を作成し、
少なくとも１つの部品表テーブルを特定し、
前記部品表テーブル内の各エントリに対応するオントロジ用語を作成する
ことによって、データベーススキーマからの推定オントロジを生成する、請求項１８〜２１のいずれか１項に記載の装置。
【請求項２３】
テーブルごとに、前記電子処理デバイスは、
各テーブルに対応するクラスを作成し、
前記テーブル内のフィールドからデータプロパティを作成する、
請求項２２に記載の装置。
【請求項２４】
部品表テーブルごとに、前記電子処理デバイスは、
前記部品表テーブル内の各エントリに対応するクラスを作成し、
関連テーブル内のフィールドからデータプロパティを作成する、
請求項２３に記載の装置。
【請求項２５】
前記電子処理デバイスは、
前記部品表テーブル内の各エントリのインジケーションを表示し、
ユーザ入力コマンドに応答して前記推定オントロジにクラスを追加する
ことによって、データベーススキーマからの推定オントロジを生成する、請求項２４に記載の装置。
【請求項２６】
前記電子処理デバイスは、前記データベーススキーマによって定義されたテーブル構造を用いてオントロジ用語間の関係を生成する、請求項２３に記載の装置。
【請求項２７】
前記推定オントロジは、
クラスと、
前記クラスのうちの少なくとも幾つかのためのデータプロパティと、
クラス間の関係を定義するオブジェクトプロパティと
を含む、請求項１８に記載の装置。
【請求項２８】
前記装置は、
オントロジ内のオントロジ用語を示すインデックスを生成するインデクサモジュールと、
オントロジ内のオントロジ用語のブラウジングを可能にし、前記オントロジの少なくとも一部を具現化するコードを生成し、それによってユーザが前記オントロジに従ってデータ構造に記憶されたデータとインタラクトできるようにする、ブラウザモジュールと、
異なるオントロジのオントロジ用語間のアライメントを決定するアライナモジュールと、
前記オントロジ用語間の関係を少なくとも部分的に用いて少なくとも１つのオントロジ内のオントロジ用語グループを決定する剪定器モジュールと、
オントロジ用語意味を特定するセマンティックマッチャモジュールと
を備える、請求項１〜２７のいずれか１項に記載の装置。
【請求項２９】
１つ又は複数のオントロジをブラウズする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
オントロジを決定するステップと、
前記オントロジ内の複数のオントロジ用語のインジケーションを表示するステップと、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定するステップと、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定するステップと、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示するステップと
を含んでなり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含むものである、方法。
【請求項３０】
オントロジ用語をグルーピングする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加し、
反復により、更なるオントロジ用語を前記グループに漸進的に追加し、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定し、
前記関係付けられたオントロジ用語を前記グループに選択的に追加する
ことを特徴とする、装置。
【請求項３１】
前記電子処理デバイスは、
少なくとも前記関係付けられたオントロジ用語を表示し、
ユーザ入力コマンドに従って、前記関係付けられたオントロジ用語を選択的に追加する
請求項３０に記載の装置。
【請求項３２】
前記電子処理デバイスは、関係付けられたオントロジ用語を、
推測、
公理、及び
オブジェクトプロパティ
のうちの少なくとも１つを用いて決定する、請求項３０又は３１に記載の装置。
【請求項３３】
前記電子処理デバイスは、
前記関係付けられたオントロジ用語を関係判断規準と比較し、
前記関係付けられたオントロジ用語を、前記比較の結果に従って選択的に追加する
請求項３０〜３２のいずれか１項に記載の装置。
【請求項３４】
前記電子処理デバイスは、定義された判断基準が満たされるまで、オントロジ用語を反復的に追加する、請求項３０〜３３のいずれか１項に記載の装置。
【請求項３５】
前記定義された判断基準は、
設定された反復回数が完了したことと、
設定された数のオントロジ用語が追加されたことと、
少なくとも２つの選択されたオントロジ用語が関係パスによって接続されていることと、
ユーザ入力コマンドと、
前記選択されたオントロジ用語からの定義された関係パス長を超える関係付けられたオントロジ用語が特定されることと
を含む、請求項３４に記載の装置。
【請求項３６】
前記電子処理デバイスは、前記グループ内の前記オントロジ用語の定義された関係パス長内の関係付けられたオントロジ用語を特定する、請求項３０〜３５のいずれか１項に記載の装置。
【請求項３７】
前記電子処理デバイスは、前記選択されたオントロジ用語の定義された関係パス長以内の関係付けられたオントロジ用語を追加する、請求項３０〜３６のいずれか１項に記載の装置。
【請求項３８】
前記オントロジ用語は、異なる関係タイプによって関係付けられ、前記電子処理デバイスは、異なる関係タイプについてそれぞれのパス長を用いて１つ又は複数の関係オントロジ用語を特定する、請求項３０〜３７のいずれか１項に記載の装置。
【請求項３９】
前記関係タイプのうちの少なくとも幾つかは、ヌル値のそれぞれのパス長を有する、請求項３８に記載の装置。
【請求項４０】
前記関係タイプのうちの少なくとも幾つかは方向パスを有する、請求項３８又は３９に記載の装置。
【請求項４１】
前記電子処理デバイスは、ユーザ入力コマンドに従って異なる関係タイプについて関係パス長を決定する、請求項３８〜４０のいずれか１項に記載の装置。
【請求項４２】
前記電子処理デバイスは、前記オントロジ用語のグループを解析して、
潜在的なエラーを特定することと、
推測値を追加することと
のうちの少なくとも一方を行う、請求項３０〜４１のいずれか１項に記載の装置。
【請求項４３】
前記オントロジ用語はクラスを含み、前記電子処理デバイスは、
クラス及び該クラスのデータプロパティを表示し、
ユーザ入力コマンドに従って、前記クラス及び前記データプロパティのうちの少なくとも１つを前記グループに選択的に追加する、
請求項３０〜４２のいずれか１項に記載の装置。
【請求項４４】
前記オントロジ用語はクラスを含み、前記電子処理デバイスは、前記グループ内のクラスの親、スーパークラス及びサブクラスのうちの少なくとも１つである関連クラスを特定する、請求項３０〜４３のいずれか１項に記載の装置。
【請求項４５】
前記電子処理デバイスは、
複数の選択されたオントロジ用語を前記グループに追加し、
前記複数のオントロジ用語が関係付けられたオントロジ用語によって接続されるまで、オントロジ用語を前記グループに反復的に追加する、
請求項３０〜４４のいずれか１項に記載の装置。
【請求項４６】
前記複数の選択されたオントロジ用語は、第１のオントロジからの第１のオントロジ用語と、第２のオントロジからの第２のオントロジ用語とを含み、前記電子プロセスデバイスは、
前記第１のオントロジ用語及び前記第２のオントロジ用語を、それぞれの第１のグループ及び第２のグループに追加し、
前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むまで、前記第１のオントロジから前記第１のグループに、及び前記第２のオントロジから前記第２のグループにオントロジ用語を漸進的に追加する、
請求項４４に記載の装置。
【請求項４７】
前記電子処理デバイスは、
前記第１のグループ及び前記第２のグループ内のオントロジ用語を比較して、アラインされたオントロジ用語を特定することと、
ユーザ入力コマンドに従って、アラインされたオントロジ用語を決定することと、
のうちの少なくとも一方を行う、請求項４６に記載の装置。
【請求項４８】
定義された判断基準が満たされると、前記電子処理デバイスは、前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むか否かを判断する、請求項４６に記載の装置。
【請求項４９】
前記グループは剪定されたオントロジを定義する、請求項３０〜４８のいずれか１項に記載の装置。
【請求項５０】
オントロジ用語をグルーピングする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加するステップと、
反復により、更なるオントロジ用語を前記グループに漸進的に追加するステップと、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定するステップと、
前記関係付けられたオントロジ用語を前記グループに選択的に追加するステップと
を含んでなる、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ又は複数のオントロジをブラウジングし、オントロジ用語をグルーピングする際に用いる方法及び装置に関する。
【背景技術】
【０００２】
本明細書におけるいかなる以前の刊行物（又はそこから導出される情報）に対する参照も、既知のいかなる事柄に対する参照も、その以前の刊行物（又はそこから導出された情報）又は既知の事柄が、本明細書が関係する注力分野における一般的な概略知識の一部を形成するという認識又は許可又は何らかの形の示唆として解釈されず、またそのように解釈されるべきでない。
【０００３】
科学界、工業界、実業界の全ての態様を記述する何千もの公開オントロジ及び非公開オントロジが存在する。本発明は、これらの進化したオントロジ（ontology）における知識及びメタデータが、データ構造又は構造の欠如と無関係に任意のデータの管理に適用されることを可能にする１組のプロセスを記述する。
【０００４】
知識及びデータの爆発的な増加は、従来の情報管理メカニズムが管理又は更には記述する能力を超えている。オントロジ等のセマンティックウェブ技術、並びにウェブオントロジ言語（ＯＷＬ）及びリソース記述フレームワーク（ＲＤＦ）等の新たな言語は、健康、薬品又は工学等のリンクされた概念の記述が、以前には不可能であった詳細にわたって、人間及び機械の双方が理解可能な形で記述されることを可能にする。これらのオントロジは、通常、対象分野の専門家（オントロジスト）によって作成され、しばしば、公的に入手可能である。
【０００５】
現在のところ、リンクされた概念を定義するオントロジの操作は、大部分が研究者及びプロのオントロジストに限られる。これらのオントロジは、何千ものリンクされた概念を含むことがある。１つの概念、公理又はデータプロパティの除去でさえ、関係の多くを無効にする可能性がある。効果を手動で決定することは、長く退屈なプロセスである。結果として、ユーザがオントロジをブラウズ（browsing：閲覧）し、次に、これを、構造化されたデータストアに記憶されるデータとのインタラクトを誘導する際に用いることを可能にする単純なメカニズムが存在しない。
【０００６】
一方、多くの場合に、オントロジの小さなサブセクションを利用することしか必要でない。例えば、多くのオントロジは、対処中の問題に完全に無関係の用語を含み、したがって、対象の特定のシナリオに関係するオントロジ用語のサブセットを選択することができることが望ましい。
【０００７】
特許文献１は、ファイル及びデータベースからコンテンツを転送する方法を提供する。この場合、ファイルはコンテンツインスタンスを含み、各コンテンツインスタンスは、それぞれのフィールドに関連付けられ、各フィールドは、それぞれのタイプを有する。転送は、各フィールドのタイプを決定し、次に関連フィールドの決定されたフィールドタイプに従ってストア内に各コンテンツインスタンスを記憶することによって達成される。次に、各コンテンツインスタンスは、決定されたフィールドタイプに従ってデータベースに転送することができる。データベース内のコンテンツに基づいてＸＭＬファイルを作成するための類似の手順が提供される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７，４６４，０９９号明細書
【発明の概要】
【０００９】
１つの形態では、本発明は、１つ又は複数のオントロジをブラウズする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
オントロジを決定し、
前記オントロジ内の複数のオントロジ用語のインジケーション（indication）を表示し、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定し、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定し、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示するものであり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含む、装置を提供することを目的とする。
【００１０】
通常、前記電子処理デバイスは、
少なくとも１つのクラスと、
前記少なくとも１つのクラスのための少なくとも１つのデータプロパティと
を表示する。
【００１１】
通常、前記電子処理デバイスは、
少なくとも１つのデータプロパティに関連付けられた検索語を決定し、
前記検索語及び前記少なくとも１つのデータプロパティに従ってクエリを生成し、
前記クエリを用いて、データ構造を有するデータストア内に記憶されたコンテンツを探索し、
少なくとも幾つかの検索結果を表示する。
【００１２】
通常、前記オントロジは、データ構造を有するデータストアに関連付けられ、前記オントロジは、
前記データ構造にマッピングされることと、
前記データ構造から生成された推定オントロジであることと
のうちの少なくとも一方である。
【００１３】
通常、前記電子処理デバイスは、ユーザ入力コマンドに従って、少なくとも１つの選択されたオントロジ用語を決定する。
【００１４】
通常、前記電子処理デバイスは、ユーザが少なくとも１つの表示されたオントロジ用語をタグ付けすることを可能にすることによって、前記少なくとも１つの選択されたオントロジ用語を決定する。
【００１５】
通常、前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に従って、実行可能コードを生成し、該実行可能コードは、コンピュータシステムにおいて実行されると、該コンピュータシステムに、ユーザが、データ構造を有するデータストアに記憶されたコンテンツとインタラクトすることを可能にするためのユーザインタフェースを表示させる。
【００１６】
通常、前記実行可能コードは、前記コンピュータシステムに、前記コンテンツとインタラクトするためのクエリを生成させる。
【００１７】
通常、前記クエリは、少なくとも１つの選択されたオントロジ用語に従って生成される。
【００１８】
通常、前記実行可能コードは、前記コンピュータシステムに、
１つ又は複数のオントロジ用語のインジケーションを表示させ、
ユーザ入力コマンドに応答して、少なくとも１つのオントロジ用語の選択を決定させ、
前記選択されたオントロジ用語に関連付けられたデータフィールドに記憶されたデータに問い合わせさせる。
【００１９】
通常、前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に基づいて、スクリプトを用いて前記実行可能コードを生成する。
【００２０】
通常、前記電子処理デバイスは、スクリプトを生成するものであり、
前記スクリプトは、実行されると、
前記少なくとも１つの選択されたオントロジ用語に従って定義されたデータ構造を有するデータベースを生成し、
コンテンツをデータベースにロードする。
【００２１】
通常、前記実行可能コードは、
少なくとも１つのクラスと、
少なくとも１つのクラスのための少なくとも１つのデータプロパティと、
前記少なくとも１つのクラスに関連付けられた任意の推測及び任意の公理と、
クラス間の関係を定義する少なくとも１つのオブジェクトプロパティと
を用いて生成される。
【００２２】
通常、前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のグルーピングを実行する。
【００２３】
通常、前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のアライメントを実行する。
【００２４】
通常、前記電子処理デバイスは、前記オントロジのインデックスを用いて前記複数のオントロジ用語を決定する。
【００２５】
通常、オントロジ用語ごとに、前記インデックスは、
オントロジ用語意味と、
オントロジ用語タイプと
のインジケーションを含む。
【００２６】
通常、前記電子処理デバイスは、
推定オントロジを生成し、
複数の既存のオントロジのうちの１つを選択する
ことによって、前記オントロジを決定する。
【００２７】
通常、前記電子処理デバイスは、
オントロジのリストを表示し、
前記オントロジのリストから、オントロジのユーザ選択を決定する。
【００２８】
通常、前記電子処理デバイスは、
データ構造に関連付けられたメタデータと、
データ構造を有するデータストアのデータフィールドと
のうちの少なくとも一方を用いて、オントロジを選択する。
【００２９】
通常、前記電子処理デバイスは、
データストアのデータフィールドを複数の既存のオントロジのオントロジ用語と比較し、
前記比較の結果に従って前記複数の既存のオントロジのうちの１つを選択する
ことによって、複数の既存のオントロジのうちの１つを選択する。
【００３０】
通常、前記電子処理デバイスは、
前記スキーマ内のテーブルを特定し、
各テーブルに対応するオントロジ用語を作成し、
少なくとも１つの部品表テーブルを特定し、
前記部品表テーブル内の各エントリに対応するオントロジ用語を作成する
ことによって、データベーススキーマからの推定オントロジを生成する。
【００３１】
通常、テーブルごとに、前記電子処理デバイスは、
各テーブルに対応するクラスを作成し、
前記テーブル内のフィールドからデータプロパティを作成する。
【００３２】
通常、部品表テーブルごとに、前記電子処理デバイスは、
前記部品表テーブル内の各エントリに対応するクラスを作成し、
関連テーブル内のフィールドからデータプロパティを作成する。
【００３３】
通常、前記電子処理デバイスは、
前記部品表テーブル内の各エントリのインジケーションを表示し、
ユーザ入力コマンドに応答して前記推定オントロジにクラスを追加する
ことによって、データベーススキーマからの推定オントロジを生成する。
【００３４】
通常、前記電子処理デバイスは、前記データベーススキーマによって定義されたテーブル構造を用いてオントロジ用語間の関係を生成する。
【００３５】
通常、前記推定オントロジは、
クラスと、
前記クラスのうちの少なくとも幾つかのためのデータプロパティと、
クラス間の関係を定義するオブジェクトプロパティと
を含む。
【００３６】
通常、前記装置は、
オントロジ内のオントロジ用語を示すインデックスを生成するインデクサモジュールと、
オントロジ内のオントロジ用語のブラウジングを可能にし、前記オントロジの少なくとも一部を具現化するコードを生成し、それによってユーザが前記オントロジに従ってデータ構造に記憶されたデータとインタラクトできるようにする、ブラウザモジュールと、
異なるオントロジのオントロジ用語間のアライメントを決定するアライナモジュールと、
前記オントロジ用語間の関係を少なくとも部分的に用いて少なくとも１つのオントロジ内のオントロジ用語グループを決定する剪定器モジュールと、
オントロジ用語意味を特定するセマンティックマッチャモジュールと
を備える。
【００３７】
１つの形態では、本発明は、１つ又は複数のオントロジをブラウズする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
オントロジを決定するステップと、
前記オントロジ内の複数のオントロジ用語のインジケーションを表示するステップと、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定するステップと、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定するステップと、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示するステップと
を含んでなり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含む、方法を提供することを目的とする。
【００３８】
更なる形態では、本発明は、オントロジ用語をグルーピングする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加し、
反復により、更なるオントロジ用語を前記グループに漸進的に追加し、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定し、
前記関係付けられたオントロジ用語を前記グループに選択的に追加する
ことを特徴とする、装置を提供することを目的とする。
【００３９】
通常、前記電子処理デバイスは、
少なくとも前記関係付けられたオントロジ用語を表示し、
ユーザ入力コマンドに従って、前記関係付けられたオントロジ用語を選択的に追加する。
【００４０】
通常、前記電子処理デバイスは、関係付けられたオントロジ用語を、
推測、
公理、及び
オブジェクトプロパティ、
のうちの少なくとも１つを用いて決定する。
【００４１】
通常、前記電子処理デバイスは、
前記関係付けられたオントロジ用語を関係判断規準と比較し、
前記関係付けられたオントロジ用語を、前記比較の結果に従って選択的に追加する。
【００４２】
通常、前記電子処理デバイスは、定義された判断基準が満たされるまで、オントロジ用語を反復的に追加する。
【００４３】
通常、前記定義された判断基準は、
設定された反復回数が完了したことと、
設定された数のオントロジ用語が追加されたことと、
少なくとも２つの選択されたオントロジ用語が関係パスによって接続されていることと、
ユーザ入力コマンドと、
前記選択されたオントロジ用語からの定義された関係パス長を超える関係付けられたオントロジ用語が特定されることと
を含む。
【００４４】
通常、前記電子処理デバイスは、前記グループ内の前記オントロジ用語の定義された関係パス長内の関係付けられたオントロジ用語を特定する。
【００４５】
通常、前記電子処理デバイスは、前記選択されたオントロジ用語の定義された関係パス長以内の関係付けられたオントロジ用語を追加する。
【００４６】
通常、前記オントロジ用語は、異なる関係タイプによって関係付けられ、前記電子処理デバイスは、異なる関係タイプについてそれぞれのパス長を用いて１つ又は複数の関係オントロジ用語を特定する。
【００４７】
通常、前記関係タイプのうちの少なくとも幾つかは、ヌル値のそれぞれのパス長を有する。
【００４８】
通常、前記関係タイプのうちの少なくとも幾つかは方向パスを有する。
【００４９】
通常、前記電子処理デバイスは、ユーザ入力コマンドに従って異なる関係タイプについて関係パス長を決定する。
【００５０】
通常、前記電子処理デバイスは、前記オントロジ用語のグループを解析して、
潜在的なエラーを特定することと、
推測値を追加することと
のうちの少なくとも一方を行う。
【００５１】
通常、前記オントロジ用語はクラスを含み、前記電子処理デバイスは、
クラス及び該クラスのデータプロパティを表示し、
ユーザ入力コマンドに従って、前記クラス及び前記データプロパティのうちの少なくとも１つを前記グループに選択的に追加する。
【００５２】
通常、前記オントロジ用語はクラスを含み、前記電子処理デバイスは、前記グループ内のクラスの親、スーパークラス及びサブクラスのうちの少なくとも１つである関連クラスを特定する。
【００５３】
通常、前記電子処理デバイスは、
複数の選択されたオントロジ用語を前記グループに追加し、
前記複数のオントロジ用語が関係付けられたオントロジ用語によって接続されるまで、オントロジ用語を前記グループに反復的に追加する。
【００５４】
通常、前記複数の選択されたオントロジ用語は、第１のオントロジからの第１のオントロジ用語と、第２のオントロジからの第２のオントロジ用語とを含み、前記電子プロセスデバイスは、
前記第１のオントロジ用語及び前記第２のオントロジ用語を、それぞれの第１のグループ及び第２のグループに追加し、
前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むまで、前記第１のオントロジから前記第１のグループに、及び前記第２のオントロジから前記第２のグループにオントロジ用語を漸進的に追加する。
【００５５】
通常、前記電子処理デバイスは、
前記第１のグループ及び前記第２のグループ内のオントロジ用語を比較して、アラインされたオントロジ用語を特定することと、
ユーザ入力コマンドに従って、アラインされたオントロジ用語を決定することと
のうちの少なくとも一方を行う。
【００５６】
通常、定義された判断基準が満たされると、前記電子処理デバイスは、前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むか否かを判断する。
【００５７】
通常、前記グループは剪定されたオントロジを定義する。
【００５８】
１つの広い形態では、本発明は、オントロジ用語をグルーピングする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加するステップと、
反復により、更なるオントロジ用語を前記グループに漸進的に追加するステップと、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定するステップと、
前記関係付けられたオントロジ用語を前記グループに選択的に追加するステップと
を含んでなる方法を提供することを目的とする。
【００５９】
ここで、添付の図面を参照して本発明の例が説明される。
【図面の簡単な説明】
【００６０】
【図１】オントロジをブラウズする際に用いるための方法の例のフローチャートである。
【図１Ｂ】オントロジ用語をグルーピングする際に用いるための方法の例のフローチャートである。
【図２】分散コンピュータアーキテクチャの例の概略図である。
【図３】基地局処理システムの例の概略図である。
【図４】コンピュータシステムの例の概略図である。
【図５】ソースデータ構造とターゲットデータ構造との間でコンテンツを転送するためのマッピングを生成する際に用いるための方法の例のフローチャートである。
【図６】推定オントロジを生成する方法の例のフローチャートである。
【図７】インデックスを決定する方法の例のフローチャートである。
【図８】オントロジをブラウズする方法の一例のフローチャートである。
【図９】オントロジを剪定する方法の例のフローチャートである。
【図１０】オントロジをアラインする方法の第２の例のフローチャートである。
【図１１】セマンティックマッチング方法の例のフローチャートである。
【図１２Ａ】例示的なオントロジの概略図である。
【図１２Ｂ】例示的なオントロジの概略図である。
【図１３】オントロジとインタラクトするために用いられるモジュールの概略図である。
【図１４Ａ】図１３の抽出変換ロード（ＥＴＬ）モジュールのソフトウェアスタックの例の概略図である。
【図１４Ｂ】図１３のＥＴＬモジュールを実施するために用いられるアーキテクチャの概略図である。
【図１５】図１３のブラウザモジュールの機能の例の概略図である。
【図１６】図１３のインデクサモジュールの機能の例の概略図である。
【図１７Ａ】図１３の剪定器モジュールの機能の例の概略図である。
【図１７Ｂ】剪定プロセスの例の概略図である。
【図１７Ｃ】剪定プロセスの例の概略図である。
【図１７Ｄ】剪定プロセスの例の概略図である。
【図１８Ａ】図１３のセマンティックマッチャ（semantic matcher）モジュールの機能の第１の例の概略図である。
【図１８Ｂ】図１３のセマンティックマッチャモジュールの機能の第２の例の概略図である。
【図１８Ｃ】テーブル間の関係の例の概略図である。
【図１８Ｄ】図１３のセマンティックマッチャモジュールの機能の第３の例の概略図である。
【図１９Ａ】「事物データベース」の例の概略図である。
【図１９Ｂ】異種のソースを統合するためのフレームワークの例の概略図である。
【図１９Ｃ】図１３のアライナモジュールの機能の例の概略図である。
【図１９Ｄ】マージされたオントロジの例の概略図である。
【図１９Ｅ】マージされたオントロジの例の概略図である。
【発明を実施するための形態】
【００６１】
ここで、オントロジをブラウズ（閲覧）する方法の例が、図１を参照して説明される。
【００６２】
以下においてより詳細に説明されるように、例示の目的で、プロセスが、少なくとも部分的に、コンピュータシステムのマイクロプロセッサ等の電子処理デバイスを用いて実行されることが想定される。
【００６３】
例のうちの少なくとも幾つかについて、コンテンツが、データベース又はファイル等のコンテンツリポジトリとして動作するデータストアのコンテンツフィールド内の１つ又は複数のコンテンツインスタンスとして記憶されることも想定される。このため、コンテンツフィールドは、データベースのデータベースフィールドとすることができ、コンテンツインスタンスはデータベース記録に対応し、１つ又は複数のデータベースフィールドにわたって記憶される値を含む。代替的に、以下の説明から明らかとなるように、コンテンツフィールドは、ＸＭＬファイル等のファイル内で定義されるフィールドとすることができ、このフィールドは、例えば、データがデータベースから抽出され及び／又はデータベースに転送されるときに、データをトランスポートするために用いることができる。別の代替として、同様に以下の説明から明らかとなるように、コンテンツフィールドは、ＲＤＦトリプルストア等のファイル内で定義されるフィールドとすることができ、このフィールドは、例えば、データがＲＤＦトリプルストアデータベースから抽出され及び／又はＲＤＦトリプルストアデータベースに転送されるときに、データをトランスポートするために用いることができる。コンテンツは、データベーススキーマ、ＸＭＬ文書定義、オントロジ又はスキーマ等のデータ構造に従って記憶されることが想定される。
【００６４】
以下の説明全体を通じて、例示の目的で、「ソース」という用語は、データが抽出されているデータベース又はファイル等のデータストアを指すのに用いられるのに対し、「ターゲット」という用語は、データが記憶されているデータベース又はファイル等のデータストアを指すのに用いられる。これらの用語は、例えば、可能性のあるソース及びターゲット間を区別する例示のみを目的としており、限定することを意図していない。
【００６５】
「コンテンツインスタンス」という用語は、ソースから抽出され、及び／又はターゲットに転送されている個々のコンテンツを指し、これもまた、限定的であることは意図されていない。例えば、コンテンツインスタンスという用語は、複数の異なるデータベースフィールド、若しくは１組の関連するデータベースレコードに記憶された値を有するデータベースレコードを指すことができるか、又は代替的に、単一のフィールド内に記憶される単一の値を指すことができる。
【００６６】
「オントロジ」という用語は、領域内の１組の概念としての知識を表し、共有された語彙を用いて、これらの概念のタイプ、プロパティ及び相互関係を表す。オントロジは通常、個人やクラスやオブジェクトや属性などの複数のコンポーネントを含み、「オントロジ用語」という用語は、通常、これらのコンポーネント、及び任意選択的に、これらの概念のうちの特定のものを指すのに用いられる。
【００６７】
「意味」という用語は、特定のオントロジ用語やコンテンツフィールド名などの意味論的解釈を指すように意図される。したがって、以下により詳細に説明されるように、意味という用語は、例えば、同音異義語、同義語、部分語等の問題を考慮に入れるように、オントロジ用語又はコンテンツフィールドの意図される意味を包含する。
【００６８】
この例において、ステップ１００において、電子処理デバイスはオントロジを決定する。このプロセスは任意の適切な方式で行うことができ、電子処理デバイスに、例えば１つ若しくは複数のオントロジデータベースに記憶された、複数の既存のオントロジのうちの１つ若しくは複数を選択させることを含むことができるか、又は代替的に、推定オントロジを生成することによって達成することができる。
【００６９】
オントロジの選択は、例えば、対象のコンテンツを記憶するデータストアのデータ構造に基づいて達成することができ、適切なマッチが見つかるまで、データ構造内のフィールドをオントロジ用語と比較することを含むことができる。このプロセスは、複数のオントロジの領域を調査し、領域を選択し、このため、コンテンツの特定の主題フィールド、コンテンツが関係する産業等に関連するオントロジを選択することも含むことができる。オントロジの選択は、例えば、電子処理デバイスに、関連コンテンツの主題フィールドのインジケーションを与えることによって自動的に行うことができるか、例えば、電子処理デバイスに、利用可能なオントロジの詳細を表示させ、ユーザがこれらを選択することを可能にすることにより手動で行うことができるか、又は手動及び自動プロセスの組み合わせにより行うことができる。
【００７０】
代替的に、これは、例えば、メタデータ、データベーススキーマ等を用いて、ソースデータ構造又はターゲットデータ構造から「推定」オントロジを生成することを含んでもよい。このプロセスは、リレーショナル参照整合性制約から幾つかのオントロジ公理を導出することを含むことができるが、ほとんどの公理は、手動で追加又は無視される必要がある。次に、この推定オントロジは、メタデータを追加するために既存のリッチオントロジとアラインする（align：調整する）ことができる。
【００７１】
ステップ１１０において、電子処理デバイスは、オントロジにおける複数のオントロジ用語のインジケーションを表示する。複数のオントロジ用語は、任意の適切な方式で決定することができ、１つの例では、これはオントロジ内に含まれるオントロジ用語の各々を特定するインデックスを用いて達成される。オントロジ用語は、クラス、クラスに関連付けられたデータプロパティ、又はクラス間の関係を定義するオブジェクトプロパティを含むことができる。より一般的には、この状況において、オントロジ用語はクラスであり、オントロジ用語のインジケーションは、オントロジ内のクラスのうちの幾つか又は全てを示すクラスリストの形態をとるが、これは必須ではなく、任意の適切な表示を用いることができる。
【００７２】
ステップ１２０において、電子処理デバイスは、ユーザ入力コマンドに応答して、複数のオントロジ用語から少なくとも１つの特定されたオントロジ用語を決定する。これは、任意の適切な方式で達成することができるが、通常、例えば、マウスポインタ等の適切な入力デバイスを用いてオントロジ用語上を「クリックする」ことによって、ユーザに、表示されたオントロジ用語のうちの１つとインタラクトさせる（interact：相互に作用させる）ことを含む。
【００７３】
ステップ１３０において、電子処理デバイスは、推論器を用いて、少なくとも１つの特定されたオントロジ用語に関する任意の公理及び任意の推測を決定する。これに関して、推論器は通常、コンピュータ実行可能コードとして実施され、１組の断定された事実（asserted facts）又は公理から論理的結果を推測することができる。推測ルールは、オントロジ言語によって、及び多くの場合に記述言語によって一般的に規定される。推論器は通常、一階述語論理を用いて推論を行い、推測は一般に、前向き連鎖及び後向き連鎖によって進む。推論器及びそれらの実施態様は、当該技術分野において知られており、したがって、更に詳細に説明されないことが理解されよう。
【００７４】
ステップ１４０において、電子処理デバイスは、少なくとも１つの特定されたオントロジ用語に関する詳細のインジケーションにおいて表示を行う。詳細は、通常、オントロジ用語に関する任意の関連情報を含み、関連付けられた公理又は推測、少なくとも１つのデータプロパティ、少なくとも１つの関連するオントロジ用語及び少なくとも１つのオブジェクトプロパティ等のうちの１つ又は複数を含むことがある。このため、例えば、クラスリストが表示されるとき、クラスがユーザによって特定されるとき、これによって、関連データプロパティを含むクラスの詳細が表示される。
【００７５】
したがって、上記で説明したプロセスは、ユーザがオントロジをブラウズし、オントロジ用語の意味を理解するのを可能にする単純な機構を提供する。次に、これを用いて、ユーザが、オントロジ用語のグルーピングや、オントロジ間の用語のアラインなどの更なるプロセスにおいて用いるために、関心対象のオントロジ用語を選択するのを可能にすることができる。このため、これは、ユーザが正しいオントロジが用いられているか否かを評価し、オントロジの範囲を理解し、かつ異なるオントロジ用語間の関係を調査するのを可能にするのに有用とすることができる。特に、これによって、ユーザがオントロジ用語の詳細をレビューすることが可能になり、詳細は、明示的なオントロジ用語の詳細のみでなく、公理及び推測から導出されるようなオントロジの構造内に固有の詳細も含む。
【００７６】
ここで、複数の更なる特徴が説明される。これに関して、電子処理デバイスは、ここで更に説明されるように、通常、オントロジのインデックスを生成することと、ユーザがオントロジをブラウズし、オントロジとインタラクトし、オントロジをアラインし、オントロジを剪定し、オントロジ用語の意味を解釈することを可能にすることとを含む、上記で説明したプロセスを容易にするための複数の異なる機能を実行するように適合される。
【００７７】
１つの例では、電子処理デバイスは、少なくとも１つのクラスと、この少なくとも１つのクラスのための少なくとも１つのデータプロパティとを表示する。これは、クラス及び／又は関連データプロパティが選択されるべきか否かを評価する際にユーザを支援するように、ユーザがクラスの詳細を閲覧することを可能にする。
【００７８】
更に支援するために、電子処理デバイスは、少なくとも１つのデータプロパティに関連付けられた検索語を決定し、検索語及び少なくとも１つのデータプロパティに従ってクエリを生成し、このクエリを用いてデータ構造を有するデータストア内に記憶されたコンテンツを検索し、少なくとも幾つかの検索結果を表示することができる。このため、オントロジは通常、データ構造を有するデータストアに関連付けられ、オントロジは、データ構造にマッピングされるか、又はデータ構造から生成された推定オントロジであるかのうちの少なくとも一方である。したがって、これによって、ユーザは、オントロジ構造に基づいて、コンテンツの検索を実行することができ、それによりユーザが、それぞれのオントロジ用語、特にクラス及び／又は関連データプロパティに関連付けられている場合があるコンテンツのタイプを突き止めることができる。次に、このことによって、ユーザは、コンテンツとインタラクトすることが可能になるという観点で、オントロジ用語がユーザの関心対象であるか否かを評価することが可能になる。
【００７９】
ユーザが関心対象の特定されたオントロジ用語を特定すると、これらは、例えば、ユーザ入力コマンドに従って、電子処理デバイスに少なくとも１つの選択されたオントロジ用語を決定させることによって選択することができる。これは、ユーザが少なくとも１つの表示されたオントロジ用語をタグ付けすることを可能にすること等の任意の適切な方式で達成することができる。以下でより詳細に説明されるように、オントロジ用語の選択に続いて、例えば、オントロジ用語をグルーピングし、それによってオントロジの剪定を実行するか、又はオントロジをアラインすることを含む、１つ又は複数のプロセスを実行することができる。
【００８０】
１つの例では、オントロジ用語の選択を用い、実行可能コードを生成することもできる。実行可能コードは、ユーザが選択したオントロジ用語に基づき、コンピュータシステムによって実行されるとき、ユーザがデータ構造を有するデータストア内に記憶されたコンテンツとインタラクトすることを可能にするためのユーザインタフェースをコンピュータシステムに表示させる。これは、電子処理デバイスが、ユーザがそれぞれのデータストアとインタラクトし、その後、それぞれのデータストアに対しコンテンツをエクスポート又はインポートすることを可能にするインタフェースを表示するのに用いることができるコードを自動的に生成することを可能にするためのメカニズムを提供する。このため、これによって、ユーザがオントロジ内のオントロジ用語をブラウズし、次に、データストア内のデータフィールドに対応するオントロジ用語を選択することが可能になることが理解されよう。そして、これによって、ユーザが次にデータ構造内に記憶されたコンテンツとインタラクトすることを可能にするインタフェースとして動作することができるコードが生成されることが可能になる。
【００８１】
１つの例では、実行可能コードは、コンピュータシステムに、例えば、コンテンツに問い合わせを行い、コンテンツを取り出すことによってコンテンツとインタラクトするためのクエリを生成させる。クエリは、通常、少なくとも１つの選択されたオントロジ用語に従って生成され、ＳＰＡＲＱＬ（ＳＰＡＲＱＬプロトコル及びＲＤＦクエリ言語）等の任意の適切な形態とすることができる。これによって、データベースに対するインタフェースとして動作することができるコンピュータソフトウェアを迅速に展開するためのメカニズムが提供される。さらに、このようにオントロジに基づいて生成されることにより、オントロジ内で定義される関係を、コードの構造に、このため結果として得られるクエリに統合することができる。このため、これによって、コンピュータシステムが、データプロパティ又はユーザによって選択されたオントロジ用語間の関係に従ってクエリを生成することが可能になる。
【００８２】
これを達成するために、コンピュータシステムは通常、例えば、ソースオントロジ又はターゲットオントロジから、１つ又は複数のオントロジ用語のインジケーションを表示し、ユーザ入力コマンドに応答して少なくとも１つのオントロジ用語の選択を決定し、対応するデータフィールドに記憶されたデータに問い合わせを行う。
【００８３】
実行可能コードは、任意の適切な方式で生成することができ、少なくとも１つの選択されたオントロジ用語に基づいて実行可能コードを生成するためのスクリプト等を用いて作成することができる。特に、コードは通常、少なくとも１つのクラス、少なくとも１つのクラスのための少なくとも１つのデータプロパティ、クラス間の関係を定義する、少なくとも１つのクラス及び少なくとも１つのオブジェクトプロパティに関連付けられた任意の推測及び任意の公理を用いて生成され、これらは、スクリプトによって、インタフェースを生成するためのコードをポピュレートするように用いられる。
【００８４】
さらに及び／又は代替的に、電子処理デバイスは、実行されると、少なくとも１つの選択されたオントロジ用語に従って定義されたデータ構造を有するデータベースを生成し、コンテンツをデータベースにロードするスクリプトを生成する。これによって、データベースが作成されることが可能になり、次に、コンテンツをデータベースにロードすることができる。
【００８５】
上記で言及したように、電子処理デバイスは、例えば、現在のアプリケーションに無関係であるか又は使用されていないオントロジ用語を除去することができ、現在の状況に関連しているもののみが留まるようにオントロジを剪定することによって、オントロジ用語のグループを決定することができる。
【００８６】
同様に、電子処理デバイスは、選択されたオントロジ用語を用いて、例えば、複数のオントロジ用語のオントロジ用語意味を比較し、各比較の結果のマッチングスコアを生成し、マッチングスコアに従ってアライメントを決定することによって、オントロジ用語間のアライメントを決定することができる。
【００８７】
１つの例において、電子処理デバイスは、インデックスを用いてオントロジ用語を決定し、このインデックスは、少なくとも１つのオントロジのオントロジ用語のインジケーションを含み、このインデックスを用いて、オントロジ用語のグループ及びオントロジ用語間のアライメントを決定する。インデックスの使用は必須ではないが、実質的に、オントロジ全体の使用と比較して、処理する必要があるデータ量を低減し、それによって、ブラウズ、グルーピング（剪定）及びアライメントプロセスをより管理可能なものにする。このため、インデックスが、電子処理デバイスがオントロジ用語のリストを表示し、そして、選択されたオントロジ用語に関連付けられたデータプロパティを探索するための、迅速なメカニズムを提供することが理解されるであろう。
【００８８】
インデックスは、任意の適切な形態をとることができるが、通常、オントロジ用語ごとに、オントロジ用語名と、オントロジ用語意味と、オントロジ用語タイプとのインジケーションを含む。インデックスは、それぞれのオントロジにおけるオントロジ用語のためのアドレス等の追加の情報も含むことができ、これは、ＵＲＩ（ユニフォームリソース識別子）等の形態をとることができる。
【００８９】
上記で説明したプロセスにおいて、電子処理デバイスは、推定オントロジを生成することによって、又は複数の既存の推定オントロジ若しくは形式化されたオントロジのうちの１つを選択することによって、オントロジを決定することができる。これに関して、ガレンオントロジ等の作成された正式なオントロジは、一般に、形式化されたオントロジと呼ばれるのに対し、データベース又はＸＭＬスキーマ等のデータ構造から直接生成されたオントロジは、推定オントロジと呼ぶことができる。
【００９０】
電子処理デバイスは、通常、ソースデータ構造若しくはターゲットデータ構造、又はソースデータ構造若しくはターゲットデータ構造のソースデータフィールド及びターゲットデータフィールドに関連付けられたメタデータを用いてソースオントロジ又はターゲットオントロジを決定する。このプロセスは、推定オントロジを生成すること、又は、例えばオントロジデータベース等のストア内に記憶されたオントロジから、複数の既存のオントロジのうちの１つを選択することを含むことがある。後者の場合、電子処理デバイスは、データ構造データフィールドを、複数の既存のオントロジのオントロジ用語と比較し、比較結果に従って、複数の既存のオントロジのうちの１つを選択することができる。一方、代替的に、電子処理デバイスは、オントロジのリストを表示し、オントロジのリストから、オントロジのユーザ選択を決定することができる。
【００９１】
代替的に、例えばデータベーススキーマからオントロジを生成するとき、電子処理デバイスは通常、スキーマ内のテーブルを特定し、各テーブルに対応するオントロジ用語を作成し、少なくとも１つの部品表テーブルを特定し、部品表テーブル内の各エントリに対応するオントロジ用語を作成する。このため、このプロセスは、任意の非正規化データベーステーブルのコンテンツを調査し、このテーブルのコンテンツを拡張して追加のオントロジ用語を特定するように動作する。
【００９２】
各テーブルについて、このプロセスの一部として、電子処理デバイスは、各テーブルに対応するクラスを作成し、テーブル内のフィールドからデータプロパティを作成する。部品表テーブルごとに、電子処理デバイスは、部品表テーブル内の各エントリに対応するクラスを作成し、関連テーブル内のフィールドからデータプロパティを作成する。
【００９３】
さらに、電子処理デバイスは、部品表テーブル内の各エントリに対応するオントロジ用語のインジケーションを表示し、オントロジ用語をユーザ入力コマンドに応答して推定オントロジに追加することができる。これによって、ユーザが、必要な場合にオントロジ用語の作成を上書きすることが可能になる。
【００９４】
推定オントロジを生成するとき、電子処理デバイスは、データベーススキーマによって定義されたテーブル構造を用いてオントロジ用語間の関係を更に生成することができる。このプロセスにより、電子処理デバイスは、クラス、クラスのうちの少なくとも幾つかのためのデータプロパティ、及びクラス間の関係を定義するオブジェクトプロパティを含む推定オントロジを生成することが可能になる。
【００９５】
次に、オントロジ用語をグルーピングする方法の例が、図１Ｂを参照して説明される。
【００９６】
以下でより詳細に説明されるように、例示の目的で、プロセスが少なくとも部分的に、コンピュータシステムのマイクロプロセッサ等の電子処理デバイスを用いて実行されることが想定される。
【００９７】
この例では、ステップ１５０において、電子処理デバイスは、少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加する。このプロセスは、任意の適切な方式で実行することができ、通常、１つ又は複数のオントロジから１つ又は複数のオントロジ用語を選択することを含む。これは、例えば、所定の判断基準に基づいて、電子処理デバイスによって自動的に実行することができ、及び／又はユーザ入力に基づいて手動で実行することができる。例えば、ユーザは、ブラウザを用いて、オントロジをブラウズし、関心対象の１つ又は複数のオントロジ用語を選択することができる。
【００９８】
いずれの場合にも、オントロジ用語は、例えば、１つ若しくは複数のオントロジデータベースに記憶された、１つ若しくは複数の既存のオントロジから選択することができるか、又は代替的に、それぞれのデータ構造から生成された１つ若しくは複数の推定オントロジから選択されてもよい。オントロジ用語は、オントロジ内に含まれるオントロジ用語の各々を特定するインデックスを用いて選択することができる。オントロジ用語は、クラス、クラスに関連付けられたデータプロパティ、又はクラス間の関係を定義するオブジェクトプロパティを含むことができる。
【００９９】
これに続いて、電子プロセスデバイスは、グループに更なるオントロジ用語を漸進的に追加するように動作する。これは通常、ステップ１６０においてオントロジ用語間の関係を用いてグループ内のオントロジ用語に関係付けられた、１つ又は複数の関係付けられたオントロジ用語を特定することと、そして、ステップ１７０において、関係付けられたオントロジ用語をグループに選択的に追加することとを含む反復プロセスにおいて実行される。
【０１００】
これは、任意の適切な方式で行うことができるが、通常、電子処理デバイスにオントロジ構造を用いさせ、グループ内のオントロジ用語に関係付けられたオントロジ用語を特定することを含む。次に、例えば、関係付けられたオントロジ用語を比較して判断規準を設定することによって、又は関係付けられたオントロジ用語をユーザに手動でレビューさせ、これらのうちのいずれが含まれるべきかを選択させることによって、これらをフィルタリングして、関心対象でない関係付けられたオントロジ用語を除去することができる。
【０１０１】
そして、所望の関係付けられた用語はオントロジグループに追加され、更なる関係付けられたオントロジ用語が特定され、グループに追加されるように、プロセスが繰り返される。
【０１０２】
このため、このプロセスは、１つ又は複数の選択されたシードオントロジ用語に基づいて、オントロジ用語をグループに反復的に追加することが理解されるであろう。用語は、以前に追加されたオントロジ用語に対する関係に基づいて追加され、それによって、１つ又は複数の全体オントロジのサブセットを表す関連用語のグループを形成する。これにより、グルーピングを、オントロジ用語間の関係に基づかせ、用語を漸進的に追加することによって、元のオントロジ（複数の場合もあり）の構造、及び任意の公理又は推測が維持されることが可能になる一方で、より管理可能な、より小さなオントロジグルーピングも生成される。これにより、グループオントロジ又は剪定されたオントロジの使用がより達成可能になる。
【０１０３】
ここで、複数の更なる特徴が説明される。
【０１０４】
これに関して、ここで更に説明されるように、電子処理デバイスは通常、オントロジをブラウズすること、オントロジのインデックスを生成すること、及びオントロジ用語の意味を解釈することを含む、上記で説明したプロセスを容易にするための複数の異なる機能を実行するように適合される。
【０１０５】
関係付けられたオントロジ用語をグループに選択的に追加するとき、電子処理デバイスは通常、少なくとも関係付けられたオントロジ用語を表示し、ユーザ入力コマンドに従って、関係付けられたオントロジ用語を選択的に追加する。これによって、ユーザは、関心対象のオントロジ用語のみを選択することが可能になる。
【０１０６】
電子処理デバイスは、推測、公理及びオブジェクトプロパティの少なくとも１つを用いて、関係付けられたオントロジ用語を決定することができる。オブジェクトプロパティは、通常、オントロジ内で規定される一方、公理及び推測は、推論器を用いて決定することができる。これに関して、推論器は通常、コンピュータ実行可能コードとして実施され、１組の断定された事実又は公理から論理結果を推測することができる。推測ルールは、オントロジ言語、及び多くの場合に記述言語によって一般的に規定される。推論器は、通常、一階述語論理を用いて推論を行い、推測は一般的に、前向き連鎖及び後ろ向き連鎖によって進む。推論器及びそれらの実施態様は、当該技術分野において知られており、したがって、更に詳細に説明されないことが理解されよう。
【０１０７】
さらに及び／又は代替的に、電子処理デバイスは通常、関係付けられたオントロジ用語を関係判断規準と比較し、比較結果に従って、関係付けられたオントロジ用語を選択的に追加する。このため、関係判断規準は、例えば、それらのデータ又はオブジェクトプロパティ等に基づいて、含まれるべきオントロジ用語を定義する。
【０１０８】
電子処理デバイスは、通常、定義された判断基準が満たされるまで、反復的にオントロジ用語を追加する。定義された判断基準は、設定された数の反復が完了すること、設定された数のオントロジ用語が追加されたこと、少なくとも２つの選択されたオントロジ用語が関係パスによって接続されること、ユーザ入力コマンド又は選択されたオントロジ用語からの定義された関係パス長を超える関係オントロジ用語が特定されることを含むことがある。このため、多岐にわたる異なるメカニズムを用いて、所望のグループが確立されたときにグルーピングプロセスを停止させることができることが理解されるであろう。
【０１０９】
例えば、複数の異なるオントロジ用語が、グループにシード値を与えるために最初に選択される場合、プロセスは、関係パスによってこれらの初期シードオントロジ用語が接続されるまで繰り返すことができる。代替的に、プロセスは、所望のグループサイズに達する等まで単純に繰り返すことができる。
【０１１０】
関係オントロジ用語を特定する際、電子処理デバイスは、通常、グループ内のオントロジ用語の定義された関係パス長内の関係付けられたオントロジ用語を特定する。さらに及び／又は代替的に、電子処理デバイスは、選択されたオントロジ用語の定義された関係パス長内の関係付けられたオントロジ用語を追加する。このため、これによって、グループ内のオントロジ用語の一定のパス長内のオントロジ用語が追加されることが可能になる。これに関して、パス長という用語は、関係付けられたオントロジ用語と、グループ内のオントロジ用語との間でトラバースされる必要がある中間オントロジ用語の数を意味するように理解される。
【０１１１】
オントロジ用語は、通常、異なる関係タイプによって関係付けられる。この場合、電子処理デバイスは、異なる関係タイプについてそれぞれのパス長を用いて１つ又は複数の関係付けられたオントロジ用語を特定することができる。このため、例えば、子関係よりも高い優先度を親関係に与えることができ、それによって、子用語よりも多くの数の親オントロジ用語が含まれる。
【０１１２】
オントロジ用語が通常、クラスを含むとき、電子処理デバイスは、通常、グループ内のクラスの親、スーパークラス、及びサブクラスのうちの少なくとも１つである関連クラスを特定する。一方、これは限定的であることを意図されないことが理解されるであろう。
【０１１３】
この一部として、関係タイプのうちの幾つかは、ヌル値のそれぞれのパス長を有することができ、それによって、実際に、このタイプの関係を介してのみ関係付けられるオントロジ用語は含まれない。さらに及び／又は代替的に、関係タイプのうちの少なくとも幾つかは有向パスを有する。
【０１１４】
関係パス長は固定であり得るが、より一般的には、これらは変動することができ、この場合、電子処理デバイスは、ユーザ入力コマンドに従って異なる関係タイプの関係パス長を決定する。
【０１１５】
電子処理デバイスは、通常、オントロジ用語のグループを解析して、潜在的な誤りの特定及び推測値の追加のうちの少なくとも１つを行う。したがって、これを用いて、剪定されたオントロジを向上させることができる。
【０１１６】
オントロジ用語は、通常、クラスを含み、電子処理デバイスは、クラス及びクラスのデータプロパティを表示し、クラス及びデータプロパティの少なくとも１つを、ユーザ入力コマンドに従ってグループに選択的に追加する。このため、これによってユーザは、クラス及び関連付けられたデータ及びオブジェクトプロパティを手動でレビューし、次に、それらのレビューに基づいてクラス及び／又はデータプロパティを追加することが可能になる。これを用いて、ユーザの関心対象のオントロジ用語のみが追加されることを確実にすることができる。
【０１１７】
１つの例では、電子処理デバイスは、複数の選択されたオントロジ用語をグループに追加し、複数のオントロジ用語が関係オントロジ用語によって接続されるまで、オントロジ用語を反復的にグループに追加する。このため、これにより、ユーザは２つ以上の異なるオントロジ用語を単純に選択することが可能になり、これらが関係付けられるまでグルーピングメカニズムが実行されることが可能になる。これによって、ユーザは、関心対象のオントロジ用語を容易に選択し、そして、剪定されたオントロジを作成することが可能になる。ここで、これらのオントロジ用語間の関係、公理及び推測が維持される一方で、剪定されたオントロジにおける他のオントロジ用語の数が最小限にされる。
【０１１８】
このプロセスの一部として、複数の選択されたオントロジ用語が、第１のオントロジからの第１のオントロジ用語と、第２のオントロジからの第２のオントロジ用語とを含むことができる。この場合、電子プロセスデバイスは、第１のオントロジ用語及び第２のオントロジ用語をそれぞれの第１のグループ及び第２のグループに追加し、第１のグループ及び第２のグループがアラインされたオントロジ用語を含むまで漸進的に、第１のオントロジからのオントロジ用語を第１のグループに追加し、第２のオントロジからのオントロジ用語を第２のグループに追加する。このため、プロセスは、グループを作成し、次に、グループ内のオントロジ用語間のアライメントに基づいてグループをマージすることを含む。これによって、２つ以上の異なるオントロジに及ぶ剪定されたオントロジを作成することが可能になる。
【０１１９】
アラインされたオントロジ用語は、任意の適切な方式により決定することができる。例えば、これは、第１のグループ及び第２のグループ内のオントロジ用語を比較してアラインされたオントロジ用語を特定することによって、又はユーザ入力コマンドに従ってアラインされたオントロジ用語を決定することによって、実行することができる。このため、これは、以下により詳細に説明されるように、例えばアライメントモジュールを用いて、オントロジ用語の類似度に基づいて自動的に行われてもよく、又は代替的に手動で実行されてもよい。
【０１２０】
定義された判断基準が満たされると、電子処理デバイスは、第１のグループ及び第２のグループがアラインされたオントロジ用語を含むか否かを判断し、含まない場合、プロセスを停止することができる。この事例では、第１のグループ及び第２のグループをアラインすることができないことが起こり得る。この場合、第１のオントロジ及び第２のオントロジに基づいて剪定されたオントロジの作成が実現可能でない場合がある。
【０１２１】
グルーピングプロセスが完了すると、例えば、グループ内のオントロジ用語のインデックスを記憶することによって、オントロジ用語のグループのインジケーションを記憶することができ、これによって、剪定されたオントロジがその後、他のプロセスによって用いられることが可能になる。
【０１２２】
１つの例では、上記で説明されたプロセスが実行されることを可能にするために、複数の異なるツールを用いて、マッピングの生成及びオントロジの管理において支援することができる。１つの例では、ツールは、オントロジ及びデータ管理ツールの統合されたパッケージを形成するソフトウェアスイートの一部として提供される。１つの例では、ツールは、オントロジにおけるオントロジ用語を示すインデックスを生成するインデクサモジュールと、オントロジにおけるオントロジ用語のブラウジングを可能にし、オントロジの少なくとも一部を具現化するコードを生成し、それによってユーザがオントロジに従ってデータ構造に記憶されたデータとインタラクトすることを可能にするブラウザモジュールと、異なるオントロジのオントロジ用語間のアライメントを決定するアライナモジュールと、オントロジ用語間の関係を少なくとも部分的に用いて、少なくとも１つのオントロジ内のオントロジ用語のグループを決定する剪定器モジュールと、オントロジ用語意味を特定するセマンティックマッチャモジュールとを備える。一方、それぞれのモジュールの使用は必須ではなく、他の構成を用いることができる。
【０１２３】
１つの例において、図１及び図１Ｂの上記で説明したプロセスが実行されることを可能にするために、複数の異なるツールを用いて、マッピングの生成及びオントロジの管理において支援することができる。１つの例では、ツールは、オントロジ及びデータ管理ツールの統合されたパッケージを形成するソフトウェアスイートの一部として提供される。１つの例では、ツールは、オントロジにおけるオントロジ用語を示すインデックスを生成するインデクサモジュールと、オントロジにおけるオントロジ用語のブラウジングを可能にし、オントロジの少なくとも一部を具現化するコードを生成し、それによってユーザがオントロジに従ってデータ構造に記憶されたデータとインタラクトすることを可能にするブラウザモジュールと、異なるオントロジのオントロジ用語間のアライメントを決定するアライナモジュールと、オントロジ用語間の関係を少なくとも部分的に用いて、少なくとも１つのオントロジ内のオントロジ用語のグループを決定する剪定器モジュールと、オントロジ用語意味を特定するセマンティックマッチャモジュールとを備える。一方、それぞれのモジュールの使用は必須ではなく、他の構成を用いることができる。
【０１２４】
１つの例では、適切にプログラムされたコンピュータシステム等の処理システムを少なくとも部分的に用いてプロセスを実行することができる。これは、マイクロプロセッサが上記の方法が実行されることを可能にするアプリケーションソフトウェアを実行する、スタンドアロンコンピュータにおいて実行することができる。代替的に、プロセスは、分散アーキテクチャの一部として動作する１つ又は複数の処理システムによって実行することができる。ここで、この例が図２を参照して説明される。
【０１２５】
この例では、２つの基地局２０１が、インターネット２０２及び／又は複数のローカルエリアネットワーク（ＬＡＮ）２０４等の通信ネットワークを介して、複数のコンピュータシステム２０３に結合される。ネットワーク２０２、２０４の構成は、例示のみを目的としており、実際には、基地局２０１、コンピュータシステム２０３は、限定ではないが、モバイルネットワーク、８０２．１１ネットワーク等のプライベートネットワーク、インターネット、ＬＡＮ、ＷＡＮ等を含む有線又は無線接続を介して、及びＢｌｕｅｔｏｏｔｈ（登録商標）等の直接接続又はポイントツーポイント接続を介して等、任意の適切なメカニズムを介して通信することができることが理解されるであろう。
【０１２６】
１つの例では、各基地局２０１は、データベース２１１に結合された処理システム２１０を含む。基地局２０１は、例えば、ブラウズ、及び任意選択的に、剪定又はアライメント、並びに例えばソースデータストアとターゲットデータストアとの間でコンテンツを転送する際に用いるためのマッピングの生成を実行するために、オントロジを管理する際に用いるように適合される。コンピュータシステム２０３は、基地局２０１と通信して、マッピングの生成等のプロセスが制御されることを可能にするように適合することができるが、これは必須ではなく、プロセスは、基地局２０１を介して直接制御することができる。
【０１２７】
各基地局２０１が単一のエンティティとして示されるが、基地局２０１は、例えば、クラウドベースの環境の一部として提供される処理システム２１０及び／又はデータベース２１１を用いることによって、地理的に離れた複数のロケーションにわたって分散することができることが理解されるであろう。これに関して、各々がそれぞれのデータストア又はオントロジに関連付けられた複数の基地局２０１を提供することができるが、代替的に、データストアは、コンピュータシステム２０３に関連付けることができる。
【０１２８】
一方、上記で説明した構成は必須ではなく、他の適切な構成を用いることができる。例えば、プロセスは、スタンドアロンコンピュータシステムにおいて実行することができる。
【０１２９】
図３に適切な処理システム２１０の例が示される。この例において、処理システム２１０は、少なくとも１つのマイクロプロセッサ３００と、メモリ３０１と、キーボード及び／又はディスプレイ等の入出力デバイス３０２と、図示されるようにバス３０４を介して相互接続された外部インタフェース３０３とを備える。この例では、外部インタフェース３０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等の周辺デバイスに処理システム２１０を接続するために利用することができる。単一の外部インタフェース３０３が示されているが、これは、例示のみを目的としており、実際には、様々な方法を用いる複数のインタフェース（例えば、イーサネット（登録商標）、シリアル、ＵＳＢ、無線等）を提供することができる。
【０１３０】
使用時に、マイクロプロセッサ３００は、メモリ３０１に記憶されたアプリケーションソフトウェアの形態の命令を実行し、ブラウジング、並びに任意選択的にインデックス生成、マッピング、及びデータベース２１１への／からのコンテンツ転送が行われることを可能にし、また、コンピュータシステム２０３との通信を可能にする。アプリケーションソフトウェアは、１つ又は複数のソフトウェアモジュールを含むことがあり、オペレーティングシステム環境等の適切な実行環境において実行することができる。
【０１３１】
したがって、処理システム２１０は、適切にプログラムされたコンピュータシステム、ＰＣ、ＤＢＭＳを実行するデータベースサーバ、ウェブサーバ、ネットワークサーバ等の任意の適切な処理システムから形成することができることが理解されるであろう。１つの特定の例では、処理システム２１０は、不揮発性（例えば、ハードディスク）ストレージに記憶されたソフトウェアアプリケーションを実行する、３２ビット又は６４ビットのインテルアーキテクチャベースの処理システム等の標準的な処理システムであるが、これは必須ではない。一方、処理システムは、マイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）等のロジックの実施に任意選択的に関連付けられたファームウェア等の任意の電子処理デバイス、又は任意の他の電子デバイス、システム若しくは構成とすることができることも理解されるであろう。
【０１３２】
図４に示されているように、１つの例では、コンピュータシステム２０３は、少なくとも１つのマイクロプロセッサ４００と、メモリ４０１と、キーボード及び／又はディスプレイ等の入出力デバイス４０２と、図示されるようにバス４０４を介して相互接続された外部インタフェース４０３とを備える。この例では、外部インタフェース４０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等の周辺デバイスにコンピュータシステム２０３を接続するために利用することができる。単一の外部インタフェース４０３が示されているが、これは、例示のみを目的としており、実際には、様々な方法を用いる複数のインタフェース（例えば、イーサネット（登録商標）、シリアル、ＵＳＢ、無線等）を提供することができる。
【０１３３】
使用時に、マイクロプロセッサ４００は、メモリ４０１に記憶されたアプリケーションソフトウェアの形態で命令を実行し、基地局２０１との通信を可能にし、例えば、オペレータが制御入力を提供することを可能にする。
【０１３４】
したがって、コンピュータシステム２０３を、適切にプログラムされたＰＣ、インターネット端末、ラップトップ、ハンドヘルドＰＣ、スマートフォン、ＰＤＡ、ウェブサーバ等の任意の適切な処理システムから形成することができることが理解されよう。このため、１つの例では、処理システム２０３は、不揮発性（例えば、ハードディスク）ストレージに記憶されたソフトウェアアプリケーションを実行する、３２ビット又は６４ビットのインテルアーキテクチャベースの処理システム等の標準的な処理システムであるが、これは必須ではない。一方、コンピュータシステム２０３は、マイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）等のロジックの実施に任意選択的に関連付けられたファームウェア等の任意の電子処理デバイス、又は任意の他の電子デバイス、システム若しくは構成とすることができることも理解されるであろう。
【０１３５】
マッピングを生成し、ブラウジング、オントロジのインデックス付け、並びにオントロジのアライン及び剪定を含むオントロジとのインタラクションを可能にするシステムの動作の例が、ここで更に詳細に説明される。
【０１３６】
これらの例において、基地局２０１の処理システム２１０が、プロセスを実行するためのアプリケーションソフトウェアをホスティングし、処理システム２１０によって実行されるアクションが、プロセッサ３００によって、メモリ３０１内にアプリケーションソフトウェアとして記憶された命令、及び／又はＩ／Ｏデバイス３０２を介してユーザから受信された入力コマンド、又はコンピュータシステム２０３から受信されたコマンドに従って実行されることが想定される。これに関して、以下の説明において、処理システム２１０は、インデクサモジュール、ブラウザモジュール、アライナモジュール、剪定器モジュール、セマンティックマッチャモジュール及びＥＴＬモジュールを含む複数のモジュールを有するアプリケーションソフトウェアを実行する。一方、それぞれのモジュールの使用は必須でなく、他の構成を用いることができる。
【０１３７】
ユーザが、入出力デバイス３０２又はコンピュータシステム２０３上に提示されるＧＵＩ等を介して処理システム２１０によって実行されるアプリケーションソフトウェアとインタラクトすることも想定される。コンピュータシステム２０３によって実行されるアクションは、プロセッサ４００によって、メモリ４０１内にアプリケーションソフトウェアとして記憶される命令、及び／又はＩ／Ｏデバイス４０２を介してユーザから受信される入力コマンドに従って実行される。基地局２０１は、通常、利用可能な特定のネットワークインフラストラクチャを介してコンピュータシステム２０３と通信するサーバであり、例えば、１つ又は複数のコンピュータシステム２０３のユーザのためにデータベース２１１とインタラクトする企業サーバの形態をとることができる。
【０１３８】
一方、上記で記載した構成は、例示のみを目的としており、限定することは意図されておらず、このため、実際には、任意のデータベース管理システムを用いることができることが理解されるであろう。また、特定の実施態様に依拠して、コンピュータシステム２０３と基地局２０１との間の機能の分割は変動する場合があることも理解されるであろう。
【０１３９】
ここで、図５を参照して、マッピングを決定し、これを用いてソースからターゲットにコンテンツを転送するためのプロセスの概観が説明される。この例において、処理システム２１０が異なる機能を提供するために複数の異なるモジュールを実施することが想定される。
【０１４０】
この例において、ステップ５００において、処理システム２１０は、ソースデータ構造及びターゲットデータ構造を用いてソースオントロジ及びターゲットオントロジを特定する。これは、任意の方式で達成することができるが、通常、ソースデータストア及びターゲットデータストアのためのソースデータ構造及びターゲットデータ構造に基づいて推定オントロジを作成することを含む。例えば、異なるソースデータフィールド及びターゲットデータフィールドの名称を、オントロジ用語と同等とみなすことができ、オントロジ用語間の関係は、ソースデータ構造及びターゲットデータ構造における関係から特定される。ここで図６を参照して、推定オントロジを生成するプロセスの特定の例が、より詳細に説明される。
【０１４１】
ステップ５１０において、インデクサモジュールは、ソースオントロジ及びターゲットオントロジのインデックスを決定する。インデックスは通常、各オントロジ用語を示すエントリと、関連付けられたオントロジ用語タイプが既知である場合、このタイプと、任意選択的に、オントロジ用語意味とを含むリストの形態をとる。これに関して、オントロジ用語意味は通常、ステップ５２０において、オントロジ用語を概念マッチングデータベースと比較し、比較結果を用いてインデックスにおける各オントロジ用語意味を特定するセマンティックマッチャモジュールによって決定される。
【０１４２】
ステップ５３０において、ブラウザモジュールは、オントロジをブラウズし、ソースオントロジ用語又はターゲットオントロジ用語を選択するのに用いられる。これによって、ユーザは、通常、ソースデータストアから抽出され、ターゲットデータストアにインポートされるコンテンツに対応する、関心対象のオントロジ用語を選択することが可能になる。
【０１４３】
次に、ステップ５４０において、選択されたオントロジ用語を用いて、ブラウザモジュールが、それぞれのデータ構造に従ってデータストアに記憶されたコンテンツとインタラクトするためのコードを生成することを可能にすることができる。特に、これは、以下でより詳細に説明するように、コンピュータシステムが、ユーザがデータ構造のデータフィールドをレビューし、抽出／インポートされるコンテンツを選択し、次に抽出／インポートを行うのに必要なクエリを生成するのに用いることができるユーザインタフェースを生成することを可能にするためのコードを含むことがある。
【０１４４】
代替的に、ステップ５５０において、選択されたオントロジ用語は、ソースオントロジ及び／又はターゲットオントロジを剪定する剪定器モジュールによって用いられる。以下でより詳細に説明されるように、特に、これによって、ユーザは、オントロジのうちの関心対象の部分のみを選択することが可能になり、そして、処理システム２１０は、選択されたオントロジ用語間の関係を維持するのに必要とされる追加のオントロジ用語を選択する。
【０１４５】
オントロジのうちの１つ又は複数が剪定されると、ステップ５６０において、処理システム２１０は、アライナモジュールを用いてソースオントロジ及びターゲットオントロジをアラインする。これは、ソースオントロジ用語のうちの１つ又は複数と、ターゲットオントロジのうちの１つ又は複数との間の対応関係を特定し、それによって、ステップ５７０において、ソースデータ構造とターゲットデータ構造との間のマッピングが決定されることが可能になり、そしてこれを、ブラウザモジュールによって生成されたコードと共に用いて、コンテンツをソースデータストアからターゲットデータストアに転送することができる。
【０１４６】
ここで図６を参照して、データベーススキーマ等のデータ構造から推定オントロジを生成するためのプロセスの例が説明される。
【０１４７】
この例は、リレーショナルデータベースのための推定オントロジを生成することに特化しているが、同様の概念を他のデータ構造に適用することができ、この例は、例示のみを目的としており、限定的であることは意図されていないことが理解されよう。
【０１４８】
この例では、ステップ６００において、処理システム２１０は、データベース内の各テーブルを、通常、データベーススキーマを定義するメタデータからこの情報を抽出することによって決定する。ステップ６１０において、処理システム２１０は、データベース内の各テーブルに対応するクラスを定義する。以下でより詳細に説明されるように、これに関して、クラスという用語は、オントロジ内の概念に対応する特定のオントロジ用語を指す。
【０１４９】
ステップ６２０において、処理システム２１０は、部品表（ＢＯＭ）構造又はタイプ構造を有する任意のデータベーステーブルを特定する。これに関して、ＢＯＭテーブルは、２つの「１対多」関係を有し、アイテム、オブジェクト又は物品を構成する全ての部品をリスト化するのに用いられる。タイプ構造は、１つの「多対１」関係を有し、関連テーブルにおける値の範囲を制限するのに用いられる１つのみの関連属性又は列を有する。そのようなテーブルは、多くの場合、データを非正規化するのに用いられ、したがって、各々がそれぞれのオントロジ用語を表すはずの多くの概念又はクラスを含むことがある。したがって、ステップ６３０において、処理システムは、各タイプテーブル及び各ＢＯＭテーブルを拡張し、テーブル内の各一意のエントリに対応する更なるクラスを定義する。
【０１５０】
ステップ６４０において、処理システム２１０は、任意選択的に、タイプテーブル又はＢＯＭテーブル内から各特定されたクラスを表示し、ユーザが、ステップ６５０においてクラスが保持されるべきか否かを確認することを可能にする。タイプクラス又はＢＯＭクラスが保持されるべきでないことが示される場合、これはステップ６６０において除去される。
【０１５１】
関連ＢＯＭクラスが選択されると、処理システム２１０は、データベーススキーマに基づいて関係及び属性（データオブジェクト及びデータプロパティとも呼ばれる）を定義する。このため、テーブル構造を用いて、特定されたクラス間の関係を特定することができる一方、テーブル内のデータフィールドを用いてクラスの属性が特定される。そして、関係及び属性を用いて、オントロジにおけるオブジェクトプロパティ及びデータプロパティが定義され、それによって、ステップ６８０において、推定オントロジが生成され、例えばオントロジデータベースに保存されることが可能になる。
【０１５２】
このため、これによって、推定オントロジが、データベース、構造化ファイル等のデータストアのデータ構造の解析のみから、実質的に自動化された方式で作成されることが可能になる。これに続いて、以下でより詳細に説明されるように、推定オントロジ内の異なるクラスについて意味を定義することが必要とされる場合、推定オントロジを、形式化されたオントロジとアラインすることができる。
【０１５３】
ここで、図７を参照して、インデックスを生成するためのプロセスの例が説明される。
【０１５４】
この例において、ステップ７００において、インデクサモジュールは、関心対象のオントロジを決定する。これは、例えば、ブラウザモジュールを介して供給されるユーザ入力コマンドに基づいて決定することができるか、又はインデックスを必要とする別のモジュールから受信することができる。例えば、推定オントロジを生成したＥＴＬモジュールは、これがインデックス付けされることを要求し、オントロジのインジケーションをインデクサモジュールに提供することができるか、又は代替的に、剪定器モジュールが、オントロジに対し剪定が実行されることを可能にするインデックスを要求することができる。
【０１５５】
ステップ７０５において、インデクサモジュールは、オントロジを、通常インデックスデータベースに記憶される１つ又は複数の既存のインデックスと比較し、インデックスがすでに存在するか否かを判断する。これは、オントロジ名及び／又はアドレス等の、オントロジに関連付けられたメタデータを、インデックスに関連付けられた対応する情報と比較することによって達成されてもよく、又は代替的に、１つ若しくは複数のオントロジ用語を、既存のインデックス内のオントロジ用語と比較することによって達成されてもよい。
【０１５６】
ステップ７１０において、インデックスが存在すると判断される場合、ステップ７１５において、例えば、インデックスを要求したモジュールにインデックスを提供することによって、インデックスが提供される。そうでない場合、インデックスが生成されなくてはならない。この場合、ステップ７２０において、インデクサモジュールが次のオントロジ用語を選択し、そして、ステップ７２５において、オントロジ用語名、オントロジ用語タイプ、及び通常、ＵＲＩ（ユニフォームリソース識別子）又は同様のものを示す、オントロジ用語アドレスのインジケーションを含むインデックスエントリを作成する。以下でより詳細に説明するように、ステップ７３０において、インデクサモジュールは、セマンティックマッチャモジュールからオントロジ用語のための意味論的意味を得て、これをインデックスエントリに追加する。
【０１５７】
ステップ７３５において、インデクサモジュールは、全てのオントロジ用語が完了しているか否かを判断し、完了していない場合、プロセスはステップ７２０に戻り、次のオントロジ用語が選択されることを可能にする。そうでない場合、ステップ７４０において、インデックスが記憶され、任意選択的に別のモジュールに提供される。
【０１５８】
ここで、図８を参照して、オントロジをブラウズするためのプロセスの例が説明される。
【０１５９】
この例では、ステップ８００において、ブラウザモジュールは、オントロジインデックスを用いて、選択されたオントロジのためのオントロジ用語リストを生成する。したがって、このプロセスの一部として、ブラウザモジュールは、例えば選択されたオントロジのアイデンティティに基づいて、インデクサモジュールにオントロジインデックスを要求することができる。そして、適切なグラフィカルユーザインタフェース（ＧＵＩ）を介して、オントロジ用語リストをユーザに表示することができる。
【０１６０】
ステップ８０５において、ユーザは、ステップ８１０において、閲覧する次のオントロジ用語を選択する前に、関心対象の１つ又は複数のオントロジ用語をタグ付けし、ステップ８１５において、ブラウザモジュールが、選択されたオントロジ用語のためのデータプロパティを含むオントロジ用語画面を表示することを可能にする。これに関して、データプロパティは、オントロジの一部として定義されるオントロジ用語の属性に対応する。
【０１６１】
ステップ８２０において、ブラウザモジュールは、検索オプションがユーザによって選択されているか否かを判断する。この場合、ユーザはステップ８２５において、データプロパティのデータフィールドに検索語を入力する。そして、ステップ８３０において、ブラウザモジュールは、それぞれのオントロジ用語のデータプロパティに関連付けられたデータのクエリを生成及び実行し、結果を返してユーザに表示する。このため、このプロセスは、ユーザが、対応するソースデータストア又はターゲットデータストアにおけるそれぞれのデータプロパティに関連付けられたコンテンツをレビューすることを可能にし、それによって、ユーザが、オントロジ用語及び関連付けられたデータプロパティが関心対象であるか否かを確認することを可能にする。
【０１６２】
検索が実行されると、又は検索が実行されない場合、ステップ８３５において、ユーザは関心対象の１つ又は複数のデータプロパティをタグ付けする。このため、このプロセスは、ユーザがオントロジ用語及び関連付けられたデータプロパティをレビューし、次に、これらをタグ付けすることによって、関心対象のオントロジ用語及びデータプロパティを選択することを可能にする。
【０１６３】
ステップ８４０において、オントロジ用語がレビューされ、ユーザにとって関心対象の全てのオントロジ用語及びデータプロパティが選択されたか否かを判断する。選択されていない場合、プロセスはステップ８１０に戻り、更なるオントロジ用語がレビューされることを可能にする。
【０１６４】
そうでない場合、ステップ８４５において、ブラウザモジュールは、タグ付けされたオントロジ用語及び関連付けられたデータプロパティを選択し、これらが、ステップ８５０における剪定の実行又はステップ８５５におけるアプリケーションの生成等の他のプロセスにおいて用いられることを可能にする。以下でより詳細に説明するように、これに関して、アプリケーションの生成は、スクリプト等を用いて実行可能コードを生成することを含み、実行可能コードは、コンピュータシステムにおいて実行されると、コンピュータシステムが、選択されたオントロジ用語又はデータプロパティに対応するソース又はターゲットにおけるフィールド内のコンテンツとインタラクトするためのユーザインタフェースを表示することを可能にする。
【０１６５】
このため上記で説明したプロセスを用いて、ユーザがオントロジ用語及び関連データプロパティをブラウズして、ソースからエクスポートするか又はターゲットにインポートすることを望むコンテンツに関して、これらのいずれが関心対象であるかを特定することを可能にすることができる。
【０１６６】
ここで、図９を参照して、オントロジを剪定するためのプロセスの例が説明される。
【０１６７】
この例において、ステップ９００において、選択されたオントロジ用語が、剪定プロセスのためのシードとして追加される。これに続いて、反復プロセスが実行され、シードオントロジ用語を相互接続するパスが特定されるまで、シードオントロジ用語に関係付けられたオントロジ用語を繰り返し探索する。これを達成するために、ステップ９０５において、異なるタイプの関係及び関連付けられたデフォルトパス長が表示される。これに関して、オントロジ用語は、親、子、兄弟等の異なるタイプの関係によって関係付けることができる。或る特定のタイプの関係は、他のタイプの関係よりも重要である場合があり、異なる関係タイプは異なる長さを有する場合がある。さらに、関係のタイプごとに探索されるパスの長さを変更し、それによって、より重要な関係を介してシードオントロジ用語に接続された多数のオントロジ用語が含まれることを確実にすることができる。したがって、ステップ９１０において、ユーザは、異なる関係についてパス長を調整することができ、それによって、剪定プロセスが、ユーザによって、例えば剪定の範囲及び／又は方向を制御するように調整されることを可能にする。
【０１６８】
ステップ９１５において、選択されたオントロジ用語に関係するオントロジ用語が、指定されたパス長の関係によって関係付けられたオントロジ用語を特定することによって決定される。ステップ９２０において、剪定器モジュールは、選択されたシード語がリンク付けされているか否かを判断する。換言すれば、シードオントロジ用語をリンク付けする一連の相互接続されたオントロジ用語が存在し、その場合、剪定プロセスは終了することができ、ステップ９２５において、特定された、選択され関係付けられたオントロジ用語を用いて、剪定されたオントロジが定義される。これを、剪定されたオントロジ又は剪定されたインデックスとして記憶することができる。
【０１６９】
そうでない場合、ステップ９３０において、反復が完了しているか否かが判断され、完了していない場合、関係付けられたオントロジ用語が選択されたオントロジ用語に追加され、プロセスはステップ９１５に戻り、更に関係付けられたオントロジ用語が特定されることを可能にする。このため、シードオントロジ用語に関係付けられたオントロジ用語の数は、シードオントロジ用語が関係のパスによって接続されるまで徐々に増大する。
【０１７０】
このため、上記で説明したプロセスは、オントロジの剪定に成功するまで繰り返され、成功した時点で、シードオントロジ用語は関係付けられたオントロジ用語のパスを介して相互接続されているか、又は所定の数の反復が完了し、パスが特定されなくなるまで繰り返され、この場合、プロセスはステップ９４０において停止する。この後者の場合、これは通常、オントロジ用語が異なるオントロジからのものであることを示唆し、この場合、以下でより詳細に説明されるように、剪定プロセスが、アライメントプロセスと併せて実行され、剪定プロセスが複数のオントロジに及ぶことが可能になる。代替的に、これは、オントロジ用語を容易にリンク付けすることができないことを示す。
【０１７１】
ここで、図１０を参照して、ソースオントロジ及びターゲットオントロジをアラインするためのプロセスの例が説明される。
【０１７２】
この例において、ステップ１０００において、ソースオントロジ用語及び／又はターゲットオントロジ用語がインデックスを用いて選択される。これは、ユーザに、ブラウザモジュールを用いてオントロジ用語を選択させること、又はより一般的には、関心対象のソース及び／又はターゲットオントロジ用語を含むソースオントロジ及びターゲットオントロジの剪定されたバージョンに対応する２つの剪定されたオントロジを選択させることを含むことができる。ステップ１００５において、マッチャモジュールを用いて、ソースオントロジ用語及びターゲットオントロジ用語の対の異なる組み合わせのためのマッチングスコアを決定する。ステップ１０１０において、これらのスコアを用いて、ソースオントロジ及びターゲットオントロジの意味がどの程度類似しているかのみに基づいて、予備アライメントを定義する。
【０１７３】
ステップ１０１５において、アライナモジュールは、ソースオントロジ用語及びターゲットオントロジ用語の関係（オブジェクトプロパティ）及び属性（データプロパティ）を調べて、予備アライメントが正しいか否かを判断する。このため、例えば、これは、予備のアラインされたソースオントロジ用語及びターゲットオントロジ用語が類似の数の属性を有するか否か、及びまた、これらが他のソースオントロジ用語又はターゲットオントロジ用語と類似した関係を有するか否かを調べる。これを用いて、例えば、名及び姓という用語の各々を氏名に予備マッチングすることができる場合、厳密でないマッチを特定することができる。ここで、関係を調べることにより、これが他対１の関係であるべきことが実証される。
【０１７４】
ステップ１０２０において、これを用いてアライメントを精緻化し、ステップ１０２５において、これらがソースオントロジとターゲットオントロジとの間のアライメントを表すように記憶されることを可能にすることができる。これは、マージされたオントロジ、又は代替的に、アライメントインデックスの形態をとることができる。
【０１７５】
ここで、図１１を参照して、セマンティックマッチングプロセスの例が説明される。
【０１７６】
この例では、ステップ１１００において、マッチャモジュールは、マッチングのためのオントロジ用語を受信する。これは、ブラウザモジュールを介するユーザ選択に基づくことができるが、より一般的には、インデクサモジュール又はアライナモジュールから用語を受信することによって行うことができる。ステップ１１０５において、次の対の組み合わせが、単一のオントロジ用語をマッチングデータベース内の複数のそれぞれの用語と比較することによって、又は次の対の受信したソースオントロジ用語及びターゲットオントロジ用語を選択することによって選択される。
【０１７７】
ステップ１１１０において、セマンティックマッチャモジュールは、概念マッチングデータベースを用いて意味論的類似度を計算する。スコアは、複数の方式のうちの任意のものにおいて決定することができるが、通常、それらが反意語、同義語等であるか否か等、意味が何らかの形で関係しているか否かに基づいてスコアを計算するあらかじめ定義された公式を適用することを含む。１つの特定の例では、これは、例えば、ＷｏｒｄＮｅｔ等の辞書を用いて、オントロジ用語を定義とマッチングすることを含む。これに関して、ＷｏｒｄＮｅｔは英語の大きな語彙データベースである。名詞、動詞、形容詞及び副詞は、各々が別個の概念を表す知的同義語の組（ｓｙｎｓｅｔｓ）にグループピングされる。これについては、Fellbaum、Christiane (2005)、WordNet and wordnets、及びBrown、Keith他（編）、 Encyclopedia of Language and Linguistics, Second Edition, Oxford: Elsevier, 665-670に記載されている。
【０１７８】
定義が特定されると、これはＲＤＦトリプルの観点で表され、そして、これらはデータベースに記憶される。そして、２つの異なる意味についてのＲＤＦトリプルに問い合わせを行い、トリプル間の類似度を決定することができる。この類似度を用いて、２つのオントロジ用語の意味の類似度を示す類似度スコアを決定する。
【０１７９】
これに続いて、ステップ１１１５において、セマンティックマッチャモジュールは、用語がサブクラス及びスーパークラス構成によって関係付けられているか否かを判断する。次に、ステップ１１２０においてこの情報は、類似度スコアと組み合わされ、マッチングスコアが計算される。ステップ１１２５において、全ての対が完了しているか否かが判断され、完了していない場合、プロセスは１１０５に戻り、次の１対のソースオントロジ及びターゲットオントロジが選択されることが可能になり、マッチングスコアが計算される。データベース内の全ての潜在的なオントロジ用語の対又はオントロジ用語、及びマッチング概念がチェックされると、ステップ１１３０において、セマンティックマッチャモジュールは最良のマッチを選択し、そして、このインジケーションを与えることができる。
【０１８０】
したがって、上記で説明したプロセスにより、ユーザがオントロジとインタラクトし、関心対象のオントロジ用語を選択し、これを用いて、それぞれのオントロジに従って、データベース又はＸＭＬファイル等のデータストアに記憶されたコンテンツとインタラクトするためのソフトウェアを生成することが可能になることが理解されよう。ユーザは、オントロジを更に調査し、そしてこれを、剪定器モジュールを用いて剪定し、ユーザが関心対象のコンテンツとインタラクトすることを可能にする最小オントロジが決定されることを可能にすることができる。そして、剪定されたオントロジを、別の剪定オントロジとアラインすることができ、それによって、これを用いてそれらの間のマッピングを定義することができ、そしてこれを用いて、ソースデータ構造を有するデータストアとターゲットデータ構造を有するデータストアとの間でデータを転送することができる。
【０１８１】
次に、より詳細な例を説明する。この例において、オントロジは以下のように定義される。
・クラス又はオブジェクトとも呼ばれる１組の関連概念。これらのうちの幾つかは、「継承」関係とも呼ばれるサブ／スーパークラス関係を用いて互いに関係付けられている。例として、継承を示す「組織」、「会社」、「クラブ」、及び継承を示さない「大陸」、「性別」、「人物」が挙げられる。
・関連クラスのための追加のメカニズムを提供する１組のオブジェクトプロパティ。例えば「〜に／内に位置する」、「性別を有する」である。これらの関係は、概念、関係及びプロパティの推測を可能にする。
・各クラスに関連付けられた１組のデータプロパティ。例えば、クラス「人物」は、氏名、肩書、出生日及び性別のデータプロパティを有することができる。
・上記のプロパティのうちの任意のものの間の公式関係を提供する１組の公理。例えば、「人物が「Ｍｒｓ」の肩書を有する場合、性別は女性でなくてはならない」、又は「２つのオブジェクトが同じ一意の識別子を有する場合、それらは同じオブジェクトである」である。これらの公理は、概念、関係及びプロパティの更なる推測を可能にする。
【０１８２】
オントロジは、ＲＤＦＳ、ＸＭＬ、ＤＡＭＬ、ＯＩＬ、Ｎ３及びＯＷＬ等の複数の言語で記載することができる。これらの言語は、ＯＷＬ−Ｌｉｔｅ又はＯＷＬ−ＤＬ等の様々なダイアレクトを有することができる。機能性の観点から、これらは、複雑な関係及び公理を管理及び記述する能力が異なる。
【０１８３】
オントロジは、数十万個の概念を含むことがある。ユーザは、これらの概念のサブセットに興味を有する場合がある。このサブセットは、以下の形態をとることができる。
・単一のオントロジ、
・複数の重複するオントロジ、又は
・複数の完全に異なる（disparate）オントロジ。
【０１８４】
ターゲットオントロジにおける幾つかの概念は、事前に定義されていない場合があり、ソースオントロジのいずれにも存在しない場合がある。そのような場合、ユーザは欠落した概念を手動で追加する必要がある場合がある。必要とされるサブセットは、開始概念及び終了概念の双方又はいずれかを有する場合がある。
【０１８５】
説明のために、図１２Ａ及び図１２Ｂに２つの極端に単純な例示的なオントロジが示されている。これらは、インデックス付け、剪定、セマンティックマッチング及びアライメントのプロセスを示すために利用され、限定的であることは意図されていないことが理解されよう。
【０１８６】
これらの例において、階層的に接続されているもの、及び階層的に接続されていないものの２つのタイプの関係が存在する。これらの例では、階層的に接続されたクラスは、スーパークラスからサブクラスに向く実線によって階層的に接続された実線の楕円によって表される。各サブクラスは、そのスーパークラスの全てのプロパティを継承する。破線の楕円として示される、階層的に接続されていない１組のクラスは、ここで破線として示される、オブジェクトプロパティという名前の線によって任意のクラスに接続される。各クラスは１組のデータプロパティを有し、それらのうちの幾つかが、説明のために表１に示される。
【０１８７】
【表１】
2017514257.tif 000003
【０１８８】
オントロジは、同様の概念を示すが、幾つかの差異が存在することが理解されるであろう。
・幾つかの概念は異なる名称を有する。「関係者」は「クライアント」と同一であり、「人物」は「個人」と同一であり、「メンバ」は「メンバシップ」と同一であり、「雇用」は「職歴」と同一であると言うことができるか？
・「雇用」を除く各事例において、クラスは各々、同一のデータプロパティを有するので、それらをほぼ同一であると想定することができる。数学的に、（Ｃ１ｉ，Ｃ２ｉ）〜１．０であり、ここで、Ｃ１ｉは、第１のオントロジからの概念であり、Ｃ２ｉは第２のオン
トロジからの概念である。
・幾つかの概念は異なるデータプロパティを有する。「雇用」及び「職歴」の場合、これらは幾つかの同一のデータプロパティと、「職歴」のみに適用される１つの「報告先」を有する。実際、「開始日」及び「終了日」が「役割」又は「報告先」データプロパティを参照するか否かに関しては曖昧であるので、「職歴」は第４正規形に違反する。
・幾つかの概念は、異なるオブジェクトプロパティを有する。「職歴」は「人物」を有する２つのオブジェクトプロパティを有するのに対し、「雇用」は１つのみを有する。オントロジ１において、「株式」は、「企業」を「個人」に関係付けるのに対し、オントロジ２において、「株式」は「企業」を「クライアント」に関係付ける。
・幾つかの概念は１つのオントロジ内に存在しない。「リスト化された会社」はオントロジ２に存在するが、オントロジ１には存在しない。
【０１８９】
これらの例において、システムは、図１３に示す機能を実行する。これらは、それぞれのモジュールによって実施される。これに関して、モジュールは以下を含む。
・抽出変換ローディング（ＥＴＬ）モジュール１３００。
これは、構造化されたデータソース内のコンテンツを抽出、変換及びロードする。これは、以下を含む２つのサブコンポーネントを含む。
−指定されたオントロジを介して、又はオントロジがない場合には、プロセッサがデータを記述するために作成する推定オントロジを介して、ソースデータを抽出するプロセッサ１３０１。プロセッサは、クラウドにおいて、又はデータと同じマシン上で、又はメッセージング、ＯＤＢＣ、ｈｔｔｐｓ、ＳＯＡＰ若しくは任意の等価なプロトコルを介してデータにアクセスすることができるマシン上で展開することができる。複数のソースからデータを得るために、プロセッサの複数のコピーを展開することができる。
−様々なプロセッサからデータを収集し、ソースオントロジをターゲットオントロジにマッピングするオーケストレータ１３０２。ターゲットオントロジを用いてクエリが書かれ、等価なソースオントロジクエリに変換され、データがターゲットオントロジを用いて返されることを可能にする。
・ブラウザ１３１１、エディタ１３１２及び発生器１３１３を含むオントロジブラウザモジュール１３１０。
これは、画面及び関連ソフトウェア並びにそれらを管理するためのデータを生成し、これは、ユーザがオントロジによって記述されたオントロジ及びデータをブラウズ及び編集することを可能にする。これらの画面は２つの段階において現れる。第１の段階は、生成プロセス中である。この段階において、画面は動的に作成され、ユーザが、いずれの特徴が生成されるかを選択するのを可能にする追加の情報を表示する。第２の段階において、画面はハードコーディングされ、生成に固有の情報のみを表示する。
・オントロジインデクサモジュール１３２０。
インデクサモジュールは、全てのクラス名、データプロパティ名及びオブジェクトプロパティ名の１つ又は複数のオントロジにおいて１組のリンク付けされたインデックスを作成する。さらに、インデックスは、ソースオントロジから、及び意味論的等価機能（semantic equivalence function）から到来した意味論的に等価な語（例えば、同義語及び同音異義語）を含む。
・オントロジ剪定器モジュール１３３０。
剪定器モジュールは、オントロジをとり、ユーザが、自身が保持することを望むクラス、データプロパティ、オブジェクトプロパティ及び公理を特定することを可能にする。保持されたこれらのものを用いて、剪定器モジュールはチェックを行い、オントロジにおいて定義される関係及び公理の整合性が維持されることを認識する。
・オントロジアライナモジュール１３４０。
アライナモジュールは、２つ以上のオントロジをとり、複数の技法を用いて、様々なオントロジにおける概念を、互いに又は特定のターゲットオントロジとアラインする。技術は、意味論的に類似した概念を見つけるために、インデクサモジュールによって生成されたインデックスを利用する。各データプロパティ及び概念がセマンティックマッチャモジュールを用いて比較される。セマンティックマッチャモジュールは、オントロジ構造及びデータプロパティに基づいてマッチングを精緻化する。
・セマンティックマッチャモジュール１３５０。
マッチャモジュールは、２つの用語又は２つの用語リストを比較して、それらが、指定されたコンテキスト、例えば、医学若しくは工学内で、数学的に定義された意味論的等価度を有するか否かを判断するか、又は別の例では、単一の用語を所与として、指定されたコンテキストに基づいて、同義語、同音異義語等のリストを提供する。
【０１９０】
通常、オントロジは、例としてのデータインスタンスを除いてデータインスタンスを一切有しないが、オントロジは、以下の２つの方法のうちの一方において既存のデータにマッチングすることができる。
・オントロジは、既存のデータから構築される。例えば、リレーショナルデータベースは、オントロジのクラスとして定義されたリレーショナルのエンティティ（テーブル）、オントロジのオブジェクトプロパティとしてのリレーショナルの関係、及びオントロジのデータプロパティとしてのリレーショナルの属性（列）によって、「推定」オントロジに自動的に変換することができる。幾つかのオントロジの公理は、リレーショナルの参照整合性制約から導出することができるが、ほとんどの公理は、手動で追加又は無視される必要がある。そして、この推定オントロジは、メタデータを追加するための既存のリッチオントロジとアラインすることができる。
・オントロジをデータにマッチングする。これを行うための複数のツールが存在する（例えば、Ｓ−Ｍａｔｃｈ）。
【０１９１】
データフォーマットと無関係に、ソースデータ構造及びメタデータ（存在する場合）に適した方法を用いて、ソースデータから自動的に推定オントロジを生成することができる。この推定オントロジは、オントロジエディタを用いて手動で更新されてもよく、又は生成されたままの状態で用いられてもよい。そして、いずれの場合であっても、推定オントロジは、アライナモジュールを用いて対象分野オントロジとアラインされ（ＥＴＬモジュールプロセッサによって起動される）、ターゲットオントロジとアラインされる（ＥＴＬモジュールオーケストレータによって起動される）。
【０１９２】
ターゲットオントロジは、剪定器モジュールを用いて剪定され、ターゲットオントロジが、所望の概念と、これに加えて、所望の概念の整合性を確実にするのに必要な概念、公理、プロパティ、推測、及び起源の詳細とのみを含むことを確実にすることができる。
【０１９３】
全てのこれらのツールは、２つのセマンティック概念がマッチするか否かをチェックするセマンティックマッチャモジュールと、様々なソースオントロジ及びターゲットオントロジ内のマッチする概念及び概念構造を探索するインデクサモジュールとによって提供されるサービスを利用する。
【０１９４】
ここで、それぞれのモジュールの例が更に詳細に説明される。
【０１９５】
ＥＴＬモジュール
ＥＴＬモジュールは、メタデータリポジトリを使用することなく全てのＥＴＬツールに共通のデータ抽出、変換及びロードの機能を実行する。ＥＴＬモジュールは、ソースデータに関連付けられたメタデータを用いてデータ構造を決定し、次にこのメタデータをオントロジにマッピングすることによってこれを行う。また、ＥＴＬモジュールは、データに意味を割り当て、このため、データのマッピング及び変換において高レベルの自動化を達成することができる。
【０１９６】
メタデータリポジトリの必要性をなくすことは、プロセスの柔軟性が、それを維持するのに必要なヒューマンインタフェースによって制約されないことを意味する。新たなデータフォーマット及び技術を自動的に適応させることができる。
【０１９７】
高レベルにおいて実行される２つの主要なプロセスが存在する。これらのプロセスを実行するためのコードは、プロセッサ及びオーケストレータと呼ばれる。任意の定義されたロケーションにおいてデータを読み出すために、プロセッサの多数のコピーを展開することができる。プロセッサは、データと同じデバイス上に共同配置することができるか、又はクラウドに配置して、リモートアクセスプロトコルを用いてデータにアクセスすることができる。プロセッサはソースからメタデータを抽出して、そのメタデータから推定オントロジを作成する。そして、プロセッサは、幾つかの基本データ変換を実行して、データ及びオントロジをオーケストレータに渡す。
【０１９８】
オーケストレータは、様々なプロセッサから入力を受信し、それらのオントロジをアラインする。次に、アラインされたソースオントロジからユーザが定義したターゲットオントロジへのマッピングを適用する。ここで、ユーザは、様々なソースオントロジからの全てのデータを見ることができる。以下でより詳細に説明されるように、データは、ターゲットオントロジに対する特定のクエリを指定することによって、又はオントロジブラウザモジュールを用いてクエリを作成することによって抽出することができる。
【０１９９】
この結果を達成するのに必要な様々なソフトウェアコンポーネントを含む例示的なＥＴＬモジュールソフトウェアスタックが図１４Ａに示されているのに対し、図１４Ｂは、複数のプロセッサがネットワーク構成を介して単一のオーケストラレータに結合される例示的な展開を示す。
【０２００】
プロセッサは、完全に異なるデータソースからデータを読み出し、データをＲＤＦとして公開し、データを記述する推定オントロジを作成する役割を果たす。この高レベル機能は以下の通りである。
・メタデータ及びマッピングファイルを追加することによって完全に異なるデータソースを登録する。
・構造化されていないデータをＲＤＦに変換する。
・ＲＤＦをトリプルストアにロードする。
・マッピングファイルを推定オントロジに変換する。
・ソースごとにＳＰＡＲＱＬエンドポイントを公開する。
【０２０１】
オーケストレータは、ターゲットオントロジを読み出し、ファイルをマッピングし、要求及び応答の変換を編成する役割を果たす。高レベルの機能は以下の通りである。
・ターゲットオントロジを登録する。
・マッピングファイルを読み出し、それらをインデックス付けする。
・ＳＰＡＲＱＬクエリをターゲットから、マッピングされたソースボキャブラリに変換する。
・ソースからの応答をターゲットボキャブラリに変換する。
・変換ルールを記憶する。
・ＳＰＡＲＱＬエンドポイントをターゲットに公開する。
【０２０２】
オントロジブラウザモジュール
オントロジブラウザモジュールは、ユーザがオントロジをブラウズし、オントロジによって定義されたデータに問い合わせを行い、オントロジによって定義されたデータにインスタンスデータを追加することを可能にする１組の画面を自動的に作成するように動作する。このとき、このように生成された画面は、オントロジ及び生成ツールと独立して、完全にスタンドアロンのアプリケーションとして用いることができる。
【０２０３】
これに関して、現在のところ、リンク付けされた概念を定義し、データアクセスするためのオントロジの使用は、大部分が研究者及びプロのオントロジストに限られる。この理由は、ユーザがオントロジをブラウズし、次にこれを、構造化されたデータストアに記憶されたデータとのインタラクトを誘導する際に用いることを可能にするための単純なメカニズムが存在しないことである。したがって、オントロジ専門知識をほとんど又は全く有しない人物が、単純な理解可能な形式でオントロジの全ての詳細にアクセスすることを可能にするツールを提供することによって、ユーザが、単純化されたクエリ構築メカニズムを用いてオントロジによって記載されたデータを選択及び調査することを可能にする。ユーザは、元のオントロジに存在する全ての制約及び推測が依然として施行されている状態でデータにレコードを追加することが可能になる。最終的に、ユーザは、生成された画面を、本部人員が用いるのに適したスタンドアロンアプリケーションとして展開することができる。
【０２０４】
データを調査するとき、ユーザは、これを複数のフォーマットで表示することができる。基礎をなすデータは、例えば、ＲＤＦトリプルとして記憶することができる。これらは、リレーショナルテーブル、スプレッドシート、名称値対又は任意のユーザ定義フォーマットとして表示することができる。
【０２０５】
オントロジブラウザモジュールは、スタンドアロンツールとして、又は第２に、既存のオントロジツール（Ｐｒｏｔｅｇｅ等）へのプラグインとして、２つの主要な形式で存在することができる。いずれの形態でも、オントロジブラウザモジュールは、選択されたオントロジに固有のアプリケーションを生成することができる。
【０２０６】
生成されたアプリケーションは、元のオントロジにおいて定義された全てのデータルールが施行されている状態で、レコードへのアクセス、レコードの更新、削除及び追加を行うための全機能コードセットとして、オントロジなしで用いることができる。
【０２０７】
このため、オントロジブラウザモジュールは、画面、並びにこれらを管理するための関連ソフトウェア及びデータを生成するコンピュータプログラムにおいて実施することができる１組のプロセスを提供し、これによって、ユーザは、オントロジ、及びオントロジによって記述されたデータをブラウズ及び編集することが可能になる。これらの画面は２つの段階において現れる。第１の段階は、生成プロセス中である。この段階において、画面は動的に作成され、ユーザが、いずれの特徴が生成されるか選択することを可能にする追加の情報を表示する。第２の段階では、画面はハードコーディングされ、生成するように指定された情報のみを表示する。
【０２０８】
画面の短い説明を以下の表２に示す。
【０２０９】
【表２Ａ】
2017514257.tif 000004
【表２Ｂ】
2017514257.tif 000005
【０２１０】
これらの画面は、画面のタイプごとに単一の画面が用いられるように一般的な形式で生成することなく利用可能である。画面レイアウトは、オントロジコンテンツによって動的に決定される。
【０２１１】
一般的な画面はユーザフレンドリでなく、カスタマイズすることができない。したがって、プロセスは、そのルックアンドフィールを、スタイルシート、テンプレート、アイコン及びユーザが供給したパラメータのカスケード化等の機能を用いてパラメトリックに予め決定することができる画面一式をユーザが生成することを可能にする。
【０２１２】
ブラウザモジュールの構成の例が図１５に示される。
【０２１３】
これに関して、ブラウザモジュール１３１０は、オーケストレータ１３０２からターゲットオントロジ１５０１をとるか、又はユーザによって定義された任意のオントロジをとる。ブラウザモジュール１３１０は、ユーザがオントロジをブラウズし、スタンドアロンアプリケーション内にオントロジのいずれのコンポーネントを生成するかを指定することを可能にする１組の画面１５０２を表示する。
【０２１４】
ブラウザモジュール１３０２は、ターゲットオントロジにおいて指定された構造及びルールを用いてデータを管理する１組のコンピュータ画面１５０４を含むスタンドアロンアプリケーション１５０３を生成する。アプリケーションは、純粋にオントロジ又はデータブラウザモジュール等の複数のモードで生成することができるか、又はデータの追加、更新及び削除の全機能アプリケーションとして生成することができる。この場合、ユーザはここで、オントロジによって記載されるデータを管理する完全なアプリケーション１５０３を有する。
【０２１５】
ＯＷＬ又はＲＤＦファイルを用いるオントロジは、ウェブページを生成し、情報を記憶するための対応するデータベース１５０５を作成するための十分な情報を有する。ＲＤＦ又はＯＷＬファイルは、それらの詳細なビジネス知識に基づいてオントロジストによって作成された場合がある。
【０２１６】
このため、ブラウザモジュール１３１０は、エンドユーザがトランザクションデータを問い合わせ又は入力するためのアプリケーション１５０３を作成する。ＯＷＬ又はＲＤＦＳファイルが、アプリケーションカスタマイズファイル、データベース接続詳細、及びアプリケーションを作成するのに必要な任意の他のメタデータと共にブラウザモジュール１３１０に供給される。
【０２１７】
ブラウザモジュール１３１０は、例えば、ＨＴＭＬ５、ＪＳＰ、ＪＳＦ又は任意の同様の技術を用いてウェブページを作成することができる。オントロジ内のクラスごとに、ブラウザモジュール１３１０はウェブページを作成し、そのクラスに関連付けられた各プロパティが、ページ内のフィールドとして作成される。アプリケーション１５０３は、生成されたウェブページとデータベース１５０５との間をブリッジする。アプリケーション１５０３は、ウェブページからデータベース１５０５までデータを持続させ、データベース１５０５からデータを抽出し、データベース１５０５内のデータに問い合わせを行い、データをウェブページ上に表示するためのプロセスを実行する。次に、ブラウザモジュール１３１０は、ユーザが供給したメタデータに指定されるタイプのデータベースを作成及びロードするためのデータベーススクリプトを作成する。これは、リレーショナルデータベース（ＲＤＢＭＳ）、トリプルストア、ＮＯＳＱＬ、ＮｅｗＳＱＬ、グラフデータベース又は任意の他の認識されたデータベースとすることができる。
【０２１８】
次に、ブラウザモジュールの動作をより詳細に説明する。これに関して、オントロジをブラウズするために、ユーザはオントロジ用語を見つけることができなくてはならない。
・概念、
・データプロパティ、
・オブジェクトプロパティ、及び
・推測。
【０２１９】
これは２つのメカニズム、すなわち、
・以下のインデクサモジュールに関して説明されるように、オントロジからの上記のオントロジ用語をインデックス付けし、任意のそのようなオントロジ用語を名称により探索する方法と、
・特定のプロパティが選択されると、全ての関連データ及びオブジェクトプロパティを表示する方法と
を必要とする。
【０２２０】
これを達成するために、ユーザは最初に、表２に説明する「ランディング画面」においてブラウズされるオントロジを選択する。オントロジは、ファイル又はウェブアドレスから選択することができる。オントロジが選択されると、オントロジのインデックスを用いてクラスリストが生成される。このリストは、各クラスの名称及び説明を表示する。より大きなリストの場合、ユーザがクラス名又はクラス記述の一部によって検索することを可能にするリスト検索機能が提供される。データプロパティに対し検索を行うことも可能である。いずれの場合も、検索は、そのデータプロパティを含むクラスのリストを返す。
【０２２１】
そして、ユーザは関心対象のクラスを選択し、これによって、以下のようにフレーム又はタグ付けされたサブ画面の形態の４つのコンポーネントを含む「クラス画面」が表示される。
・データプロパティコンポーネント。
各データプロパティの名称が、フィールドの傍に記述ボックスを有するリストフォーマットで表示される。フィールドの傍の情報アイコン上をクリックすることによって、全てのフィールド属性及びそのフィールドに関係する任意の公理が表示される。任意選択的に（クリック可能）、１つ又は複数の親／スーパークラス又は関連クラスのデータプロパティも示すことができる。
・親／スーパークラスコンポーネント。
これは、表示されるクラスの親／スーパークラスの名称及び記述を、そこへのクリック可能なリンクと共に表示する。このリンクをクリックすることにより、ブラウザモジュールは、現在のクラスの親を表示する画面を表示する。
・子／サブクラスコンポーネント。
これは、表示されるクラスのサブクラスの名称及び記述を、サブクラス関係を利用するクリック可能なリンクと共に表示する。これらのリンクのうちの１つをクリックすることにより、ブラウザモジュールは、現在のクラスの子／サブクラス又はサブクラスを表示する。
・オブジェクトプロパティコンポーネント。
これは、オブジェクトプロパティを用いるクリック可能なリンクを各々が有する、選択されたクラスの関連クラスを表示する。これらのリンクのうちの１つの上をクリックすることにより、ブラウザモジュールは、現在のクラスに関係付けられたクラスを表示する。
【０２２２】
クラス画面上の「検索」オプションを選択することによって、そのクラスのための全てのデータインスタンスを返すためのクエリが発行される。これは、クラスのインスタンスごとに１つの行を有するリストとして表示される。特定の行の上をクリックすることによって、その行は、オントロジクラス画面に類似した、フォーマットされた画面として表示される。１つの例において、返されるデータは、結果をフィルタリングするクエリを実行することによって制限することができる。ここで、そのようなクエリの構築及び使用がより詳細に説明される。
【０２２３】
これに関して、ユーザに返されるデータのフィルタリングが、返されるデータのユーザの正確な要件をフィルタの形態でユーザから捕捉し、次にそのフィルタに基づいてクエリを生成することによって達成される。フィルタは、クラス画面上のデータプロパティフィールド内に値又は表現を入力することによって構築される。例えば、上記で説明したサンプルオントロジを用いてＪｏｈｎ  Ｄｏｅがいくつの株式を所有しているかを知るために、以下のステップが必要とされる。
・クラスリスト画面から「個人」クラスを選択する。
・データプロパティフィールドにおいて、「Ｊｏｈｎ」を名前に入力し、「Ｄｏｅ」を名字に入力する。
・「個人」クラス画面のオブジェクトプロパティフレームから、「株式」クラスを選択する。
・検索オプションを選択する。
【０２２４】
株式クラス画面上で「検索」オプションを選択することによって、Ｊｏｈｎ  Ｄｏｅによって所有されているデータプロパティを除く、そのクラスのための全てのデータプロパティを返すためのクエリが発行される。フィルタは生成されたアプリケーション１５０３によって、ＳＰＡＲＱＬ又は機能的に等価なクエリに変換される。これは、データベース１５０５に記憶されたデータに対し実行することができる。
【０２２５】
ブラウザモジュール１３１０がアプリケーション１５０３を生成することを可能にするために、以下のプロセスが実行される。
・任意選択的に、以下等のアイテムを含む、生成されるアプリケーションのためのメタデータを構成する。
−会社名、ロゴ等。
−生成されるアプリケーション名。
−作成されるデータベースの名称及びタイプ。
−データベースのロケーション。
−生成されるアプリケーションのための命名及びコーディングの仕様及び規格。これはスタイルシート、テンプレート、Ｊａｖａ（登録商標）スクリプト及び他の表示仕様を含む。
−クラス及びアクションに関連付けられるアイコン。
−ヘルプデスクのロケーション及びコンタクトの詳細。
−エラー及びログメッセージの冗長性。
・「ランディング画面」上で、生成元となるオントロジを選択し、結果として、「クラスリスト」画面がブラウザモジュール１３１０によって表示される。
・クラスリスト画面において、生成される各クラスを「ｇ」でタグ付けする。
・生成される各クラスを選択し、ブラウザモジュール１３１０に、「クラス表示」画面を表示させる。
・クラス表示画面上で、全てのフィールドが最初に「ｇ」でタグ付けされる。生成される各データプロパティフィールド、各スーパー／サブクラスリンク及び各オブジェクトプロパティリンクをレビューし、必要でない場合、タグを除去する。
・デフォルトで、全てのフィールドが検索可能である（すなわち、フィルタに追加することができる）。データプロパティフィールドに「ｎｓ」タグを追加することは、そのフィールドが、生成されたアプリケーションにおいて探索不可能であることを意味する。
・スーパー／サブクラスリンクフィールド及びオブジェクトプロパティリンクフィールドの各々における追加のフィールドタグ位置が存在する。「Ｉ」タグをこれらのフィールドに設定することにより、リンク付けされたクラスから、生成される画面内にデータフィールドが生成される。これらのフィールドは、更新不可能なフィールドとして表示される。
・リンク付けされたクラスからの任意のフィールドが表示される場合、リンク付けされたクラスを選択し、適切なフィールドを「Ｉ」でタグ付けする。
・クラス表示画面に戻り、各公理記述から、その公理記述が施行されない場合、タグを除去する。公理の前にフィールドを除去することが重要である。なぜならそうでない場合、生成されるアプリケーションにおける整合性が損なわれる場合があるためである。
・生成のために全ての必要なクラスが選択されるまで、ステップ３〜９を繰り返す。
・クラスリスト画面に戻り、「アプリケーション生成」オプションを選択する。
・アプリケーションは、ブラウザモジュール１３１０によって生成され、アプリケーションメタデータ（ステップ１）において指定されたロケーションに保存される。データベースの作成及びロードのスクリプトが作成される。これらのスクリプトを実行し、アプリケーションの使用の準備を整える。
【０２２６】
したがって、上記で記載したブラウザモジュール１３１０は、ユーザがオントロジをブラウズし、オントロジとインタラクトし、次に、特定のクラス及びデータプロパティを選択することによって、選択されたクラス及びデータプロパティに従ってデータストア１５０５に記憶されたデータとインタラクトするのに用いることができるアプリケーション１５０３を生成することを可能にする。
【０２２７】
オントロジインデクサモジュール
インデクサモジュールは、ユーザがオントロジをブラウズするのを支援し、オントロジによって定義されたデータへの問い合わせを促進するための、１つ又は複数のオントロジの収集物において用いられる用語の１組のインデックスを自動的に作成する。これらのインデックスは、他のモジュールによって、オントロジのアライメント、剪定及びブラウズを支援するのに用いられる。
【０２２８】
インデクサモジュールは、全てのクラス名、データプロパティ名及びオブジェクトプロパティ名及び関係の１組のリンクされたインデックスを作成することによって、１つ又は複数のオントロジをインデックス付けする。インデックスは、ソースオントロジから到来したものに、意味論的に等価な機能から到来したものを加えた、意味論的に等価な用語を含む。
【０２２９】
ここで、図１６を参照して、インデクサの機能の例が説明される。
【０２３０】
この例において、インデクサモジュール１３２０は、オーケストレータ１３０２からのオントロジ１６０１、又は１組の画面１６０２を介してユーザによって、若しくはプロセッサ１３０１によって定義された任意のオントロジを受信し、全てのクラス名、データプロパティ名及びオブジェクトプロパティ名のインデックス１６０３を作成する。上記で説明したように、画面はブラウザモジュール１３１０によって生成することができることが理解されるであろう。
【０２３１】
各オントロジ用語がインデックス付けされると、概念マッチングデータベース１６０４を用いてセマンティックマッチャモジュール１３５０から得られたそのアイテムの同義語もインデックス付けされる。オブジェクトプロパティについて、オブジェクトプロパティによってリンクされた概念はインデックスにおいて相互参照される。
【０２３２】
上記の例示的なオントロジに基づく、概念−データプロパティ−オブジェクトプロパティ（ＣＤＯ）インデックスのサンプルが表３に示される。これは、説明の目的でインデックスの表示形態であるが、以下でより詳細に説明するように、実際には、インデックスは、より複雑なインデックス構造に記憶することができることが留意されるべきである。
【０２３３】
【表３Ａ】
2017514257.tif 000006
【表３Ｂ】
2017514257.tif 000007
【表３Ｃ】
2017514257.tif 000008
【表３Ｄ】
2017514257.tif 000009
【０２３４】
同義語を含めない場合であっても、これは極端に有用なインデックスである。例えば、２つの異なるオントロジ内の同じ名称を有する全ての概念を潜在的にアラインすることができる。アライナモジュールは、そのような各対をとり、まずそれらのオブジェクトプロパティを比較し、次にそれらのデータプロパティを比較する。
【０２３５】
例えば、「株式」という概念は、概念Ｏｎｔ１．７及びＯｎｔ２．１０として双方のオントロジに現れる。このレベルにおいて、これらは類似している（名称が同一であるため、Ｓ１．７，２．１０＝１．０）ように見え、インデクサモジュールの観点からは十分である。
【０２３６】
以下でより詳細に説明されるアライナモジュールによって更なる解析を行うことができる。オブジェクトプロパティを調べることによって、以下の表４に示すように、オブジェクトプロパティは異なることがわかる。これらは数及びオブジェクトプロパティ名においてマッチしているが、関連付けられた概念のうちの１つは異なり、Ｓ１．７，２．１０＝０．８５７１を与える。データプロパティを調べることによって、これらがＳ１．７，２．１０＝１．０を与える同一のデータプロパティを有することがわかる。
【０２３７】
アライナモジュールが上記の計算を行ったソース情報は、インデクサによって作成されるインデックスにおいて全て利用可能である。
【０２３８】
【表４】
2017514257.tif 000010
【０２３９】
セマンティックマッチャモジュールを用いた他の概念の更なる解析は、「個人」が「クライアント」のサブクラスであり、このため、Ｓ１．７，２．１０＝０．８→０．９５を与えることを示す。オントロジ２は、オントロジ１よりも一般的なモデルである。この類似度の範囲は、２つのオントロジにおける株式間のアンカーポイントを確立するのに適切である。Ｓｉ，ｊの計算は、アライナモジュールによって行われる。
【０２４０】
概念間の関係は、表５に表示形式で示される概念対概念（Ｃ２Ｃ）テーブルに抽出される。表５は、概念Ｃ１が概念Ｃ２にどのように関係するかを示す。
【０２４１】
【表５】
2017514257.tif 000011
【０２４２】
インデックスは、上記のテーブルを異なるシーケンスにソートすることに対応する複数のフォーマットで構築される。アライナモジュールは、インデックスに対してＳＱＬクエリを実行することによって、そのタスクの多くを行うことができる。
【０２４３】
ここで、インデックス構造の例がより詳細に説明される。これに関して、セマンティックマッチャモジュールを用いて、ルート語又は見出し語が同義語組ごとに決定される。セマンティックマッチャモジュールは、最適な結果を得るためにコンテキストが設定されることを必要とする。通常、複数のオントロジに対してインデックスを構築するとき、各オントロジのコンテキストは既知であり、狭く、関心対象の他のオントロジに関係付けられている。
【０２４４】
以下で要約されるマルチステッププロセスにおいてインデックスの最終組が作成される。
・インデックス付けされているオントロジから、全ての概念、オブジェクトプロパティ及びデータプロパティを抽出する。
・表３及び表５に記載されているフォーマットを用いてこれらの値を一時テーブル（ＣＤＯ及びＣ２Ｃ）にロードする。これらのテーブルは、インデックス付けされているオントロジごとに空で作成又は再作成される。
・オントロジは、セマンティックマッチャモジュールにロードされる。これは、オントロジに含まれる任意の定義を用い、これらを、セマンティックマッチャモジュールに既にロードされているか、又はＷｏｒｄＮｅｔ等のパブリックディクショナリから入手可能な定義と比較して、全ての単語を意味論的に調べる。コンテキストは、オントロジ（例えば、医学的／外科的又は地理的ロケーション）によって供給される。
・セマンティックマッチャモジュールは、概念ＩＤ、すなわち、同義語の全ての群のための見出し語又はルート語に対応する一意の番号を定義する。
・そして、上記で説明した一時テーブル内の用語にマッチする用語が概念ＩＤと共に同義語テーブルにロードされる。
・インデックス付けされているオントロジ内の用語ごとのセマンティックマッチャモジュールによって特定される全ての同義語も同義語テーブルにロードされる。
・そして、ＣＤＯテーブル内の用語ごとに適切な概念ＩＤを置換することによって、最終的なＣＤＯインデックスが作成される。
・そして、Ｃ２Ｃテーブル内の用語ごとに適切な概念ＩＤを置換することによって、最終的なＣ２Ｃインデックスが作成される。
・インデックスの一時データ（temporary）（表示バージョン）が削除される。
・そして、上記の全てのステップを繰り返すことによって、インデックス付けされる次のオントロジがロードされる。
・全ての関連オントロジがインデックス付けされたとき、任意の新たな同義語がローディングプロセス中に特定された場合にセマンティックマッチャモジュールに対する同義語テーブルの最終通過が行われる。
・インデックスは、適切なデータベース構造内にロードされ、実行のために調整される。通常、これは、オントロジインデックステーブルにわたって複数のデータベースインデックスを作成することを含む。
【０２４５】
ユーザのツール又はインデックスとの直接ユーザインタラクションが存在しないことが理解されよう。代わりに、インデクサモジュールが、他のモジュール、ツール又はコンポーネントによって用いられるサービスを提供する。
【０２４６】
このインデックスが提供することができるサービスのうちの幾つかは、以下を行う向上した機能を提供することができる。
・オントロジの選択肢から最良のオントロジを選択する。
・複数のオントロジをアライン又はマージする。
・オントロジをナビゲートする。
・同義語を抽出する。
・セマンティックマッチングを実行する。
【０２４７】
オントロジ剪定器モジュール
剪定器モジュールは、ユーザが大きなオントロジ又はアラインされたオントロジの収集物をとり、関心対象のオントロジ用語に関係するデータ又は公理を含むコンポーネントを不注意に削除することにより整合性を損なうことなく、これらをユーザの需要に合わせて関心対象のクラスまで剪定することを可能にするように設計される。
【０２４８】
例えば、解剖学の基本的なモデル（ＦＭＡ）等の大きな基準オントロジを構築及び利用するときに問題が生じる。これに関して、ＦＭＡは非常に大きく高度に詳細であるものの、本質的に非常に一般向けでもある（例えば、特定用途向けではない）。また、ＦＭＡは、適切なモデリング原理への遵守においても厳密である。これらの判断規準は、合わせて、ＦＭＡを多くの可能な用途に役立てる。一方、同時に、これらは、ＦＭＡを、任意の特定の用途によって用いるのに厄介なもの（すなわち、過度に大きいか、又は詳細であるか、又は原則に基づくもの）とした。
【０２４９】
結果として、ＦＭＡの潜在的なユーザは、以下の基本形式の要求、すなわち、「ＦＭＡは実際に好ましいが、需要に対し過度に大きく、又は過度に詳細であり、ＦＭＡ全体のサブセットに基づくもののみを実際に必要としている」という要求を有していた。分割のための基礎は用途によって変動するが、例は以下のものを含む。
・領域ベース、すなわち脳又は腹部。
・系ベース、すなわち、心臓血管系又は骨格系。
・粒度ベース、すなわち、Ｘ線において可視のアイテムのみ又は細胞成分若しくは細胞内成分のみ。
【０２５０】
所望のオントロジ派生物は通常、上記のもの等のサブセットの抽出に基づいていたが、多くの場合、用途の需要により良好に沿うように更に操作されていた（すなわち、クラスが追加される、クラスが除去される、プロパティが除去される、プロパティが追加される等）。
【０２５１】
そのような要求は、３つの方法のうちの１つにおいて扱うことができる。
・各新たな要求に固有の手続き型コードの書込み。これは一般的な解決策ではない。
・オントロジにわたるビューの作成。これは、所望のアプリケーションナレッジベース（ＫＢ）を定義するための言語（常に専用オントロジではない）、並びに定義及びソースオントロジからアプリケーションＫＢを生成することができるエンジンを必要とする。これは、プロパティの追加及び除去に問題を有する。
・十分にモデル化されたサブセットオントロジを送達するためのオントロジの剪定。
【０２５２】
このため、関連性、性能、管理可能性及び試験可能性等の剪定されたオントロジに対する多くの需要が存在し、これらの要件は、オントロジの専門知識がほとんど又は全くない人物が不要な概念を安全に剪定することを可能にするツールによって満たされるべきである。さらに、この人物は、単純化されたクエリ構築メカニズムを用いることによって、オントロジにより記述されるデータを選択及び調査することが可能であるべきである。そして、この人物は、オントロジからコンポーネントを除去することの効果を、それらの除去に取り組む前に研究し、剪定されたオントロジを新たなオントロジとして保存することが可能になる。
【０２５３】
例えば、ＳＮＯＭＥＤ−ＣＴは、診療文書において用いられる医療用語の大きな医療オントロジである。ＳＮＯＭＥＤ−ＣＴは３０００００個を超える概念からなり、それらの間に約１４０００００個の関係を有する。概念は１９個の機能分野に分割される。研究者は、これらの分野のうちの１つ、例えば、精神衛生にのみ関心がある場合がある。他の１８個の分野を除去することにより、健康医療用語と薬学用語との間の関係の多くが壊れる。明らかに、研究者はこれらのアイテムを保持することを望む場合がある。これを手動で行うには、既存のツールを用いた何ヶ月にもわたる作業が必要となり、誤りを引き起こしやすい。
【０２５４】
別の例として、ユーザは、既存の幾つかのソースオントロジのコンポーネントから新たなオントロジを作成し、独自の付加物を追加することを望む場合がある。組み合わされたオントロジは、除去される必要がある多くの無関係な概念を含む。例えば、宅配会社は輸送オントロジをジオロケーションオントロジと組み合わせてオントロジを作成し、このオントロジは、配達ルートが決定され最適化されることを可能にする。これらのオントロジを組み合わせ、航空機は運行の開始及び停止を空港で行い、船は港で行い、電車は駅で行う等の公理を追加することによって、それらのビジネスモデルにおける全ての概念をカバーする情報ベースを構築することが可能である。一方、各ソースオントロジの多くは必要とされない。
【０２５５】
剪定されたオントロジ定義を、完全なオントロジに対するビューの代わりに用いることができる。このビューを、アクセス制御、スコープ管理等の複数の目的で用いることができる。
【０２５６】
これを達成するために、剪定器モジュールは、ブラウザモジュールと合わせて動作し、以下の表６に示される機能を実行する。
【０２５７】
【表６】
2017514257.tif 000012
【０２５８】
剪定器モジュールは、ブラウザモジュールとインタラクトし、ユーザが、選択されたオントロジのうちのいずれのクラス、データプロパティ、オブジェクトプロパティ及び公理を保持することを望むかを指定することを可能にする。保持されたものを用いて、剪定器モジュールがチェックを行い、オントロジにおいて定義された関係及び公理の整合性が維持されるか否かを知る。
【０２５９】
別のバージョンでは、ユーザは、剪定されたオントロジ内に保持されなくてはならない単一のオントロジ内の２つの本質的な概念を指定することができる。本発明は、次に、クラス間の全ての概念関係をマッピングし、指定された概念を解析するのに必要な全てのクラスをタグ付けする。そして、追加のクラス、オブジェクトプロパティ及び公理が、ソースオントロジから含まれ、剪定されたオントロジの整合性が確実にされる。
【０２６０】
別のバージョンでは、ユーザは、剪定されたオントロジにおいて保持されなくてはならない完全に異なるオントロジから２つの本質的な概念を指定することができる。そして、剪定器モジュールは、クラス間の全ての概念関係をマッピングし、指定された概念を解析するのに必要な全てのクラスをタグ付けすることを試みる。接続パスが特定されない場合、ソフトウェアは、２つの開始概念を接続する剪定されたオントロジを作成することが潜在的に不可能であることを認識する。ユーザは以下を要請される。
・試行を断念する、又は、
・目標を再定義し、再開する、又は、
・手動で若しくは別のオントロジから更なるクラスを追加することによってスコープを拡大し、再開する。
【０２６１】
成功を想定すると、ここでユーザは、組み合わされたソースオントロジから大きさが大幅に低減した完全なオントロジを有する。
【０２６２】
剪定器モジュールの構成の例が図１７Ａに示される。
【０２６３】
この例では、剪定器モジュール１３３０は、ＯＷＬ及びＲＤＦＳファイルにおいて定義されるオントロジ１７０１を開き、そしてユーザは、以下の表７に定義されるような１組の画面１７０２を介して剪定器モジュール１３３０とインタラクトし、それによって剪定されたオントロジ１７０３を生成する。上記で説明したように、画面は、ブラウザモジュール１３１０によって生成することができることが理解されるであろう。
【０２６４】
【表７】
2017514257.tif 000013
【０２６５】
ここで、図１７Ｂを参照して説明されるように、単一のオントロジを剪定するとき、これは、ツールに支援された手動プロセスである。
【０２６６】
この例では、ユーザは、必要な概念を選択し、ツールは、完全性及び整合性に必要なコンポーネントを特定し、追加する。ユーザは、ソースオントロジにおける開始シードポイントＳ０としてクラスを選択し、これを保持するためにＫ０としてタグ付けする。
【０２６７】
コンピュータは、「Ｋ０」をマーキングされたクラスの全ての親、Ｋ０としてタグ付けされたクラス及び推測からの全てのクラス及び推測を特定し、「Ｋ１」としてタグ付けする。これらのタグ付けされた変数はＳ１シェルと呼ばれる。ユーザはコンピュータタグ付けされたアイテムをレビューし、保持するものについてはＫ１として再タグ付けし、おそらく保持するものについてはＭ１として再タグ付けし、破棄するものについてはＤ１として再タグ付けする。全ての公理がタグ付けされたＭｉ及びＫｉコンポーネントのためにロードされる。そして、プロセスが繰り返され、ユーザが適切なオントロジのために全てのコンポーネントをタグ付けするまで、毎回ｉをインクリメントする。
【０２６８】
そして、推論器を結果として得られるオントロジに提供して、潜在的な誤りを特定し、推測値を追加する。このように追加された任意の概念、推測又は公理は、Ｋｎをタグ付けされ、タグ付けされたコンポーネントは、剪定されたオントロジとしてエクスポートされる。
【０２６９】
複数の重複するオントロジの場合、プロセスは図１７Ｃに示すとおりである。
【０２７０】
この例では、ユーザは、１つのオントロジにおいて、クラスを開始シードポイントＳ０として選択し、同じオントロジ又は別のオントロジにおいて、別のクラスを終了シードポイントＥ０として選択し、これらの双方を、保持のためにＫとして、「Ｋ０ｓ」又は「Ｋ０ｅ」を用いてタグ付けする。
【０２７１】
コンピュータは、「Ｋ０ｘ」をマーク付されたクラスの全ての親、並びに「Ｋｎｘ」としてタグ付けされたクラス及び推測からの全てのサブクラス及び推測を特定し、「Ｋ１ｓ」又は「Ｋ１ｅ」としてタグ付けする。ここで、ｎ＝１である。これらのタグ付けされた変数は、Ｓ１シェル及びＥ１シェルと呼ばれる。Ｓシェル及びＥシェルにおける変数は、以下でより詳細に説明されるセマンティックマッチャモジュールによって比較される。マッチャモジュールは、各シェル内の変数間のマッチ品質のための数値を返す。所定のマッチ品質が満たされる場合、２つのシェル間のパスが決定している。これは重複するシェルについてのみ発生するはずである。開始ポイント及び終了ポイントが同じオントロジ内にある場合、マッチ品質は、１．０すなわち完全なマッチでなくてはならない。
【０２７２】
任意の段階において、タグ付けされたデータクラスのデータプロパティを剪定することができる。これは、クラスを選択し、破棄するものについて、データフィールド（データプロパティ）を「Ｄ」としてマーキングすることによって行われる。破棄されるフィールドの存在に基づく任意の推測は無視される。
【０２７３】
これらのステップは、所定の数の変数が適切なマッチ品質を有するか又はシェルの所定の奥行きに達するまで、ｎを毎回１だけインクリメントして反復される。マッチング変数のシェルパスは、「Ｐｊｘ」をタグ付けされる。パスを確立することなくシェルの所定の奥行きに到達する場合、プロセスは失敗し、オントロジは完全に異なるとみなされる。プロセスは停止する。この時点で、所定のシェル奥行きを増大させ、スコープ外とみなされる任意の概念のタグを、Ｋから破棄のためのＤに手動で変更することが可能である。プロセスを再開することができる。
【０２７４】
これらが確立されると、Ｓ０とＥ０との間のパスＰｊを埋めることができ、これらのパスに関して骨格が剪定されたオントロジを定義することができる。タグ付けされたＰｊ個のパスコンポーネントのための全てのクラスの親及び推測される親も、パスＰｊに属するものとしてタグ付けされる。全ての公理がタグ付けされたＰｊ個のパスコンポーネントについてロードされ、このため、拡張されたオントロジが作成される。
【０２７５】
推論器は、拡張されたオントロジに適用され、潜在的な誤りが特定され、推測値が追加される。このように追加された任意の概念、推測又は公理は、剪定されたオントロジの一部としてタグ付けされ、エクスポートされる。
【０２７６】
完全に異なるオントロジについて、プロセスは図１７Ｄに示されるとおりである。これに関して、完全に異なるオントロジは２つの可能性のある理由から生じ得る。
・ユーザが、オントロジをアラインしようと試みるか、又は２つのオントロジ内の概念からサブセットオントロジを抽出するまで、それらが完全に異なることを認識していなかった。これは、以前のセクションの潜在的な失敗結果である。又は、
・ユーザが、オントロジが完全に異なることを知っており、それらが加わることを可能にするための概念及びプロパティを供給している。
【０２７７】
いずれの場合であっても、ユーザは、情報を供給して、オントロジが加わることを可能にしなくてはならない。これは、効果的には、プロセスのための開始ポイントである。
【０２７８】
ユーザは、１つのオントロジにおいて或るクラスを開始シードポイントＳ０として選択し、他のオントロジにおいて、別のクラスを終了シードポイントＥ０として選択し、これらの双方を、保持のためにＫとして「Ｋ０ｓ」又は「Ｋ０ｅ」を用いてタグ付けする。加えて、それらは、線１７１０によって示すように、オントロジを接続する１組のユーザが定義したパスを定義する。
【０２７９】
これらのパスは、開始ポイント「Ｕ０Ｓｉ」及び終了ポイント「Ｕ０Ｅｉ」を有し、ここで、「ｉ」は定義されているパス番号である。これらのパスは、１つのオントロジ内のクラスから開始し、別のオントロジ内のクラスで終了する、連続した１組の関連概念を形成する。
【０２８０】
そして、重複するオントロジのための上記で説明したプロセスは、各概念対Ｓ０及び「Ｕ０Ｓｉ」並びにＥ０及び「Ｕ０Ｅｉ」に適用され、開始／終了ポイントとユーザが定義した概念「ｉ」との間のパスＰｓｉ及びＰｅｉが確立される。これらが確立されると、Ｓ０とＥ０との間のパスＰｉを埋めることができ、これらのパスに関して骨格が剪定されたオントロジを定義することができる。タグ付けされたＰｉ個のパスコンポーネントのための全てのクラスの親及び推測される親も、パスＰｉに属するものとしてタグ付けされる。全ての公理は、タグ付けされたＰｉ個のパスコンポーネントのためにロードされる。これは拡張されたオントロジと呼ばれる。
【０２８１】
推論器は、拡張されたオントロジに適用され、潜在的な誤りを特定し、推論値を追加する。このように追加された任意の概念、推測又は公理が、剪定されたオントロジ１７１１に含まれ、ここでこれをエクスポートすることができる。
【０２８２】
概念が、ユーザによって剪定のための開始ポイントとして選択されるとき、いずれの追加の概念が含まれるべきかを判断する必要がある。この判断を行うために適用されるオブジェクトプロパティ及びデータプロパティに基づく複数のアルゴリズムが存在する。これに関して、オブジェクトプロパティは以下の属性を有する。
・２つの概念間の関係を命名する。
・関係は方向を有する。これは、「ドメイン」概念から「レンジ」概念へのものとして定義される。リレーショナルデータベースの用語では、ドメインのプライマリキーはレンジにおける外部キーとなる。
・任意選択的に、関係は以下を含むタイプを有する。
−関数型
−逆関数型
−遷移
−対称
−非対称
−反射
−非反射
【０２８３】
また、スーパー／サブクラス関係は、オブジェクトプロパティの特殊な事例と等価である。サブクラスは、そのスーパークラスの全てのデータプロパティ及び全てのオブジェクトプロパティを「継承する」。
【０２８４】
上記で説明したサンプルオントロジを用いて、剪定のための開始ポイントが「クラブ」であった場合、クラブの全てのスーパークラス、すなわち、剪定されたオントロジにおける組織及び関係者を含むことが必要である。メンバというクラスは、その関係の方向及びタイプが、自動的に含めることを不可能にするため、含まれない。同じ理由から、組織及び関係者のサブクラスは、自動的に含まれず、クラブのいかなるサブクラスも、存在する場合、含まれない。
【０２８５】
一方、メンバが含まれていた場合、オブジェクトプロパティ「〜を有する」及び「〜を保持する」の方向及びタイプは、クラブ及び個人及びそれらの全てのスーパークラスが自動的に含まれることを確実にする。
【０２８６】
任意の概念におけるデータプロパティ「タイプ」は、モデル化されていない概念、すなわち、クラブにおける「クラブのタイプ」、メンバにおける「メンバのタイプ」等の存在を暗に意味するので、警告を促す（raises a red flag）。例えば、「クラブのタイプ」の概念は、セーリング、チェス、体操等の全ての有効値のリストを含むことができる。Ｔｙｐｅ＿ｏｆ＿Ｃｌｕｂの概念は、「タイプを有する」と呼ばれるオブジェクトプロパティを、クラブのレンジと共に有する。この概念は、剪定されたオントロジ内に自動的に含まれる。
【０２８７】
全ての自動的な含有及び除外は、全ての概念にわたって、又は概念単位で変更することができる。ユーザは、各タイプのオブジェクトプロパティについて、「含有」、「除外」又は「要請」を指定する。
【０２８８】
特定の概念を含むことの判定は、推測エンジンへの入力として、オントロジルール、特に、オブジェクトプロパティを用いて、特殊化されたセマンティック推論器によって行われる。一階述語論理は、最初に、明示的な含有及び除外を得るために用いられる。「タイプ」のデータプロパティの例におけるような更なる推測が、前向き及び後向き推測連鎖を用いて決定されなくてはならない。最良の結果を得るために、各局所化問題分野にNovamente社の確率論理ネットワーク技法を適用することができる。
【０２８９】
ここで、剪定器モジュールの動作の例がより詳細に説明される。この例では、オントロジを剪定するために、オントロジに含まれる概念、データプロパティ、オブジェクトプロパティ及び推測を特定することが必要である。上記で説明したように、１つの例では、これは、インデクサモジュールを用いてオントロジアイテムをインデックス付けし、そして、ブラウザモジュールを用いて、オントロジ用語を選択のために表示して達成される。
【０２９０】
特に、ユーザは、ブラウザモジュール「ランディングスクリーン」において剪定されるオントロジを選択する。これに関して、オントロジは、ファイル、ウェブアドレス等の任意のソースから選択することができる。オントロジが選択されると、オントロジのインデックスを用いてクラスリストが生成される。このリストは、各クラスの名称及び記述を表示する。より大きなリストの場合、ユーザがクラス名又はクラス記述の一部によって検索を行うことを可能にするリスト検索機能が提供される。また、データプロパティに対し検索を行うことも可能である。いずれの場合も、検索はそのデータプロパティを含むクラスのリストを返す。次に、ユーザは開始ポイントとしてクラスを選択し、これをＳ０とタグ付けする。
【０２９１】
そして、任意選択的に、ユーザはエンドポイントＥ０を選択する。ユーザがエンドポイントを選択しない場合、ユーザは上記で説明したように、剪定動作を手動で制御する必要がある。また、ユーザは、ランディング画面に戻り、エンドポイントのために別のオントロジを選択することができるか、又は代替的に、ユーザが、選択されたオントロジが完全に異なることを認識する場合、１組のブリッジ概念及び関係を追加してもよい。ユーザがブリッジ概念を指定しない場合、プロセスは、上記で説明した重複するオントロジプロセスに基づいて進み、そうでない場合、完全に異なるオントロジプロセスのとおりに進む。
【０２９２】
剪定プロセスを制御するために、以下を含む複数のメタデータパラメータを設定することができる。
・剪定されたオントロジを記憶するロケーション
・調査のためのシェル奥行き
・同一性を受容するためのマッチ品質
・各シェルの完了時に手動編集を可能にするプロセスを中断するか否か
・最大ランタイム
・エラー及びログメッセージの冗長性
【０２９３】
ここで、手動剪定プロセスの例がより詳細に説明される。
【０２９４】
この例では、ユーザは剪定プロセスを開始する開始ポイントのみを指定する。これらは、２つの方式のうちの一方において手動剪定を実行することができ、これらは任意の時点で交換可能に用いることができる。
・通常、ブラウザモジュール１３１０によって表示されるクラスリスト画面から、ユーザは、保持されるクラスを「Ｋ」でタグ付けすることができる。任意の時点において、ユーザは、「検証」オプションを選択することができ、このオプションは、任意の関係するクラス及び公理を自動的にタグ付けし、タグ付けされたクラスをクラスリスト内に表示する。さらに、ユーザは、「閲覧」オプションを選択することができ、このオプションは、タグ付けされたクラスをグラフ作成プログラムに渡し、選択されたクラス及び関係をグラフにより示す。グラフプログラムは、ＯｎｔｏＧｒａｆ等の公的に入手可能なグラフ作成パッケージとすることができる。
・代替的に、ユーザは、ブラウザモジュール１３１０によって表示されるクラスリスト画面におけるクラスをクリックすることによって、クラス表示画面における開始クラスを開くことができる。そして、ユーザは、保持することを望む全てのデータプロパティ、それに加えて、任意のサブ／スーパークラス、それに加えて、オブジェクトプロパティフレームにおいて指定される任意のクラスをタグ付けすることができる。このプロセスは、表示される任意の関連クラスへのリンクをクリックすることによって反復的に実行することができる。任意の時点において、ユーザはクラスリスト画面に戻り、それらの進行を検証又は閲覧することができる。
【０２９５】
ユーザが、剪定されたオントロジに必要とされるクラスのタグ付けを終了すると、ユーザはクラスリスト画面に戻り、「オントロジ生成」オプションを選択する。この結果、アプリケーションメタデータ内で指定されたロケーションにおいて、剪定されたオントロジが生成される。タグは、剪定プロセスの容易な再編集を可能にするように保存することができる。
【０２９６】
ここで、重複するオントロジの剪定の例がより詳細に説明される。
【０２９７】
この例では、ユーザは、剪定プロセスを実行する開始ポイント及び終了ポイントのみを指定する。プロセスは、上記で説明した複数の重複オントロジにおいて説明されたように進行する。
【０２９８】
アプリケーションメタデータパラメータがシェル間で中断するように設定されたと想定すると、プロセスは各シェルが完了すると停止する。この時点で、ユーザは、タグ付けされたアイテムを自動的に検証又は閲覧することができ、無関係であると認識する任意のタグを除去することができる。開始ポイント及び終了ポイントを接続するパスが確立されるまで、閲覧機能は、２つの部分オントロジを表示する。「再開」オプションを選択することによって、プログラムは次のシェルの決定時に開始する。
【０２９９】
１つのパスが特定された後の任意の時点において、プロセスは停止することができる。一方、代替的に、開始ポイント及び終了ポイント間に複数の異なる可能なパスを決定することができる。
【０３００】
指定された処理終了条件が満たされると、プロセスは停止し、ユーザにステータスメッセージを返す。これは以下のうちの１つを含む。
・指定された最大シェル深さに達した。パスが発見されていない。オントロジは完全に異なる場合がある（失敗）。
・指定された最大シェル深さに達した。「ｎ」個のパスが発見された。「ｍ」個のパスが要求される（部分的成功）。
・指定された数のパスが発見される（完全な成功）。
【０３０１】
ユーザは、アプリケーションメタデータにおける完了判断規準を変更し、再開オプションを選択することによって、プロセスを拡張することを判定することができる。ユーザは、結果に満足した場合、「オントロジ生成」オプションを選択する。この結果、アプリケーションメタデータ内で指定されたロケーションにおいて、剪定されたオントロジが生成される。タグは、剪定プロセスの容易な再編集を可能にするように保存することができる。
【０３０２】
ユーザは、オントロジが実際に完全に異なると判定する場合、以下で説明するように進行する。
【０３０３】
この例では、ユーザは、剪定プロセスを実行する開始ポイント及び終了ポイント、並びに１組の関連ブリッジ概念を指定する。ユーザは、オントロジを剪定及びマージするための以前の試みからタグを保存してある場合がある。
【０３０４】
剪定開始オプションを選択することによって、プロセスは、上記で説明した完全に異なるオントロジプロセスに関して説明したとおりに開始する。アプリケーションメタデータパラメータがシェル間で中断するように設定されていると想定すると、プロセスは、各シェルが完了すると停止する。
【０３０５】
この時点で、ユーザは、自動的にタグ付けされたアイテムを検証又は閲覧することができ、無関係であると認識する任意のタグを除去することができる。開始ポイント及び終了ポイントを、ユーザが定義したブリッジポイントのうちの１つに接続するパスが確立されるまで、閲覧機能は、ユーザが定義したポイントごとに１つ、及び開始ポイント及び終了ポイントごとに１つ、多くの部分オントロジを表示する。
【０３０６】
再開オプションを選択することによって、プロセスは次のシェルの決定を開始する。ソースオントロジ内の１つのパス、及びターゲットオントロジ内の１つのパスを、ブリッジクラスを介して接続することができるようになった後の任意の時点において、プロセスを停止することができる。一方、代替的に、開始ポイントと停止ポイントとの間の可能な限り多くのパスを決定することができる。
【０３０７】
指定された処理終了条件が満たされると、プロセスは停止し、ユーザに、以下のうちの１つを含むステータスメッセージを返す。
・指定された最大シェル深さに達した。パスが発見されていない。オントロジは完全に異なる場合がある（失敗）。
・指定された最大シェル深さに達した。「ｎ」個のパスが発見された。「ｍ」個のパスが要求される（部分的成功）。
・指定された数のパスが発見される（完全な成功）。
【０３０８】
ユーザは、アプリケーションメタデータにおける完了判断規準を変更し、再開オプションを選択することによって、プロセスを拡張することを判定することができる。
【０３０９】
ユーザは、オントロジが実際は依然として完全に異なると判定する場合、自身のブリッジ概念を検査する際に何らかの努力を費やす必要がある。ユーザは、パスが交わることを確実にするために手動のタグ付けを実行する必要がある場合がある。
【０３１０】
ユーザは、結果に満足した場合、オントロジ生成オプションを選択し、結果として、アプリケーションメタデータ内で指定されたロケーションにおいて、剪定されたオントロジが生成される。タグは、剪定プロセスの容易な再編集を可能にするように保存することができる。
【０３１１】
セマンティックマッチャモジュール
セマンティックマッチャモジュールは、特定のコンテキストにおいて検討されるとき、数学的値が、２つの概念が類似している度合いに適用されることを可能にする。このプロセスのための名称は「セマンティックマッチング」であり、これは、２つのオントロジにおける概念をアラインすることを試行するとき、特に重要である。例えば、「会社（company）」及び「組織」という単語は、ビジネスコンテキストにおいて、厳密に同じ意味を有しない。全ての会社は組織であるが、全ての組織は会社ではない。実際に、会社というクラスは、組織というクラスのサブセットである。例えば、「この組織は、上場会社であるが、あの組織はゴルフクラブである」。
【０３１２】
社会的コンテキストにおいて、ｃｏｍｐａｎｙは組織に関係するのではなく、１組の仲間に関係する場合がある。例えば、「Ｊｏｈｎ  Ｄｏｅは悪友と付き合っている（John Doe keeps bad company）」。クラブ及び会社は共に組織であり、このために或る類似性がある。上場会社及び非上場会社も類似しており、共通の親を共有する。それらは概念的にクラブ及び会社と同じだけ近いか？非上場公開会社（５０を超える株主）及び非上場非公開会社（５１未満の株主）についてはどうか？それらは上場会社及び非上場会社よりも近いか？
【０３１３】
２つの概念がどれだけ類似し得るかを測定するための数学的基礎を与えるために、「同一性」の概念を導入する。複数の定式メトリックが存在する。例えば、レーベンシュタイン距離（Levenshtein, 1966）は、２つの文字列をマッチさせるのに必要な挿入及び削除をカウントし、ニードルマン・ウンシュ（Needleman, 1970）距離は、編集動作に異なるコストを割り当て、スミス・ウォーターマン（Smith, 1981）は、コストへのアルファベットマッピングを更に用い、モンジュ・エルカン（Monge, 1996）は、単語間の部分文字列ギャップに依拠した可変のコストを用いる。さらに、本発明では、ジャロ・ウィンクラー類似度を用い、これは、２つの文字列間の共通文字を、それらが「短い」距離だけ配置が誤っている場合であってもカウントする。また、本発明では、Ｑグラム（Sutinen, 1995）を用い、これは、２つの文字列と最も大きな共通部分文字列を探索する部分文字列距離との間で共有されるトリグラムの数をカウントする。一方、これらのいずれも特に効果的であるとわかっていない。
【０３１４】
別の一般的な技法は、「事物」の概念をルートとして用いて、単一階層のツリーにおいて概念を構成することである。ほとんどの同一性定式は、測定されるものとそれらの共通の親との間の概念数と、階層のルートへの距離との関数である。
【０３１５】
一方、オントロジを構築したオントロジスト、及びオントロジがオントロジを用いる人物によって剪定されているか否かに依拠して、階層のルートへの距離が大幅に異なり得ることを考慮して、ルートへの距離は一般的に重要でない。
【０３１６】
通常、同一性は、概念間のエッジ数によって測定される。データプロパティの数に基づく他の可能性が存在する。例えば、クラブ及び会社は、各々が「５つ」のデータプロパティを有することができ、組織の定義においてバランスが保持される一方、上場公開会社及び非上場公開会社は各々が１つのみの属性を有することができ、バランスは会社の定義において保持される。このため、会社がクラブに類似しているよりも、非上場公開会社は、上場公開会社に類似している（「１０個」の属性ではなく「２つ」の属性。又は換言すれば、差異がより少なく、差異は距離と等価である）。
【０３１７】
「距離」の概念は重要であるとみなされる。２つの概念がどれだけ遠くに離れているか？測定されている概念とそれらの共通の親との間の概念数に基づく定式が存在する。距離が「１」である場合、明らかに、１つの概念は他方のスーパークラスである。一方、距離が「２」である場合、それらは兄弟又は孫である。これは特に有用な事実ではない。
【０３１８】
距離と同一性との間には幾つかの関係が存在する。明らかに、距離が「０」である場合、同一性は「１．０」であり、換言すれば、概念は同一であり、このため、実際に、このインスタンス内には１つの概念しかない。
【０３１９】
良好なセマンティックマッチャモジュールは、任意の適切な定式を用いてマッチの同一性及び距離を計算することが可能であるべきである。
【０３２０】
科学界、工業界、実業界の全ての態様を記述する何千もの公開オントロジ及び非公開オントロジが存在すると考える。２つのオントロジをアラインするために、２つのオントロジ内の概念間に意味論的マッチがあるか否かを判断することが必要である。
【０３２１】
現在のところ、リンク付けされた概念を定義するオントロジの操作は、研究者及びプロのオントロジストに限られる。概念の定義及び名称は、コンテキストに依拠して大きく変動する。オントロジ内及びオントロジ間で用語を比較するために、用語を意味論的に調べるための何らかのメカニズムを有する必要がある。２つの概念は実際に同じ事物についての同義語であるか、又はそれらは何らかの他の方法で関連しているか？例えば、組織及び会社は、幾つかの共通の属性を有し、このため或る度合いの同一性が存在する。全ての会社が組織であるが、全ての組織が会社ではない（小前提）（Subsumption）。
【０３２２】
別の例では、指の存在は手の存在を暗に意味する。それらは同じではないが、それらの間には関係があり、一方が他方の一部であるので、一方の存在は他方の存在を暗に意味する（部分語）。
【０３２３】
任意の２つの概念を所与として、それらがどの程度類似しているか、すなわち、同一性０→１を知り、ここで、１．０は、それらが同一であることを暗に意味し、一方が他方のサブクラス又はスーパークラスであるか（−１，０，１）否かを知り、１つが別のものの一部であるか（−１，０，１）否かを知ることを望む。
【０３２４】
セマンティックマッチャモジュールは、概念のデータベース、それらの意味及びそれらの間の関係を含む。セマンティックマッチャモジュールは、概念間及びそれらの定義間の関係を手動で編集し、数学的に定義された方式において概念を解析するための、オントロジから概念をロードするためのツールを有する。次に、概念のこれらの数学的に定義されたプロパティ及びそれらの関係を、オントロジのアライン等の多岐にわたる状況において、辞書として、及びセマンティック概念マッチャモジュールとして用いることができる。
【０３２５】
セマンティック概念マッチャモジュールは、特定のコンテキスト（例えば、医療、ビジネス）において、同義語、小前提（クラス階層）及び部分語（一部）を発見する。それは、最初に、オントロジを構文解析（parse）し、クラス、それらの注釈、クラス構造、及び任意の「〜の一部」のオブジェクトプロパティを得ることによってロードされる。次に、クラス名は、ＷｏｒｄＮｅｔ又はＷａｔｓｏｎ等のものにおいて用いられ、意味及び可能な同義語が決定される。意味は、任意の表記と同様に構文解析されトリプルにされる。そして、マッチャモジュールは、トリプルにおける数学的対応を探し、同義語性を判断する。
【０３２６】
セマンティックマッチャモジュールは、通常、２つのオントロジからの概念の２つのリストを評価するか、又はそうでない場合、単一の概念を評価し、これを基準語に対しマッチングして概念の意味を求める、スタンドアロンプロセスである。
【０３２７】
第１の事例では、マッチャモジュールは、第１のリスト内の各アイテムを、第２のリスト内の各アイテムと対にする。そして、各対ｉ，ｊは、以下のアイテムを決定するように解析される。
・意味論的類似度Ｓｉｊ
−用語が同義語である場合、類似度はＳｉｊ＝１．０
−反意語である場合、Ｓｉｊ＝−１
−関係が存在しない場合、Ｓｉｊ＝０
・小前提関係Ｓｕｂｉｊ
−ＣｉがＣｊのサブクラスである場合、Ｓｕｂｉｊ＝−１
−ＣｉがＣｊのスーパークラスである場合、Ｓｕｂｉｊ＝１
−そうでない場合、Ｓｕｂｉｊ＝０
・部分語の関係Ｍｅｒｉｊ
−ＣｉがＣｊの一部である場合、Ｍｅｒｉｊ＝−１
−ＣｊがＣｉの一部である場合、Ｍｅｒｉｊ＝１
−そうでない場合、Ｍｅｒｉｊ＝０
【０３２８】
第２の事例では、マッチャモジュールは単一の概念及びコンテキスト定義をとり、そのコンテキストにおけるその概念のための同義語、サブクラス及びスーパークラス並びに部分語のリストを生成する。コンテキストが供給されない場合、全てのコンテキストにわたって評価が行われる。
【０３２９】
医療オントロジ及び人材オントロジがＳｅｍＭａｔｃｈに対し定義されたという推定に基づいて幾つかの例が続く。
・ＳｅｍＭａｔ（関係者，クライアント，ビジネス）＝（１．０，０，０）
・ＳｅｍＭａｔ（関係者，個人，ビジネス）＝（０．２５，１，０）
・ＳｅｍＭａｔ（個人，クライアント，ビジネス）＝（０．２５，−１，０）
・ＳｅｍＭａｔ（車，エンジン，自動車）＝（０．１，０，１）
・ＳｅｍＭａｔ（車，車輪，自動車）＝（０．１，０，１）
・ＳｅｍＭａｔ（患者，人物，医療）＝（０．２５，−１，０）
・ＳｅｍＭａｔ（患者，人物，ＨＲ）＝（０，０，０）
・ＳｅｍＭａｔ（患者，人物，）＝（０．２５，−１，０）
・ＳｅｍＭａｔ（人物，，医療）＝定義：単一の人間：
−同義語：個人、身体
−スーパークラス：エンティティ、役割
−サブクラス：患者、施術者、行為者
−部分語：−１、なし
＋１、臓器、手足
・ＳｅｍＭａｔ（人物，，）＝コンテキスト：医療
−定義：単一の人間
−同義語：個人、身体
−スーパークラス：エンティティ、役割、
−サブクラス：患者、施術者、行為者
−部分語：−１、なし
＋１、臓器、手足
・ＳｅｍＭａｔ（人物，，）＝コンテキスト：ＨＲ
・定義：単一の人間
−同義語：個人
−スーパークラス：エンティティ、関係者、当事者
−サブクラス：雇用者
−部分語：−１、家族
＋１、なし
【０３３０】
次に、２つの異なる使用方法が、図１８Ａ及び図１８Ｂを参照してより詳細に説明される。
【０３３１】
セマンティックマッチャモジュール１３５０は、概念マッチングデータベース１６０４を用いてその評価を実行する。図１８Ａの例では、オントロジ用語Ａ、Ｂ及びＸ、Ｙ等の概念の２つのリスト１８０１、１８０２が受信され、そしてセマンティックマッチャモジュール１３５０によって比較され、オントロジ用語の各可能な対について同一性スコア１８０３が生成される。
【０３３２】
図１８Ｂの例では、単一のオントロジ用語１８０４等の単一の概念が受信され、セマンティックマッチャモジュール１３５０は、これを概念マッチングデータベース１６０４と比較し、同義語のリスト１８０５を返す。
【０３３３】
概念マッチングデータベース（ＣＭＤ）１６０４は、インデクサモジュール１３２０を用いて構築される。これを用いることができるようになる前に、データベースは、まずロードされなくてはならず、これは通常、関心対象のコンテキストに基づいてオントロジを構文解析することによってロードされる。データベースは、ユーザによって、任意の時点において新たなコンテキストを追加するように更新することができる。
【０３３４】
ＣＭＤ１６０４は、表８に定義されるような複数のテーブルを含む。テーブル間の関係が図１８Ｃに示される。
【０３３５】
【表８Ａ】
2017514257.tif 000014
【表８Ｂ】
2017514257.tif 000015
【０３３６】
ここで、図１８Ｄを参照して、ロードメカニズムが詳細に説明される。
【０３３７】
最初に、ロードされるオントロジ１８０１の全体コンテキストが決定され、１のＩＤを有するコンテキストテーブルに入力される。例えば、医療オントロジがロードされる場合、コンテキストは「医療」であると特定される。
【０３３８】
このカテゴリにおけるオントロジ及び各々のコンテキスト名の例は以下に示すとおりである。
・有害事象報告オントロジＡＥＲＯ
・アフリカ伝統医学オントロジＡＴＭＯ
・アレン脳地図（ＡＢＡ）成体マウス脳オントロジＡＢＡ−ＡＭＢ
・アルツハイマー病オントロジＡＤＯ
・アミノ酸オントロジＡＭＩＮＯ−ＡＣＩＤ
・両生類肉眼解剖学オントロジＡＡＯ
・両生類分類学オントロジＡＴＯ
・解剖学的病理目録ＰＡＴＨＬＥＸ
・解剖学的エンティティオントロジＡＥＯ
【０３３９】
これらのオントロジの各々が、ソーステーブルにロードされるソースを有し、これによって、ソース２コンテキストテーブルもロードされることが可能になる。
【０３４０】
次に、オントロジの各々から以下の情報が抽出及び構文解析される。
・クラス
・オブジェクトプロパティ
・注釈
・ラベル
【０３４１】
全ての単語は１つのオントロジから到来しているので、Ｃｏｎｔｅｘｔ＿ＩＤが既知である。各クラスは、単語テーブル内の単語となる。注釈は、単語テーブル内の意味としてロードされる。Ｗｏｒｄ＿ＩＤ２Ｃｏｎｔｅｘｔ＿ＩＤを、共にヌル値に設定された見出し語（ルートの意味）及び概念に関係付け、Ｃｌａｓｓ２Ｏｂｊｅｃｔ−Ｐｒｏｐｅｒｔｙ２Ｃｌａｓｓを、クラスごとのＷｏｒｄ＿ＩＤ及びヌル値に設定されたＣｏｎｃｅｐｔ＿ＩＤに関係付ける一時テーブルが作成される。
【０３４２】
そして、これに続いて、抽出されたクラス及びそれらの注釈が単語テーブルにロードされる。各クラスが単語になる。各単語に、一意のＷｏｒｄ＿ＩＤが割り当てられ、クラス注釈が、単語テーブルにおける意味になる。全ての単語が１つのオントロジから到来するので、Ｃｏｎｔｅｘｔ＿ＩＤは上記で説明されたように既知である。
【０３４３】
Ｗｏｒｄ＿ＩＤ２Ｃｏｎｔｅｘｔ＿ＩＤを、共にヌル値に設定された見出し語及び概念と関係付け、Ｃｌａｓｓ２Ｏｂｊｅｃｔ−Ｐｒｏｐｅｒｔｙ２Ｃｌａｓｓを、クラスごとのＷｏｒｄ＿ＩＤ及びヌル値に設定されたＣｏｎｃｅｐｔ＿ＩＤに関係付ける一時テーブルが作成される。
【０３４４】
コンテキストごとに、第１のステップは、各単語を、ＷｏｒｄＮｅｔ１８０２等の標準的な辞書から得られた意味及び同義語にマッチングすることである。次に、任意のマッチングされていない単語は、同義語を特定するために他のコンテキストからの単語に対しマッチングされる。ここで、これらのステップがより詳細に説明される。
【０３４５】
単語テーブル内の各単語がＷｏｒｄＮｅｔ１８０２に渡され、その単語に基づいて、意味と、潜在的に、同義語又は語彙素のグループのためのルート語又は見出し語とが得られる。ＷｏｒｄＮｅｔの意味は、注釈から導出された意味と語彙的に比較される。
【０３４６】
これは、意味をＲＤＦトリプルに変換し、このトリプルを評価することによって行われる。このプロセスは、以下でより詳細に説明される。
【０３４７】
意味がマッチする場合、Ｗｏｒｄｎｅｔの単語及び意味が新たなＷｏｒｄ＿ＩＤと共に単語テーブル内にロードされる。新たなＷｏｒｄ＿ＩＤは、Ｗｏｒｄ＿ＩＤ＿Ｃに割り当てられ、元のＷｏｒｄ＿ＩＤは、Ｗｏｒｄ＿ＩＤ＿Ｐに割り当てられ、次に双方がＷｏｒｄ２Ｗｏｒｄにロードされる。
【０３４８】
Ｗｏｒｄ＿ＩＤ２Ｃｏｎｔｅｘｔ＿ＩＤテーブルは、Ｗｏｒｄｎｅｔ見出し語にＷｏｒｄ＿ＩＤとして割り当てられたＷｏｒｄ＿ＩＤと、Ｗｏｒｄ＿ＩＤ＿Ｐとしてロードされた、関連付けられたＷｏｒｄ＿ＩＤと同じＣｏｎｔｅｘｔ＿ＩＤとをロードされる。Ｗｏｒｄ＿ＩＤ２Ｃｏｎｔｅｘｔ＿ＩＤテーブルは、見出し語及び概念の２つのみの列を有する。したがって、見出し語には新たなＷｏｒｄ＿ＩＤ＿Ｃが割り当てられ、概念はＷｏｒｄ＿ＩＤ＿Ｐから割り当てられる。
【０３４９】
最終的に、Ｃｌａｓｓ２Ｏｂｊｅｃｔ−Ｐｒｏｐｅｒｔｙ２Ｃｌａｓｓは、Ｗｏｒｄｎｅｔ１８０２からのＷｏｒｄ＿ＩＤ情報をロードされる。
【０３５０】
次に、見出し語が定義された全ての単語が概念テーブルにロードされる。次に、Ｗｏｒｄ＿ＩＤ２Ｃｏｎｔｅｘｔ＿ＩＤを、既知のＣｏｎｃｅｐｔ＿ＩＤ及び見出し語を用いて更新し、これを用いてＣｏｎｃｅｐｔ＿Ｗｏｒｄ＿Ｃｏｎｔｅｘｔテーブルをロードすることができ、この結果、ＣＷＣ＿ＩＤが、命名されたコンテキストにおいて用いられる各概念及び単語に割り当てられる。ＣＷＣ＿ＩＤを用いて、Ｃｌａｓｓ２Ｏｂｊｅｃｔ−Ｐｒｏｐｅｒｔｙ２Ｃｌａｓｓにおける単語を特定し、共に、ＣＷＣ２ＣＷＣテーブル及びＲｅｌａｔｉｏｎ＿Ｔｙｐｅテーブルを埋めることができる。
【０３５１】
単語テーブルの第２のパスが、関連する見出し語がない全ての単語の意味を、この意味を他のコンテキストにおける単語の意味と構文的に比較することによって検査する。マッチングするための第１の意味のＷｏｒｄ＿ＩＤが見出し語として選択される。次に、プロセスは、Ｗｏｒｄｎｅｔが特定した見出し語について継続する。
【０３５２】
第３のパスは、単に、見出し語に関係していない各単語を、見出し語であると特定する。これらの３つのパスの完了時に、全ての単語は、概念テーブル１８０９内の全ての可能なコンテキスト内で特定される。
【０３５３】
これに続いて、同一性が計算される。完全なオントロジが既知であった場合、同一性の計算を、比較されている概念の属性（データプロパティ）をマッチングすることによって行うことができる。属性リストは、概念のスーパークラスの属性を含む必要がある。
【０３５４】
現在の例では、同一性値は、２つの単語の意味を解析することによって計算される。英語での意味は、主題予測オブジェクト（ｓｐｏ）の形態のＲＤＦトリプルと比較される。これは、自然処理言語（ＮＬＰ）対ＲＤＦコンバータを用いて行われる（Arndt&Auer, 2014）（Augenstein他、2013）。
【０３５５】
例えば、クラブは「メンバを有するが、株主を有さず、そのメンバの何らかの職業的必要性を満たすために存在する組織のタイプ」という意味を有し、これは、以下の表９に示すように変換することができる。
【０３５６】
【表９】
2017514257.tif 000016
【０３５７】
組織は、以下のように定義される概念である。「組織は、集合であるために合意された理由を有する個人の集合である」。これは、表１０に示すように変換することができる。
【０３５８】
【表１０】
2017514257.tif 000017
【０３５９】
組織定義をクラブ定義に挿入して、表１１に示す定義を得る。
【０３６０】
【表１１】
2017514257.tif 000018
【０３６１】
一方、メンバが個人であることを推測することができない。この解析を用いて以下を判断することができる。
・クラブのメンバが個人である。これは、メンバシップ概念が、個人がメンバシップを有するではなく、メンバが個人であるとして、より厳密に定義されたオブジェクトプロパティを有していた場合に推測され得た。
・集合であるための合意された理由は、職業的必要性を満たすことになる。
【０３６２】
同じプロセスを、上記で説明した例示的なオントロジにおける特殊法人に適用することにより、意味から、特殊法人が「指定された政府の必要性を満たすように政府によって作成された組織である」を得ることになり、表１２に示すトリプルがもたらされる。
【０３６３】
【表１２】
2017514257.tif 000019
【０３６４】
これを用いて、表１３に示すように共通の述語及び目的語に基づいて比較テーブルを構築することができる。
【０３６５】
【表１３】
2017514257.tif 000020
【０３６６】
これによって、以下の要因に基づいて同一性のための公式が用いられることが可能になる。
・クラブ及び特殊法人の概念のためのトリプルの番号が、それぞれＮ１及びＮ２によって表され、ここで、Ｎ１＝９及びＮ２＝７である。
・クラブ及び特殊法人の２つの概念間の共有述語（ＳＰ）数が５である、すなわちＳＰ＝５である。
・クラブ及び特殊法人の２つの概念間の共有述語目的語（ＳＰＯ）対の数が４である、すなわち、ＳＰＯ＝４である。
【０３６７】
例えば、
・同一性＝ＳＰＯ／ＳＰ＝４／５＝０．８、又は、
・同一性＝（ＳＰ＋ＳＰＯ）／（Ｎ１＋Ｎ２）＝９／１６＝０．５６２５
【０３６８】
用いられる実際の公式は無関係である。重要なことは、本発明では同一性の尺度を与える定式を導出することができることである。
【０３６９】
このプロセス全体を通じて、ユーザは、通常、ブラウザモジュールによって表示されるセマンティックマッチャモジュール使用画面１８０８とインタラクトすることができることが理解されるであろう。
【０３７０】
アライナモジュール
独自に開発され、このため、それぞれ独自のデータ語彙を有するデータベースである異種データベースを統合する必要性から、オントロジアライメントの必要性が生じている。独自のオントロジを提供する多くのアクタ（actors）を含むセマンティックウェブの状況では、オントロジマッチングが、異種リソースの相互動作を助ける極めて重要な場所を占めてきた。オントロジアライメントツールが、「意味論的に等価」であるデータのクラス、例えば、「トラック（Truck）」及び「貨物自動車（Lorry）」を発見する。クラスは必ずしも論理的に同一ではない。
【０３７１】
オントロジアライメントの結果は、異なるオントロジのエンティティ間のマッチを表す１組の表現である。これは、専用ビルド言語「表現型及び宣言型オントロジアライメント言語」（ＥＤＯＡＬ）（David他、2013）又は他の言語（ZIMMERMANN他、2006）において表すことができる。
【０３７２】
第１の要件は、アラインされているオントロジにおける概念間にセマンティックマッチが存在するか否かを判断することであり、これは、上記で説明したセマンティックマッチャモジュールを用いて判断することができる。例えば、ビジネスコンテキストにおける単語「会社（company）」及び「組織」は、厳密に同じ意味を有しない。全ての会社は組織であるが、全ての組織は会社ではない。実際に、会社というクラスは、組織というクラスのサブセットである。例えば、「この組織は上場会社であるが、あの組織はゴルフクラブである」。社会的コンテキストにおいて、ｃｏｍｐａｎｙは組織に関係するのではなく、１組の仲間に関係する場合がある。例えば、「Ｊｏｈｎ  Ｄｏｅは悪友と付き合っている（John Doe keeps bad company）」。
【０３７３】
クラブ及び会社は共に組織であり、このため或る類似性がある。上場会社及び非上場会社も類似しており、共通の親、すなわち会社を共有する。それらは概念的にクラブ及び会社と同様に近いか？非上場公開会社（５０を超える株主）及び非上場非公開会社（５１未満の株主）についてはどうか？それらは上場会社及び非上場会社よりも近いか？
【０３７４】
２つの概念がどれだけ類似し得るかを測定するための数学的基礎を与えるために、「同一性」の概念を導入する。同一性のための複数の定式メトリックが存在する。最も一般的な技法は、「事物」の概念をルートとして用いて、単一階層のツリーにおいて概念を構成することである。ほとんどの定式は、測定されたものとそれらの共通の親との間の概念数と、階層のルートへの距離との関数である。
【０３７５】
一方、オントロジを構築したオントロジスト、及びオントロジがオントロジを用いる人物によって剪定されているか否かに依拠して、階層のルートへの距離が大幅に異なり得ることを考慮して、ルートへの距離はおそらく重要でない。
【０３７６】
通常、同一性は、概念間のエッジ数によって測定される。データプロパティの数に基づく他の確率が存在する。例えば、クラブ及び会社は、各々が５つのデータプロパティを有することができ、組織の定義においてバランスが保持される一方、上場公開会社及び上場非公開会社は各々が１つのみの属性を有することができ、バランスは会社の定義において保持される。このため、会社がクラブに類似しているよりも、上場非公開会社は、上場公開会社に類似している（１０個の属性ではなく２つの属性。又は換言すれば、差異がより少なく、差異は距離と等価である）。
【０３７７】
推定オントロジ（ＰＯ）は、構造化されたソース、通常、リレーショナルデータベース、ｘｍｌファイル又はスプレッドシートから作成されるオントロジである。そのようなアライメントは、推定オントロジにおけるデータインスタンスが完全なオントロジにおけるクラスにマッピングする幾つかの非常に複雑なマッピングを有することができる。これはアライメントの特殊な事例である。
【０３７８】
ここで、図１９Ａを参照して、単純な例が説明される。図１９Ａは、「事物データベース」を示す。「事物データベース」は、メタデータ（及びこのため構造）及び４つのテーブル内のデータを含むことができるので、完全に非正規化のデータ構造の例である。
【０３７９】
例えば、事物タイプテーブルが「クラス」の事物タイプを含む場合、事物テーブル内の全ての関連する行がクラス名を含む。クラス間の関係は、「事物対事物」テーブルにおいて定義され、ここで、「事物タイプ対事物タイプ」は関係のタイプを指定する。
【０３８０】
オントロジ用語において、任意のタイプテーブルが１組のクラスを発生させることができる。１組の車両の詳細を含むテーブルを検討する。有効なタイプの車両のみが含まれることを確実にするように車両タイプのテーブルが用いられた可能性がある。例えば、自動車、トラック、トラクタであるが、ベビーカー、自転車、船ではない。そして、オントロジにより、車両タイプテーブルにおいて指定された車両のタイプごとに別個のクラスを有することができる。この概念は一般化することができるが、常に適切とは限らない。結果として、全ての社員テーブルが、男性クラス及び女性クラスに分割される可能性がある！その結果、プログラムは、データ内に含まれる隠れたクラスを明らかにし、それらを検証のためにユーザに提示することができる全ての状況を特定するべきである。
【０３８１】
幾つかの場合、タイプテーブルは、多くの種類のタイプを含むことがある。例えば、概念、データプロパティ、及びデータプロパティのプロパティであり、車両、トラック、自動車、エンジンタイプ、重量、キログラム等である。これは以下のように示すことができる。
・自動車はエンジンタイプディーゼルを有する
・自動車は重量２０００を有する
・重量は測定単位キログラムを有する
・自動車は車両のサブクラスである
【０３８２】
ここで、データベースが表１４〜表１７に示すように埋められたと想定して、事物データベースの例が説明される。
【０３８３】
【表１４】
2017514257.tif 000021
【０３８４】
【表１５】
2017514257.tif 000022
【０３８５】
【表１６】
2017514257.tif 000023
【０３８６】
【表１７】
2017514257.tif 000024
【０３８７】
関係スキーマに基づく推定オントロジは、テーブル名に関係する名称を有する４つのクラスのみを示す。一方、データに基づくオントロジは、「事物」及び「事物タイプ」テーブルにおける名称に基づく８つのクラスに加えて、図１９Ｂに示すような他の２つのテーブルにおいて特定される全てのオブジェクトプロパティを示す。この例では、「ビジネスコンポーネント」及び「有機構造」という用語は、事物タイプテーブル（表１６）から得られるのに対し、残りの用語は、事物テーブル（表１４）から得られる。
【０３８８】
これは、１つのオントロジにおけるクラスが、別のオントロジにおけるデータインスタンスにマッチする問題の例である。明確にするために、この問題は、「推定マッピング問題」（ＰＭＰ）として特定される。この問題は、アライメント中に、推定オンロトジが、「プライマリキー」若しくは「外部キー」にマッチする名称を有するデータプロパティ、又は「親」及び「子」（ＢＯＭ）におけるような同じ外部キーの複数のインスタンスを有するクラス、若しくは関連付けられたタイプクラスを有するクラスを有するときに現れる可能性がある。これらの例は、潜在的に、データインスタンスに隠されたクラス階層を偽る！
【０３８９】
共通アライメント技法は、各オントロジからの概念を、各々がルートとして「事物」の概念を有する２つの階層ツリーに配列する。次に、「距離」の数学的概念が導入され、アライメントを決定するための何らかの数学的メカニズムが与えられる。ほとんどの距離定式は、測定されるものと、それらの共通の親との間の概念数と、階層のルートに対する距離との関数である。
【０３９０】
一方、オントロジを構築したオントロジスト、オントロジがオントロジを用いる人物によって剪定されているか否か、及び包括的概念（conceptual umbrella）としての役割を果たす「最上位」オントロジが存在するか否かに応じて、階層のルートへの距離が大幅に異なり得ることを考慮して、ルートへの距離はおそらく重要でない。
【０３９１】
オントロジアライナモジュールは、複数のオントロジにおける共通概念を探し、一方のオントロジからの概念を他方にマッピングし、このため、２つのオントロジが１つのオントロジとして扱われることを可能にする。アライメントを用いて、２つのオントロジをマージすることも可能であるが、これはリスクの高いプロセスであり、セマンティックミスマッチ伝播の可能性に起因して、通常推奨されない。
【０３９２】
通常、オントロジは完全ではない。例えば、ここで用いられるサンプルオントロジには多くのモデリング誤りが存在する。「株」は「個人」ではなく「クライアント」によって「所有される」べきであることは明らかであり、「職歴」は「会社」ではなく「クライアント」によって「雇用される」べきであることは明らかである。これらのインスタンスは共に、関係がより制限的な関係から、より制限的でない関係に移っていることを示す。クラブのメンバシップを「個人」から「クライアント」に移すことは、これらの場合に可能ではあるが、おそらく無効であろう。
【０３９３】
クラス「メンバシップ」も、メンバシップと個人との間の関係が「保持される」ので、不当な名称を与えられる。クラスが「メンバ」と名付けられていた場合、関係は「Ａである」となったであろう。これにより、メンバが個人のプロパティを継承することが可能になったであろう。オブジェクトプロパティ「〜を有する」が完全に定義されない限り、推測におけるその使用は制限される。
【０３９４】
アライメントの複雑度の幾らかを例示するために、これらのエラーがサンプルに導入された。
【０３９５】
ここで、図１９Ｃを参照して、アライナモジュールの動作がより詳細に説明される。
【０３９６】
これに関して、使用時に、ＯＷＬ及びＲＤＦＳファイルにおいて定義されるオントロジ１９０１、１９０２がアライナモジュール１３４０を用いて開かれ、次に、ユーザは、以下で定義された１組の画面を用いてオントロジと対話し、最終的に、結果としてオントロジ１９０３、１９０４が一連のアライメント１９０５及び潜在的にマージされアラインされたオントロジ１９０６により接続される。
【０３９７】
プロセスは、以下を含む複数のサブプロセスからなる。
・初期化
・低レベルクラスマッチング−最小マッピングを特定する
・推測マッピング問題特定
・オブジェクトプロパティ解析
・データプロパティ解析
・マルチクラスマッピング
・ＰＭＰ分解能
・兄弟解析
・最小マッピング分解能
【０３９８】
アライメントは多くのステップにおいて特定することができるので、概念の特定の対についてアライメントを再計算する可能性が存在する。この問題は、アライメントマップを維持することによって克服される。このマップは、アライメントが特定される度に更新され、二度手間を防ぐために、新たなアライメント対が評価のために検討される前にプログラムによって調査される。アライメントマップがユーザに表示され、ユーザがアライメントプロセスを辿り、問い合わせを行い、任意の潜在的なアライメントを上書きし、プログラムに新たなプロセスを再実行するように命令することを可能にすることができる。
【０３９９】
ここで、これらのステップがより詳細に説明される。各ステップｉには重み係数Ｗｉが割り当てられ、結果が組み合わされ、全体アライメントスコアをもたらすことができる。これらの重み係数は、幾つかのステップにおいて適用される。可能な重み累積定式が与えられるが、用いることができる多くの可能な重み付け方式が存在する。これは、機械学習又は統計解析及び推測を用いて、適切な重み付け定式を決定することができる分野である。
【０４００】
初期化プロセス中、インデクサモジュールからインデックス１６０３が得られる。これに続いて、オントロジ１９０１、１９０２がセマンティックマッチャモジュール１３４０にロードされる。アライメントテーブルが事前にロードされていない場合、Ｗ０＝０．０となる。
【０４０１】
以下の例において、技法の説明のために、Ｗｉ＝ｉである。そうでない場合、重みＷｉは、ユーザ、又は機械学習若しくは体験により決定された発見的メカニズムによって割り当てられる。通常、任意のステップｉについて、累積的に求められるマッチ値ＭＶｉＡが以下によって求められる。
【数１】
2017514257.tif 000025
ここで、ＭＶｉはステップｉにおいて計算される未加工マッチ値である。
別の、より従来的な重み付け方式は以下となる。
【数２】
2017514257.tif 000026
ここで、ＭＶは重み付けされたマッチ値であり、ＭＶｉはステップｉにおけるマッチ値である。
【０４０２】
このプロセスは、好ましい実施態様に依拠して、各ステップにおいて、又は手順の終了時にのみ実行することができる。
【０４０３】
次に、オントロジにおける用語の意味論的意味に基づいてクラスマッチングが実行される。このプロセスは、セマンティックマッチャモジュールを用いて各潜在的なアライメント対を検査し、クラス名に基づいて潜在的なマッチを得る。アライメントを発見した場合、そのアライメントから継承チェーン（オブジェクトプロパティ＝「〜のサブクラス」）をトラバースし、セマンティックマッチャモジュールを用いて別のアライメントについてクラス名をチェックする。
【０４０４】
これは、小さな数のマッチのみを必要とする場合があるが、全てのマッチするクラスを発見することが可能である。マッチングされているオントロジが同じ基本オントロジを用いている場合、完全な１対１のマッチが可能である。例えば、以下である。
・有害事象報告オントロジＡＥＲＯ
・アフリカ伝統医学オントロジＡＴＭＯ
【０４０５】
双方が標準的なガレンオントロジに基づくので、１対１のマッチを予期する。
【０４０６】
対ごとのＭＶは、セマンティックマッチャモジュールによって提供されるスコアに基づき、この例では、Ｗ１＝１．０を設定する。
【０４０７】
第１のオントロジのルートにおいて開始して、第２のオントロジのルートクラスにおいて開始する各クラスを調査する。マッチは、概念対のためのセマンティックマッチャモジュールを用いて発見された同一性がアライメントのための閾値マッチ値（ＭＶＡＴ）を超えているときに生じる。受容可能なマッチが見つかる場合、それは潜在的アライメントと呼ばれ、詳細はアライメントマップに記録される。
【０４０８】
アライメントマップは、２つの概念を記録し、アライメントＩＤ、最小マップＩＤ、アライメントに関連付けられた任意のタグ、割り当てられた任意のＰＭＰ  ＩＤ、任意の強化（enrichment）ＩＤ、及び最終処理ステップＩＤを割り当てる。アライメントＩＤにおいて関係付けられた別個のテーブルが、ステップごとのマッチ値を記憶する。これらの値は、所望の場合、手動で上書きすることができる。
【０４０９】
アライメントマップは、任意の既知のアライメントを事前にロードされていてもよい。これらは、ユーザタグ「ユーザ始動」を用いてタグ付けされ、マッチ値は、通常１．００に設定されなくてはならないが、より低い値も可能である。「ユーザ始動」及びＭＶ＝１．００の組み合わせは、このアライメントの更なる処理を防ぐ。
【０４１０】
プロセスは、オブジェクトプロパティによって第１のオントロジ内の現在のクラスに関係付けられた次のクラスに続く。現在のクラスのスーパークラスが最初に処理される。プログラムは、他のオブジェクトプロパティの前に継承オブジェクトプロパティを処理する。現在のクラスのスーパークラスは、任意のサブクラスが検査される前に処理される。プロセスは、ＭＶ＜ＭＶＡＴを有するアライメントが発見されるとすぐに停止する。
【０４１１】
潜在的なアライメントが特定される度に、このアライメントは最小マッピングセットに割り当てられ、最小マップＩｄ  ｍｍ＿ＩＤを与えられる。階層的に関係付けられたクラスが特定される場合、これは同じｍｍ＿ＩＤに追加される。このステップの終了時に、最小マッピングの判断規準を潜在的に満たす複数の最小マップを有することになる。この累積マッチ値は、後続の各ステップにおいて精緻化される。
【０４１２】
潜在的なＰＭＰの認識が常に実行される。ＰＭＰ分解は、構成ファイルにおいて要求される場合にのみ実行される。要求されない場合、潜在的なＰＭＰの認識は、アライメントが情報メッセージとして実行され累積統計報告に追加されるときに作成されるアクティビティログに記録される。
【０４１３】
幾つかのインスタンスでは、双方のオントロジが推定オントロジである場合があり、ＢＯＭ構造を保持することが望ましい場合があるので、ＰＭＰを分解するのが望ましくない場合がある。
【０４１４】
ＰＭＰ分解が要求された場合、ＰＭＰタグ付けが実行される。データプロパティ名が、以下等のキーワードの存在について検査される。
・オブジェクトプロパティ名は以下を含む。
−タイプ
−関係
−クラス
−概念
−…
・データプロパティ名は以下を含む。
−識別子
−ＩＤ
−キー
−親
−子
−プライマリキー
−外部キー
−…
【０４１５】
これらのキーワードを含むデータプロパティの存在は、必ずしもＰＭＰを意味していない。確実にするには、更なるアルゴリズムが適用されなくてはならない。規格にマッピングする任意の構造は、以下の通りである。
・ＥＲＡ図における「タイプ」テーブルが特定されなくてはならない。ユーザは、特定されるタイプテーブル内の各行を選択しなくてはならない。
・「部品表」構造が特定され、適切なクラス構造内に潜在的に拡張されなくてはならない。
【０４１６】
この段階において、各ＰＭＰに関与するクラスは、「ＰＭＰ」としてタグ付けされ、等価なＢＯＭテーブルの組ごとに、ＰＭＰ組識別子ＰＭＰ０１、ＰＭＰ０２、…を与えられる。以下でより詳細に説明されるように、これらは後に分解される。各ＰＭＰクラスが特定されるとき、詳細をユーザに提示することができ、ユーザは、そのインスタンスがＰＭＰでないと判定することができる。
【０４１７】
このステップについて、ＭＶが計算されないので、ＭＶ２Ａ＝ＭＶ１Ａ＝０．５である。
【０４１８】
これに続いて、以前のステップからの各アライメント対に関連付けられたオブジェクトプロパティ及びそれらの関連クラスが解析される。このステップは「構造解析」と呼ばれる場合がある。これは以下を特定する。
・全ての関連クラス及びオブジェクトプロパティの名称がマッチする場合、この対を「アンカーポイント」としてタグ付けする。ＭＶ＝１．０である。それらが既にそこにある場合、関連クラスを最小マップに加え、その最小マップ内の関連クラスについて、ステップ２のデータプロパティ解析を繰り返す。
・名称及び関連スーパークラスがマッチするが、サブクラスはいずれもマッチしない場合、この対を「兄弟の可能性がある」としてタグ付けする。ＭＶ＝０．３である。スーパークラスを最小マップに追加する。以下のマルチクラスマッピングに進む。
・名称及び関連スーパークラスがマッチするが、サブクラスの幾つかのみがマッチする場合、この対を、「関連サブセット」としてタグ付けする。ＭＶは以下のように計算される。
−各マッチするサブクラスに２．０の重みを割り当て、各他のマッチする関連クラスに１．０を割り当てる。
−これらの重みをＮＭにマッチする番号として合算する。
−１．０の重みを各サブクラスに割り当て、０．５を各他の関連クラスに割り当てる。
−これらの重みを、双方のスーパークラスにわたって総数ＮＡとして合算する。
−マッチ値ＭＶ３＝ＮＭ／ＮＡ。
・関連クラスマッチがない場合、ＭＶ３＝０．００１
・スーパークラスを最小マップに追加する。以下のマルチクラスマッピングに進む。
【０４１９】
対ごとに、累積荷重マッチ値を以下のように計算する。
【数３】
2017514257.tif 000027
【０４２０】
これに続いて、マッチするクラスのデータプロパティ（属性）が類似しているか否かを解析するためのデータプロパティ解析が実行される。解析は、クラスの対ごとに、
・ＳｅｍＭａｔを用いてクラスごとにデータプロパティを比較する。ここで、正確な名称マッチは存在しない。
・データプロパティに基づいて「マッチ値」（ＭＶ）を割り当てる。
・アライメント対を、マッチタイプを用いてタグ付けする。最小マップ内の次の対を選択し、上記のプロセスを繰り返す。最小マップ内にこれ以上アライメントが存在しない場合、次の最小マップに移る。
【０４２１】
より詳細には、Ａ＝｛ａ１，ａ２，ａ３，…ａｉ｝が第１の概念の１組のデータプロパティであり、Ｂ＝｛ｂ１，ｂ２，ｂ３，…ｂｊ｝が第２の概念の１組のデータプロパティである場合、以下の可能性が存在する。
・クラス内の全てのデータプロパティがマッチする。「厳密なマッチ」としてタグ付けする。すなわち、∀ａ∈Ａ≡∀ｂ∈Ｂである。
マッチ値＝１．０００
・一方のオントロジからのデータプロパティのサブセットが、他方のオントロジ内の全てのデータプロパティとマッチする。「サブセット」としてタグ付けする。
すなわち、Ａ⊂Ｂ又は∀ａ∈Ａ≡∃ｂ∈Ｂである。
ＭＶｉ＝（Ｎ（Ａ∩Ｂ）／Ｎ（Ｂ））０．５であり、ここで、Ｎ（Ａ）は、Ｎ（Ａ）＜Ｎ（Ｂ）と想定した、Ａ内のデータプロパティの数である。
・一方のオントロジからのデータプロパティのサブセットが、他方のオントロジ内のデータプロパティのサブセットとマッチする。「部分マッチ」としてタグ付けする。
すなわち、∃ａ∈Ａ≡∃ｂ∈Ｂである。
ＭＶｉ＝Ｎ（Ａ∩Ｂ）／Ｎ（Ｂ）あり、ここで、Ｎ（Ａ）は、Ｎ（Ａ）＜Ｎ（Ｂ）と想定した、Ａ内のデータプロパティの数である。
・いずれのデータプロパティもマッチしない。ＭＶ＝０．１である。「名称のみ」としてタグ付けする。
すなわち、
【数４】
2017514257.tif 000028
である。
【０４２２】
ＭＶが所定の閾値未満である場合（デフォルト値＝０．１）、そのマッチ対を最小マップから破棄し、次のマッチ対に進む。このプロセスは、全ての最小マップが解析されるまで繰り返され、この時点で、マッチング値が計算される。
【数５】
2017514257.tif 000029
【０４２３】
マルチクラスマッピングは、１つのオントロジ内のクラスが別のオントロジ内の複数のサブクラスに分割されているときに生じる。そのような場合、対が既に、「兄弟の可能性がある」又は「マルチクラスマッピング」及び「サブセット」としてタグ付けされていることを予期する。
【０４２４】
マルチクラスマッピングは通常、各オントロジ内のクラス及びサブクラス内の潜在的に関係するクラスについてデータプロパティの数を解析することによって検出される。サブクラスを有しないオントロジクラスが、他のオントロジ内のクラスに概ね等しい数のデータプロパティに加えて、最も多いデータプロパティを有するサブクラスのデータプロパティを有する場合、第２のオントロジ内のクラスのサブクラスが第１のオントロジ内のクラスに非正規化されていると思われる。
【０４２５】
以下の可能性のあるシナリオが存在する。
・一方のオントロジにおける単一のクラスにおけるデータプロパティが、他方のオントロジにおけるクラス及び１つ又は複数のサブクラスにおけるデータプロパティにマッピングされる。
・クラス及びサブクラス内のデータプロパティが、他方のオントロジにおけるクラス及び幾つかのサブクラスにおけるデータプロパティにマッチする。
【０４２６】
第１の場合、第１のオントロジクラスのデータプロパティを、第２のオントロジにおけるクラス＋サブクラスで構成される各対のデータプロパティとマッチングすることを検討することによって、データプロパティカウントが実行される。
【０４２７】
例えば、オントロジ１における会社は子を有さず、オントロジ２では２つの子を有する。会社（１）のデータプロパティを会社＋上場会社（２）を用いて解析する場合、データプロパティの数がマッチするが、全ての意味がマッチするわけではないことが示される。
【０４２８】
会社（Ａ）のデータプロパティを会社＋非上場会社（Ｂ）を用いて解析することは、データプロパティの数及び意味の双方がマッチすることを示す。これを、「異なる正規化」としてタグ付けし、マッチング値ＭＶ＝１．０を割り当てることができる。
【０４２９】
上場会社及び非上場会社は兄弟であるため、上場会社がオントロジ２における強化であると推測することが可能であり、これを「強化」としてタグ付けすることができ、マッチングデータプロパティの数の２倍を、データプロパティの総数で除算することによってマッチング値を計算することができる。
【数６】
2017514257.tif 000030
ここで、Ｎ（）は、概念Ａ、Ｂ、Ａ∩Ｂにおけるデータプロパティの数を生成するための関数である。
【０４３０】
この方法は、２つのクラスが異なる数の子を有する状況に一般化することができる。この状況は、「強化可能」とタグ付けすることができ、関与する各クラスは単一の強化ＩＤを与えられる。
【０４３１】
マルチクラスマッピングの別の例は、クラスが異なる形で正規化されたときである。例えば、車両クラスは、（ＳＵＶ、セダン、クーペ、コンバーチブル）としてサブクラス化することができるか、又は製造者（シトロエン、プジョー、フィアット、ローバー）によってサブクラス化することができる。このため、２つの車両オントロジがデータプロパティを様々な形で構文解析することができる。一方、車両の属性は２つのオントロジにおいて同一である。
【０４３２】
一般的な事例では、１組のデータプロパティが２つのオントロジからの１組のサブクラスに割り当てられ、サブクラスが各オントロジにおいて異なるが、これらのクラスを定義する１組のデータプロパティが同一であるか又は非常に類似している場合、定義されるサブクラス間で多対多のマッピングが存在する。これも「強化可能」としてタグ付けされ、関与される各クラスは、単一の強化ＩＤを与えられる。
【０４３３】
このステップについてＭＶは計算されず、このため、ＭＶ５Ａ＝ＭＶ４Ａ＝０．９５８３である。
【０４３４】
ＰＭＰ分解は、テーブル内に記憶された非正規化クラスを特定することによって、推定オントロジ内の追加のクラスを特定することを含み、結果として、導出元のオントロジの大きな強化が得られる。
【０４３５】
各ＰＭＰ組識別子が解析され、上記で説明したように、タイプ構造又はＢＯＭ構造へのマッピングが決定される。これらは通常、オブジェクトプロパティのみをその図内のマッチング構造関係とマッピングすることによって決定されるとおりに、図１９Ａに示すＥＲＡ図の或る構成にマッピングされる。データプロパティインスタンスから抽出されたクラスの例が表１４〜表１７に示される。
【０４３６】
マッピングが決定されると、ＢＯＭ構造において捕捉された非正規化オントロジを生成することは比較的単純である。この生成されたオントロジコンポーネントを、次に、上記で説明したクラスの意味論的意味に基づいて低レベルクラスマッチングのステップに返すことによってアラインすることができる。このステップにおいて、ＢＯＭ解析から生成されたクラスが適切な最小マップに追加される。
【０４３７】
このステップについてＭＶは計算されない。なぜなら、この結果、低レベルのクラスマッチング及び新たに特定されたクラスのためのＭＶ値の再計算のステップに戻ることになるためである。
【０４３８】
この強化解析が実行されることに続いて、マルチクラスマッピングプロセスにおいて特定された各ｅｎｒｉｃｈｍｅｎｔ＿ＩＤが解析され、２つのオントロジからのサブクラスセットがマッチするか又は兄弟を含むか否かが判断される。例えば、オントロジ１のクラス組織はサブクラスであるクラブ及び会社を有することができる。オントロジ２は、特殊法人、クラブ及び会社を含む。特殊法人はオントロジ２における兄弟であるが、オントロジ１には現れない。特殊法人がいずれともアラインされないと述べるのではなく、これをオントロジ１に対する強化であると特定した方が良い。
【０４３９】
強化を適用することができるようになる前に、クラブ及び会社のデータプロパティを解析することによって、特殊法人が他のサブクラスのうちの１つに非正規化されているか否かを判断することが必要である。
【０４４０】
クラスが、兄弟として、追加される判断規準を満たすと想定して、クラス及びサブクラスを含む最小マップがこの段階において同一であることを確実にすることが可能であるべきである。
【０４４１】
このステップについて新たなＭＶが計算されない。各兄弟はその現在のＭＶを保つ。このＭＶは、１．０の現在のＭＶを、兄弟として特定されたコンポーネントに割り当てることによって、小さな係数だけ上昇し得る。
【０４４２】
全てのクラスが分解され、強化が完了したとき、任意の主要な再構成が既に生じているはずであり、したがって、最小マップを分解することができる。前回のセクションにおいて強化が追加されている場合は、更なる再構成が生じる。これらのことは共に、結果として最小マッピングを改善する。
【０４４３】
ＭＶ７＜ＭＶＡＴを用いたアライメントでは、閾値は拒否される。ＭＶＡＴはアライメントのためのマッチ値閾値である。
【０４４４】
次のステップは、冗長な認識パターンを適用するものであり、それによって、各最小マップにおいて、冗長性、非重複性（disjointedness）及び小前提が判断される。これは、先行するステップによって大部分が既に実行されている。
【０４４５】
最小マップは、完全に処理されると、そのクラスと共に、１組のＲＤＦトリプルとして記録される。
【０４４６】
最終的に、最小マップは、上記で生成したＲＤＦトリプルに問い合わせを行うことによって、単一のマップに組み立てなくてはならない。これは、受容可能な閾値とのアライメントが発見された全てのクラスのマップである。アラインされていないアイテムも存在し得る。
【０４４７】
累積マッチング定式を用いて、最終マッチ値はＭＶ８＝０．９３７５である。
【０４４８】
線形マッチング定式を用いて、ＭＶ＝（１＊．５＋２＊１＋３＊１）／（１＋２＋３）＝５．５／６＝０．９１６７である。
【０４４９】
表１８に例示的なアライメントインデックスが示される。これは、上記で説明した例示的なオントロジのためのアライメントマップを示す。結果はアライメント対及びステップ数によって並べられ、様々なアルゴリズムの効果が強調される。現実には、これらは＃個のシーケンス（列１）において実行される。
【０４５０】
【表１８Ａ】
2017514257.tif 000031
【表１８Ｂ】
2017514257.tif 000032
【０４５１】
次に、マージプロセスを実行して、マージされたオントロジ１９０６を生成することができるが、これは任意選択的であり、好ましい実施態様に依拠する。ユーザがオントロジをマージすることを決定する場合、以下を含む複数の判定を行う必要がある。
・マージされたオントロジがオントロジ２へのオントロジ１であるか、若しくはその逆であるかを判断し、又はマージされたオントロジが新たなＵＲＩを与えられるべきであるか否かを判断する。これらの事例は、図１９Ｄ及び図１９Ｅに図式的に示される。
・ＭＶＭＴを、マージのためのマッチ値閾値として選択する。通常、実際はアラインしていない関連クラスを含める場合があるため、ＭＶＭＴは、ＭＶＡＴよりも低くなる。
・クラスがマージされない場合、マージされたオントロジにクラスの双方が含まれるべきか、いずれも含まれないべきか、又は１つのみが含まれるべきかに関する判定が必要とされる。これは、ルールとして、又は「要請」として指定することができ、「要請」の場合、マージプロセスは、ユーザがアクションを判定することを可能にするために中断する。
・アライメントが発見されなかったクラスは、マージされたオントロジに追加されるべきか？例えば、オントロジ１がクラスＡ、Ｂからなり、オントロジ２がクラスＢ、Ｃからなる場合、マージされたオントロジは、Ａ、Ｂ、Ｃとなるべきか、又はＡ、Ｂとなるべきか、又はＢ、Ｃとなるべきか、又は単にＢとなるべきか？ただし、Ｂはアラインされたクラスの組である。
【０４５２】
マージパラメータが決定されると、２つのオントロジのクラス、データプロパティ及びオブジェクトプロパティをマージすることは単純である。
【０４５３】
任意のデータプロパティインスタンスは、別段の指定がない限り、それらの元のＵＲＩを保つ。このため、アラインされたクラスが各オントロジにおけるインスタンスデータを有する場合、単一のマージされたクラスが、双方のオントロジからのインスタンスを含むことになる。
【０４５４】
通常、アライナモジュールとのユーザインタラクションは、アライメントプロセスを制御する目的である。
【０４５５】
第１のステップは、アライメント及びマージにおいて用いられるパラメータを特定する構成ファイルをロードすることである。設定することができる複数のメタデータパラメータが存在する。これらは以下を含む。
・アラインされるオントロジのＵＲＩ。
・アライメントマップを記憶するロケーション。
・マージされたオントロジを記憶するロケーション。
・ＭＶＡＴをアラインするためのマッチ値閾値。
・ＭＶＭＴをマージするためのマッチ値閾値。
・低レベルクラスマッチング中の同一性を受容するためのマッチ品質。
・既知のアライメントを用いてアライメントテーブルを任意選択的に事前ロードする。
・各解析ステップにおいて適用される重み。これらは、機械学習アルゴリズムによって決定することができる。
・マージに対するユーザ入力を可能にするためにマージ中にプロセスを中断するか否か。
・最大実行時間。
・エラー及びログメッセージの冗長性。
・その他。
【０４５６】
次に、ユーザは、プロセスを実行又はスケジューリングする。ユーザ入力の中断が指定された場合、ユーザは要求通りに、かつブラウザモジュールによって通常表示されるスクリーンを介して提供されるように入力を提供する。
【０４５７】
プロセスの完了時に、ユーザは以下を検査する。
・生成された、以下の統計を与える報告。
−各オントロジにおける入力クラス数、
−アラインされたクラス数、
−特定されたＰＭＰ数、
−拡張されたＰＭＰ数、
−ＰＭＰから拡張されたクラス数、
−ＰＭＰから拡張されたデータプロパティインスタンス数、
−最大及び最小マッチ値、
−マージされたクラス数、
−マージされたオントロジ内のクラス数、
−マージされたオントロジ内のデータインスタンス数、
−その他。
・エラー、警告及び情報メッセージを評価するための実行時間ログ。
【０４５８】
この情報に基づいて、ユーザは、アライメント若しくはマージを受容するか、又は構成パラメータのうちの幾つかを変更してプロセスを再スケジューリングするかを判定する。
【０４５９】
したがって、上記で説明したプロセスは、ユーザがオントロジとインタラクトして、オントロジのブラウズ、剪定及びアラインを含む多岐にわたるタスクを実行することを可能にする。これらのプロセスは、多岐にわたるモジュールを使用し、推測オントロジ及び定式化されたオントロジを含むオントロジ間のマッピングを決定すること等の動作が実行されることを可能にする。そしてこれらは、ソースデータストアとターゲットデータストアとの間のコンテンツの転送を容易にする目的で、ソースデータ構造及びターゲットデータ構造をマッピングする際に用いることができる。
【０４６０】
本明細書及び添付の特許請求の範囲全体を通じて、文脈により他のことが要求されない限り、「含む（comprise）」という単語、及び「含む（”comprises” or "comprising"）」等のその変形は、述べられた完全体又は完全体のグループ又はステップを含むことを暗に意味するが、いかなる他の完全体又は完全体のグループも除外することを暗に意味していないことが理解されよう。
【０４６１】
当業者であれば、多数の変形形態及び変更形態が明らかとなることを理解するであろう。当業者に明らかとなる全てのそのような変形形態及び変更形態は、上記で説明された、本発明が広範に登場する趣旨及び範囲内にあるものとみなされるべきである。
【図１】
2017514257.tif 000033
【図１Ｂ】
2017514257.tif 000034
【図２】
2017514257.tif 000035
【図３】
2017514257.tif 000036
【図４】
2017514257.tif 000037
【図５】
2017514257.tif 000038
【図６】
2017514257.tif 000039
【図７】
2017514257.tif 000040
【図８】
2017514257.tif 000041
【図９】
2017514257.tif 000042
【図１０】
2017514257.tif 000043
【図１１】
2017514257.tif 000044
【図１２Ａ】
2017514257.tif 000045
【図１２Ｂ】
2017514257.tif 000046
【図１３】
2017514257.tif 000047
【図１４Ａ】
2017514257.tif 000048
【図１４Ｂ】
2017514257.tif 000049
【図１５】
2017514257.tif 000050
【図１６】
2017514257.tif 000051
【図１７Ａ】
2017514257.tif 000052
【図１７Ｂ】
2017514257.tif 000053
【図１７Ｃ】
2017514257.tif 000054
【図１７Ｄ】
2017514257.tif 000055
【図１８Ａ−１８Ｄ】
2017514257.tif 000056
【図１９Ａ】
2017514257.tif 000057
【図１９Ｂ】
2017514257.tif 000058
【図１９Ｃ】
2017514257.tif 000059
【図１９Ｄ】
2017514257.tif 000060
【図１９Ｅ】
2017514257.tif 000061
【手続補正書】
【提出日】平成28年12月27日(2016.12.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ又は複数のオントロジをブラウズする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
オントロジを決定し、
前記オントロジ内の複数のオントロジ用語のインジケーションを表示し、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定し、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定し、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示する
ことを特徴とするものであり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含むものである、装置。
【請求項２】
前記電子処理デバイスは、
少なくとも１つのクラスと、
前記少なくとも１つのクラスのための少なくとも１つのデータプロパティと
を表示する、請求項１に記載の装置。
【請求項３】
前記電子処理デバイスは、
少なくとも１つのデータプロパティに関連付けられた検索語を決定し、
前記検索語及び前記少なくとも１つのデータプロパティに従ってクエリを生成し、
前記クエリを用いて、データ構造を有するデータストア内に記憶されたコンテンツを探索し、
少なくとも幾つかの検索結果を表示する、
請求項１又は２に記載の装置。
【請求項４】
前記オントロジは、データ構造を有するデータストアに関連付けられ、
前記オントロジは、
前記データ構造にマッピングされることと、
前記データ構造から生成された推定オントロジであることと
のうちの少なくとも一方である、請求項１〜３のいずれか１項に記載の装置。
【請求項５】
前記電子処理デバイスは、ユーザ入力コマンドに従って、少なくとも１つの選択されたオントロジ用語を決定する、請求項１〜４のいずれか１項に記載の装置。
【請求項６】
前記電子処理デバイスは、ユーザが少なくとも１つの表示されたオントロジ用語をタグ付けすることを可能にすることによって、前記少なくとも１つの選択されたオントロジ用語を決定する、請求項５に記載の装置。
【請求項７】
前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に従って、実行可能コードを生成し、該実行可能コードは、コンピュータシステムにおいて実行されると、該コンピュータシステムに、ユーザが、データ構造を有するデータストアに記憶されたコンテンツとインタラクトすることを可能にするためのユーザインタフェースを表示させる、請求項５又は６に記載の装置。
【請求項８】
前記実行可能コードは、前記コンピュータシステムに、前記コンテンツとインタラクトするためのクエリを生成させる、請求項７に記載の装置。
【請求項９】
前記クエリは、少なくとも１つの選択されたオントロジ用語に従って生成される、請求項８に記載の装置。
【請求項１０】
前記実行可能コードは、前記コンピュータシステムに、
１つ又は複数のオントロジ用語のインジケーションを表示させ、
ユーザ入力コマンドに応答して、少なくとも１つのオントロジ用語の選択を決定させ、
前記選択されたオントロジ用語に関連付けられたデータフィールドに記憶されたデータに問い合わせさせる、
請求項９に記載の装置。
【請求項１１】
前記電子処理デバイスは、前記少なくとも１つの選択されたオントロジ用語に基づいて、スクリプトを用いて前記実行可能コードを生成する、請求項７〜１０のいずれか１項に記載の装置。
【請求項１２】
前記電子処理デバイスは、スクリプトを生成するものであり、
前記スクリプトは、実行されると、
前記少なくとも１つの選択されたオントロジ用語に従って定義されたデータ構造を有するデータベースを生成し、
コンテンツをデータベースにロードする、
請求項７〜１１のいずれか１項に記載の装置。
【請求項１３】
前記実行可能コードは、
少なくとも１つのクラスと、
少なくとも１つのクラスのための少なくとも１つのデータプロパティと、
前記少なくとも１つのクラスに関連付けられた任意の推測及び任意の公理と、
クラス間の関係を定義する少なくとも１つのオブジェクトプロパティと
を用いて生成される、請求項１１に記載の装置。
【請求項１４】
前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のグルーピングを実行する、請求項５に記載の装置。
【請求項１５】
前記電子処理デバイスは、前記選択されたオントロジ用語を用いてオントロジ用語のアライメントを実行する、請求項５に記載の装置。
【請求項１６】
前記電子処理デバイスは、前記オントロジのインデックスを用いて前記複数のオントロジ用語を決定する、請求項１に記載の装置。
【請求項１７】
オントロジ用語ごとに、前記インデックスは、
オントロジ用語の意味と、
オントロジ用語タイプと
のインジケーションを含む、請求項１６に記載の装置。
【請求項１８】
前記電子処理デバイスは、
推定オントロジを生成し、
複数の既存のオントロジのうちの１つを選択する
ことによって、前記オントロジを決定する、請求項１に記載の装置。
【請求項１９】
前記電子処理デバイスは、
オントロジのリストを表示し、
前記オントロジのリストから、オントロジのユーザ選択を決定する、
請求項１８に記載の装置。
【請求項２０】
前記電子処理デバイスは、
データ構造に関連付けられたメタデータと、
データ構造を有するデータストアのデータフィールドと
のうちの少なくとも一方を用いてオントロジを選択する、請求項１８又は１９に記載の装置。
【請求項２１】
前記電子処理デバイスは、
データストアのデータフィールドを複数の既存のオントロジのオントロジ用語と比較し、
前記比較の結果に従って前記複数の既存のオントロジのうちの１つを選択する
ことによって、複数の既存のオントロジのうちの１つを選択する、請求項１８〜２０のいずれか１項に記載の装置。
【請求項２２】
前記電子処理デバイスは、
前記スキーマ内のテーブルを特定し、
各テーブルに対応するオントロジ用語を作成し、
少なくとも１つの部品表テーブルを特定し、
前記部品表テーブル内の各エントリに対応するオントロジ用語を作成する
ことによって、データベーススキーマからの推定オントロジを生成する、請求項１８〜２１のいずれか１項に記載の装置。
【請求項２３】
テーブルごとに、前記電子処理デバイスは、
各テーブルに対応するクラスを作成し、
前記テーブル内のフィールドからデータプロパティを作成する、
請求項２２に記載の装置。
【請求項２４】
部品表テーブルごとに、前記電子処理デバイスは、
前記部品表テーブル内の各エントリに対応するクラスを作成し、
関連テーブル内のフィールドからデータプロパティを作成する、
請求項２３に記載の装置。
【請求項２５】
前記電子処理デバイスは、
前記部品表テーブル内の各エントリのインジケーションを表示し、
ユーザ入力コマンドに応答して前記推定オントロジにクラスを追加する
ことによって、データベーススキーマからの推定オントロジを生成する、請求項２４に記載の装置。
【請求項２６】
前記電子処理デバイスは、前記データベーススキーマによって定義されたテーブル構造を用いてオントロジ用語間の関係を生成する、請求項２３に記載の装置。
【請求項２７】
前記推定オントロジは、
クラスと、
前記クラスのうちの少なくとも幾つかのためのデータプロパティと、
クラス間の関係を定義するオブジェクトプロパティと
を含む、請求項１８に記載の装置。
【請求項２８】
前記装置は、
オントロジ内のオントロジ用語を示すインデックスを生成するインデクサモジュールと、
オントロジ内のオントロジ用語のブラウジングを可能にし、前記オントロジの少なくとも一部を具現化するコードを生成し、それによってユーザが前記オントロジに従ってデータ構造に記憶されたデータとインタラクトできるようにする、ブラウザモジュールと、
異なるオントロジのオントロジ用語間のアライメントを決定するアライナモジュールと、
前記オントロジ用語間の関係を少なくとも部分的に用いて少なくとも１つのオントロジ内のオントロジ用語グループを決定する剪定器モジュールと、
オントロジ用語意味を特定するセマンティックマッチャモジュールと
を備える、請求項１〜２７のいずれか１項に記載の装置。
【請求項２９】
１つ又は複数のオントロジをブラウズする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
オントロジを決定するステップと、
前記オントロジ内の複数のオントロジ用語のインジケーションを表示するステップと、
ユーザ入力コマンドに応答して、前記複数のオントロジ用語から、少なくとも１つの特定されたオントロジ用語を決定するステップと、
推論器を用いて、前記少なくとも１つの特定されたオントロジ用語に関係する任意の公理及び任意の推測を決定するステップと、
前記少なくとも１つの特定されたオントロジ用語に関係する詳細のインジケーションを表示するステップと
を含んでなり、
前記詳細は、
任意の公理及び任意の推測と、
少なくとも１つのデータプロパティと、
少なくとも１つの関係付けられたオントロジ用語と、
少なくとも１つのオブジェクトプロパティと
のうちの少なくとも１つを含むものである、方法。
【請求項３０】
オントロジ用語をグルーピングする際に用いる、少なくとも１つの電子処理デバイスを備えた装置であって、
前記少なくとも１つの電子処理デバイスは、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加し、
反復により、更なるオントロジ用語を前記グループに漸進的に追加し、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定し、
前記関係付けられたオントロジ用語を前記グループに選択的に追加し、
関係付けられたオントロジ用語を、
推測、
公理、及び
オブジェクトプロパティ
のうちの少なくとも１つを用いて決定する
ことを特徴とする、装置。
【請求項３１】
前記電子処理デバイスは、
少なくとも前記関係付けられたオントロジ用語を表示し、
ユーザ入力コマンドに従って、前記関係付けられたオントロジ用語を選択的に追加する
請求項３０に記載の装置。
【請求項３２】
前記電子処理デバイスは、
前記関係付けられたオントロジ用語を関係判断規準と比較し、
前記関係付けられたオントロジ用語を、前記比較の結果に従って選択的に追加する
請求項３０または３１に記載の装置。
【請求項３３】
前記電子処理デバイスは、定義された判断基準が満たされるまで、オントロジ用語を反復的に追加する、請求項３０〜３２のいずれか１項に記載の装置。
【請求項３４】
前記定義された判断基準は、
設定された反復回数が完了したことと、
設定された数のオントロジ用語が追加されたことと、
少なくとも２つの選択されたオントロジ用語が関係パスによって接続されていることと、
ユーザ入力コマンドと、
前記選択されたオントロジ用語からの定義された関係パス長を超える関係付けられたオントロジ用語が特定されることと
を含む、請求項３３に記載の装置。
【請求項３５】
前記電子処理デバイスは、前記グループ内の前記オントロジ用語の定義された関係パス長内の関係付けられたオントロジ用語を特定する、請求項３０〜３４のいずれか１項に記載の装置。
【請求項３６】
前記電子処理デバイスは、前記選択されたオントロジ用語の定義された関係パス長以内の関係付けられたオントロジ用語を追加する、請求項３０〜３５のいずれか１項に記載の装置。
【請求項３７】
前記オントロジ用語は、異なる関係タイプによって関係付けられ、前記電子処理デバイスは、異なる関係タイプについてそれぞれのパス長を用いて１つ又は複数の関係オントロジ用語を特定する、請求項３０〜３６のいずれか１項に記載の装置。
【請求項３８】
前記関係タイプのうちの少なくとも幾つかは、ヌル値のそれぞれのパス長を有する、請求項３７に記載の装置。
【請求項３９】
前記関係タイプのうちの少なくとも幾つかは方向パスを有する、請求項３７又は３８に記載の装置。
【請求項４０】
前記電子処理デバイスは、ユーザ入力コマンドに従って異なる関係タイプについて関係パス長を決定する、請求項３７〜３９のいずれか１項に記載の装置。
【請求項４１】
前記電子処理デバイスは、前記オントロジ用語のグループを解析して、
潜在的なエラーを特定することと、
推測値を追加することと
のうちの少なくとも一方を行う、請求項３０〜４０のいずれか１項に記載の装置。
【請求項４２】
前記オントロジ用語はクラスを含み、前記電子処理デバイスは、
クラス及び該クラスのデータプロパティを表示し、
ユーザ入力コマンドに従って、前記クラス及び前記データプロパティのうちの少なくとも１つを前記グループに選択的に追加する、
請求項３０〜４１のいずれか１項に記載の装置。
【請求項４３】
前記オントロジ用語はクラスを含み、前記電子処理デバイスは、前記グループ内のクラスの親、スーパークラス及びサブクラスのうちの少なくとも１つである関連クラスを特定する、請求項３０〜４２のいずれか１項に記載の装置。
【請求項４４】
前記電子処理デバイスは、
複数の選択されたオントロジ用語を前記グループに追加し、
前記複数のオントロジ用語が関係付けられたオントロジ用語によって接続されるまで、オントロジ用語を前記グループに反復的に追加する、
請求項３０〜４３のいずれか１項に記載の装置。
【請求項４５】
前記複数の選択されたオントロジ用語は、第１のオントロジからの第１のオントロジ用語と、第２のオントロジからの第２のオントロジ用語とを含み、前記電子プロセスデバイスは、
前記第１のオントロジ用語及び前記第２のオントロジ用語を、それぞれの第１のグループ及び第２のグループに追加し、
前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むまで、前記第１のオントロジから前記第１のグループに、及び前記第２のオントロジから前記第２のグループにオントロジ用語を漸進的に追加する、
請求項４３に記載の装置。
【請求項４６】
前記電子処理デバイスは、
前記第１のグループ及び前記第２のグループ内のオントロジ用語を比較して、アラインされたオントロジ用語を特定することと、
ユーザ入力コマンドに従って、アラインされたオントロジ用語を決定することと、
のうちの少なくとも一方を行う、請求項４５に記載の装置。
【請求項４７】
定義された判断基準が満たされると、前記電子処理デバイスは、前記第１のグループ及び前記第２のグループがアラインされたオントロジ用語を含むか否かを判断する、請求項４５に記載の装置。
【請求項４８】
前記グループは剪定されたオントロジを定義する、請求項３０〜４７のいずれか１項に記載の装置。
【請求項４９】
オントロジ用語をグルーピングする際に用いる方法であって、少なくとも１つの電子処理デバイスにおいて、
少なくとも１つの選択されたオントロジ用語をオントロジ用語グループに追加するステップと、
反復により、更なるオントロジ用語を前記グループに漸進的に追加するステップと、
オントロジ用語間の関係を用いて、前記グループ内のオントロジ用語に関係付けられた１つ又は複数の関係付けられたオントロジ用語を特定するステップと、
前記関係付けられたオントロジ用語を前記グループに選択的に追加するステップと
を含んでなる、方法。
【国際調査報告】
2017514257.tif 000062
2017514257.tif 000063
2017514257.tif 000064
2017514257.tif 000065
2017514257.tif 000066