(57)【要約】  オントロジーを使用し、マッピングを生成する際に使用するための装置であって、装置は、それぞれのオントロジー用語を有するオントロジーを決定し、オントロジーの少なくとも１つからオントロジー用語のグループを決定し、オントロジー用語のグループの少なくともいくつかのためにオントロジーのオントロジー用語間のアラインメントを決定し、アラインメントがオントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定され、アラインメントに従ってマッピングを生成する少なくとも１つの電子処理装置含む。【選択図】図１Ａ、図１Ｂ
2017513134.tif 000002
【特許請求の範囲】
【請求項１】
オントロジーを使用しマッピングを生成する際に使用するための装置であって、
それぞれのオントロジー用語を有するオントロジーを決定し、
前記オントロジーの少なくとも１つからオントロジー用語のグループを決定し、
オントロジー用語の前記グループの少なくともいくつかについて前記オントロジーのオントロジー用語間でアラインメントを決定し、前記アラインメントが前記オントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定し、
前記アラインメントに従ってマッピングを生成する
少なくとも１つの電子処理装置を含む前記装置。
【請求項２】
前記マッピングが、
マージされたオントロジーと、
アラインメントインデックスと、
の少なくとも１つである、請求項１に記載の装置。
【請求項３】
前記オントロジーが、
推測上のオントロジーと、
様式化オントロジーと、
を含む、請求項１に記載の装置。
【請求項４】
前記電子処理装置が様式化オントロジーに推測上のオントロジーをマップするためのマッピングを生成する、請求項３に記載の装置。
【請求項５】
前記マッピングが、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータ構造を有するターゲットデータストアにコンテンツを転送する際に使用され、前記オントロジーが前記ソースデータ構造及び前記ターゲットデータ構造に関連付けられ、前記電子処理装置が前記マッピングを使用し、前記ソースデータフィールドと前記ターゲットデータフィールドとの間でコンテンツを転送する、請求項１に記載の装置。
【請求項６】
前記オントロジーが前記ソースデータ構造に関連付けられたソースオントロジー及び前記ターゲットデータ構造に関連付けられたターゲットオントロジーを含む、請求項５に記載の装置。
【請求項７】
前記ソースオントロジー及び前記ターゲットオントロジーが推測上のオントロジーであり、前記ソースオントロジー及び前記ターゲットオントロジーが１つ又は複数の様式化オントロジーにマップされる、請求項６に記載の装置。
【請求項８】
前記電子処理装置が、
推測上のオントロジーを生成することと、
いくつかの既存のオントロジーの１つを選択することと、
によってオントロジーを決定する、請求項１に記載の装置。
【請求項９】
前記電子処理装置が、
データ構造と関連付けられたメタデータと、
データ構造のデータフィールドと
の少なくとも１つを使用し、オントロジーを選択する、請求項８に記載の装置。
【請求項１０】
前記電子処理装置が、
いくつかの既存のオントロジーのオントロジー用語とデータフィールドを比較することと、
前記比較の前記結果に従っていくつかの既存のオントロジーの１つを選択することと
によって、前記いくつかの既存のオントロジーの１つを選択する、請求項９に記載の装置。
【請求項１１】
前記電子処理装置が、
スキーマのテーブルを識別することと、
各テーブルに対応するオントロジー用語を作成することと、
少なくとも１つの部品表テーブルを識別することと、
前記部品表テーブルの各エントリに対応するオントロジー用語を作成することと
によって前記データベーススキーマから推測上のオントロジーを生成する、請求項８に記載の装置。
【請求項１２】
前記電子処理装置が、
前記部品表テーブルの各エントリに対応する前記オントロジー用語の表示を表示することと、
ユーザ入力コマンドに応じて推測上のオントロジーに前記オントロジー用語を追加することと
によってデータベーススキーマから前記推測上のオントロジーを生成する、請求項１１に記載の装置。
【請求項１３】
前記電子処理装置が、前記データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性を生成する、請求項１１に記載の装置。
【請求項１４】
前記推測上のオントロジーが、
オントロジー用語に対応するクラスと、
前記クラスの少なくともいくつかのデータプロパティと、
クラス間の関係性を定義するオブジェクトプロパティ
を含む、請求項８に記載の装置。
【請求項１５】
前記電子処理装置が、
少なくとも１つのオントロジーにインデックスを決定し、前記インデックスが前記該少なくとも１つのオントロジーの前記オントロジー用語の表示を含み、
前記インデックスを使用して、
オントロジー用語の前記グループと、
オントロジー用語間のアラインメント
を決定する
請求項１に記載の装置。
【請求項１６】
オントロジー用語ごとに、前記インデックスが、
オントロジー用語意味と、
オントロジー用語タイプ
の表示を含む、請求項１５に記載の装置。
【請求項１７】
前記電子処理装置は、オントロジー用語ごとに、
オントロジー用語名を識別することと、
オントロジー用語タイプを識別することと、
セマンティックマッチングプロセスを使用し、各オントロジー用語のオントロジー意味を識別することと、
前記オントロジー用語名、前記オントロジー用語タイプ、及び前記オントロジー用語意味の表示を含んだインデックスエントリを作成すること
によってインデックスを生成する、請求項１５に記載の装置。
【請求項１８】
前記電子処理装置が複数のオントロジーのために単一のインデックスを生成し、前記インデックスエントリが前記オントロジー用語に関連付けられた前記オントロジーの表示を含む、請求項１５に記載の装置。
【請求項１９】
前記電子処理装置が、
オントロジーに１つ又は複数のオントロジー用語の表示を表示し、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別し、及び
少なくとも１つの識別されたオントロジー用語と、
前記少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティ
との少なくとも１つの詳細を表示する
請求項１に記載の装置。
【請求項２０】
前記電子処理装置が、インデックスを使用し、前記１つ又は複数のオントロジー用語の前記表示を決定する、請求項１９に記載の装置。
【請求項２１】
前記電子処理装置が、
ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティを決定し、
前記ユーザによって選択されたオントロジー用語及び前記対応するユーザによって選択されたデータプロパティに従って実行可能なコードを生成し、前記実行可能なコードが、コンピュータシステムでの実行時、前記コンピュータシステムに、ユーザがデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするためのユーザインタフェースを表示させ、前記コンテンツが前記ユーザによって選択されたオントロジー用語に対応するデータフィールドに記憶される、
請求項１９に記載の装置。
【請求項２２】
前記実行可能なコードが、前記コンピュータシステムにソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させる、請求項２１に記載の装置。
【請求項２３】
前記実行可能なコードが、前記コンピュータシステムにデータプロパティ及びオントロジーの前記ユーザによって選択されたオントロジー用語間の関係性の少なくとも１つに従ってクエリーを生成させる、請求項２１に記載の装置。
【請求項２４】
前記実行可能なコードが、前記コンピュータシステムに、
１つ又は複数のオントロジー用語の表示を表示させ、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定させ、
前記選択されたオントロジー用語と関連付けられたデータフィールドに記憶されたデータにクエリーを行わせる
請求項２１に記載の装置。
【請求項２５】
前記電子処理装置が、
いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較し、
前記比較の前記結果に従って前記オントロジー用語意味として前記潜在的なオントロジー用語意味の１つを選択する、
請求項１に記載の装置。
【請求項２６】
前記電子処理装置が、
各比較の前記結果にマッチングスコアを生成することと、
前記マッチングスコアに従ってオントロジー用語意味を決定することと
によってオントロジー用語意味を決定する、
請求項２５に記載の装置。
【請求項２７】
前記電子処理装置が、潜在的なオントロジー用語意味が、
同義語、
反意語、
部分語、
スーパークラス、及び
サブクラス
の少なくとも１つであるかどうかを判断する、請求項２５に記載の装置。
【請求項２８】
前記電子処理装置が、インデックスに前記オントロジー用語意味の表示を記憶し、前記表示が、
定義された意味を示す識別子、及び
同等の意味のリスト
の少なくとも１つを含む、請求項２５に記載の装置。
【請求項２９】
前記電子処理装置が、
いくつかのオントロジー用語のオントロジー用語意味を比較することと、
各比較の前記結果にマッチングスコアを生成することと、
前記マッチングスコアに従ってアラインメントを決定すること
によってオントロジー用語間のアラインメントを決定する、請求項１に記載の装置。
【請求項３０】
前記電子処理装置が、
オントロジー用語間の関係性、及び
前記オントロジー用語のデータプロパティ
の少なくとも１つに基づいて前記アラインメントをさらに決定する、請求項２９に記載の装置。
【請求項３１】
前記電子処理装置が、
ソースオントロジーのソースオントロジー用語間の関係性を決定し、
ターゲットオントロジーの前記ターゲットオントロジー用語間の関係性を決定し、
前記関係性を比較し、
前記比較の前記結果に従って前記アラインメントを決定する
請求項２９に記載の装置。
【請求項３２】
前記電子処理装置が、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語との間のアラインメントを決定する、請求項２９に記載の装置。
【請求項３３】
前記電子処理装置が、
選択されたオントロジー用語を決定することと、
前記選択されたオントロジー用語及び前記選択されたオントロジー用語の関係性に少なくとも部分的に従ってオントロジー用語の前記グループを決定すること
によってオントロジー用語の前記グループを決定する、請求項１に記載の装置。
【請求項３４】
前記電子処理装置が、
選択されたオントロジー用語ごとに、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別することと、
オントロジー用語の前記グループに前記識別されたオントロジー用語を追加すること
によって、関係するオントロジー用語を決定する、請求項３３に記載の装置。
【請求項３５】
前記電子処理装置が、すべての前記選択されたオントロジー用語が関係性によって接続されるまで、識別されたオントロジー用語を繰り返し追加する、請求項３４に記載の装置。
【請求項３６】
前記電子処理装置が異なるタイプの関係性に異なる関係性経路長を使用する、請求項３３に記載の装置。
【請求項３７】
前記電子処理装置が、ユーザ入力コマンドに従って関係性経路長を決定する、請求項３６に記載の装置。
【請求項３８】
前記装置が、
オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュールと、
オントロジーのオントロジー用語のブラウズを可能にし、前記オントロジーの少なくとも一部を具現化するコードを生成し、それによってユーザが前記オントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュールと、
オントロジー用語異なるオントロジー間でアラインメントを決定するアライナモジュールと、
前記オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュールと、
オントロジー用語意味を識別するセマンティックマッチャモジュールと
を含む、請求項１に記載の装置。
【請求項３９】
オントロジーを使用し、マッピングを生成する際に使用するための方法であって、前記方法は、少なくとも１つの電子処理装置において、
それぞれのオントロジー用語を有するオントロジーを決定することと、
前記オントロジーの少なくとも１つからオントロジー用語のグループを決定することと、
オントロジー用語の前記グループの少なくともいくつかのために前記オントロジーのオントロジー用語間のアラインメントを決定することであって、前記アラインメントが前記オントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定される、前記オントロジーのオントロジー用語間のアラインメントを決定することと、
前記アラインメントに従ってマッピングを生成すること
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジーを使用するマッピングを生成する際に使用するための方法及び装置に関する。
【背景技術】
【０００２】
本明細書の任意の先行文献（若しくは該先行文献から引き出される情報）に対する、又は既知である任意の事柄に対する参照は、先行文献（若しくは該先行文献から引き出される情報）又は既知の事柄が、本明細書が関係する努力傾注分野における共通の一般的な知識の一部を形成する旨の容認又は承認又はいかなる形式の示唆としても解釈されず、解釈されるべきではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
科学の世界、工学の世界、及びビジネスの世界のあらゆる態様を記述する何千もの公的なオントロジー及び私的なオントロジーがある。本発明は、これらの高度なオントロジーにおける知識及びメタデータをデータ構造又は構造の欠如に関わりなく、あらゆるデータの管理にも適用できるようにするプロセスのセットを説明する。
【０００４】
知識及びデータの爆発的な増加は、管理するための又は記述するための従来の情報管理機構の能力を超えている。オントロジー等のセマンティックＷｅｂ技術、並びにＯＷＬ（ウェブオントロジー言語）及びＲＤＦ（リソース・ディスクリプション・フレームワーク）等の新しい言語は、健康、医学、又は工学等のリンクされた概念の記述を、過去に不可能であった詳細で、及び人間と機械の両方が理解可能である方法で記述できるようにする。これらのオントロジーは通常、主題の専門家（オントロジスト）のチームによって作成され、頻繁に公に利用できる。
【０００５】
現在、リンクされている概念を定義するオントロジーの操作はおもに学者たち及び専門的なオントロジストに限定されている。これらのオントロジーは何千ものリンクされた概念を含むことがある。１つの概念、公理、又はデータプロパティを削除しても関係性の多くを無効にするだろう。手動で影響を決定することは長く退屈なプロセスである。
【０００６】
本プロジェクトによって対応されているビジネスニーズの中に、オントロジーの専門知識をほとんど又は少しも有さない人が簡略的で分かりやすい方法でオントロジーのすべての詳細にアクセスできるようにすることがある。さらに、その人は簡略化されたクエリー構築機構を使用し、オントロジーによって記述されるデータを選択し、検査できるようになるだろう。彼らは、依然として実行されている元のオントロジーに存在するすべての制約及び推定によりデータに記録を追加できるようになるだろう。最終的には、彼らは、本部の職員が使用するのに適したスタンドアロン型アプリケーションとしてコード及び画面を生成し、配備できるようになるだろう。
【０００７】
特定のビジネス又は研究のニーズは、おそらく不同等の分野から、複数のオントロジーからの概念を必要とする可能性がある。係る場合、２つのオントロジーの概念間のアラインメントが必要とされることがある。これらの合わされたオントロジーは、次いで、ビジネス又は組織の特定のニーズに特有なターゲットオントロジーを与えるために切り詰められることがある。
【０００８】
本発明は、必要とされるアラインメント方法及び切り詰め方法を提供するだけではなく、ビジネスの状況に特有の同義語及び同音異義語を活用し、概念及び幅広いネイティブインデックスのセマンティックマッチングを実行するための技術的なツールも提供する。
【０００９】
このツールセットを用いて、ユーザは不同等のデータソースにアクセスし、コンテキスト特有のオントロジーにデータソースをマップし、不同等のオントロジーを合わせ、次いで関連性のある情報だけを含めるために、合わせられたオントロジーを切り詰めることができる。次いで、ユーザは自分の選択のフォーマットにデータを抽出し、基本的なオントロジーの公理及び推測を理解し、ターゲットデータベースに対してプログラムコードを通じてそれらを実装する、生成されたアプリケーションを介してデータにアクセスできる。
【００１０】
例えば、医師は、アクセスされている多様なレコードレイアウトについて懸念することなく、診断システム及びイメージングシステムを加えた複数の業務管理システム、病院システム、及び健康システムから患者記録にアクセスできるだろう。医学研究者は、ゲノム分析、薬剤開発、及び試験等の実験室研究データに係るデータを結合することができるだろう。
【００１１】
交通工学者は、気圧データ、ＣＣＴＶフィード、ツイッター、及びイベントカレンダに信号データを結合することができるだろう。電気通信企業は、その範囲内のモデルごとに各製造メーカによって作成される新しい各電話機能用に特定のコードを書き込むことを必要とせずに、新しい呼出データレコード構造の９９％を受け入れることができる。
【００１２】
最後に、業務の範囲では、新しいＩＴソフトウェアの市場までの時間は、業務の問題を記述し、次いでコードを生成して、記述される業務規則を実行するために適切に調整されたオントロジーを使用することによって大幅に削減される。これらの業務規則は従来のデータだけではなくビッグデータのすべての態様にアクセスできる。
【００１３】
米国第７，４６４，０９９号は、ファイル及びデータベースからコンテンツを転送する方法を提供する。この場合、ファイルは、それぞれコンテンツインスタンスがそれぞれのフィールドと関連付けられ、各フィールドがそれぞれのタイプを有するコンテンツインスタンスを含む。転送は、各フィールドのタイプを決定し、関連付けられたフィールドの決定されたフィールドタイプに従ってストアに各コンテンツインスタンスを記憶することによって達成される。各コンテンツインスタンスは、次いで、決定されたフィールドタイプに従ってデータベースに転送できる。類似する手順が、データベースの中のコンテンツに基づいてＸＭＬファイルを作成するために提供される。
【課題を解決するための手段】
【００１４】
第１の態様では、本発明はオントロジーを使用し、マッピングを生成する際に使用するための装置を提供し、装置は、
それぞれのオントロジー用語を有するオントロジーを決定し、
該オントロジーの少なくとも１つからオントロジー用語のグループを決定し、
オントロジー用語の該グループの少なくともいくつかについて該オントロジーのオントロジー用語間のアラインメントを決定し、アラインメントがオントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定され、
アラインメントに従ってマッピングを生成する
少なくとも１つの電子処理装置を含む。
【００１５】
好ましくは、マッピングは、
マージされたオントロジー、及び
アラインメントインデックス
の内の少なくとも１つであってよい。
【００１６】
好ましくは、オントロジーは、
推測上のオントロジー、及び
様式化オントロジー
を含んでもよい。
【００１７】
好ましくは、電子処理装置は、様式化オントロジーに推測上のオントロジーをマップするためにマッピングを生成してよい。
【００１８】
好ましくは、マッピングは、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータ構造を有するターゲットデータストアにコンテンツを転送する際に使用されてよく、オントロジーはソースデータ構造及びターゲットデータ構造と関連付けられ、電子処理装置はマッピングを使用し、ソースデータフィールドとターゲットデータフィールドとの間でコンテンツを転送する。
【００１９】
好ましくは、オントロジーはソースデータ構造と関連付けられたソースオントロジー及びターゲットデータ構造と関連付けられたターゲットオントロジーを含んでよい。
【００２０】
好ましくは、ソースオントロジー及びターゲットオントロジーは推測上のオントロジーであってよく、ソースオントロジー及びターゲットオントロジーは１つ又は複数の様式化オントロジーにマップされる。
【００２１】
好ましくは、電子処理装置は、
推測上のオントロジーを生成すること、及び
いくつかの既存のオントロジーの１つを選択すること
によってオントロジーを決定してよい。
【００２２】
好ましくは、電子処理装置は、
データ構造と関連付けられたメタデータと、
データ構造のデータフィールド
の少なくとも１つを使用し、オントロジーを選択してよい。
【００２３】
好ましくは、電子処理装置は、
いくつかの既存のオントロジーのオントロジー用語にデータフィールドを比較すること、及び
比較の結果に従っていくつかの既存のオントロジーの１つを選択すること
によっていくつかの既存のオントロジーの１つを選択してよい。
【００２４】
好ましくは、電子処理装置は、
スキーマのテーブルを識別することと、
各テーブルに対応するオントロジー用語を作成することと、
少なくとも１つの部品表テーブルを識別することと、
部品表テーブルの各エントリに対応するオントロジー用語を作成すること
によってデータベーススキーマから推測上のオントロジーを生成してよい。
【００２５】
好ましくは、電子処理装置は、
部品表テーブルの各エントリに対応するオントロジー用語の表示を表示することと、
ユーザ入力コマンドに応じて推測上のオントロジーにオントロジー用語を追加すること
によってデータベーススキーマから推測上のオントロジーを生成してよい。
【００２６】
好ましくは、電子処理装置は、データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性を生成してよい。
【００２７】
好ましくは、推測上のオントロジーは、
オントロジー用語に対応するクラスと、
クラスの少なくともいくつかのデータプロパティと、
クラス間の関係性を定義するオブジェクトプロパティと
を含んでもよい。
【００２８】
好ましくは、電子処理装置は、
少なくとも１つのオントロジーにインデックスを決定してよく、インデックスは該少なくとも１つのオントロジーのオントロジー用語の表示を含み、
インデックスを使用して、
オントロジー用語のグループ、及び
オントロジー用語間のアラインメント
を決定する。
【００２９】
好ましくは、オントロジー用語ごとに、インデックスは、
オントロジー用語意味と、
オントロジー用語タイプ
の表示を含んでよい。
【００３０】
好ましくは、電子処理装置は、オントロジー用語ごとに、
オントロジー用語名を識別することと、
オントロジー用語タイプを識別することと、
セマンティックマッチングプロセスを使用し、各オントロジー用語のオントロジー意味を識別することと、
オントロジー用語名、オントロジー用語タイプ、及びオントロジー用語意味の表示を含んだインデックスエントリを作成すること
によってインデックスを生成してよい。
【００３１】
好ましくは、電子処理装置は複数のオントロジーのために単一のインデックスを生成し、インデックスエントリはオントロジー用語と関連付けられたオントロジーの表示を含む。
【００３２】
好ましくは、電子処理装置は、
オントロジーに１つ又は複数のオントロジー用語の表示を表示し、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別する、及び
少なくとも１つの識別されたオントロジー用語と、
少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティと
の少なくとも１つの詳細を表示してよい。
【００３３】
好ましくは、電子処理装置は、インデックスを使用し、１つ又は複数のオントロジー用語の表示を決定してよい。
【００３４】
好ましくは、電子処理装置は、
ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティを決定し、
ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティに従って実行可能なコードを生成し、実行可能なコードは、コンピュータシステムでの実行時、コンピュータシステムに、ユーザがデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするためのユーザインタフェースを表示させてよく、コンテンツはユーザによって選択されたオントロジー用語に対応するデータフィールドに記憶される。
【００３５】
好ましくは、実行可能なコードは、コンピュータシステムにソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させてよい。
【００３６】
好ましくは、実行可能なコードは、コンピュータシステムにデータプロパティ及びオントロジーのユーザによって選択されたオントロジー用語間の関係性の少なくとも１つに従ってクエリーを生成させてよい。
【００３７】
好ましくは、実行可能なコードは、コンピュータシステムに、
１つ又は複数のオントロジー用語の表示を表示させ、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定させ、
選択されたオントロジー用語と関連付けられたデータフィールドに記憶されたデータにクエリーを行わせる。
【００３８】
好ましくは、電子処理装置は、
いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較し、
比較の結果に従ってオントロジー用語意味として潜在的なオントロジー用語意味の１つを選択してよい。
【００３９】
好ましくは、電子処理装置は、
各比較の結果にマッチングスコアを生成することと、
マッチングスコアに従ってオントロジー用語意味を決定すること
によってオントロジー用語意味を決定してよい。
【００４０】
好ましくは、電子処理装置は、潜在的なオントロジー用語意味が、
同義語、
反意語、
部分語、
スーパークラス、及び
サブクラス
の少なくとも１つであるかどうかを判断してよい。
【００４１】
好ましくは、電子処理装置は、インデックスにオントロジー用語意味の表示を記憶してよく、表示は、
定義された意味を示す識別子、及び
同等の意味のリスト
の少なくとも１つを含む。
【００４２】
好ましくは、電子処理装置は、
いくつかのオントロジー用語のオントロジー用語意味を比較することと、
各比較の結果にマッチングスコアを生成することと、
マッチングスコアに従ってアラインメントを決定すること
によってオントロジー用語間のアラインメントを決定してよい。
【００４３】
好ましくは、電子処理装置は、
オントロジー用語間の関係性、及び
オントロジー用語のデータプロパティ
の少なくとも１つに基づいてアラインメントをさらに決定してよい。
【００４４】
好ましくは、電子処理装置は、
ソースオントロジーのソースオントロジー用語間の関係性を決定し、
ターゲットオントロジーのターゲットオントロジー用語間の関係性を決定し、
関係性を比較し、
比較の結果に従ってアラインメントを決定してよい。
【００４５】
好ましくは、電子処理装置は、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語との間のアラインメントを決定してよい。
【００４６】
好ましくは、電子処理装置は、
選択されたオントロジー用語を決定すること、及び
選択されたオントロジー用語及び選択されたオントロジー用語の関係性に少なくとも部分的に従ってオントロジー用語のグループを決定すること
によってオントロジー用語のグループを決定してよい。
【００４７】
好ましくは、電子処理装置は、
選択されたオントロジー用語ごとに、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別することと、
オントロジー用語のグループに識別されたオントロジー用語を追加すること
によって、関係するオントロジー用語を決定してよい。
【００４８】
好ましくは、電子処理装置は、すべての選択されたオントロジー用語が関係性によって接続されるまで識別されたオントロジー用語を繰り返し追加してよい。
【００４９】
好ましくは、電子処理装置は異なるタイプの関係性に異なる関係性経路長を使用してよい。
【００５０】
好ましくは、電子処理装置は、ユーザ入力コマンドに従って関係性経路長を決定してよい。
【００５１】
好ましくは、装置は、
オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュールと、
オントロジーのオントロジー用語のブラウズを可能にし、オントロジーの少なくとも１つを具現化するコードを生成し、それによってユーザがオントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュールと、
オントロジー用語異なるオントロジー間でアラインメントを決定するアライナモジュールと、
オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュールと、
オントロジー用語意味を識別するセマンティックマッチャモジュールと
を含んでもよい。
【００５２】
第２の態様では、本発明は、オントロジーを使用し、マッピングを生成する際に使用するための方法を提供し、方法は、少なくとも１つの電子処理装置において、
それぞれのオントロジー用語を有するオントロジーを決定することと、
オントロジーの少なくとも１つからオントロジーのグループを決定することと、
オントロジー用語グループの少なくともいくつかのためにオントロジーのオントロジー用語間のアラインメントを決定することであって、アラインメントがオントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定される、オントロジーのオントロジー用語間のアラインメントを決定することと、
アラインメントに従ってマッピングを生成すること
を含む。
【００５３】
本発明の例は、ここで添付図面を参照して説明される。
【図面の簡単な説明】
【００５４】
【図１Ａ】オントロジーを使用し、マッピングを生成する際に使用するための方法の例のフローチャートである。
【図１Ｂ】オントロジー構造例に基づいた異なるマッピング例の概略図である。
【図２】分散型コンピュータアーキテクチャの例の概略図である。
【図３】基地局処理システム例の概略図である。
【図４】コンピュータシステムの例の概略図である。
【図５】ソースデータ構造とターゲットデータ構造との間でコンテンツを転送するためのマッピングを生成する際に使用するための方法例のフローチャートである。
【図６】推測上のオントロジーを生成する方法例のフローチャートである。
【図７】インデックスを決定する方法例のフローチャートである。
【図８】オントロジーをブラウズする方法例のフローチャートである。
【図９】オントロジーを切り詰めるための方法例のフローチャートである。
【図１０】オントロジーを合わせるための第２の方法例のフローチャートである。
【図１１】セマンティックマッチング方法の例のフローチャートである。
【図１２Ａ】オントロジー例の概略図である。
【図１２Ｂ】オントロジー例の概略図である。
【図１３】オントロジーと対話するために使用されるモジュールの概略図である。
【図１４Ａ】図１３のＥＴＬ（抽出変換負荷）モジュールのソフトウェアスタックの例の概略図である。
【図１４Ｂ】図１３のＥＴＬモジュールを実装するために使用されるアーキテクチャの概略図である。
【図１５】図１３のブラウザモジュールの機能性の例の概略図である。
【図１６】図１３のインデクサモジュールの機能性の例の概略図である。
【図１７Ａ】図１３のプルーナモジュールの機能性の例の概略図である。
【図１７Ｂ】切り詰めプロセスの例の概略図である。
【図１７Ｃ】切り詰めプロセスの例の概略図である。
【図１７Ｄ】切り詰めプロセスの例の概略図である。
【図１８Ａ】図１３のセマンティックマッチャモジュールの機能性の第１の例の概略図である。
【図１８Ｂ】図１３のセマンティックマッチャモジュールの機能性の第２の例の概略図である。
【図１８Ｃ】テーブル間の関係性の例の概略図である。
【図１８Ｄ】図１３のセマンティックマッチャモジュールの機能性の第３の例の概略図である。
【図１９Ａ】「物事データベース」の例の概略図である。
【図１９Ｂ】不同等のソースを一元化するためのフレームワーク例の概略図である。
【図１９Ｃ】図１３のアライナモジュールの機能性の例の概略図である。
【図１９Ｄ】マージされたオントロジーの例の概略図である。
【図１９Ｅ】マージされたオントロジーの例の概略図である。
【発明を実施するための形態】
【００５５】
オントロジーを使用し、マッピングを生成する方法例はここで図１Ａを参照して説明される。
【００５６】
この例の目的のために、プロセスは、より詳細に以下に説明されるように、コンピュータシステムのマイクロプロセッサ等の電子処理装置を使用し、少なくとも部分的に実行されることが仮定される。
【００５７】
例の少なくともいくつかでは、コンテンツが、データベース又はファイル等のコンテンツレポジトリとして作用するデータストアのコンテンツフィールドに１つ又は複数のコンテンツインスタンスとして記憶されると仮定される。したがって、コンテンツフィールドは、１つ又は複数のデータベースフィールドにわたって記憶される値を含んだ、データベースレコードに対応するコンテンツインスタンスを有するデータベースのデータベースフィールドとなるだろう。代わりに、コンテンツフィールドは、以下の説明から明らかになるように、例えばデータがデータベースから抽出される、及び／又はデータベースに転送されるとき、データをトランスポートするために使用されてよいＸＭＬファイル等のファイルの中に定義されたフィールドとなるだろう。別の代替策として、コンテンツフィールドは、以下の説明から明らかになるように、例えば、データがＲＤＦトリプルストアデータベースから抽出される、及び／又はＲＤＦトリプルストアデータベースに転送されるとき、データをトランスポートするために使用されてよいＲＤＦトリプルストア等のファイルの中で定義されるフィールドとなるだろう。
【００５８】
以下の説明を通して説明の目的上、用語「ソース」は、データがそこから抽出されているデータベース又はファイル等のデータストアを指すために使用される。一方、用語「ターゲット」は、データがその中に記憶されているデータベース又はファイル等のデータストアを指すために使用される。これらの用語は、例えば、考えられるソースとターゲットを区別するため等の説明のためだけであり、制限的になることを意図していない。
【００５９】
用語「コンテンツインスタンス」は、ソースから抽出中、及び／又はターゲットに転送中であり、制限的になることを意図していないコンテンツの個々の要素である。例えば、用語コンテンツインスタンスは、いくつかの異なるデータベースフィールドに記憶された値を有するデータベースレコード若しくは関係するデータベースレコードのセットを指すことがある、又は代わりに単一のフィールドの中に記憶された単一の値を指すことがあるだろう。
【００６０】
用語「オントロジー」は、ドメインの中の概念のセットとして、それらの概念のタイプ、プロパティ、及び相互関係を示すために共有された語彙を使用し、知識を表す。オントロジーは、通常、個人、クラス、オブジェクト、属性等のいくつかの構成要素を含み、用語「オントロジー用語」は概して、これらの構成要素及び任意選択でこれらの概念の特定の概念を指すために使用される。
【００６１】
用語「意味」は、特定のオントロジー用語、コンテンツフィールド名等の意味解釈を指すことを目的とする。したがって、用語意味は、以下により詳細に説明されるように、例えば同音異義語、同義語、部分語等の問題を説明するために、オントロジー用語又はコンテンツフィールドの意図された意味を包含する。
【００６２】
この例では、ステップ１００で、電子処理装置はそれぞれのオントロジー用語を有するオントロジーを決定する。このプロセスは任意の適切な方法で実行することができ、これは電子処理装置に、例えば１つ又は複数のオントロジーデータベースに記憶されている、いくつかの既存のオントロジーの内の１つ又は複数を選択させることを含むことがあり、又は代わりに推測上のオントロジーを生成することによって達成できるだろう。一例では、選択されたオントロジーは、ソースデータ構造と関連付けられたソースオントロジー、及びターゲットデータ構造と関連付けられたターゲットオントロジーに相当する。ただし、これは必須ではない。
【００６３】
オントロジーの選択は、ソースデータ構造又はターゲットデータ構造に基づいて達成でき、適切なマッチが見つけられるまでオントロジー用語にデータ構造の中のフィールドを比較することを含むことがあるだろう。また、このプロセスは、いくつかのオントロジーのドメインを調べ、ドメイン、したがってコンテンツの特定の主題フィールドに関連性のあるオントロジー、コンテンツが関係する業界等を選択することも含むだろう。オントロジーの選択は、例えば電子処理装置に、関連するコンテンツの主題フィールドの表示を提供することによって自動化されることがあり、例えば電子処理装置にユーザがこれらを選択できるようにする利用可能なオントロジーの詳細を表示させることによって手動になることがあり、又は手動プロセス及び自動プロセスの組合せによることがある。
【００６４】
代わりに、これは、例えばメタデータ、データベーススキーマ等を使用し、ソースデータ構造又はターゲットデータ構造から『推測上の』オントロジーを生成することを含むことがあるだろう。このプロセスは相関的な参照整合性の制約からなんらかのオントロジー公理を導き出すことを含むことがあるが、大部分の公理は手作業で追加する又は無視する必要があるだろう。この推測上のオントロジーはメタデータを追加するために既存の豊かなオントロジーと合わせられてよい。
【００６５】
ステップ１１０で、電子処理装置はオントロジーの少なくとも１つからオントロジー用語のグループを決定する。オントロジー用語のグループは、通常、それぞれのオントロジーのサブグループであり、関係するオントロジー用語のグループを表す。グループは通常、例えば対象のオントロジー用語に対応する選択されたオントロジー用語を含む。したがって、例えば、ソースデータ構造及びターゲットデータ構造をマップする際に使用されるとき、オントロジー用語のグループは、例えばその中のコンテンツを抽出し、ターゲットデータストアに転送できるようにするためにターゲットデータフィールド又はソースデータフィールドにマップされるべきであるソースデータフィールド又はターゲットデータフィールドに対応する選択されたオントロジー用語を含むことがある。グループは、さらに通常、選択されたオントロジー用語間の関係性を維持するために必要とされるオントロジー用語を含む。
【００６６】
グループがどのようにして決定されるのかは好まれる実装に応じて変化し、例えば抽出されるコンテンツに基づいて、いくつかの従前の決定されたグループの１つを選択することを含むことがあるだろう。ただし、代わりに、これは、選択されたオントロジー用語を識別することによってグループを生成することを含み、次いで選択されたオントロジー用語のそれぞれを接続する経路が見つけられるまで関係するオントロジー用語を漸次的に調べる。このプロセスは、それが、オントロジー全体よりもより容易に管理できるが、依然としてオントロジーの構造及び公理を維持する、削減された数のオントロジー用語にオントロジーを切り詰めることを実際上含むことがあるので、切り詰めることと呼ばれることがある。
【００６７】
ステップ１２０で、電子処理装置は、オントロジー用語のグループの少なくともいくつかについてオントロジー用語間のアラインメントを決定し、アラインメントはオントロジー用語のオントロジー用語意味に従って少なくとも部分的に決定される。したがって、電子処理装置は一方のオントロジーのオントロジー用語の少なくとも意味を調べ、他方のオントロジーの同等のオントロジー用語を識別しようと試みる。したがって、最も簡略なレベルで、これは同じ意味を有するソースオントロジー用語及びターゲットオントロジー用語を識別することを含むことがあるが、より典型的には、ソースオントロジー用語及びターゲットオントロジー用語が他方のソースオントロジー用語及びターゲットオントロジー用語と類似した関係性を有するかどうかを識別するために、ソースオントロジー用語間、及びターゲットオントロジー用途間の関係性も調べる。
【００６８】
アラインメントは１対１のマッピングである必要はなく、一方のオントロジーでの単一のオントロジー用語が他方のオントロジーでの複数のオントロジー用語と一致することがあることに留意されたい。ターゲットオントロジーが名前及び苗字を別々の概念として定義することがあり、その場合コンテンツは、コンテンツがソースからターゲットに転送される際にマージされる必要があるのに対し、例えば、ソースオントロジーは単一の概念として個人の名前を定義してよい。
【００６９】
ステップ１３０で、電子処理装置はアラインメントに従ってマッピングを生成するために機能する。マッピングはオントロジー自体の間のマッピングを表すことがある、及び／又はターゲットオントロジー用語とソースオントロジー用語の間のアラインメントに基づいて、それぞれのソースデータ構造及びターゲットデータ構造のソースデータフィールドとターゲットデータフィールドの間のマッピングを表すことがある。このようにして、例えば電子処理装置はソースデータフィールドについて対応するソースオントロジー用語を、次いでアラインメントを使用し、合わせられたターゲットオントロジー用語、したがってターゲットデータフィールドを決定できる。マッピングは次いで通常マッピングファイル、インデックス、テーブル、マージされたオントロジー等の形式で記憶され、後にデータを転送する際にマッピングを使用できるようにする。
【００７０】
したがって、上記プロセスは、２つのオントロジーを合わせることを可能にし、これは同様にマッピングを作成するために使用される。マッピングは異なるオントロジーでオントロジー用語を等しくするために使用でき、これを同様に、それぞれのオントロジーを使用し、ソースデータフィールドをターゲットデータフィールドにマップするために使用できるようにする。このマッピングは、コンテンツが異なるデータ構造を有するデータストア間で転送されているときにもコンテンツの構造が維持されることを保証するために役立つオントロジーを使用して、ソースとターゲットの間でコンテンツを転送する際に使用できる。また、オントロジーの使用は、例えば、コンテンツが必要とされる通常の形式をとり、必要とされる場合には正規化も提供することを保証するために、転送されているコンテンツの整合性が維持される、又はそれが転送される際に改善されていることを保証するのに役立つこともある。このようにして、オントロジーを使用することは、コンテンツがソースからターゲットデータストアに転送される際に追加の関係性制限を課すことを可能にし、これによりソースデータストアのデータが第３の通常の形式で記憶されない場合にも、データは、転送される際に第３の通常に変換できる。
【００７１】
プロセスがソースデータ構造とターゲットデータ構造との間でマッピングを作成するために使用されているとき、ソースオントロジー及びターゲットオントロジーは、Ｇａｌｅｎオントロジー（概して様式化オントロジーと呼ばれる）等の公式に作成されたオントロジー等の従前に定義されたオントロジーであることがある、又は代わりにデータ構造自体に基づいて生成される推測上のオントロジーであることがある。これは、図１Ｂを参照してここで説明されるように、いくつかの異なるマッピング関係を確立できるようにする。
【００７２】
この例では、それぞれのソースデータ構造及びターゲットデータ構造Ｓ、Ｔを有するソースデータストア及びターゲットデータストアが示される。各データストアは対応する推測上のオントロジー１５０，１６０を有することがあり、対応する様式化オントロジー１５１、１６１も存在している。これが、いくつかの異なるマッピングと確立できるようにする。
【００７３】
例えば、マッピングは、推測上のオントロジー１５０、１６０間で直接的に作成することができ、ソースとターゲットＳ、Ｔの間で直接的にコンテンツを転送できるようにする。
【００７４】
さらに、及び／又は代わりに、マッピングは、上述された技法を使用し、推測上のオントロジー１５０、１６０と対応する様式化オントロジー１５１、１６１との間で作成できるだろう。このプロセスは、ソースデータ構造又はターゲットデータ構造Ｓ、Ｔに基づいて推測上のオントロジー１５０、１６０を作成し、次いで実質的に自動で様式化オントロジー１５１、１６１にマップし、それによって推測上のオントロジー１５０、１６０のオントロジー用語に、意味、定義、及び潜在的な関係性を提供することを可能にする。また、このプロセスはそれぞれのデータ構造に記憶されるデータを正規化する際にも使用できる。
【００７５】
オントロジー１５１、１６１が同一である場合、様式化オントロジー１５１、１６１に推測上のオントロジー１５０、１６０をマップすることは、ソースとターゲットＳ、Ｔの間でコンテンツを転送できるようにする。代わりに、様式化オントロジーは、ソースとターゲットＳ、Ｔとの間でのコンテンツの転送を再び可能にするためにそれらの間のマッピングを可能にするために合わせることもできるだろう。
【００７６】
したがって、上述された技法はオントロジー間でマッピングを作成するために使用することができ、これらは同様にソースデータ構造とターゲットデータ構造との間で直接的にマッピングを確立するために使用されることが理解される。これは、不同等のソース及びターゲット間でのコンテンツの転送を促進し、様式化データ構造に従ってこれを実行できるようにし、それによってコンテンツが正規化された形式で提供されることを保証する。したがって、これは不同等のデータ構造間のコンテンツ転送を可能にするだけではなく、非正規化形式で記憶されるデータと関連付けられた問題を克服するために使用することもできる。
【００７７】
いくつかの追加の特徴がここで説明される。この点で、電子処理装置は、ここでさらに説明されるように、通常、いくつかの異なる機能を実行して、オントロジーのインデックスを生成すること、ユーザがオントロジーをブラウズし、オントロジーと対話し、オントロジーを切り詰め、オントロジー用語の意味を解釈することを可能にすることを含んだ上述のプロセスを容易にするように適合される。
【００７８】
上述されたように、マッピングは任意の形式となることがある。マッピングがオントロジー間であるとき、以下により詳細に説明されるように、これはマージされたオントロジー、又は代わりにアラインメントインデックスの形式となることがある。
【００７９】
含まれているオントロジーは、好ましい実装に応じて推測上のオントロジー及び／又は様式化オントロジーを含むことがある。１つの特定の例では、電子処理装置は様式化オントロジーに推測上のオントロジーをマップするためにマッピングを生成する。
【００８０】
また上述されたように、マッピングは、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータストアを有するターゲットデータストアにコンテンツを転送する際に使用でき、オントロジーはソースデータ構造及びターゲットデータ構造と関連付けられ、電子処理装置はマッピングを使用し、ソースデータフィールドとターゲットデータフィールド間でコンテンツを転送する。したがって、オントロジーはソースデータ構造と関連付けられたソースオントロジー、及びターゲットデータ構造と関連付けられたターゲットオントロジーを含むことがあり、ソースオントロジー及びターゲットオントロジーは１つ又は複数の様式化オントロジーにマップされた推測上のオントロジーである。
【００８１】
したがって、上述されたプロセスでは、電子処理装置は、推測上のオントロジーを生成する又はいくつかの既存の推測上のオントロジー若しくは様式化オントロジーの内の１つを選択することによってオントロジーを決定できる。
【００８２】
電子処理装置は、通常、ソースデータ構造若しくはターゲットデータ構造と関連付けられたメタデータ、又はソースデータ構造若しくはターゲットデータ構造のソースデータフィールド及びターゲットデータフィールドのどちらかを使用し、ソースオントロジー又はターゲットオントロジーを決定する。このプロセスは、推測上のオントロジーを生成すること、又は例えばオントロジーデータベース等のストアに記憶されているオントロジーからいくつかの既存のオントロジーの１つを選択することを含むことがあるだろう。この後者の場合、電子処理装置は、いくつかの既存のオントロジーのオントロジー用語とデータ構造データフィールドを比較し、比較の結果に従って該いくつかの既存のオントロジーの１つを選択できる。
【００８３】
代わりに、例えばデータベーススキーマからオントロジーを生成するとき、電子処理装置は、通常、スキーマのテーブルを識別し、各テーブルに対応するオントロジー用語を作成し、少なくとも１つの部品表テーブルを識別し、部品表テーブルの各エントリに対応するオントロジー用語を作成する。このようにして、このプロセスはあらゆる非正規化データベーステーブルのコンテンツを調べるために機能し、追加のオントロジー用語を識別するためにこのテーブルのコンテンツを拡大する。このプロセスの一部として、電子処理装置は部品表テーブルの各エントリに対応するオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて推測上のオントロジーに該オントロジー用語を追加できる。これにより、ユーザは、必要な場合、オントロジーの作成を無効にできる。
【００８４】
電子処理装置は、推測上のオントロジーを生成するとき、データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性をさらに生成できる。このプロセスは、電子処理装置が、オントロジー用語に対応するクラス、クラスの少なくともいくつかに対するデータプロパティ、及びクラス間の関係性を定義するオブジェクトプロパティを含んだ推測上のオントロジーを生成できるようにする。
【００８５】
一例では、電子処理装置は、少なくとも１つのオントロジーのオントロジー用語の表示を含んだ、少なくとも１つのオントロジーのためのインデックスを決定し、オントロジー用語のグループ及びオントロジー用語間のアラインメントを決定するためにインデックスを使用する。インデックスの使用は必須ではないが、インデックスの使用は、オントロジー全体の使用と比較して処理する必要があるデータの量をかなり削減し、それによってブラウズ、グループ化（切り詰め）、及びアラインメントのプロセスをより扱いやすくする。
【００８６】
インデックスは任意の適切な形式となることがあるが、通常、オントロジー用語ごとに、オントロジー用語の名前、及びオントロジー用語の意味の表示、及びオントロジー用語のタイプを含む。また、インデックスは、ＵＲＩ（ユニフォーム・リソース・アイデンティファイア）等の形式をとることがあるだろう、それぞれのオントロジーでのオントロジー用語のアドレス等の追加の情報を含んでもよい。
【００８７】
電子処理装置は、オントロジー用語ごとに、オントロジー用語名を識別し、オントロジー用語タイプを識別し、セマンティックマッチングプロセスを使用して各オントロジー用語のオントロジー意味を識別し、オントロジー用語名、オントロジー用語タイプ、及びオントロジー用語意味の表示を含んだインデックスエントリを作成することによってインデックスを生成する。
【００８８】
一例では、電子処理装置は、複数のオントロジーのために単一のインデックスを生成し、これは必須ではなく、代わりに別個のインデックスが、インデックスが付けられるオントロジーごとに使用できるが、インデックスエントリはオントロジー用語と関連付けられたオントロジーの表示を含む。
【００８９】
電子処理装置は、通常さらに、オントロジーに１つ又は複数のオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別し、少なくとも１つの識別されたオントロジー用語及び少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティの内の少なくとも１つの詳細を表示するように適合される。したがって、これによりユーザはオントロジーをブラウズし、その中に定義されたオントロジー用語の詳細を見ることができる。これは、ユーザが、正しいオントロジーが使用されているかどうかを評価し、オントロジーの範囲を理解し、異なるオントロジー用語間の関係性を探索し、ソースデータ構造又はターゲットデータ構造がどのようにオントロジーに関係するかを評価することを可能にするために有用であることがある。
【００９０】
電子処理装置は、通常、オントロジーインデックスを使用し、１つ又は複数のオントロジー用語の表示を決定する。したがって、インデックスが、オントロジー用語のリストを表示し、次いでその後選択されたオントロジー用語と関連付けられたデータプロパティを探索するために電子処理装置に迅速な仕組みを提供することが理解される。
【００９１】
電子処理装置は、通常、ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語、及び対応するユーザによって選択されたデータプロパティを決定するように適合される。これは選択されたオントロジー用語及びデータプロパティの詳細を表示するために使用できるだけではなく、電子処理装置が実行可能コードを生成できるようにもする。実行可能コードは、ユーザによって選択されたオントロジー用語及びデータプロパティに基づき、コンピュータシステムで実行されるとき、コンピュータシステムに、ユーザが、ユーザによって選択されたオントロジー用語に対応するデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするユーザインタフェースを表示させる。したがって、これは、電子処理装置が、ユーザがコンテンツと対話し、その後それぞれのソースデータ構造及び／又はターゲットデータ構造からコンテンツをエクスポートする又はコンテンツをインポートすることを可能にするインタフェースを表示するために使用できるコードを自動的に生成できるようにするための機構を提供する。
【００９２】
したがって、これによってユーザがオントロジーの中のオントロジー用語をブラウズし、次いでデータ構造のデータフィールドに対応するオントロジー用語を選択できることが理解される。これは、同様に、ユーザが次いでデータ構造の中に記憶されたコンテンツと対話できるようにするインタフェースとして作用することができるコードを生成できるようにする。
【００９３】
一例では、実行可能コードは、コンピュータシステムに、例えばＳＰＡＲＱＬ（ＳＰＡＲＱＬプロトコル及びＲＤＦクエリー言語）を使用し、例えば、クエリーを行い、コンテンツを取り出すことによってソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させる。これは、データベースに対するインタフェースとして作用することができるコンピュータソフトウェアを迅速に配備するための機構を提供する。さらに、これがオントロジーに基づいて生成されているおかげで、それはオントロジーの中で定義された関係性をコードの構造、したがって結果として生じるクエリーの中に統合できる。したがって、これによってコンピュータシステムは、データプロパティ又はユーザによって選択されたオントロジー用語間の関係性に従ってクエリーを生成できる。
【００９４】
これを達成するために、コンピュータシステムは、通常、例えばソースオントロジー又はターゲットオントロジーから１つ又は複数のオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定し、対応するデータフィールドに記憶されたデータにクエリーを行う。
【００９５】
オントロジー用語の意味を決定し、異なるオントロジー用語の意味の類似性を比較するために、電子処理装置は通常セマンティックマッチングを実行するように適合される。これは、通常、例えば概念マッチングデータベース等の参照データベースに記憶された、いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較すること、及び比較の結果に従ってオントロジー用語意味として潜在的なオントロジー用語意味の１つを選択することを含む。
【００９６】
これを達成するために、電子処理装置は、各比較の結果にマッチングスコアを生成し、マッチングスコアに従ってオントロジー用語意味を決定することによってオントロジー用語意味を決定する。マッチングスコアを決定する際に、電子処理装置は、潜在的なオントロジー用語意味が、検討中のオントロジー用語の同義語、反意語、部分語、スーパークラス、及びサブクラスの内の少なくとも１つであるかどうかを判断する。
【００９７】
いったんオントロジー用語意味が作成されると、これの表示は通常インデックスの部分として記憶され、表示は定義された意味を示す識別子及び同等な意味のリストの少なくとも１つを含む。したがって、単一の一意識別子がいくつかの異なるオントロジーの中の各一意の概念に割り当てられ、異なるオントロジー全体で共通の識別子によって共通の意味を識別できるようにする。識別子は、好ましい実装に応じて一意の英数字コード、見出し語、語根等であるだろう。これにより、同等なオントロジー用語、したがって合わせられたオントロジー用語を識別するプロセスははるかに容易になる。
【００９８】
同様に、電子処理装置は、通常、いくつかのオントロジー用語のオントロジー用語意味を比較し、各比較の結果にマッチングスコアを生成し、マッチングスコアに従ってアラインメントを決定することによってオントロジー用語間のアラインメントを決定する。また、より典型的には、電子処理装置は、オントロジー用語、又はオントロジー用語のデータプロパティの間の関係性に基づいてアラインメントを決定する。したがって、これは、アラインメントが存在するかどうかを判断するために、用語の絶対的な意味だけではなく、オントロジーの相対的な構造も考慮に入れる。したがって、電子処理装置はソースオントロジー用語間の関係性を決定し、ターゲットオントロジー用語間の関係性を決定し、関係性を比較し、比較の結果に従ってソースオントロジー用語とターゲットオントロジー用語間のアラインメントを決定できる。
【００９９】
電子処理装置は、通常、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語間のアラインメントを決定し、したがってこれが１対１の関係性、多対１の関係性、及び１対多の関係性を包含できるようにする。
【０１００】
上述されたように、電子処理装置は、例えば現在の用途に関連性がない又は使用されていないオントロジー用語を削除することができ、現在の状況に関連性があるオントロジー用語だけが残るようにオントロジーを切り詰めることによってオントロジー用語のグループを決定できる。一例では、これは選択されたオントロジー用語を決定し、次いで選択されたオントロジー用語及びオントロジー用語間の関係性に少なくとも部分的に従って、オントロジー用語のグループを決定することによって達成される。
【０１０１】
したがって、選択されたオントロジー用語ごとに、電子処理装置は、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別し、ソースオントロジー用語のグループに識別されたオントロジー用語を追加する。このプロセスは、電子処理装置が、すべての選択されたオントロジー用語が関係性によって接続されるとき等の所望される端点に到達するまで識別されたオントロジー用語を反復して追加するように、繰り返し実行できる。これは、次いでオントロジーの中の関係性を保ち、オントロジーを合わせる、マッピングを作成する等の他のプロセスで使用できるようにする、関係するオントロジー用語のグループを確立する。
【０１０２】
上記プロセスの一部として、いくつかの異なる関係性が、選択されたオントロジー用語のすべての間で経路を確立しようとして調べることができ、電子処理装置は任意選択で異なるタイプの関係性に異なる関係性経路長を使用する。したがって、例えば、なんらかのタイプの関係性はより重要と見なされ、したがって関係オントロジー用語を識別するときに、通常、より長い経路長を与えられるだろう。一例では、経路長（複数の場合がある）は、ユーザによって定義され、グループの作成を制御する際に手動介入を使用できるようにする。
【０１０３】
一例では、上述されたプロセスを実行できるようにするために、いくつかの異なるツールを使用して、マッピングを生成し、オントロジーを管理するのを支援できる。一例では、ツールは、オントロジーツール及びデータ管理ツールの統合されたパッケージを形成するソフトウェアスイートの一部として提供される。一例では、ツールは、オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュール、オントロジーのオントロジー用語のブラウズを可能にし、オントロジーの少なくとも一部を具現化するコードを生成し、それによってユーザがオントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュール、オントロジー用語異なるオントロジー間のアラインメントを決定するアライナモジュール、オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュール、及びオントロジー用語意味を識別するセマンティックマッチャモジュールを含む。ただし、それぞれのモジュールの使用は必須ではなく、他の構成を使用できる。
【０１０４】
一例では、プロセスは、プログラムされたコンピュータシステム等の処理システムを少なくとも部分的に使用して実行できる。これは、スタンドアロンコンピュータで実行でき、マイクロプロセッサは上述された方法を実行できるようにするアプリケーションソフトウェアを実行する。代わりに、プロセスは、図２を参照してここで説明される例である分散型アーキテクチャの一部として動作する１つ又は複数の処理システムによって実行できる。
【０１０５】
この例では、２つの基地局２０１はインターネット２０２、及び／又はいくつかのローカルエリアネットワーク（ＬＡＮ）２０４等、通信網を介していくつかのコンピュータシステム２０３に結合される。ネットワーク２０２、２０４の構成は例のためだけであり、実際には、基地局２０１、コンピュータシステム２０３は、直接接続又はＢｌｕｅｔｏｏｔｈ等のポイントツーポイント接続だけではなく、モバイルネットワーク、８０２．１１ネットワーク等のプライベートネットワーク、インターネット、ＬＡＮ、ＷＡＮ等を含むが、これに限定されるものではない、有線接続又は無線接続を介して等、任意の適切な機構も介して通信できることが理解される。
【０１０６】
一例では、各基地局２０１はデータベース２１１に結合された処理システム２１０を含む。基地局２０１は、例えばソースデータストアとターゲットデータストアとの間でコンテンツを転送する際に使用するためのマッピングの生成だけではなく、例えば切り詰め又はアラインメントを実行するためにオントロジーを管理する際に使用されるように適合される。コンピュータシステム２０３は、マッピングの生成等のプロセスを制御できるようにするために基地局２０１と通信するように適合できる。ただし、これは必須ではなく、プロセスは基地局２０１を介して直接的に制御できる。
【０１０７】
各基地局２０１は単一のエンティティとして示されているが、基地局２０１は、例えば、処理システム２１０及び／又はクラウドベースの環境の一部として提供されるデータベース２１１を使用することによっていくつかの地理的に別々の場所上で分散できることが理解される。この点で、代わりに、データストアはコンピュータシステム２０３と関連付けられるだろうが、それぞれがそれぞれのデータストア又はオントロジーと関連付けられる複数の基地局２０１が提供できる。
【０１０８】
ただし、上述された構成は必須ではなく、他の適切な構成を使用できるだろう。例えば、プロセスはスタンドアロンコンピュータシステムで実行できるだろう。
【０１０９】
適切な処理システム２１０の例は図３に示される。この例では、処理システム２１０は、図示されるように、バス３０４を介して相互接続された少なくとも１台のマイクロプロセッサ３００、メモリ３０１、キーボード及び／又はディスプレイのような入出力装置３０２、及び外部インタフェース３０３を含む。この例では、外部インタフェース３０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等のような周辺装置に処理システム２１０を接続するために活用できる。単一の外部インタフェース３０３が示されているが、これは例のためだけであり、実際には多様な方法（例えば、イーサネット、シリアル、ＵＳＢ、無線等）を使用する複数のインタフェースが提供されてよい。
【０１１０】
使用中、マイクロプロセッサ３００は、コンピュータシステム２０３と通信するだけではなく、インデックス生成、マッピング、及びデータベース２１１への／データベース２１１からのコンテンツ転送を実行することも可能にするためにメモリ３０１に記憶されているアプリケーションソフトウェアの形式の命令を実行する。アプリケーションソフトウェアは１つ又は複数のソフトウェアモジュールを含んでよく、オペレーティングシステム環境等のような適切な実行環境で実行されてよい。
【０１１１】
したがって、処理システム２１０が、適切にプログラムされたコンピュータシステム、ＰＣ、ＤＭＢＳを実行するデータベースサーバ、ウェブサーバ、ネットワークサーバ等のような任意の適切な処理システムから形成されてよいことが理解される。１つの特定の例では、処理システム２１０は、不揮発性（例えばハードディスク）ストレージに記憶されているソフトウェアアプリケーションを実行する３２ビット又は６４ビットのＩｎｔｅｌ Ａｒｃｈｉｔｅｃｔｕｒｅをベースにした処理システムのような標準的な処理システムである。ただし、これは必須ではない。しかしながら、処理システムがマイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）のような実装論理と任意選択で関連付けられたファームウェア、又は任意の他の電子機器、システム、若しくは構成のような任意の電子処理装置であることがあることも理解される。
【０１１２】
図４に示されるように、一例では、コンピュータシステム２０３は、図示されるようにバス４０４で相互接続された少なくとも１台のマイクロプロセッサ４００、メモリ４０１、キーボード及び／又はディスプレイのような入出力装置４０２、及び外部インタフェース４０３を含む。この例では、外部インタフェース４０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等のような周辺装置にコンピュータシステム２０３を接続するために活用できる。単一の外部インタフェース４０３が示されているが、これは例のためだけであり、実際には多様な方法（例えば、イーサネット、シリアル、ＵＳＢ、無線等）を使用する複数のインタフェースが提供されてよい。
【０１１３】
使用中、マイクロプロセッサ４００は、基地局２０１との通信を可能にして、例えばオペレータが制御入力を提供できるようにするためにメモリ４０１に記憶されるアプリケーションソフトウェアの形式の命令を実行する。
【０１１４】
したがって、コンピュータシステム２０３は、適切にプログラムされたＰＣ、インターネット端末、ラップトップ、ハンドヘルドＰＣ、スマートフォン、ＰＤＡ、ウェブサーバ等のような任意の適切な処理システムから形成されてよいことが理解される。したがって、一例では、処理システム１００は、不揮発性（例えば、ハードディスク）ストレージに記憶されているソフトウェアアプリケーションを実行する、３２ビット又は６４ビットのＩｎｔｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅをベースにした処理システムのような標準的な処理システムである。ただし、これは必須ではない。しかしながら、コンピュータシステム２０３が、マイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）のような実装論理と任意選択で関連付けられたファームウェア、又は任意の他の電子機器、システム、若しくは構成のような任意の電子処理装置であることがあることも理解される。
【０１１５】
マッピングを生成し、ブラウズ、オントロジーを合わせること、及びオントロジーを切り詰めることを含んだオントロジーのインデックス付け及びオントロジーとの対話を可能にするためのシステムの動作の例がここでさらに詳細に説明される。
【０１１６】
これらの例のために、基地局２０１の処理システム２１０がプロセスを実行するためのアプリケーションソフトウェアをホストし、処理システム２１０によって実行されるアクションが、メモリ３０１にアプリケーションソフトウェアとして記憶される命令、及び／又はＩ／Ｏ装置３０２を介してユーザから受信される入力コマンド、又はコンピュータシステム２０３から受信されるコマンドに従ってプロセッサ３００によって実行されていることが想定される。この点で、以下の例のために、処理システム２１０は、インデクサモジュール、ブラウザモジュール、アライナモジュール、プルーナモジュール、セマンティックマッチャモジュール、及びＥＴＬモジュールを含んだいくつかのモジュールを有するアプリケーションソフトウェアを実行する。ただし、それぞれのモジュールの使用は必須ではなく、他の構成を使用できる。
【０１１７】
ユーザが、入出力装置３０２又はコンピュータシステム２０３のどちらかに提示されるＧＵＩ等を介して処理システム２１０によって実行されるアプリケーションソフトウェアと対話することも想定される。コンピュータシステム２０３によって実行されるアクションは、メモリ４０１にアプリケーションソフトウェアとして記憶された命令、及び／又はＩ／Ｏ装置４０２を介してユーザから受信される入力コマンドに従ってプロセッサ４００によって実行される。基地局２０１は、通常、利用可能な特定のネットワークインフラを介してコンピュータシステム２０３と通信し、例えば１つ又は複数のコンピュータシステム２０３のユーザのためにデータベース２１１と対話するエンタープライズサーバの形式であってよいサーバである。
【０１１８】
しかしながら、上述された構成は例のためだけであり、制限的になることを意図していないため、実際には任意のデータベース管理システムを使用できることが理解される。また、コンピュータシステム２０３及び基地局２０１との間の機能性の区分化が特定の実装に応じて変化してよいことも理解される。
【０１１９】
マッピングを決定し、ソースからターゲットにコンテンツを転送するためにこれを使用するためのプロセスの概要が、ここで図５を参照して説明される。この例のために、処理システム２１０が異なる機能性を提供するためにいくつかの異なるモジュールを実装することが想定される。
【０１２０】
この例では、ステップ５００で、処理システム２１０はソースデータ構造及びターゲットデータ構造を使用し、ソースオントロジー及びターゲットオントロジーを識別する。これはいかなる方法でも達成できるが、通常、ソースデータストア及びターゲットデータストアのためのソースデータ構造及びターゲットデータ構造に基づいて推測上のオントロジーを作成することを含む。例えば、異なるソースデータフィールド及びターゲットデータフィールドの名前はオントロジー用語に等しくされ、オントロジー用語間の関係性はソースデータ構造及びターゲットデータ構造の関係性から識別される。推測上のオントロジーを生成するプロセスの特定の例は、図６を参照してより詳細に説明される。
【０１２１】
ステップ５１０で、インデクサモジュールはソースオントロジー及びターゲットオントロジーのインデックスを決定する。インデックスは通常、各オントロジー用語、これが既知である場合は関連付けられたオントロジー用語タイプ、及び任意選択でオントロジー用語の意味も示すエントリを含んだリストの形式をとる。この点で、オントロジー用語意味は通常、ステップ５２０で、概念マッチングデータベースとオントロジーを比較し、インデックスの各オントロジー用語の意味を識別するために比較の結果を使用するセマンティックマッチャモジュールによって決定される。
【０１２２】
ステップ５３０で、ブラウザモジュールはオントロジーをブラウズし、ソースオントロジー用語又はターゲットオントロジー用語を選択するために使用される。これによって、ユーザは、通常はソースデータストアから抽出される又はターゲットデータストアにインポートされるコンテンツに対応する、対象のそれらのオントロジー用語を選択できる。
【０１２３】
選択されたオントロジー用語は、次いで、ブラウザモジュールがそれぞれのデータ構造に従ってデータストアに記憶されたコンテンツと対話するためのコードを生成できるようにするためにステップ５４０で使用できる。特に、これは、ユーザが、以下により詳細に説明されるように、データ構造のデータフィールドを見て、抽出／インポートされるコンテンツを選択し、次いで抽出／インポートを実行するために必要なクエリーを生成するために使用できるユーザインタフェースを、コンピュータシステムが生成できるようにするためのコードを含むことがある。
【０１２４】
代わりに、ステップ５５０で、選択されたオントロジー用語は、ソースオントロジー及び／又はターゲットオントロジーのどちらかを切り詰めるためにプルーナモジュールによって使用される。特に、これによってユーザは対象のオントロジーのそれらの部分だけを選択することができ、処理システム２１０は次いで、以下により詳細に説明されるように、選択されたオントロジー用語間の関係性を維持するために必要とされる追加のオントロジー用語を選択する。
【０１２５】
いったんオントロジーの１つ又は複数が切り詰められると、ステップ５６０で、処理システム２１０はソースオントロジー及びターゲットオントロジーを合わせるためにアライナモジュールを使用する。これは、ソースオントロジー用語の１つ又は複数とターゲットオントロジー用語の１つ又は複数との間の対応を識別し、それによってステップ５７０で、ソースデータストアからターゲットデータストアにコンテンツを転送するために、同様にブラウザモジュールによって生成されたコードともに使用できるソースデータ構造とターゲットデータ構造の間のマッピングを決定できるようにする。
【０１２６】
データベーススキーマ等のデータ構造から推測上のオントロジーを生成するためのプロセスの例は、ここで図６を参照して説明される。
【０１２７】
この例はリレーショナルデータベースのために推測上のオントロジーを生成することに特有であるが、類似した概念を他のデータ構造にも適用できること、及びこの例が例示のためだけであり、制限的となることを意図していないことが理解される。
【０１２８】
この例では、ステップ６００で、処理システム２１０は、通常、データベーススキーマを定義するメタデータからこの情報を抽出することによって、データベースの各テーブルを決定する。ステップ６１０で、処理システム２１０は、データベースの各テーブルに対応するクラスを定義する。この点で、用語クラスは、以下により詳細に説明されるように、オントロジーの中の概念に相当する特定のオントロジー用語を参照する。
【０１２９】
ステップ６２０で、処理システム２１０は、ＢＯＭ（部品表）構造又はタイプ構造を有するあらゆるデータベーステーブルを識別する。この点で、ＢＯＭテーブルは２つの「１対多」の関係性を有し、アイテム、オブジェクト、又は商品を構成するすべてのパーツのリストに対して使用される。タイプ構造は１つの「多対１」の関係性を有し、関係するテーブルでの値の範囲を制限するために使用されるただ１つの関連性がある属性又は列を有する。係るテーブルは、多くの場合、データを非正規化するために使用されるため、それぞれがそれぞれのオントロジー用語を表すべきである多くの概念又はクラスを含むことがある。したがって、ステップ６３０で、処理システムは、テーブルのそれぞれの一意のエントリに対応する追加のクラスを定義するために、各タイプテーブル及び各ＢＯＭテーブルを拡大する。
【０１３０】
ステップ６４０で、処理システム２１０は、タイプテーブル又はＢＯＭテーブルの中からそれぞれの識別されたクラスを任意選択で表示し、ユーザが、クラスがステップ６５０で保持されるべきかどうかを確認できるようにする。タイプクラス又はＢＯＭクラスが保持されるべきではないことが示される場合、タイプクラス又はＢＯＭクラスはステップ６６０で削除される。
【０１３１】
いったん関連性のあるＢＯＭクラスが選択されると、処理システム２１０は、データベーススキーマに基づいて関係性及び属性（データオブジェクト及びデータプロパティとも呼ばれる）を定義する。したがって、テーブル構造は、識別されたクラス間の関係性を識別するために使用できる。一方、テーブルのデータフィールドはクラスの属性を識別するために使用される。関係性及び属性は同様に、オントロジーでオブジェクトプロパティ及びデータプロパティを定義するために使用され、それによって推測上のオントロジーを生成し、ステップ６８０で、例えばオントロジーデータベースに保存できるようにする。
【０１３２】
したがって、これによって推測上のオントロジーは、データベース、構造化ファイル等のようなデータストアのデータ構造の分析からだけ、実質的に自動化された様式で作成できる。これに続き、推測上のオントロジーの中で異なるクラスに意味を定義することが必要とされる場合、以下により詳細に説明されるように、推測上のオントロジーは様式化オントロジーと合わせることができる。
【０１３３】
インデックスを生成するためのプロセスの例は、ここで図７を参照して説明される。
【０１３４】
この例では、ステップ７００で、インデクサモジュールは対象のオントロジーを決定する。これは、例えばブラウザモジュールを介して供給されるユーザ入力コマンドに基づいて決定されてよい、又はインデックスを必要とする別のモジュールから受け取ることができるだろう。例えば、推測上のオントロジーを生成したＥＴＬモジュールは、これがインデックスを付けられることを必要とし、インデクサモジュールにオントロジーの表示を提供することがある、又は代わりにプルーナモジュールはオントロジーに対して切り詰めを実行できるようにするインデックスを要求することがある。
【０１３５】
ステップ７０５で、インデクサモジュールは、通常インデックスデータベースに記憶される１つ又は複数の既存のインデックスとオントロジーを比較し、インデックスがすでに存在しているかどうかを判断する。これは、オントロジーの名前及び／又はアドレスのようなオントロジーと関連付けられたメタデータを、インデックスと関連付けられた対応する情報と比較することによって、又は代わりに既存のインデックスのオントロジー用語と１つ又は複数のオントロジー用語を比較することによって達成できる。
【０１３６】
ステップ７１０でインデックスが存在すると判断される場合、次いでインデックスは、例えばインデックスを要求したモジュールにインデックスを提供することによってステップ７１５で提供される。それ以外の場合、インデックスが生成されなければならず、その場合、インデクサモジュールがステップ７２０で次のオントロジー用語を選択し、次いでステップ７２５で、オントロジー用語名、オントロジー用語タイプ、及び通常、ＵＲＩ（ユニフォームリソースアイデンティファイア）又は同等のものを示すオントロジー用語アドレスの表示を含んだインデックスエントリを作成する。ステップ７３０で、インデクサモジュールは、以下により詳細に説明されるように、セマンティックマッチャモジュールからオントロジー用語の意味論的意味を入手し、インデックスエントリにこれを追加する。
【０１３７】
ステップ７３５で、インデクサモジュールは、すべてのオントロジー用語が完成したかどうかを判断し、完成していない場合、プロセスは７２０に戻り、次のオントロジー用語を選択できるようにする。それ以外の場合、ステップ７４０で、インデックスは記憶され、任意選択で別のモジュールに提供される。
【０１３８】
オントロジーのブラウズのためのプロセスの例は、ここで図８を参照して説明される。
【０１３９】
この例では、ステップ８００で、ブラウザモジュールがオントロジーインデックスを使用し、選択されたオントロジーにオントロジー用語リストを生成する。したがって、このプロセスの部分として、ブラウザモジュールは、例えば選択されたオントロジーのアイデンティティに基づいて、インデクサモジュールからオントロジーインデックスを要求できる。オントロジー用語リストは、次いで適切なＧＵＩ（グラフィックユーザインタフェース）を介してユーザに表示できる。
【０１４０】
ステップ８０５で、ユーザは、ステップ８１０で見るための次のオントロジー用語を選択する前に対象の１つ又は複数のオントロジー用語にタグを付け、ブラウザモジュールがステップ８１５で選択されたオントロジー用語のためのデータプロパティを含んだオントロジー用語画面を表示できるようにする。この点で、データプロパティは、オントロジーの一部として定義されるオントロジー用語の属性に相当する。
【０１４１】
ステップ８２０で、ブラウザモジュールは、検索オプションがユーザによって選択されたかどうかを判断し、その場合、ユーザはステップ８２５でデータプロパティのデータフィールドに検索用語を入力する。ブラウザモジュールは次いでそれぞれのオントロジー用語データプロパティに関連付けられたデータのクエリーを生成し、実行し、結果を戻し、ステップ８３０でユーザに表示する。したがって、このプロセスによってユーザは、対応するソースデータストア又はターゲットデータストアでそれぞれのデータプロパティと関連付けられるだろうコンテンツを見直すことができ、それによってユーザは、オントロジー用語及び関連付けられたデータプロパティ対象のものかどうかを確かめることができる。
【０１４２】
いったん検索が実行されると、又は検索が実行されない場合、ユーザは８３５で対象の１つ又は複数のデータプロパティにタグを付ける。このようにして、このプロセスによってユーザはオントロジー用語及び関連付けられたデータプロパティを見直し、次いで対象のオントロジー用語及びデータプロパティを、それらにタグを付けることによって選択できる。
【０１４３】
ステップ８４０で、オントロジー用語は、ユーザにとって対象のすべてのオントロジー用語及びデータプロパティが選択されたかどうかを判断するために見直される。選択されていない場合、プロセスはステップ８１０に戻り、追加のオントロジー用語を見直すことを可能にする。
【０１４４】
それ以外の場合、ステップ８４５で、ブラウザモジュールはタグが付けられたオントロジー用語及び関連付けられたデータプロパティを選択し、例えばステップ８５０で切り詰めを実行するために、又はステップ８５５でアプリケーションを生成するために、これらを他のプロセスで使用できるようにする。この点で、アプリケーションの生成は、以下により詳細に説明されるように、コンピュータシステムでの実行時に、コンピュータシステムが、選択されたオントロジー用語又はデータプロパティに対応するソース又はターゲットのフィールドのコンテンツと対話するためのユーザインタフェースを表示できるようにする実行可能コードを生成するためにスクリプト等を使用することを含む。
【０１４５】
したがって、上述されたプロセスは、ユーザがオントロジー用語及び関連付けられたデータプロパティをブラウズして、それらの内のどれが、ユーザがソースからエクスポート又はターゲットにインポートすることを希望するコンテンツに関して対象となるかを識別できるようにするために使用できる。
【０１４６】
オントロジーを切り詰めるためのプロセスの例は、ここで図９を参照して説明される。
【０１４７】
この例では、ステップ９００で、選択されたオントロジー用語は切り詰めプロセス用のシードとして追加される。これに続き、シードオントロジー用語を相互接続する経路が識別されるまで、シードオントロジー用語に関係するオントロジー用語を繰り返し探索するために反復プロセスが実行される。これを達成するために、ステップ９０５で、異なるタイプの関係性及び関連付けられたデフォルト経路長が表示される。この点で、オントロジー用語は、親、子、兄弟等の異なるタイプの関係性によって関係付けることができる。一定のタイプの関係性は他よりもより重要であることがあるので、異なる関係性タイプは異なる長さを有することがある。さらに、関係性のタイプごとに探索される経路の長さは変えることができ、それによってより重要な関係性を介してシードオントロジー用語に接続された、より多数のオントロジー用語が含まれることを保証する。したがって、ステップ９１０で、ユーザは異なる関係性のための経路長を調整することができ、それによって例えば、切り詰めの範囲及び／又は方向を制御するために、切り詰めプロセスをユーザによって調整できるようにする。
【０１４８】
ステップ９１５で、選択されたオントロジー用語に関係するオントロジー用語は、指定された経路長の関係性によって関係付けられたそれらのオントロジー用語を識別することによって決定される。ステップ９２０で、プルーナモジュールは、選択されたシード用語がリンクされるかどうかを判断する。言い換えると、シードオントロジー用語をリンクする一連の相互接続されたオントロジー用語があり、その場合、切り詰めプロセスは、切り詰められたオントロジー又は切り詰められたインデックスとして記憶できるステップ９２５で切り詰められたオントロジーを定義する、使用中に識別された、選択され、関係付けられたオントロジー用語で終了することがある。
【０１４９】
それ以外の場合、ステップ９３０で、反復が完了しているかどうかが判断され、完了していない場合、関係するオントロジー用語は追加され、選択されたオントロジー用語、プロセスはステップ９１５に戻り、追加の関係するオントロジー用語を識別できるようにする。したがって、シードオントロジー用語に関係付けられたオントロジー用語の数は、シードオントロジー用語が関係性の経路によって接続されるまで徐々に増加する。
【０１５０】
したがって、上述されたプロセスは、オントロジーが無事に切り詰められ、その時点でシードオントロジー用語が関係するオントロジー用語の経路を介して相互接続されるまで、又は所定数の繰り返しが完了され、経路が識別されず、その場合プロセスがステップ９４０で休止されるまでのどちらか、繰り返される。後者の場合、これは通常、オントロジー用語が異なるオントロジーからであることを示唆し、その場合、切り詰めプロセスはアラインメントプロセスと併せて実行され、以下により詳細に説明されるように、切り詰めプロセスが複数のオントロジーにわたることを可能にする。代わりに、これは、オントロジー用語を容易にリンクできないことを示す。
【０１５１】
ソースオントロジー及びターゲットオントロジーを合わせるためのプロセスの例が、ここで図１０を参照して説明される。
【０１５２】
この例では、ステップ１０００で、ソースオントロジー用語及び／又はターゲットオントロジー用語がインデックスを使用し、選択される。これは、ユーザにブラウザモジュールを使用し、オントロジー用語を選択させる、又はより典型的には、対象のソース用語及び／又はオントロジー用語を含むソースオントロジー及びターゲットオントロジーの切り詰められたバージョンに相当する２つの切り詰められたオントロジーを選択させることを含むことがある。ステップ１００５で、マッチャモジュールは、ソースオントロジー用語及びターゲットオントロジー用語の対の異なる組合せのマッチングスコアを決定するために使用される。これらのスコアは、ステップ１０１０でソースオントロジー及びターゲットオントロジーの意味がどれほど類似しているのかだけに基づいて予備的なアラインメントを定義するために使用される。
【０１５３】
ステップ１０１５で、アライナモジュールは、予備的なアラインメントが正しいかどうかを判断するためにソースオントロジー用語及びターゲットオントロジー用語の関係性（オブジェクトプロパティ）及び属性（データプロパティ）を調べる。このようにして、例えば、これは予備的な合わせられたソースオントロジー用語及びターゲットオントロジー用語が類似した数の属性を有しているのか、並びにこれらが他のソースオントロジー用語又はターゲットオントロジー用語と類似した関係性を有するのかどうかを調べる。これは、用語の苗字及び名前のそれぞれが名前に予備的に照合されてよい場合、不正確なマッチを識別するために使用でき、関係性の調査は、これが多対１の関係性となるべきであることを明示するために使用される。
【０１５４】
ステップ１０２０で、これはアラインメントを精緻化するために使用することができ、ステップ１０２５でソースオントロジーとターゲットオントロジーとの間のアラインメントを表すためにこれらを記憶できるようにする。これはマージされたオントロジー、又は代わりにアラインメントインデックスの形式をとることがある。
【０１５５】
セマンティックマッチングプロセスの例は、ここで図１１を参照して説明される。
【０１５６】
この例では、ステップ１１００で、マッチャモジュールは、マッチングのためにオントロジー用語を受け取る。これはブラウザモジュールを介したユーザ選択に基づくことがあるが、より典型的にはインデクサモジュール又はアライナモジュールから用語を受け取ることによる。ステップ１１０５で、次の対の組合せが、マッチングデータベースの複数のそれぞれの用語と単一オントロジー用語を比較すること、又は受け取られたソースオントロジー用語及びターゲットオントロジー用語の次の対を選択することのどちらかによって選択される。
【０１５７】
ステップ１１１０で、セマンティックマッチャモジュールは、概念マッチングデータベースを使用し、意味類似性を計算する。スコアはいくつかの方法の内のいずれか１つによって決定できるが、通常、例えばそれらが反意語であるのか、同義語であるのかのような、意味が多少なりとも関係しているかどうかに基づいてスコアを計算する所定の数式を適用することを含む。１つの特定の例では、これは、例えばＷｏｒｄＮｅｔ等のようなディクショナリを使用し、オントロジー用語を定義にマッチさせることを含む。この点で、ＷｏｒｄＮｅｔは英語の大規模な語彙データベースである。名詞、動詞、形容詞、及び副詞は、それぞれが異なる概念を表す知的同義語（ｓｙｎｓｅｔｓ）のセットにグループ化され、Ｆｅｌｌｂａｕｍ、Ｃｈｒｉｓｔｉａｎｅ（２００５年）に説明されている。ＷｏｒｄＮｅｔ及びｗｏｒｄｎｅｔｓ。Ｂｒｏｗｎ、Ｋｅｉｔｈら（編集）、Ｅｎｃｙｃｌｏｐｅｄｉａ  ｏｆ  Ｌａｎｇｕａｇｅ  ａｎｄ  Ｌｉｎｇｕｉｓｔｉｃｓ、第２版、Ｏｘｆｏｒｄ：Ｅｌｓｅｖｉｅｒ、６６５〜６７０。
【０１５８】
いったん定義が識別されると、これは、次いでデータベースに記憶されるＲＤＦトリプルについて表される。次いで２つのオントロジー用語の意味の類似性を示す類似性スコアを決定するために使用されるトリプル間の類似性を決定するために２つの異なる意味のためのＲＤＦトリプルにクエリーを行うことができる。
【０１５９】
これに続き、ステップ１１１５で、セマンティックマッチャモジュールは、用語がサブクラス及びスーパークラスの配置によって関係付けられているかどうかを判断する。この情報は、次いで、ステップ１１２０でマッチングスコアを計算するために類似性スコアと結合される。ステップ１１２５で、すべての対が完了しているかどうかが判断され、完了していない場合、プロセスはステップ１１０５に戻り、ソースオントロジー及びターゲットオントロジーの次の対を選択できるようにし、マッチングスコアが計算される。いったんオントロジー用語のすべての潜在的な対、又はオントロジー用語、及びデータベースのマッチング概念がチェックされると、セマンティックマッチャモジュールはステップ１１３０で最良のマッチを選択し、次いでこれの表示を提供できる。
【０１６０】
したがって、上述されたプロセスによって、ユーザが、オントロジーと対話し、対象のオントロジー用語を選択し、これを使用して、それぞれのオントロジーに従ってデータベース又はＸＭＬファイルのようなデータストアに記憶されたコンテンツと対話するためのソフトウェアを生成することを可能にすることが理解される。ユーザは、さらにオントロジーを調査し、次いでプルーナモジュールを使用し、これを切り詰めることができ、ユーザが対象のコンテンツと対話できるようにする最小限度のオントロジーを決定できるようにする。切り詰められたオントロジーは、次いで別の切り詰められたオントロジーと合わせることができ、これによりこれはその間のマッピングを定義するために使用することができ、このことはソースデータ構造及びターゲットデータ構造を有するデータストア間でデータを転送するために同様に使用できる。
【０１６１】
より詳細な例がここで説明される。この例のために、オントロジーは以下の通りに定義される。
・「インヘリタンス」関係とも呼ばれるサブクラス／スーパークラス関係性を使用し、いくつかが互いに関係付けられている、クラス又はオブジェクトとも呼ばれる関係する概念のセット。例は、インヘリタンスを表示する「組織」、「企業」、「クラブ」、及びインヘリタンスを表示しない「ランドマス」、「性別」、「人」である。
・クラスを関係付けるための追加の機構を提供するオブジェクトプロパティ。例えば、「に位置する」「性別を有する」。これらの関係性は、概念、関係性、及びプロパティの推論を可能にする。
・各クラスと関連付けられたデータプロパティのセット。例えば、クラス「人」は氏名、敬称、誕生日、及び性別のデータプロパティを有することがある。
・先行するプロパティのいずれかの間の公式の関係性を提供する公理のセット。例えば、「人が『Ｍｒｓ』の敬称を有する場合、性別は女性でなければならない」、又は「２つのオブジェクトが同じ一意の識別子を有する場合、該オブジェクトは同じオブジェクトである」。これらの公理は、概念、関係性、及びプロパティのさらなる推論を可能にする。
【０１６２】
オントロジーはＲＤＦＳ、ＸＭＬ、ＤＡＭＬ、ＯＩＬ、Ｎ３、及びＯＷＬのようないくつかの言語で記述できる。これらの言語はＯＷＬ−Ｌｉｔｅ又はＯＷＬ−ＤＬのような異なる方言を有することがある。機能性の視点から、該言語は複雑な関係性及び公理を管理し、記述する能力において異なる。
【０１６３】
オントロジーは数十万の概念を含んでよい。ユーザはこれらの概念のサブセットに関心があることがある。このサブセットは、以下からであることがある。
・単一のオントロジー
・複数の重複するオントロジー、又は
・複数の不同等のオントロジー
【０１６４】
ターゲットオントロジーのいくつかの概念は事前に定義されないことがあり、ソースオントロジーのいずれにも存在しないことがある。係る場合、ユーザは手作業で欠けている概念を追加する必要がある場合がある。必要とされるサブセットは、開始概念及び終了概念の両方又はどちらかを有することがある。
【０１６５】
説明のために、２つのきわめて簡略な例のオントロジーが図１２Ａ及び図１２Ｂに示される。これらはインデックスを付けるプロセス、セマンティックマッチングを切り詰めるプロセス、及びアラインメントのプロセスを示すために活用され、制限的となることを目的としていないことが理解される。
【０１６６】
これらの例では、２つのタイプの関係性、つまり階層的に接続されている関係性及び階層的に接続されていない関係性がある。これらの例では、階層的に接続されているクラスは、スーパークラスからサブクラスを指す実線によって階層的に接続されている実線の楕円により表される。各サブクラスはそのスーパークラスのすべてのプロパティを継承する。破線の楕円として示される、非階層的に接続されるクラスのセットは、ここでは破線として示され、オブジェクトプロパティという名前の線によって任意のクラスに接続される。各クラスはデータプロパティのセットを有し、データプロパティのいくつかは説明のために表１に示される。
【表１】
2017513134.tif 000003
【０１６７】
オントロジーが類似した概念を示すが、いくつかの相違点があることが理解される。
・いくつかの概念は異なった名前を有する。『当事者』は『クライアント』と同一であり、『人』は『個人』と同一であり、『メンバー』は『メンバーシップ』と同一であり、『雇用』は『職歴』と同一であると言うことができるのか。
‐『雇用』を除く各ケースで、クラスはそれぞれ同一のデータプロパティを有するため、該クラスがほぼ同一であると想定できる。数学的には、同一性（Ｃ１ｉ，Ｃ２ｉ）〜１．０であり、ここでＣ１ｉは第１のオントロジーからの概念であり、Ｃ２ｉは第２のオントロジーからの概念である。
・いくつかの概念は異なるデータプロパティを有する。『雇用』及び『職歴』の場合、概念はなんらかの同一のデータプロパティ、及び『職歴』だけに適用する１つの『に報告する』を有する。事実上、『職歴』は、『開始日』及び『終了日』が『役割』を参照するのか、それとも『に報告する』データプロパティを指すのかに関して不明瞭であるので、『職歴』は第４の正規形に違反する。
・いくつかの概念は異なるオブジェクトプロパティを有する。『雇用』は１つしかオブジェクトプロパティを有さないのに対し、『職歴』は『人』を有する２つのオブジェクトプロパティを有する。オントロジー２では、『株式』が『企業』を『クライアント』と関連付けるのに対し、オントロジー１では『株式』は『企業』を『個人』と関係付ける。
・いくつかの概念は１つのオントロジーに存在しない。『上場企業』はオントロジー２に存在するが、オントロジー１には存在しない。
【０１６８】
これらの例のため、システムは図１３に示される機能性を実行し、これらはそれぞれのモジュールによって実装される。この点で、モジュールは以下を含む。
・ＥＴＬ（抽出−変換−ロード）モジュール１３００。これは、構造化データソースの中でコンテンツを抽出し、変換し、ロードする。これは、以下を含んだ２つのサブ構成要素を含む。
‐指定されたオントロジーを介して、又はオントロジーがない場合は、プロセッサがデータを記述するために作成する推測上のオントロジーを介してのどちらかでソースデータを抽出するプロセッサ１３０１。プロセッサは、クラウドに又はデータと同じマシンに又はメッセージング、ＯＤＢＣ、ｈｔｔｐｓ、ＳＯＡＰ、若しくは任意の同等なプロトコルを介してデータにアクセスできるマシンに配備できる。プロセッサの複数のコピーは、複数のソースからデータを入手するために配備できる。
‐多様なプロセッサからデータを収集し、ターゲットオントロジーにソースオントロジーをマップするオーケストレータ１３０２。クエリーはターゲットオントロジーを使用し、作成され、同等なソースオントロジークエリーに変換され、ターゲットオントロジーを使用し、データを戻すことを可能にする。
・ブラウザ１３１１、エディタ１３１２、及びジェネレータ１３１３を含んだオントロジーブラウザモジュール１３１０。これは画面、及びそれらを管理するために関連付けられたソフトウェア及びデータを生成し、このことによってユーザはオントロジー及びオントロジーによって記述されるデータをブラウズし、編集することができる。これらの画面は２つの段階で表示される。第１の段階は生成プロセスの間である。この段階で、画面は動的に作成され、ユーザがどの機能が生成されるべきかを選択できるようにするために追加の情報を表示する。第２の段階では、画面はハードコードされ、生成のために指定された情報だけしか表示しない。
・オントロジーインデクサモジュール１３２０。インデクサモジュールはすべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名の１つ又は複数のオントロジーでリンクされたインデックスのセットを作成する。さらに、インデックスは、意味論的に同等な機能からを加えた、ソースオントロジーから生じる意味論的に同等な用語（例えば、同義語及び同音異義語）を含む。
・オントロジープルーナモジュール１３３０。プルーナモジュールはオントロジーを採取し、ユーザがどのクラス、データプロパティ、オブジェクトプロパティ、及び公理を保持することを希望するのかを指定できるようにする。保持されたものを使用し、プルーナモジュールは、オントロジーに定義された相関的な及び公理の整合性が維持されていることを確かめるためにチェックする。
・オントロジーアライナモジュール１３４０。アライナモジュールは２つ以上のオントロジーを採取し、いくつかの技法を使用して、多様なオントロジーの概念を、互いと又は指定されたターゲットオントロジーのどちらかと合わせる。該技法は、意味論的に類似する概念を見つけるためにインデクサモジュールによって作成されたインデックスを活用する。各データプロパティ及び概念はセマンティックマッチャモジュールを使用して比較される。セマンティックマッチャモジュールはオントロジー構造及びデータプロパティに基づいてマッチングを精緻化する。
・セマンティックマッチャモジュール１３５０。マッチャモジュールは２つの用語又は用語の２つのリストを比較して、それらが例えば医学又は工学等、指定された文脈の中で数学的に定められた程度の意味論的等価を有するかどうかを決定する、又は別の例では、単一の用語を所与として、指定された文脈に基づいて同義語、同音異義語等のリストを提供する。
【０１６９】
通常、オントロジーは例を除きデータインスタンスを有さない。ただし、オントロジーは２つの方法の内の１つで既存のデータにマッチさせることができる。
・オントロジーは既存のデータから構築される。例えば、リレーショナルデータベースは、相関的なエンティティ（テーブル）がオントロジーのクラスとして定義され、相関的な関係性がオントロジーのオブジェクトプロパティとして定義され、相関的な属性（列）がオントロジーのデータプロパティとして定義されることによって『推測上の』オントロジーに自動的に変換できるだろう。いくつかのオントロジーの公理は、相関的な参照整合性の制約から引き出すことができるだろうが、大部分の公理は手作業で追加又は無視する必要がある。この推測上のオントロジーは、次いでメタデータを追加するために既存の豊富なオントロジーと合わせられてよい。
・データにオントロジーをマッチさせること。これを行うためのいくつかのツールがある（例えば、Ｓ−マッチ）。
【０１７０】
データフォーマットとは関わりなく、推測上のオントロジーは、ソースデータ構造及び（メタデータが存在する場合）メタデータに適切な方法を使用し、ソースデータから自動的に生成できる。この推測上のオントロジーは、オントロジーエディタを使用し、手作業で更新されてよい、又は生成された通りに使用されてよい。どちらの場合も、推測上のオントロジーは次いでアライナモジュールを使用し、（ＥＴＬモジュールプロセッサによって呼び出される）主題領域のオントロジーと、及び（ＥＴｌモジュールオーケストレータによって呼び出される）ターゲットオントロジーと合わせられる。
【０１７１】
ターゲットオントロジーは、ターゲットオントロジーが、所望される概念の整合性を保証するために必要とされるそれらの概念、公理、プロパティ、推論、及び起源の詳細を加えた所望された概念だけを含むことを保証するために、プルーナモジュールを使用して切り詰められてよい。
【０１７２】
すべてのこれらのツールは、２つの意味論的な概念がマッチするのかどうかをチェックするためにセマンティックマッチャモジュールによって、並びに多様なソースオントロジー及びターゲットオントロジーでマッチする概念及び概念構造を探すためにインデクサモジュールによって提供されるサービスを利用する。
【０１７３】
それぞれのモジュールの例は、ここでさらに詳細に説明される。
ＥＴＬモジュール
【０１７４】
ＥＴＬモジュールは、メタデータレポジトリを使用することなく、すべてのＥＴＬツールに共通のデータの抽出、変換、及びロードの機能を実行する。ＥＴＬモジュールは、データ構造を決定するためにソースデータと関連付けられたメタデータを使用することによって、及びその後オントロジーにこのメタデータをマップすることによってこれを行う。ＥＴＬモジュールは、さらにデータに意味を割り当て、したがってデータをマップし、変換する際に高レベルの自動化を達成できる。
【０１７５】
メタデータレポジトリの必要性を排除することは、プロセスの柔軟性がそれを維持するために必要とされるヒューマンインタフェースにより制約されないことを意味する。新しいデータフォーマットおよび技術は自動的に収容できる。
【０１７６】
高レベルで、実行される２つの主要なプロセスがある。これらのプロセスを実行するためのコードは、プロセッサ及びオーケストレータと呼ばれる。プロセッサの多数のコピーは任意の定められた場所でデータを読み取るために配備されてよい。プロセッサはデータと同じ装置上に同一場所に配置できる、又はプロセッサはクラウドに位置し、リモートアクセスプロトコルを使用してデータにアクセスできる。プロセッサはソースからメタデータを抽出し、そのメタデータから推測上のオントロジーを作成する。プロセッサは次いでなんらかの初歩的なデータ変換を実行し、オーケストレータにデータ及びオントロジーを渡す。
【０１７７】
オーケストレータは多様なプロセッサから入力を受け取り、それらのオントロジーを合わせる。オーケストレータは次いで合わせられたソースオントロジーからユーザによって定義されたターゲットオントロジーにマッピングを適用する。ユーザはここで多様なソースオントロジーからのすべてのデータを確かめることができる。データは、以下により詳細に説明されるように、ターゲットオントロジーに対して特定のクエリーを指定する又はクエリーを作成するためにオントロジーブラウザを使用するかのどちらかによって抽出できる。
【０１７８】
この結果を達成するために必要とされる多様なソフトウェア構成要素を含んだＥＴＬモジュールソフトウェアスタックの例が図１４Ａに示される。一方、図１４Ｂは、いくつかのプロセッサがネットワーク配置を介して単一のオーケストレータに結合される配備例を示す。
【０１７９】
プロセッサは、不同等のデータソースからデータを読み取り、該データをＲＤＦデータとして露呈し、該データを記述するために推測上のオントロジーを作成することを担う。高レベルの機能は以下の通りである。
・メタデータ及びマッピングファイルを追加するによって不同等のデータソースを登録する。
・構造化されていないデータをＲＤＦに変換する。
・トリプルストアにＲＤＦをロードする。
・推測上のオントロジーにマッピングファイルを変換する。
・ソースごとにＳＰＡＱＲＬ端点を露呈する。
【０１８０】
オーケストレータは、ターゲットオントロジー及びマッピングデータを読み取り、要求及び応答の変換を調整することを担う。高レベルの機能は以下の通りである。
・ターゲットオントロジーを登録する。
・マッピングファイルを読み取り、マッピングファイルにインデックスを付ける。
・ターゲットからのＳＰＡＲＱＬクエリーをマップされたソース語彙に変換する。
・ソース語彙からの応答をターゲット語彙に変換する。
・変換規則を記憶する。
・ターゲットのためにＳＰＡＲＱＬ端点を露呈する。
オントロジーブラウザモジュール
【０１８１】
オントロジーブラウザモジュールは、ユーザがオントロジーをブラウズし、オントロジーによって定義されるデータのクエリーを行い、オントロジーによって定義されたデータにインスタンスデータを追加できるようにするために画面のセットを自動的に作成するために機能する。このようにして作成された画面は、次いで完全なスタンドアロンアプリケーションとして、オントロジー及び作成ツールとは無関係に使用できる。
【０１８２】
この点で、現在、リンクされた概念を定義するため、及びデータにアクセスするためのオントロジーの使用はおもに研究者及び専門のオントロジストに制限されている。この理由は、ユーザがオントロジーをブラウズし、次いで構造化データストアに記憶されたデータとの対話を誘導するためにこれを使用できるようにするための簡略な機構がないことである。したがって、オントロジーの専門知識をほとんど又は少しも有さない人が簡略で分かりやすい方法でオントロジーのすべての詳細にアクセスできるようにするツールを提供することによって、これは、ユーザが、簡略化されたクエリー構築機構を使用するオントロジーによって記述されたデータを選択し、検査できるようにする。ユーザは、まだ実行中である元のオントロジーに存在するすべての制約及び推論とともにデータにレコードを追加できるようになる。最終的には、ユーザは本部の職員による使用に適切なスタンドアロンアプリケーションとして生成された画面を配備できるようになる。
【０１８３】
データを検査するとき、ユーザはいくつかのフォーマットでデータを表示できる。基本的なデータは、例えばＲＤＦ  Ｔｒｉｐｌｅｓとして記憶できる。これらはリレーショナルテーブル、スプレッドシート、名前‐値の対、又はユーザによって定義された任意のフォーマットとして表示できる。
【０１８４】
オントロジーブラウザモジュールは、スタンドアロンツールとして、又は第２に（Ｐｒｏｔｅｇｅのような）既存のオントロジーツールに対するプラグインとしてのどちらかで２つの主要な形式で存在することがある。どちらの形式でも、オントロジーブラウザモジュールは選択されたオントロジーに特有のアプリケーションを生成できる。
【０１８５】
生成されたアプリケーションは、実行されている元のオントロジーに定義されたすべてのデータ規則とともに、レコードにアクセスする、レコードを更新する、レコードを削除する、及びレコードを追加するための完全な機能コードセットとしてオントロジーなしに使用できる。
【０１８６】
したがって、オントロジーブラウザモジュールは、画面並びに関連付けられたソフトウェア及びデータを生成してそれらを管理し、ユーザがオントロジー及び該オントロジーによって記述されるデータをブラウズし、編集できるようにする、コンピュータプログラムで実装できるプロセスのセットを提供する。これらの画面は２つの段階で現れる。第１の段階は生成プロセスの間である。この段階では、画面は動的に作成され、ユーザがどの特徴が生成されるべきであるのかを選択できるようにするための追加の情報を表示する。第２の段階で、画面はハードコードされ、生成のために指定された情報だけしか表示しない。
【０１８７】
画面の簡略な説明は以下の表２に提示される。
【表２】
2017513134.tif 000004
2017513134.tif 000005
【０１８８】
これらの画面は、単一の画面が各種の画面に使用されるような一般的な形式で生成せれずに利用できる。画面レイアウトは、オントロジーコンテンツによって動的に決定される。
【０１８９】
一般的な画面はユーザフレンドリではなく、カスタマイズできない。したがって、プロセスにより、ユーザは、ルックアンドフィールがカスケード式シート、テンプレート、アイコン、及びユーザ供給パラメータのような機能を使用しパラメータ的に事前に決定することができる画面の完全なセットを生成できるようにする。
【０１９０】
ブラウザモジュールの配置例は図１５に示される。
【０１９１】
この点で、ブラウザモジュール１３１０はオーケストレータ１３０２からのターゲットオントロジー１５０１又はユーザによって定義される任意のオントロジーを採取する。ブラウザモジュール１３１０は、ユーザがオントロジーをブラウズすること、及びオントロジーのどの構成要素をスタンドアロンアプリケーションの中に生成するのかを指定することを可能にする画面１５０２のセットを表示する。
【０１９２】
ブラウザモジュール１３０２は、ターゲットオントロジーに指定された構造及び規則を使用してデータを管理するためのコンピュータ画面１５０４のセットを含んだスタンドアロンアプリケーション１５０３を生成する。アプリケーションは、純粋にオントロジー又はデータブラウザモジュールのようないくつかのモードで、又は完全機能データ追加、更新、及び削除アプリケーションとして生成できる。この場合、ユーザはここでオントロジーによって記述されたデータを管理するための完全なアプリケーション１５０３を有する。
【０１９３】
ＯＷＬファイル又はＲＤＦファイルを使用するオントロジーは、ウェブページを生成し、情報を記憶するための対応するデータベース１５０５を作成するのに十分な情報を有する。ＲＤＦファイル又はＯＷＬファイルはオントロジストによって、彼らの詳細なビジネス知識に基づいて作成された可能性がある。
【０１９４】
このようにして、ブラウザモジュール１３１０は、ユーザがクエリーを行う又はトランザクションデータを入力するためのアプリケーション１５０３を作成する。ＯＷＬファイル又はＲＤＦファイルは、アプリケーションカスタマイズファイル、データベース接続詳細、及びアプリケーションを作成するために必要とされる任意の他のメタデータとともにブラウザモジュール１３１０の中に送られる。
【０１９５】
ブラウザモジュール１３１０は、例えばＨＴＭＬ５、ＪＳＰ、ＪＳＦ、又は任意の類似した技術を使用し、ウェブページを作成できる。オントロジーのクラスごとに、ブラウザモジュール１３１０はウェブページを作成し、そのクラスと関連付けられたプロパティは該ページの中のフィールドとして作成される。アプリケーション１５０３は、生成されたウェブページとデータベース１５０５との間で橋渡しをする。それは、ウェブページからデータベース１５０５にデータを持続するためのプロセス、データベース１５０５からデータを抽出するためのプロセス、データベース１５０５でデータにクエリーを行うためのプロセス、及びウェブページにデータを表示するためのプロセスを実行する。ブラウザモジュール１３１０は、次いでユーザによって供給されるメタデータに指定されるタイプのデータベースを作成し、ロードするためのデータベーススクリプトを作成する。これは、リレーショナルデータベース（ＲＤＢＭＳ）、Ｔｒｉｐｌｅ  Ｓｔｏｒｅ、ＮＯＳＱＬ、ＮｅｗＳＱＬ、Ｇｒａｐｈ  Ｄａｔａｂａｓｅ又は任意の他の認識されているデータベースであるだろう。
【０１９６】
ブラウザモジュールの動作は、ここでより詳細に説明される。この点で、オントロジーをブラウズするために、ユーザは以下のオントロジー用語を見つけることができなければならない。
・概念
・データプロパティ
・オブジェクトプロパティ、及び
・推論
【０１９７】
これは、２つの機構、つまり
・インデクサモジュールに関して以下に説明されるように、名前で係る任意のオントロジー用語を検索するためにオントロジーから上記オントロジー用語にインデックスを付けるための方法、及び
・いったん特定のプロパティが選ばれると、すべての関係するデータ及びオブジェクトプロパティを表示するための方法
【０１９８】
これを達成するために、ユーザは当初、表２に記載された『ランディング画面』でブラウズされるオントロジーを選択する。オントロジーはファイル又はウェブアドレスから選択できる。いったんオントロジーが選択されると、オントロジーのインデックスを使用してクラスリストが生成される。このリストは各クラスの名前及び記述を表示する。より大きいリストの場合、リスト検索機能が提供され、ユーザがクラス名又はクラス説明の一部によって検索できるようにする。データプロパティに対して検索することも可能である。どちらの場合も、検索はそのデータプロパティを含むクラスのリストを返すだろう。
【０１９９】
ユーザは、次いで対象のクラスを選択し、このことが、以下に示すようにフレーム又はタグ付きサブ画面の形式をとる４つの構成要素を含んだ『クラス画面』を表示させる。
・データプロパティ構成要素。各データプロパティの名前はフィールドの脇に説明ボックスとともにリストフォーマットで表示される。フィールドの脇の情報アイコンをクリックすると、すべてのフィールド属性及びそのフィールドに関係するあらゆる公理が表示される。任意選択で（クリック可能）、親クラス／スーパークラス又は関係クラスの１つ又は複数のクラスのデータプロパティも表示されてよい。
・親クラス構成要素／スーパークラス構成要素。これは、それに対するクリック可能なリンクとともに、表示されたクラスの親クラス／スーパークラスの名前及び説明を表示する。このリンクをクリックすると、ブラウザモジュールはカレントクラスのＰａｒｅｎｔを表示する画面を表示する。
・子クラス構成要素／サブクラス構成要素。これは、サブクラス関係性を活用するクリック可能リンクとともに表示されているクラスのサブクラスの名前及び説明を表示する。これらのリンクの１つをクリックすると、ブラウザモジュールは子クラス／サブクラス又はカレントクラスのサブクラスを表示する。
・オブジェクトプロパティ構成要素。これは、それぞれオブジェクトプロパティを使用するクリック可能リンクとともに、選択されたクラスの関係するクラスを表示する。これらのリンクの１つをクリックすると、ブラウザモジュールはカレントクラスに関係するクラスを表示する。
【０２００】
クラス画面で『検索』オプションを選択することによって、クエリーはそのクラスのすべてのデータインスタンスを返すために発行される。これは、クラスのインスタンスごとに１行を有するリストとして表示される。特定の行をクリックすることによって、その行はオントロジークラス画面に類似したフォーマットされた画面として表示される。一例では、返されるデータは、結果にフィルタをかけるだろうクエリーを実行することによって制限されてよい。係るクエリーの構築及び使用はここでさらに詳細に説明される。
【０２０１】
この点で、ユーザに返されるデータにフィルタをかけることは、ユーザから返されるデータのユーザの正確な要件を、フィルタの形で取り込み、次いでそのフィルタに基づいてクエリーを生成することによって達成される。フィルタは、クラス画面のデータプロパティフィールドの中に値又は式を入力することによって構築される。例えば、どのくらい多くの株式をジョン・ドウが所有しているのかを突き止めるために上述されたサンプルオントロジーを使用すると、以下のステップが必要となるだろう。
・クラスリスト画面から『個人』クラスを選択する。
・データプロパティフィールドで、名に『ジョン』を、苗字に『ドウ』を入力する。
・『個人』クラス画面のオブジェクトプロパティフレームから、『株式』クラスを選択する。
・『検索』オプションを選択する。
【０２０２】
株式クラス画面で『検索』オプションを選択することによって、ジョン・ドウによって所有されるものだけを除いたそのクラスのすべてのデータプロパティを返すためにクエリーが発行される。フィルタは、生成されたアプリケーション１５０３によってＳＰＡＲＱＬ、又はデータベース１５０５に記憶されたデータに対して実行できる、機能的に同等なクエリーに変換される。
【０２０３】
ブラウザモジュール１３１０がアプリケーション１５０３を生成できるようにするために、以下のプロセスが実行される。
・任意選択で、
‐企業名、ロゴ等
‐生成されるアプリケーションの名前
‐作成されるデータベースの名前及びタイプ
‐データベースの場所
‐生成されるアプリケーションのための命名及びコーディングの仕様及び規格。これはスタイルシート、テンプレート、Ｊａｖａスクリプト、及び他の表示仕様を含む。
‐クラス及びアクションに関連付けられたアイコン
‐ヘルプデスクの場所及び連絡先詳細
‐エラー及びログメッセージの冗長
のようなアイテムを含む、生成されるアプリケーションのためのメタデータを構成する。
・『ランディング画面』では、生成元のオントロジーを選択し、『クラスリスト』画面はブラウザモジュール１３１０によって表示されている。
・クラスリスト画面で、『ｇ』で生成される各クラスにタグを付ける。
・生成される各クラスを選択し、ブラウザモジュール１３１０に『クラス表示』画面を表示させる。
・クラス表示画面で、すべてのフィールドは当初『ｇ』にタグ付けされる。各データプロパティフィールド、各スーパー／サブクラスリンク、及び生成される各オブジェクト・プロパティ・リンクを見直し、タグが必要とされない場合はタグを削除する。
・デフォルトで、すべてのフィールドは検索可能である（つまり、フィルタに追加できる）。データプロパティフィールドに『ｎｓ』タグを追加することは、そのフィールドが生成されたアプリケーションでは検索不可となることを意味する。
・スーパー／サブクラスリンクフィールド及びオブジェクト・プロパティ・リンク・フィールドのそれぞれに追加のフィールドタグ位置がある。これらのフィールドに『Ｉ』タグを設定することによって、それはリンクされたクラスから生成された画面にデータフィールドを生成する。これらのフィールドは更新不可フィールドとして表示される。
・リンクされたクラスからのあらゆるフィールドが表示されなければならない場合、リンクされているクラスを選択し、『Ｉ』で適切なフィールドにタグを付ける。
・クラス表示画面に戻り、それが実行されていない場合は、各公理説明からタグを削除する。それ以外の場合、生成されたアプリケーションで整合性の損失がある可能性があるので、公理の前にフィールドを取り除くことは重要である。
・必要とされるクラスが生成のために選択されるまでステップ３〜９を繰り返す。
・クラスリスト画面に戻り、『アプリケーションの生成』オプションを選択する。
・アプリケーションはブラウザモジュール１３１０によって生成され、アプリケーションメタデータに指定される場所に保存される（ステップ１）。データベース作成及びロードのスクリプトが作成される。これらのスクリプトを実行してアプリケーションを使用できるよう準備する。
【０２０４】
したがって、上述されたブラウザモジュール１３１０は、ユーザがオントロジーをブラウズし、オントロジーと対話し、次いで特定のクラス及びデータプロパティを選択することによって、選択されたクラス及びデータプロパティに従ってデータストア１５０５に記憶されたデータと対話するために使用できるアプリケーション１５０３を生成できるようにする。
オントロジーインデクサモジュール
【０２０５】
インデクサモジュールは１つ又は複数のオントロジーの集合体で使用される用語のインデックスのセットを自動的に作成し、ユーザがオントロジーをブラウズし、オントロジーによって定義されたデータのクエリーを促進させるのを支援する。これらのインデックスは、オントロジーのアラインメント、切り詰め、及びブラウズを支援するために他のモジュールによって使用される。
【０２０６】
インデクサモジュールは、すべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名のリンクされたインデックスのセット、並びに関係性を作成することによって１つ又は複数のオントロジーにインデックスを付ける。インデックスは、意味論等価機能から加えた、ソースオントロジーに由来する意味論的に同等な用語を含む。
【０２０７】
インデクサの機能性の例は、ここで図１６を参照して説明される。
【０２０８】
この例では、インデクサモジュール１３２０は、画面１６０２のセットを介して又はプロセッサ１３０１によって、オーケストレータ１３０２からのオントロジー１６０１、又はユーザによって定義されたあらゆるオントロジーを受け取り、すべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名のインデックス１６０３を作成する。画面は、上述されたように、ブラウザモジュール１３１０によって生成されてよいことが理解される。
【０２０９】
各オントロジー用語はインデックスを付けられるので、概念マッチングデータベース１６０４を使用し、セマンティックマッチャモジュール１３５０から入手されるそのアイテムの同義語にもインデックスが付けられる。オブジェクトプロパティの場合、オブジェクトプロパティによってリンクされる概念はインデックスで相互参照される。
【０２１０】
上記の例のオントロジーに基づいた概念−データプロパティ−オブジェクトプロパティ（ＣＤＯ）インデックスのサンプルが表３に示される。これが説明のためのインデックスの表示形式であるが、実際にはインデックスは、以下により詳細に説明されるように、より複雑なインデックス構造に記憶され得ることに留意されたい。
【表３】
2017513134.tif 000006
2017513134.tif 000007
2017513134.tif 000008
【０２１１】
同義語を包含しなくても、これはきわめて有用なインデックスである。例えば、２つの異なるオントロジーで同じ名前を有するあらゆる概念は、潜在的に合わせられてよい。アライナモジュールは係る各対を採取し、第１のそのオブジェクトプロパティ、及び次いでそのデータプロパティを採取するだろう。
【０２１２】
例えば、概念『株式』は、概念Ｏｎｔ  １．７及びＯｎｔ  ２．１０として両方のオントロジーに現れる。このレベルで、それらは類似しているように見え（名前は同一であるため、Ｓ１．７，２．１０＝１．０）、インデクサモジュールの観点から、それは十分である。
【０２１３】
追加の分析は、以下により詳細に説明されるアライナモジュールによって実行されるだろう。オブジェクトプロパティを調べることによって、アライナモジュールは、オブジェクトプロパティが以下の表４に示されるように異なることに気付くだろう。それらは数及びオブジェクトプロパティ名でマッチするが、関係する概念の１つは異なり、Ｓ１．７，２．１０＝０．８５７１を示す。データプロパティを調べることによって、それらが同一のデータプロパティを有し、Ｓ１．７，２．１０＝１．０を示すことに気付く。
【０２１４】
アライナモジュールが上記計算を実行したソース情報は、インデクサによって作成されたインデックスですべて利用可能である。
【表４】
2017513134.tif 000009
【０２１５】
セマンティックマッチャモジュールを使用する他の概念の追加の分析は、「個人」が「クライアント」のサブクラスであることを示し、したがってＳ１．７，２．１０＝０．８‐＞０．９５を示すだろう。オントロジー２は、オントロジー１よりもより一般的なモデルである。この類似性の範囲は、２つのオントロジーの株式の間のアンカー点を確立するには十分である。Ｓｉ，ｊの計算はアライナモジュールによって実行される。
【０２１６】
概念間の関係性は、概念Ｃ１がどのように概念Ｃ２に関連するかを示す表５に表示形式で示される概念対概念（Ｃ２Ｃ）テーブルで抽出される。
【表５】
2017513134.tif 000010
【０２１７】
インデックスは、上記テーブルを異なるシーケンスにソートすることに対応する複数のフォーマットで構築される。アライナモジュールは、インデックスに対してＳＱＬクエリーを実行することによってそのタスクの多くを実行できる。
【０２１８】
インデックス構造例は、ここでより詳細に説明される。この点で、セマンティックマッチャモジュールを使用し、語根又は見出し語が同義語セットごとに決定される。セマンティックマッチャモジュールは、文脈が最適結果を得るために設定されることを必要とする。一般に、いくつかのオントロジーに対してインデックスを構築するとき、各オントロジーの文脈は既知で狭く、対象の他のオントロジーに関係付けられる。
【０２１９】
インデックスの最終セットは、以下に要約されるマルチステッププロセスで作成される。
・インデックスが付けられているオントロジーからのすべての概念、オブジェクトプロパティ、及びデータプロパティを抽出する。
・表３及び表５に示されるフォーマットを用いて一時テーブル（ＣＤＯ及びＣ２Ｃ）の中にこれらの値をロードする。これらのテーブルは、インデックスを付けられているオントロジーごとに空で作成又は再作成される。
・オントロジーはセマンティックマッチャモジュールにロードされる。これは、オントロジーに含まれるあらゆる定義を使用し、それらを、セマンティックマッチャモジュールにすでにロードされている、又はＷｏｒｄＮｅｔのような公のディクショナリから利用できるそれらの定義と比較することによってあらゆる単語を意味論的に調べる。文脈はオントロジー（例えば、医療／外科、又は地理位置）によって供給される。
・セマンティックマッチャモジュールは概念Ｉｄ、つまり同義語のあらゆるファミリの見出し語又は語根に対応する一意の数を定義する。
・同義語テーブルは、次いで概念Ｉｄを有する上述された一時テーブルの用語にマッチする用語をロードされる。
・セマンティックマッチャモジュールによってインデックスを付けられているオントロジーの用語ごとに識別されるすべての同義語も同義語テーブルにロードされる。
・最終的なＣＤＯインデックスは、次いでＣＤＯテーブルの用語ごとに適切な概念Ｉｄを置換することによって作成される。
・最終的なＣ２Ｃインデックスは、次いでＣ２Ｃテーブルの用語ごとに適切な概念Ｉｄを置換することによって作成される。
・インデックスの一時（表示バージョン）は削除される。
・インデックスを付けられる次のオントロジーは、次いですべての上述のステップを繰り返すことによってロードされる。
・すべての関連性のあるオントロジーにインデックスが付けられるとき、セマンティックマッチャモジュールに対する同義語テーブルの最終的な通過は、あらゆる新しい同義語がロードプロセス中に識別される場合に実行される。
・インデックスは適切なデータベース構造にロードされ、性能について調整される。通常、これは、オントロジーインデックステーブルに対して複数のデータベースインデックスを作成することを含む。
【０２２０】
ツールと又はインデックスとの直接的なユーザ対話がないことが理解される。代わりに、インデクサモジュールは他のモジュール、ツール、又は構成要素によって使用されるサービスを提供する。
【０２２１】
本インデックスが提供できるサービスのいくつかは、以下を行う強化された能力を含む。
・オントロジーの選択から最良のオントロジーを選ぶ。
・複数のオントロジーを合わせる又はマージする、
・オントロジーをナビゲーションする、
・同意語を抽出する、
・セマンティックマッチングを実行する。
オントロジープルーナモジュール
【０２２２】
プルーナモジュールは、ユーザが、ユーザの対象のオントロジー用語に関連するデータ又は公理を含む構成要素を不注意に削除することによって整合性を失うことなく、大きなオントロジー又は合わせられたオントロジーの集合体を採取し、それらをユーザのニーズにとって対象のクラスに切り詰めることを可能にするように設計されている。
【０２２３】
例えば、解剖学の基礎的なモデル（ＦＭＡ）のような大きい参照オントロジーを構築し、活用するときに問題が生じる。この点で、ＦＭＡは、本来はごく一般的でもある（例えば、アプリケーションに特有ではない）が、非常に大きくきわめて詳細である。また、ＦＭＡは、適切なモデリング原則に対するその順守においても厳格である。これらの基準はともにＦＭＡを多くの可能性があるアプリケーションに与える。ただし、これらの基準は、任意の特定のアプリケーションによる使用にＦＭＡを扱いにくくする（つまり過剰に大きい又は詳細又は原則に基づかせる）。
【０２２４】
結果として、ＦＭＡの潜在的なユーザは以下の基本的な形の要求、つまり「本当にＦＭＡを気に入っているが、ＦＭＡは自分たちのニーズにとっては大きすぎる又は詳しすぎであり、実際にはＦＭＡ全体のサブセットに基づいた何かしか必要としていない」を有していた。分割のための基礎は、アプリケーションごとに変化したが、例は以下を含む。
・部位ベース、つまり脳又は腹部
・システムベース、つまり心臓血管系又は骨格系
・粒度ベース、つまりｘ線に見えるアイテム又は細胞成分及び亜細胞成分のみ
【０２２５】
所望されるオントロジー派生物は概して上記のもののようなサブセット抽出に基づいていたが、該派生物はアプリケーションの必要性により見合うために多くの場合さらに操作された（つまり、追加されたクラス、削除されたクラス、削除されたプロパティ、追加されたプロパティ等）。
【０２２６】
係る要求は、以下の３通りの内の１つで処理できるだろう。
・一般的な解決策ではない、それぞれの新しい要求に特有な手続き型コードを作成すること、
・定義及びソースオントロジー（複数の場合がある）からアプリケーションＫＢを生成できるだろうエンジンだけではなく、所望されるアプリケーション（ＫＢ）（必ずしも適切なオントロジーではない）を定義するための言語も必要とする、オントロジーに対するビューを作成すること。これはプロパティの追加及び削除に問題を有する。
・よくモデル化されたサブセットオントロジーを送達するためにオントロジーを切り詰めること。
【０２２７】
このようにして、関連性、性能、管理容易性、及びテスト容易性のような切り詰められたオントロジーに多くのニーズがあり、これらの要件は、オントロジーの専門知識をほとんど又は少しも有さない人が不必要な概念を安全に切り詰めることができるようにするツールによって満たされるべきである。さらに、その人は簡略化されたクエリー構築機構を使用することによって、オントロジーにより記述されるデータを選択し、検査できる必要がある。次いで彼らはその削除に取り組む前にオントロジーから構成要素を削除することの影響を研究し、次いで切り詰められたオントロジーを新しいオントロジーとして「保存できるだろう。
【０２２８】
例えば、ＳＮＯＭＥＤ−ＣＴは、臨床文書で使用される医学用語の大きな医学オントロジーである。ＳＮＯＭＥＤ−ＣＴは、医学用語間の約１，４００，０００の関係性を有する３００，０００超えの概念から成る。概念は１９の機能領域に分割される。研究者にこれらの領域の１つ、例えばメンタルヘルスにしか関心がない場合がある。他の１８の領域を削除すると、医療健康用語と薬剤用語との間の関係性の多くが壊れるだろう。研究者がこれらのアイテムの保持を希望する可能性があることは明らかである。手作業でこのようにすることは既存のツールを用いた何か月もの作業を必要とし、エラーを発生しやすいであろう。
【０２２９】
別の例として、ユーザはいくつかの既存のソースオントロジーの構成要素から新しいオントロジーを作成し、次いでそれら独自の追加を追加することを希望することがある。結合されたオントロジーは、削除される必要があるだろう多くの関連性のない概念を含むだろう。例えば、配達ルートを決定し、最適化できるようにするオントロジーを作成するために地理位置オントロジーと輸送オントロジーを結合する宅配便会社。これらのオントロジーを結合し、空港で旅程を開始及び停止する飛行機、港での船舶、並びに駅での列車のような公理を追加することによって、彼らのビジネスモデルであらゆる概念をカバーする情報ベースを構築することが可能になるだろう。ただし、各ソースオントロジーの多くは必要とされないだろう。
【０２３０】
切り詰められたオントロジー定義は、完全なオントロジーに対するビューの代わりに使用され得る。このビューは、アクセス制御、範囲管理等のようないくつかの目的に使用できるだろう。
【０２３１】
これを達成するために、プルーナモジュールは、以下の表６に提示される機能を実行するためにブラウザモジュールと併せて動作する。
【表６】
2017513134.tif 000011
【０２３２】
プルーナモジュールは、ユーザが、選択したオントロジーのどのクラス、データプロパティ、オブジェクトプロパティ、及び公理を保持することを希望するのかをユーザが指定できるようにするためにブラウザモジュールと対話する。保持されたものを使用し、プルーナモジュールは、オントロジーで定義されている相関的な及び公理的な整合性が維持されていることを確かめるためにチェックする。
【０２３３】
別のバージョンでは、ユーザは、切り詰められたオントロジーで保持されなければならない、単一のオントロジーの中の２つの必須概念を指定してよい。本発明は、次いでクラス間のすべての概念関係性をマップし、指定された概念を分析するために必要とされるすべてのクラスをタグ付けする。追加のクラス、オブジェクトプロパティ、及び公理は次いで切り詰められたオントロジーの整合性を保証するためにソースオントロジーから含まれる。
【０２３４】
別のバージョンでは、ユーザは、切り詰められたオントロジーで保持されなければならない、異なるオントロジーから２つの必須概念を指定してよい。プルーナモジュールは次いでクラス間のすべての概念関係性のマッピングを試み、指定された概念を分析するために必要とされるすべてのクラスをタグ付けする。接続経路が識別されない場合、ソフトウェアは２つの開始概念を接続する切り詰められたオントロジーを作成する潜在的な不可能性を認識する。ユーザは、以下を行うように求められる。
・該試みを断念する、又は
・目標を再定義し、再び開始する、又は
・手作業で又は別のオントロジーからのどちらかで追加クラスを追加することによって範囲を拡大し、再び開始する。
【０２３５】
成功を想定し、ユーザは結合されたソースオントロジーからサイズが大幅に削減された完全なオントロジーを有する。
【０２３６】
プルーナモジュールの配置の例は、図１７Ａに示される。
【０２３７】
この例で、プルーナモジュール１３３０はＯＷＬファイル及びＲＤＦＳファイルに定義されたオントロジー１７０１を開き、ユーザは次いで以下の表７に定義される画面１７０２のセットを介してプルーナモジュール１３３０と対話して、それによって切り詰められたオントロジー１７０３を作り出す。画面が上述されたようにブラウザモジュール１３１０によって生成され得ることが理解される。
【表７】
2017513134.tif 000012
【０２３８】
図１７Ｂを参照してここで説明されるように、単一オントロジーを切り詰めるとき、これはツールによって支援される手動プロセスである。
【０２３９】
この例で、ユーザは、ユーザが必要とする概念を選択し、ツールは完全性及び整合性に必要とされる構成要素を識別し、追加する。ユーザはソースオントロジーで開始シード点Ｓ０としてクラスを選択し、キープためにそれにＫ０としてタグを付ける。
【０２４０】
コンピュータは、Ｋ０としてタグを付けられたクラス及び推論から、『Ｋ０』として記されたクラスのすべての親、すべてのクラス及び推論を識別し、『Ｋ１』としてタグをつける。これらのタグを付けられた変数はＳ１−シェルと呼ばれる。ユーザはコンピュータによってタグが付けられたアイテムを見直し、それらにキープ（Ｋｅｅｐ）のＫ１、不確実性（Ｍａｙｂｅ）のＭ１、及び廃棄（Ｄｉｓｃａｒｄ）のＤ１としてタグを付け直す。すべての公理はタグを付けられたＭｉ構成要素及びＫｉ構成要素のためにロードされる。プロセスは次いで繰り返され、ユーザが適切なオントロジーに対するすべての構成要素にタグを付けるまで、毎回ｉを増分する。
【０２４１】
次いで、潜在的なエラーを識別し、推論された値を追加するために、リーズナが結果として生じるオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理はＫｎとタグを付けられ、タグを付けられた構成要素は切り詰められたオントロジーとしてエクスポートされる。
【０２４２】
複数の重複するオントロジーの場合、プロセスは図１７Ｃに示される通りである。
【０２４３】
この例で、ユーザは、１つのオントロジーで開始シード点Ｓ０としてクラスを選択し、同じ又は別のオントロジーのどちらかで終了点Ｅ０として別のクラスを選択し、それらの両方をＫｅｅｐのためのＫとして『Ｋ０ｓ』又は『Ｋ０ｅ』でタグ付けする。
【０２４４】
コンピュータは、『Ｋ０ｘ』と記されたクラスのすべての親を『Ｋ１ｓ』又は『Ｋ１ｅ』としてタグ付けし、クラス及び推論からのすべてのサブクラス及び推論は『Ｋｎｘ』としてタグ付けされ、ｎ＝１である。これらのタグ付けされた変数はＳ１−シェル及びＥ１−シェルと呼ばれる。Ｓシェル及びＥシェルの変数は、以下により詳細に説明されるセマンティックマッチャモジュールによって比較される。マッチャモジュールは各シェルの変数間のマッチ品質に対する数値を返す。所定のマッチ品質が満たされると、次いで２つのシェルの間に経路が決定される。これは、シェルが重複する場合にだけ発生するはずである。開始点及び終了点が同じオントロジーにある場合、マッチ品質は１．０、つまり完全一致でなければならない。
【０２４５】
いかなる段階でも、タグ付きデータクラスのデータプロパティは切り詰められてよい。これは、クラスを選択し、データフィールド（データプロパティ）をＤｉｓｃａｒｄの『Ｄ』として記すことによって実行される。廃棄されたフィールドの存在に基づいたあらゆる推論が無視される。
【０２４６】
これらのステップは反復され、所定数の変数が適切なマッチ品質を有する又はシェルの所定の深さに到達するまで毎回１ずつ、ｎを増分する。マッチング変数のシェル経路は『Ｐｊｘ』とタグ付けられる。経路を確立せずにシェルの所定の深さに到達する場合、次いでプロセスは失敗し、オントロジーは不同等とみなされる。プロセスは停止する。この点で、所定のシェルの深さを増加し、ＫからＤｉｓｃａｒｄのＤまでの範囲外と見なされるあらゆる概念のタグを手作業で変更することが可能である。プロセスを再開できる。
【０２４７】
いったんこれらが確立されると、Ｓ０とＥ０間の経路Ｐｊをポピュレートすることができ、骨組みの切り詰められたオントロジーはこれらの経路の観点から定義できる。タグ付けされたＰｊ経路構成要素のすべてのクラスの親及び推論された親も経路Ｐｊに属するようにタグ付けされる。すべての公理がタグ付けされたＰｊ経路構成要素のためにロードされ、このようにして拡大されたオントロジーを作成する。
【０２４８】
リーズナは潜在的なエラーを識別し、推論された値を追加するために拡大されたオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理はタグ付けされ、切り詰められたオントロジーの一部としてエクスポートされる。
【０２４９】
不同等のオントロジーの場合、プロセスは図１７Ｄに示される。この点で、不同等のオントロジーは、次の２つの考えられる理由から発生することがある。
・ユーザが、ユーザがオントロジーを合わせる又は２つのオントロジーの概念からサブセットオントロジーを抽出しようと試みるまでオントロジーは不同等であることを理解していなかった。これは前項の潜在的な失敗結果である。又は、
・ユーザは、オントロジーが不同等であることを知っており、オントロジーが結合できるよう概念及びプロパティを供給している。
【０２５０】
いずれの場合も、ユーザはオントロジーを結合できるよう情報を供給しなければならない。これが事実上プロセスの開始点である。
【０２５１】
ユーザは一方のオントロジーで開始シード点Ｓ０としてクラスを選択し、他方のオントロジーで終了シード点Ｅ０として別のクラスを選択し、両方をＫｅｅｐのＫとして『Ｋ０ｓ』又は『Ｋ０ｅ』でタグ付けする。さらに、それらは、線１７１０によって示されるように、オントロジーを接続するユーザによって定義された経路のセットを定義する。
【０２５２】
これらの経路は、『ｉ』が定義されている経路番号である、開始点及び終了点『Ｕ０Ｓｉ』及び『Ｕ０Ｅｉ』を有する。これらの経路は、あるオントロジーのクラスで開始し、別のオントロジーのクラスで終了する、関係する概念の隣接するセットを形成する。
【０２５３】
開始点／終了点とユーザによって定義された概念『ｉ』との間の経路Ｐｓｉ及びＰｅｉを確立するために、各概念対Ｓ０と『Ｕ０Ｓｉ』及びＥ０と『Ｕ０Ｅｉ』に次いで適用された重複オントロジーについて上述されたプロセス。いったんこれらが確立されると、Ｓ０とＥ０の間の経路Ｐｉはポピュレートすることができ、骨組みの切り詰められたオントロジーはこれらの経路の観点から定義できる。タグ付けされたＰｉ経路構成要素のすべてのクラス親及び推論された親も経路Ｐｉに属するとしてタグ付けされる。すべての公理がタグ付けされたＰｉ経路構成要素のためにロードされる。これが拡大されたオントロジーと呼ばれる。
【０２５４】
リーズナは潜在的なエラーを識別し、推論された値を追加するために拡大されたオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理は追加され、エクスポートできる切り詰められたオントロジー１７１１に含まれる。
【０２５５】
概念が切り詰めの開始点としてユーザによって選択されるとき、どの追加概念を含める必要があるのかを判断することが必要である。この判断を下すために適用されるオブジェクトプロパティ及びデータプロパティベースのアルゴリズムベースがある。この点で、オブジェクトプロパティは以下の属性を有する。
・オブジェクトプロパティは２つの概念間の関係性に名前を付ける。
・関係性は方向を有する。これは『ドメイン』概念から『範囲』概念として定義される。リレーショナルデータベースの専門用語では、ドメインの一次キーがＲａｎｇｅの外部キーになる。
・任意選択で、関係性は以下を含んだタイプを有する。
‐機能的
‐逆機能的
‐推移的
‐対称
‐非対称
‐再帰的
‐非再帰的
【０２５６】
また、スーパークラス／サブクラスの関係性はオブジェクトプロパティの特別な場合に同等である。サブクラスは、そのスーパークラスのすべてのデータプロパティ及びすべてのオブジェクトプロパティを『継承する』。
【０２５７】
上述されたサンプルオントロジーを使用し、切り詰めの開始点が『クラブ』であると、次いで切り詰められたオントロジーにクラブのすべてのスーパークラス、つまり組織及び当事者を含めることが必要になるだろう。その関係性の方向及びタイプがその自動包含を除外するので、メンバーのクラスは含まれないだろう。同じ理由から、組織及び当事者のサブクラスは自動的に含まれず、クラブのサブクラスも、あったとしても含まれないだろう。
【０２５８】
ただし、メンバーが含まれた場合には、オブジェクトプロパティ『有する』の方向及びタイプは、クラブが個人であり、そのすべてのスーパークラスが自動的に含まれたことを保証するだろう。
【０２５９】
任意の概念のデータプロパティ『タイプ』は、それがモデル化されていない概念、すなわちクラブでの『クラブのタイプ』、メンバーでの『メンバーのタイプ』等の存在を暗示するため警戒を促す。例えば、『クラブのタイプ』概念はセーリング、チェス、事務等のようなすべての有効値のリストを含むことがあるだろうクラブのタイプ概念は『クラブの範囲』とともに『タイプを有する』と呼ばれるオブジェクトプロパティを有するだろう。この概念は切り詰められたオントロジーに自動的に含まれるだろう。
【０２６０】
すべての自動的な包含及び排除は、すべての概念にわたって又は概念単位でのどちらかで修正できる。ユーザは各タイプのオブジェクトプロパティに『包含』、『排除』又は『尋ねる』を指定する。
【０２６１】
特定の概念を包含する決定は、オントロジー規則、特にオブジェクトプロパティを推論エンジンに対する入力として使用して専門化されたＳｅｍａｎｔｉｃ  Ｒｅａｓｏｎｅｒを使用することにより下される。一階述語論理は明白な包含及び排除を得るために初めに使用される。『タイプ』データプロパティの例の通り、追加の推論は前方推論連鎖及び後方推論連鎖を使用し、決定されなければならない。最良の結果を得るために、それぞれの局所化された問題領域にＮｏｖａｍｅｎｔｅの確率論ネットワーク技法を適用できる。
【０２６２】
プルーナモジュールの動作例はここでより詳細に説明される。この例では、オントロジーを切り詰めるために、該オントロジーに含まれる概念、データプロパティ、オブジェクトプロパティ、及び推論を識別することが必要である。一例では、これはオントロジーアイテムにインデックスを付けるためにインデクサモジュールを使用し、次いで上述されたように選択のためにオントロジー用語を表示するためにブラウザモジュールを使用して達成される。
【０２６３】
特に、ユーザはブラウザモジュール『ランディング画面』で切り詰められるオントロジーを選択する。この点で、オントロジーは、ファイル、ウェブアドレス等のような任意のソースから選択できる。いったんオントロジーが選択されると、クラスリストがオントロジーのインデックスを使用して生成される。このリストは各クラスの名前及び説明を表示する。より大きいリストの場合、リスト検索機能が提供され、ユーザがクラス名又はクラス説明の一部ごとに検索できるようにする。データプロパティに対して検索することも可能である。どちらの場合も、検索はそのデータプロパティを含むクラスのリストを返すだろう。ユーザは次いで開始点としてクラスを選択し、該クラスにＳ０とタグを付ける。
【０２６４】
任意選択で、ユーザは次いで終了点Ｅ０を選択する。ユーザが終了点を選択しない場合、次いでユーザは上述されたように切り詰め動作を手作業で制御する必要がある。また、ユーザはランディング画面に戻り、終了点の別のオントロジーを選択してよい、又は代わりにユーザは選ばれたオントロジーが不同等であることを認識している場合には、ブリッジ概念及び関係性のセットを追加できるだろう。ユーザがブリッジ概念を指定しない場合、次いでプロセスは上述された重複オントロジープロセスに基づいて進み、それ以外の場合、プロセスは不同等のオントロジーのプロセスに従って進む。
【０２６５】
切り詰めプロセスを制御するために、以下を含んだいくつかのメタデータパラメータを設定できる。
・切り詰められたオントロジーを記憶するための場所
・調査のためのシェル深さ
・同一性を受け入れるためのマッチ品質
・手動編集を可能にするために各シェルの完了時にプロセスを休止するかどうか
・最大ランタイム
・エラー及びログメッセージの冗長
【０２６６】
手動切り詰めプロセスの例は、ここでより詳細に説明される。
【０２６７】
この例で、ユーザは切り詰めプロセスを開始する開始点だけを指定する。ユーザはいかなるときにも交互に用いることができる２つの方法の内の１つで手動切り詰めを実行できる。
・通常ブラウザモジュール１３１０によって表示されるクラスリスト画面から、ユーザは『Ｋ』で、保持されるクラスにタグを付けることができる。いかなるときでも、ユーザは、あらゆる関係するクラス及び公理に自動的にタグを付け、クラスリストにタグ付けられたクラスを表示する『有効化』オプションを選択できる。さらに、ユーザは、選択されたクラス及び関係性を図式で示すためにタグ付けされたクラスをグラフ作成プログラムに渡す『見る』オプションを選択できる。グラフ作成プログラムはＯｎｔｏＧｒａｆ等のような公に入手できるグラフ作成パッケージであることがある。
・代わりに、ユーザは、ブラウザモジュール１３１０によって表示されるクラスリスト画面のクラスをクリックすることによってクラス表示画面の開始クラスを開くことができる。ユーザは次いでユーザが保持を希望する、あらゆるサブクラス／スーパークラスに、オブジェクトプロパティフレームに指定されるあらゆるクラスを加えたすべてのデータプロパティにタグを付けることができる。このプロセスは表示される任意の関係するクラスに対するリンクをクリックすることによって反復して実行できる。いかなるときにも、ユーザはクラスリスト画面に戻って進行を有効化又は見ることができる。
【０２６８】
いったんユーザが切り詰められたオントロジーに必要とされるクラスのタグ付けを終了すると、ユーザはクラスリスト画面に戻り、『オントロジーの生成』オプションを選択できる。これにより、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
【０２６９】
重複オントロジーを切り詰めることの例は、ここでより詳細に説明される。
【０２７０】
この例で、ユーザは、切り詰めプロセスを実行するための開始点及び終了点だけを指定する。プロセスは上述された複数の重複するオントロジーで説明されるように進行する。
【０２７１】
アプリケーションメタデータパラメータがシェル間で休止するように設定されていると仮定し、プロセスは各シェルの完了時に停止する。この点で、ユーザは自動的にタグ付けされたアイテムを確証する又は見ることができ、ユーザが関連性がないとして認識するあらゆるタグを削除してよい。開始点及び終了点を接続する経路が確立されるまで、ビュー機能は２つの部分的なオントロジーを表示する。『再開』オプションを選択することによって、プログラムは次のシェルの決定時に開始する。
【０２７２】
１つの経路が識別された後のいかなるときにも、プロセスを停止できる。ただし、代わりに、開始点と終了点の間のいくつかの異なる考えられる経路を決定できる。
【０２７３】
いったん処理条件の指定された目的が満たされると、プロセスは停止し、以下の内の１つを含むだろうステータスメッセージとともにユーザに戻る。
・指定最大シェル深さに到達した。経路は見つからなかった。オントロジーは不同等である可能性がある。（失敗）
・指定最大シェル深さに到達した。『ｎ』個の経路が見つかった。『ｍ』個の経路が要求された。（部分的な成功）
・指定数の経路が見つかった。（完全な成功）
【０２７４】
ユーザは、アプリケーションメタデータの完了基準を変更し、再開オプションを選択することによってプロセスを拡張することを決定してよい。ユーザが結果に満足した場合、ユーザは『オントロジーの生成』オプションを選択するだろう。これによって、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
【０２７５】
ユーザが、オントロジーが事実上不同等であると決定する場合、次いでユーザは以下に説明されるように進むだろう。
【０２７６】
この例で、ユーザは、切り詰めプロセスを実行するための開始点及び終了点、並びに関係するブリッジ概念を指定する。ユーザは、オントロジーを切り詰め、マージするために以前の試みからタグを保存していた可能性がある。
【０２７７】
切り詰め開始オプションを選択することによって、プロセスは上述の不同等のオントロジーのプロセスに従って説明されたように開始する。シェル間で休止するためにアプリケーションメタデータパラメータが設定されたと仮定すると、プロセスは、各シェルが完了すると停止する。
【０２７８】
この点で、ユーザは自動的にタグ付けされたアイテムを確証する又は見ることができ、ユーザが関連性がないとして認識するあらゆるタグを削除してよい。ユーザによって定義されたブリッジ点の１つに開始点及び終了点を接続する経路が確立されるまで、ビュー機能は、ユーザ定義点ごとに１つ、並びに開始点及び終了点に１つ、多くの部分的なオントロジーを表示する。
【０２７９】
再開オプションを選択することによって、プロセスは次のシェルの判断について開始する。ソースオントロジーの１つの経路及びターゲットオントロジーの１つの経路がブリッジクラスを介して接続された後のいかなるときでも、プロセスは停止できる。ただし、代わりに、開始点と終了点との間の可能な限り多くの経路を決定できる。
【０２８０】
いったん処理条件の指定された目的が満たされると、プロセスは停止し、以下の内の１つを含むだろうステータスメッセージとともにユーザに戻る。
・指定最大シェル深さに到達した。経路は見つからなかった。オントロジーは不同等である可能性がある。（失敗）
・指定最大シェル深さに到達した。『ｎ』個の経路が見つかった。『ｍ』個の経路が要求された。（部分的な成功）
・指定数の経路が見つかった。（完全な成功）
【０２８１】
ユーザはアプリケーションメタデータの完了基準を変更し、再開オプションを選択することによってプロセスを拡張することを決定してよい。
【０２８２】
ユーザが、オントロジーがまだ事実上不同等であると決定する場合、次いでユーザはブリッジ概念を調べる上である程度の努力を費やす必要があるだろう。ユーザは、経路が合流することを保証するために手作業のタグ付けを実行する必要がある場合がある。
【０２８３】
ユーザが結果に満足した場合、ユーザはオントロジー生成オプションを選択し、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
セマンティックマッチャモジュール
【０２８４】
セマンティックマッチャモジュールは、２つの概念がある特定の文脈の中で考慮されるときに類似する程度まで数学値を適用できるようにする。このプロセスの名前は『セマンティックマッチング』であり、２つのオントロジーで概念を合わせようとするときに、それは特に重要である。例えば、ビジネスの文脈での単語『企業』及び『組織』は厳密には同じ意味をもたない。すべての企業は組織であるが、すべての組織が企業であるわけではない。事実上、クラス企業はクラス組織のサブセットである。例えば、『この組織は上場企業であるが、その組織はゴルフクラブである』。
【０２８５】
社会的な文脈では、企業は組織に関係付けられているのではなく、共同経営者の集合に関係付けられている。例えば、『ジョン・ドウは悪友と付き合う』。クラブ及び企業はともに組織であるため、なんらかの類似性がある。上場企業及び非上場企業も類似し、共通の親を共有する。それらはクラブ及び企業と同程度に概念上近いのか。非上場の公開会社（＞５０人の株主）及び非上場の非公開会社（＜５１人の株主）はどうだろうか。それらは上場企業及び非上場企業よりも近いのか。
【０２８６】
２つの概念がどれほど類似している可能性があるのかを測るための数学的なベースを与えるために、『同一性』の概念を導入する。いくつかの公式の測定基準がある。例えば、Ｌｅｖｅｎｓｔｅｉｎ距離（Ｌｅｖｅｎｓｈｔｅｉｎ、１９６６年）は、２つの文字列をマッチさせるために必要とされる挿入及び削除を数え、Ｎｅｅｄｌｅｍａｎ−Ｗｕｎｓｃｈ（Ｎｅｅｄｌｅｍａｎ、１９７０年）距離は編集動作に異なるコストを割り当て、Ｓｍｉｔｈ−Ｗａｔｅｒｍａｎ（Ｓｍｉｔｈ、１９８１年）はさらにコストにアルファベットマッピングを使用し、Ｍｏｎｇｅ−Ｅｌｋａｎ（Ｍｏｎｇｅ、１９９６年）は単語間のサブ文字列ギャップに応じて可変コストを使用する。さらに、２つのストリングが「短い」距離によって置き違えられても２つの文字列間の共通の文字を数えるＪａｒｏ−Ｗｉｎｋｌｅｒ類似性、２つの文字列間で共有される三重文字の数を数えるＱ−Ｇｒａｍ（Ｓｕｔｉｎｅｎ、１９９５年）、及び最大公約サブ文字列を検索するサブ文字列距離を使用した。ただし、これらの内のどれも特に効果的であることは判明していない。
【０２８７】
もう１つの共通技法は、『物事』の概念を根とする単一の階層木で概念を配置することである。大部分の同一性式は測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０２８８】
ただし、オントロジーを構築したオントロジスト及びオントロジーがオントロジーを使用する人によって切り詰められているかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０２８９】
概して、同一性は概念の間のエッジ数によって測定される。他の可能性は、データプロパティの数に基づいて存在する。例えば、上場公開企業及び非上場公開企業はそれぞれ１つの属性しか有さないことがあり、バランスは企業の定義に保持されるのに対し、クラブ及び企業はそれぞれ「５」つのデータプロパティを有することがあり、バランスは組織の定義で保持される。したがって、企業がクラブに類似するよりも、非上場の公開企業は上場公開企業により類似している（「１０」の代わりに「２」つの属性、つまり言い換えると、より少ない相違があり、相違は距離に同等である）。
【０２９０】
『距離』の概念は重要と見なされる。２つの概念はどれほど遠く離れているのか。測定されている概念とその共通の親との間の概念の数に基づいた式がある。距離が「１」である場合には、一方の概念が他方のスーパークラスであることは明らかである。しかしながら、距離が「２」である場合には、概念は兄弟又は孫のどちらかである。これは特に有用な事実ではない。
【０２９１】
距離と同一性の間にはいくつかの関係性がある。明らかに、距離が「０」である場合には、同一性は「１．０」である。つまり、概念は同一であるため、実際にはこのインスタンスには１つの概念しかない。
【０２９２】
優れたセマンティックマッチャモジュールは、あらゆる適切な数式を使用し、マッチの同一性及び距離を計算できなければならない。
【０２９３】
それを考慮に入れると、科学の世界、工学の世界、及びビジネスの世界のあらゆる態様を記述する何千もの公のオントロジー及び私的なオントロジーがある。２つのオントロジーを合わせるためには、２つのオントロジーの概念間に意味論的なマッチがあるかどうかを判断することが必要である。
【０２９４】
現在では、リンクされた概念を定義するオントロジーの操作は研究者及び専門のオントロジストに制限されている。概念の定義及び名前は、文脈に応じて非常に変化する。オントロジーの中で及びオントロジーにわたって用語を比較するためには、用語を意味論的に調べるためのなんらかの機構を有する必要がある。２つの概念が実際に同じ事柄に対する同義語であるのか、それともそれらはなんらかの方法で関係付けられているのか。例えば、組織及び企業はある程度の同一性があるようにいくつかの属性を共通して有している。すべての企業は組織であるが、すべての組織が企業であるわけではない（小前提）。
【０２９５】
別の例では、指の存在は手の存在を暗示する。指及び手は同じではないが、それらの間には関係性があり、一方が他方の一部であるため、一方の存在は他方の存在を暗示する。（部分語）
【０２９６】
任意の２つの概念を考慮すると、該概念がどれほど類似しているのかを知りたいと思う。つまり、同一性０−＞１であり、上式では１．０が、一方が他方のサブクラスであるのか、それともスーパークラスであるのか（−１，０，１）、及び１つが別のものの部分であるかどうか（−１，０，１）に関わらず、該概念が同一であることを暗示している。
【０２９７】
セマンティックマッチャモジュールは、概念、概念の意味、及び概念間の関係性のデータベースを含む。セマンティックマッチャモジュールは、概念と概念の定義との間の関係性を手作業で編集するため、及び数学的に定義された方法で概念を分析するための、オントロジーから概念をロードするためのツールを有する。これらの数学的に定義された概念のプロパティ及び概念の関係性は、次いでディクショナリとして及びセマンティック概念マッチャモジュールとして、オントロジーを合わせることのようなさまざまな状況で使用できる。
【０２９８】
セマンティックマッチャモジュール概念はある特定の文脈（例えば、医学、ビジネス）で同義語、小前提（クラス階層）、及び部分語（の部分）を見付ける。それは、オントロジーをパースし、クラス、クラスの注釈、クラス構造、及び任意のオブジェクトプロパティ「の部分」を得ることによって最初にロードされる。クラス名は次いで、意味及び考えられる同義語を決定するためにＷｏｒｄＮｅｔ又はＷａｔｓｏｎなどの何かに使用される。意味は、あらゆる表記がパースされるように、トリプルにパースされる。マッチャモジュールは次いで同義性を決定するトリプルの数学的な対応を探す。
【０２９９】
セマンティックマッチャモジュールは、通常は２つのオントロジーからの概念の２つのリストを評価するか、あるいは単一の概念を評価し、参照用語にこれをマッチして概念の意味を決定するかのどちらかのスタンドアロンプロセスである。
【０３００】
第１のインスタンスで、マッチャモジュールは第１のリストの各アイテムを第２のリストの各アイテムと対にする。各対ｉ，ｊは次いで以下のアイテムを決定するために分析される。
・意味類似性Ｓｉｊ
‐用語が同義語である場合には類似性はＳｉｊ＝１．０である。
‐反意語の場合にはＳｉｊ＝−１である。
‐関係性がない場合にはＳｉｊ＝０である。
・小前提関係性Ｓｕｂｉｊ
‐ＣｉがＣｊのサブクラスである場合には、Ｓｉｊ＝−１である。
‐ＣｉがＣｊのスーパークラスである場合には、Ｓｉｊ＝１である。
‐それ以外では、Ｓｉｊ＝０である。
・部分語関係性Ｍｅｒｉｊ
‐ＣｉがｆＣｊの一部分である場合には、Ｍｅｒｉｊ＝−１である。
‐ＣｊがＣｉの一部分である場合には、Ｍｅｒｉｊ＝１である。
‐それ以外では、Ｍｅｒｉｊ＝０である。
【０３０１】
第２のインスタンスでは、マッチャモジュールは単一の概念及び文脈定義をとり、その文脈のその概念のために同義語、サブクラス及びスーパークラス、並びに部分語のリストを作成する。文脈が与えられない場合、すべての文脈にわたって評価が実行される。
【０３０２】
医学オントロジー及び人事オントロジーはＳｅｍＭａｔｃｈに従って定義された旨の推測に基づいていくつかの例が後続する。
2017513134.tif 000013
2017513134.tif 000014
【０３０３】
２つの異なる使用方法は、図１８Ａ及び図１８Ｂを参照してここでより詳細に説明される。
【０３０４】
セマンティックマッチャモジュール１３５０はその評価を実行するために概念マッチングデータベース１６０４を使用する。図１８Ａの例で、オントロジー用語Ａ、Ｂ及びＸ、Ｙのような概念の２つのリスト１８０１、１８０２が受け取られ、次いでオントロジー用語の考えられる対成ごとに同一性スコア１８０３を生成するためにセマンティックマッチャモジュール１３５０によって比較される。
【０３０５】
図１８Ｂの例で、単一のオントロジー用語１８０４のような単一の概念が受け取られ、セマンティックマッチャモジュール１３５０は概念マッチングデータベース１６０４とこれを比較し、同義語１８０５のリストを返す。
【０３０６】
概念マッチングデータベース（ＣＭＤ）１６０４は、インデクサモジュール１３２０を使用して構築される。ＣＭＤが使用できる前に、データベースが最初にロードされなければならず、通常、データベースは対象の文脈に基づいてオントロジーをパースすることによってロードされるだろう。データベースは新しい文脈を追加するときは常にユーザによって更新できる。
【０３０７】
ＣＭＤ１６０４は、１８Ｃに示されているテーブル間の関係性とともに表８に定義されるいくつかのテーブルを含む。
【表８】
2017513134.tif 000015
2017513134.tif 000016
【０３０８】
ロード機構が、図１８Ｄを参照してここで詳細に説明される。
【０３０９】
最初に、ロードされるオントロジー１８０１の全体的な文脈が決定され、１のＩＤを用いてコンテキストテーブルに入力される。例えば、医学オントロジーがロードされる場合、文脈は「医学」として識別されるだろう。
【０３１０】
以下に示されるこのカテゴリのオントロジー及びそれぞれの文脈名の例。
・有害事象報告オントロジーＡＥＲＯ
・アフリカ伝統医学オントロジーＡＴＭＯ
・アレン脳地図成体マウス（ＡＢＡ）の脳オントロジーＡＢＡ−ＡＭＢ
・アルツハイマー病オントロジーＡＤＯ
・アミノ酸オントロジーＡＭＩＮＯ−ＡＣＩＤ
・両生類肉眼解剖学オントロジーＡＡＯ
・両生類分類法オントロジーＡＴＯ
・解剖病理学用語集ＰＡＴＨＬＥＸ
・解剖エンティティオントロジーＡＥＯ
【０３１１】
これらのオントロジーのそれぞれはソーステーブルにロードされるソースを有し、このようにしてソース２のコンテキストテーブルもロードできるようにする。
【０３１２】
次に、以下の情報が抽出され、オントロジーのそれぞれからパースされる。
・クラス
・オブジェクトプロパティ
・注釈
・ラベル
【０３１３】
すべての単語は１つのオントロジーに由来するので、コンテキスト＿ＩＤは既知である。各クラスは単語テーブルで単語になる。注釈は単語テーブルで意味としてロードされる。ともにヌルに設定される単語＿ＩＤ２コンテキスト＿ＩＤを見出し語（ルート意味）及び概念と関係付け、ヌルに設定されたクラス及び概念＿ＩＤごとにクラス２オブジェクトプロパティ２クラスを単語＿ＩＤに関係付けて、一時的なテーブルが作成される。
【０３１４】
これに続き、抽出されたクラス及びその注釈は次いで単語テーブルにロードされる。各クラスが単語になる。各単語は一意の単語＿ＩＤを割り当てられ、クラス注釈が単語テーブルの意味になる。すべての単語は１つのオントロジーから由来しているので、上述されたようにコンテキスト＿ＩＤは既知である。
【０３１５】
ともにヌルに設定された単語＿ＩＤ２コンテキスト＿ＩＤを見出し語及び概念に関係付け、ヌルに設定されたクラス及び概念＿ＩＤごとにクラス２オブジェクトプロパティ２クラスを単語＿ＩＤに関係付けて、一時テーブルが作成される。
【０３１６】
文脈ごとに、第１のステップは、各単語をＷｏｒｄＮｅｔ１８０２のような標準的なディクショナリから得られる意味及び同義語にマッチさせることである。あらゆるマッチしない単語は次いで同義語を識別するために他の文脈からの単語にマッチされる。これらのステップはここでより詳細に説明される。
【０３１７】
単語テーブルの各単語は、その単語に基づいて、同義語又は語彙素のグループの意味及び潜在的に語根又は見出し語を得るためにＷｏｒｄＮｅｔ１８０２に渡される。ＷｏｒｄＮｅｔの意味は注釈から引き出される意味と語彙的に比較される。
【０３１８】
これは、ＲＤＦトリプルに意味を変換し、トリプルを評価することによって行われる。このプロセスは以下により詳細に説明される。
【０３１９】
意味がマッチする場合、次いでＷｏｒｄｎｅｔの単語及び意味が、新しい単語＿ＩＤとともに単語テーブルにロードされる。新しい単語＿ＩＤは単語＿ＩＤ＿Ｃに割り当てられ、元の単語＿ＩＤは単語＿ＩＤ＿Ｐに割り当てられ、両方とも次いで単語２単語にロードされる。
【０３２０】
単語＿ＩＤ２コンテキスト＿ＩＤテーブルはＷｏｒｄｎｅｔ見出し語に単語＿ＩＤとして割り当てられた単語＿ＩＤ、及び単語＿ＩＤ＿Ｐとしてロードされた関係する単語＿ＩＤと同じコンテキスト＿ＩＤをロードされる。単語＿ＩＤ２コンテキスト＿ＩＤテーブルは２つの列、見出し語及び概念しか有さない。したがって、見出し語は新しい単語＿ＩＤ＿Ｃを割り当てられ、概念は単語＿ＩＤ＿Ｐから割り当てられる。
【０３２１】
最後に、クラス２オブジェクトプロパティ２クラスは、ＷｏｒｄＮｅｔ１８０２から単語＿ＩＤ情報をロードされる。
【０３２２】
見出し語が定義されたすべての単語は次いで概念テーブルにロードされる。単語＿ＩＤ２コンテキスト＿ＩＤはここで既知の概念＿ＩＤ及び見出し語で更新され、概念＿単語＿コンテキストテーブルをロードするために使用され、その結果、ＣＷＣ＿ＩＤは名前が付けられたコンテキストで使用される概念及び単語ごとに割り当てられる。ＣＷＣ＿ＩＤは、クラス２オブジェクトプロパティ２クラスで単語を識別するために、及び同時にＣＷＣ２ＣＷＣテーブル及び関係＿タイプテーブルをポピュレートするために使用できる。
【０３２３】
単語テーブルの第２の経路は、他の文脈での単語の意味と該意味を構文的に比較することによって、関係する見出し語がないあらゆる単語の意味を調べる。マッチさせるための第１の意味の単語＿ＩＤは見出し語として選ばれる。プロセスは、次いでＷｏｒｄｎｅｔのための識別された見出し語に関して続行する。
【０３２４】
第３の経路は、見出し語であるとして、見出し語に関係付けられていない各単語を識別する。これらの３つの経路の完了時、あらゆる単語は概念テーブル１８０９のあらゆる考えられる文脈で識別されるだろう。
【０３２５】
これに続き、同一性の値が計算される。完全なオントロジーが既知である場合、次いで同一性の計算は、比較されている概念の属性（データプロパティ）をマッチングすることによって実行できるだろう。属性リストは必然的に概念のスーパークラスの属性を含むだろう。
【０３２６】
現在の例では、同一性は２つの単語の意味を分析することによって計算される。英語での意味は形式の主語述語目的語（ｓｐｏ）のｒｄｆトリプルに変換される。これは、自然処理言語（ＮＬＰ）−ＲＤＦ変換器を使用して実行される（Ａｒｎｄｔ及びＡｕｅｒ、２０１４年）（Ａｕｇｅｎｓｔｅｉｎら、２０１３年）。
【０３２７】
例えば、クラブは意味「株主ではないメンバーを有し、そのメンバーのなんらかの職業上の必要性を満たすために存在する組織のタイプ」を有し、以下の表９に示されるように変換できるだろう。
【表９】
2017513134.tif 000017
【０３２８】
組織は以下の通り、つまり「組織は、集まることの合意された理由をもった個人の集まりである」に定義される概念であり、表１０に示されるように変換できるだろう。
【表１０】
2017513134.tif 000018
【０３２９】
クラブの定義に組織の定義を挿入して、表１１に示される定義を得る。
【表１１】
2017513134.tif 000019
【０３３０】
ただし、メンバーが個人であると推論することはできない。この分析は、以下を判断するために使用できる。
・クラブのメンバーは個人である。これは、メンバーシップ概念が、個人がメンバーシップを保持する（Ｉｎｄｉｖｉｄｕａｌ  Ｈｏｌｄｓ  Ｍｅｍｂｅｒｓｈｉｐ）の代わりにメンバーは個人である（Ｍｅｍｂｅｒ  ｉｓＡｎ  Ｉｎｄｉｖｉｄｕａｌ）としてより正しく定義されるオブジェクトプロパティを有した場合には推論できただろう。
・集まることの合意された理由は、職業上の必要性を満たすことである。
【０３３１】
上述の例のオントロジーで特殊法人に同じプロセスを適用すると、意味から、特殊法人は「指定された政府の必要性を満たすために政府によって作られる組織」であることを得るだろう。これは表１２に示されるトリプルにつながる。
【表１２】
2017513134.tif 000020
【０３３２】
これは、図１３に示される共通の述語及び目的語に基づいて比較表を構築するために使用できる。
【表１３】
2017513134.tif 000021
【０３３３】
これによって、以下の要因に基づいて同一性の数式を使用できる。
・クラブ及び特殊法人の概念のトリプルの数はＮ１及びＮ２によってそれぞれ示され、Ｎ１＝９であり、Ｎ２＝７である。
・２つの概念クラブ及び特殊法人の間で共有される述語（ＳＰ）の数は５である。つまりＳＰ＝５。
・２つの概念クラブと特殊法人との間で共有される述語目的語（ＳＰＯ）対の数は４である。つまりＳＰＯ＝４
【０３３４】
例えば、
・同一性＝ＳＰＯ／ＳＰ＝４／５＝０．８又は
・同一性＝（ＳＰ＋ＳＰＯ）／（Ｎ１＋Ｎ２）＝９／１６＝０．５６２５
【０３３５】
使用される実際の式は関連性がない。重要な事実は、同一性の評価基準を示す式を引き出すことができる点である。
【０３３６】
このプロセスを通して、ユーザは、通常はブラウザモジュールによって表示される画面１８０８を使用し、セマンティックマッチャモジュールと対話できる。
アライナモジュール
【０３３７】
オントロジーアライメントの必要性は、異種のデータベース、つまり無関係に開発され、したがってそれぞれが独自のデータ語彙を有するデータベースを統合する必要性から生じる。独自のオントロジーを提供する多くの動作主体を含んだＳｅｍａｎｔｉｃ  Ｗｅｂの文脈では、オントロジーマッチングは異種リソースが相互運用するのに役立つための重大な位置を占めている。オントロジーアラインメントツールは、例えば「トラック」及び「大型トラック」等、「意味論的に同等」であるデータのクラスを見つける。これらのクラスは必ずしも論理的に同一ではない。
【０３３８】
オントロジーアラインメントの結果は、異なるオントロジーのエンティティ間の対応を表すステートメントのセットである。これは、専用の言語『表出型及び宣言型オントロジーアラインメント言語（Ｅｘｐｒｅｓｓｉｖｅ  ａｎｄ  Ｄｅｃｌａｒａｔｉｖｅ  Ｏｎｔｏｌｏｇｙ  Ａｌｉｇｎｍｅｎｔ  Ｌａｎｇｕａｇｅ）』（ＥＤＯＡＬ）（Ｄａｖｉｄら、２０１３年）又は他の言語（ＺＩＭＭＥＲＭＡＮＮら、２００６年）で表されてよい。
【０３３９】
第１の要件は、合わせられているオントロジーの概念間に意味論的なマッチがあるかどうかを判断することであり、これは上述のセマンティックマッチャモジュールを使用して判断できる。例えば、ビジネスの文脈での単語『企業』及び『組織』は厳密に同じ意味をもたない。すべての企業は組織であるが、すべての組織が企業であるわけではない。事実上、クラス企業はクラス組織のサブセットである。例えば、『この組織は上場企業であるが、その組織はゴルフクラブである』。社会的な文脈では、企業は組織に関係付けられるのではなく、共同経営者の集合に関係付けられてもよい。例えば、『ジョン・ドウは悪友と付き合う。』
【０３４０】
クラブ及び企業はともに組織であるため、なんらかの類似性がある。上場企業及び非上場企業も類似し、共通の親、つまり企業を共有する。それらはクラブと企業と同程度に概念上近いのか。非上場の公開会社（＞５０人の株主）及び非上場の非公開会社（＜５１人の株主）はどうだろうか。それらは上場企業及び非上場企業よりも近いのか。
【０３４１】
２つの概念がどれほど類似している可能性があるのかを測るための数学的なベースを与えるために、『同一性』の概念を導入する。同一性にはいくつかの公式の測定基準がある。最も一般的な技法は、『物事』の概念を根とする単一の階層木で概念を配置することである。大部分の式は測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０３４２】
ただし、オントロジーを構築したオントロジスト及びオントロジーがオントロジーを使用する人によって切り詰められたかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０３４３】
概して、同一性は概念の間のエッジ数によって測定される。他の可能性は、データプロパティの数に基づいて存在する。例えば、上場公開企業及び非上場公開企業はそれぞれ１つの属性しか有さないことがあり、バランスは企業の定義に保持されるのに対し、クラブ及び企業はそれぞれ「５」つのデータプロパティを有することがあり、バランスは組織の定義で保持される。したがって、企業がクラブに類似するよりも、上場の非公開企業は上場公開企業により類似している（「１０」の代わりに「２」つの属性、つまり言い換えると、より少ない相違があり、相違は距離に同等である）。
【０３４４】
推測上のオントロジー（ＰＯ）は、通常、リレーショナルデータベース、ｘｍｌファイル、又はスプレッドシート等の構造化ソースから作成されたオントロジーである。係るアラインメントは、推測上のオントロジーのデータインスタンスが完全なオントロジーのクラスにマップするいくつかの非常に複雑なマッピングを有することがある。これはアラインメントの特殊ケースである。
【０３４５】
４つのテーブルの中のデータだけではなく、メタデータ（したがって構造）も含むことがあるため、完全に非正規化されたデータ構造の例である「物事データベース」を示す単純な例が、図１９Ａを参照してここで説明される。
【０３４６】
例えば、物事タイプテーブルが『クラス』の物事タイプを含む場合、次いで物事テーブルのあらゆる関係する行はクラスの名前を含む。クラス間の関係性は、『物事タイプ対物事タイプ』が関係性のタイプを指定する『物事対物事』テーブルに定義されるだろう。
【０３４７】
オントロジー用語では、任意のタイプテーブルがクラスのセットを生じさせることがある。車両セットの詳細を含むテーブルを考える。車両タイプテーブルは、車両の有効なタイプだけが含まれることを保証するために使用できるだろう。例えば、車、トラック、トラクタであるが、ベビーカー、自転車、船舶ではない。オントロジー的に、次いで車両タイプテーブルに指定される車両のタイプごとに別々のクラスを有することができるだろう。この概念は一般化できるが、必ずしもつねに適切ではない。もしそうであれば、あらゆる人員テーブルは男性クラス及び女性クラスに分割されることになるだろう。結果的に、プログラムはデータに含まれている隠されたクラスが暴露され、有効化のためにユーザに該クラスを提示することがある、あらゆる状況を識別するべきである。
【０３４８】
いくつかの場合、タイプテーブルは多くのタイプのタイプを含むことがある。例えば、概念、データプロパティ、及び車両、トラック、車、エンジンタイプ、重量、キログラムのようなデータプロパティのプロパティ。これは以下のように示されることがあるだろう。
・車はエンジンタイプディーゼルを有する。
・車は重量２０００を有する。
・重量は計測単位キログラムを有する。
・車は車両のサブクラスである。
【０３４９】
物事データベースの例は、データベースが表１４〜１７に示されるようにポピュレートされると仮定して、ここで説明される。
【表１４】
2017513134.tif 000022
【表１５】
2017513134.tif 000023
【表１６】
2017513134.tif 000024
【表１７】
2017513134.tif 000025
【０３５０】
関係性スキーマに基づいた推測上のオントロジーは、名前がテーブル名に関係付けられた４つのクラスだけを示すだろう。ただし、データに基づいたオントロジーは、図１９Ｂに示されるように他の２つのテーブルで識別されたオブジェクトプロパティを加えた、『物事』テーブル及び『物事タイプ』テーブルの名前に基づいて８つのクラスを示すだろう。この例では、残りの用語が物事テーブル（テーブル１４）から得られるのに対して、「ビジネス構成要素」及び「有機的構造」の用語は物事タイプテーブル（テーブル１６）から得られる。
【０３５１】
これは、１つのオントロジーのクラスが別のオントロジーのデータインスタンスにマッチする問題の例である。明確にするために、これは『推測上のマッピング問題』（ＰＭＰ）として識別される。それは、推測上のオントロジーが、『主キー』若しくは『外部キー』にマッチする名前、又は『親』及び『子』（ＢＯＭ）でのような同じ外部キーの複数のインスタンスを有するクラス、又は関連付けられたタイプクラスを有するクラスを有するデータプロパティを有するときにアラインメント中に現れることがある。これらの例は、潜在的にデータインスタンスに隠されているクラス階層を隠ぺいする可能性がある。
【０３５２】
共通アラインメント技法は、各オントロジーからの概念を、それぞれが根として『物事』の概念を有する２つの階層木の中に配置することである。次いで、アラインメントを決定するためのなんらかの数学的な機構を与えるために『距離』の数学的概念が導入される。大部分の距離数式は、測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０３５３】
ただし、オントロジーを構築したオントロジスト、オントロジーがオントロジーを使用する人によって切り詰められているかどうか、及び概念の傘として働く『上位』オントロジーがあるかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０３５４】
オントロジーアライナモジュールは複数のオントロジーで共通の概念を探し、一方のオントロジーから他方に概念をマップし、このようにして２つのオントロジーを１つのオントロジーとして扱うことを可能にする。アラインメントを使用すると、２つのオントロジーをマージすることも可能である。ただし、これは危険なプロセスであり、意味論的なミスマッチの伝搬の可能性のため一般に推奨されていない。
【０３５５】
一般に、オントロジーは完璧ではない。例えば、ここで使用されているサンプルオントロジーには多くのモデル化エラーがある。『株式』が『個人』よりむしろ『クライアントｓ』によって『所有』するべきであり、『職歴』が『企業』よりむしろ『クライアント』によって『雇用』するべきであることは明らかである。これらのインスタンスの両方とも、関係性がより制限的な関係性からあまり制限的ではない関係性に移動していることを示す。それはこれらの場合には可能であろうが、クラブのメンバーシップを『個人』から『クライアント』に移動するのはおそらく無効であろう。
【０３５６】
メンバーシップと個人との間の関係性は『保有する』であるので、クラス『メンバーシップ』はさらに不適切に名前が付けられている。クラスが『メンバー』と名前を付けられていた場合、次いで関係性は『Ａである』であっただろう。これによりメンバーが個人のプロパティを継承できただろう。オブジェクトプロパティ『有する』が完全に定義されない限り、次いで推論でのその使用は制限される。
【０３５７】
これらのエラーは、アラインメントの複雑さのいくつかを示すためにサンプルに導入された。
【０３５８】
アライナモジュールの動作は、図１９Ｃを参照してここにより詳細に説明される。
【０３５９】
この点で、使用中、ＯＷＬファイル及びＲＤＦＳファイルで定義されたオントロジー１９０１、１９０２は、アライナモジュール１３４０を使用して開かれ、ユーザは次いで以下に定義される画面のセットを使用し、オントロジーと対話し、最終的に一連のアラインメント１９０５によって接続されたオントロジー１９０３、１９０４、及び潜在的にマージされ、合わせられたオントロジー１９０６を生じさせる。
【０３６０】
プロセスは、以下を含んだいくつかのサブプロセスから成る。
・初期化
・低レベルクラスマッチング‐最小マッピングを識別する。
・推測上のマッピング問題識別
・オブジェクトプロパティ分析
・データプロパティ分析
・マルチクラスマッピング
・ＰＭＰ解決
・兄弟分析
・最小マッピング解決
【０３６１】
アラインメントは多くのステップで識別できるため、概念の特定の対についてアラインメントを計算し直す可能性がある。この問題は、アラインメントマップを維持することによって克服される。このマップは、アラインメントが識別されるたびに更新され、努力の重複を防ぐために評価について新しいアラインメントの対が検討される前にプログラムによって参照され得る。アラインメントマップはユーザに表示され、ユーザがアラインメントプロセスに従い、任意の潜在的なアライメントにクエリーを行い、任意の潜在的なアラインメントを無効にし、プログラムに任意のプロセスを実行し直すように命令できるようにする。
【０３６２】
これらのステップは個々でより詳細に説明される。各ステップｉは重み係数Ｗｉを割り当てられ、結果は全体的なアラインメントスコアを提供するために結合される。これらの重み係数は一定のステップで適用される。考えられる重み付け累積数式が示されるが、使用できるだろう多くの考えられる重み付け方式がある。これは、適切な重み付け数式を決定するために機械学習又は統計分析及び推論を使用できる分野である。
【０３６３】
初期化プロセスの間、インデックス１６０３がインデックスモジュールから得られる。これに続き、オントロジー１９０１、１９０２がセマンティックマッチャモジュール１３４０にロードされる。アラインメントテーブルが事前にロードされていないときには、Ｗ０＝０．０である。
【０３６４】
以下の例では、技術の説明のためＷｉ＝ｉである。それ以外の場合、重みＷｉがユーザによって割り当てられる、又はヒューリスティックな機構が機械学習若しくは経験によって決定される。一般に、任意のステップｉの場合、累積的に決定されたマッチ値ＭＶｉＡは以下によって決定される。
【数１】
2017513134.tif 000026
上式ではＭＶｉはステップｉで計算された未処理のマッチ値である。
別の、より従来の重み付け方式は以下の通りである。
【数２】
2017513134.tif 000027
上式ではＭＶは重み付けされたマッチ値であり、ＭＶｉはステップｉでのマッチ値である。
【０３６５】
このプロセスは、好ましい実装に応じて、各ステップで、又はプロシジャの終わりでのみのどちらかで実行できるだろう。
【０３６６】
次に、オントロジーの用語の意味論的意味に基づいて実行される。このプロセスはクラス名に基づいて潜在的なマッチを見付けるためにセマンティックマッチャモジュールを使用し、それぞれの潜在的なアラインメント対を調べる。それがアラインメントを見付ける場合、それは次いでそのアラインメントから継承チェーン（オブジェクトプロパティ＝『のサブクラス』）を横断し、セマンティックマッチャモジュールを使用し、別のアライメントのクラス名をチェックする。
【０３６７】
すべてのマッチングクラスを見つけることが可能であるが、これは、少数のマッチを必要とするにすぎない場合がある。マッチングされているオントロジーが同じ基本オントロジーを使用している場合、完了した１−１マッチが可能である。例えば、
・有害事象報告オントロジーＡＥＲＯ
・アフリカ伝統医学オントロジーＡＴＭＯ
【０３６８】
両方とも標準的なＧａｌｅｎオントロジーに基づいているため、１−１マッチが期待されるだろう。
【０３６９】
対ごとのＭＶはセマンティックマッチャモジュールによって提供されるスコアに基づき、この例のためにＳｅｔ  Ｗ１＝１．０である。
【０３７０】
この第１のオントロジーの根で開始し、第２のオントロジーの根クラスで開始する各クラスを調べる。概念対のためにセマンティックマッチャモジュールを使用し見付けられた同一性がアラインメント（ＭＶＡＴ）の閾値マッチ値を超えるときにマッチが発生する。許容できるマッチが見付けられる場合、それは潜在的なアラインメントと呼ばれ、詳細はアラインメントマップに記録される。
【０３７１】
アラインメントマップは２つの概念を記録し、アラインメントＩｄ、最小マップＩｄ、アラインメントに関連付けられたあらゆるタグ、割り当てられているあらゆるＰＭＰ  Ｉｄ、任意の濃縮Ｉｄ、及び最終処理ステップＩｄを割り当てる。アライメントＩｄ上で関係付けられる別々のテーブルはステップごとにマッチ値を記憶する。これらの値は、所望される場合、手作業で無効にできる。
【０３７２】
アラインメントマップは、あらゆる既知のアラインメントにより事前にロードされてよい。これらはユーザタグ『ユーザ開始済み』でタグ付けされ、マッチ値は概して１．００に設定されなければならない。ただし、より低い値も可能である。『ユーザ開始済み』及びＭＶ＝１．００の組合せは、このアラインメントの追加の処理を妨げる。
【０３７３】
プロセスは、オブジェクトプロパティによる第１のオントロジーでのカレントクラスに関係する次のクラスまで続行する。カレントクラスのスーパークラスは最初に処理される。プログラムは、他のオブジェクトプロパティの前にインヘリタンスオブジェクトプロパティを処理する。カレントクラスのスーパークラスは、あらゆるサブクラスが調べられる前に処理される。ＭＶ＜ＭＶＡＴとのアラインメントが見付けられるとすぐに、プロセスは停止する。
【０３７４】
潜在的なアラインメントが識別されるたびに、それは最小マッピングセットに割り当てられ、最小マップＩｄ  ｍｍ＿ＩＤを与えられる。階層関連クラスが識別されると同じｍｍ＿ＩＤに追加される。このステップの終わりで、最小マッピングの基準を潜在的に満たすいくつかの最小マップが定義される。この累積マッチ値は続いて起こるステップごとに精緻化される。
【０３７５】
潜在的なＰＭＰの認識がつねに実行される。ＰＭＰ解決は、設定ファイルで要求される場合にだけ実行される。要求されない場合、潜在的なＰＭＰの認識は、アラインメントが情報メッセージとして実行され、累積統計報告書に追加される際に作成される活動ログに記録される。
【０３７６】
いくつかのインスタンスでは、両方のオントロジーとも推定上のオントロジーである可能性があるのでＰＭＰを解決するのは望ましくない場合があり、ＢＯＭ構造を保持することが望ましい場合がある。
【０３７７】
ＰＭＰ解決が要求された場合、次いでＰＭＰタグ付けが実行される。データプロパティ名は、以下のようなキーワードの存在について調べられる。
・オブジェクトプロパティ名は以下を含む。
‐タイプ
‐関係
‐クラス
‐概念
‐…
・データプロパティ名は以下を含む。
‐識別子
‐ＩＤ
‐キー
‐親
‐子
‐一次キー
‐外部キー
‐…
【０３７８】
これらのキーワードを含んだデータプロパティの存在は必ずしもＰＭＰを暗示しない。追加のアルゴリズムは確実となるために適用される必要がある。規格に応じてマップする任意の構造。
・ＥＲＡ図の『タイプ』テーブルは識別されなければならない。ユーザは、あるべきタイプテーブルの各行を選択しなければならない。
・『部品表』構造は識別され、適切なクラス構造に潜在的に拡大されなければならない。
【０３７９】
この段階で、各ＰＭＰに関与するクラスは『ＰＭＰ』としてタグ付けされ、同等なＢＯＭテーブルのセットごとにＰＭＰ−ｓｅｔ−Ｉｄｅｎｔｉｆｉｅｒ  ＰＭＰ０１、ＰＭＰ０２、．．．を与えられる。以下のより詳細に説明されるように、それらは後に解決される。各ＰＭＰクラスが識別されるにつれ、詳細がそのインスタンスがＰＭＰではないと決定してよいユーザに提示されてよい。
【０３８０】
ＭＶはこのステップについて計算されないため、ＭＶ２Ａ＝ＭＶ１Ａ＝０．５である。
【０３８１】
これに続き、オブジェクトプロパティ及び以前の各ステップからのアラインメント対と関連付けられたそれらの関係するクラスが分析される。このステップは、『構造分析』と呼ばれることがある。これは、以下を識別する。
・すべての関係するクラス及びオブジェクトプロパティの名前がマッチする場合、次いで対を『アンカーポイント』としてタグ付ける。ＭＶ＝１．０である。関係するクラスがすでにそこにない場合には、最小マップに関係するクラスを追加し、その最小マップの関係するクラスにステップ２データプロパティ分析を繰り返す。
・名前及び関係するスーパークラスがマッチするが、サブクラスのいずれもマッチしない場合、対に『考えられる兄弟』としてタグを付ける。ＭＶ＝０．３である。最小マップにスーパークラスを追加する。以下のマルチクラスマッピングに移動する。
・名前及び関係するスーパークラスがマッチするが、サブクラスのいくつかしかマッチしない場合、次いで対を『関連サブセット』としてタグを付ける。
・ＭＶは以下の通り計算される。
‐各マッチングサブクラスに２．０、及び他の各マッチング関係クラスに１．０の重みを割り当てる。
‐ＮＭにマッチする数字として、これらの重みを合計する。
‐各サブクラスに１．０、及びそれぞれの他の関係クラスに０．５を割り当てる。
‐合計数ＮＡとして両方のスーパークラスにわたってこれらの重みを合計する。
‐マッチ値  ＭＶ３＝ＮＭ／ＮＡ
・関係クラスがマッチしない場合には、ＭＶ３＝０．００１である。
・最小マップにＳｕｐｅｒクラスを追加する。以下のマルチクラスマッピングに移動する。
【０３８２】
対ごとに、以下のように累積重み付けマッチ値を計算する。
【数３】
2017513134.tif 000028
以下を仮定する。Ｗ３＝３
以前の例からＭＶ２Ａ＝０．５
オブジェクトプロパティマッチからＭＶ３＝１．０
次いで、
【数４】
2017513134.tif 000029
【０３８３】
これに続き、マッチングクラスのデータプロパティ（属性）が類似しているかどうかを分析するために、データプロパティ分析が実行される。クラスの対ごとに、分析は、
・正確な名前マッチがないＳｅｍＭａｔを使用し、クラスごとにデータプロパティを比較する。
・データプロパティに基づいて「マッチ値」（ＭＶ）を割り当てる。
・マッチタイプでアラインメント対にタグを付ける。最小マップの次の対を選択し、上記プロセスを繰り返す。最小マップの中にもはやアラインメントがない場合、次の最小マップに移動する。
【０３８４】
より詳細には、Ａ＝｛ａ１，ａ２，ａ３，．．．ａｉ｝が第１の概念のデータプロパティのセットであり、Ｂ＝｛ｂ１，ｂ２，ｂ３，．．．ｂｊ｝が第２の概念のデータプロパティのセットである場合、次いで以下の可能性が存在する。
・クラスのすべてのデータプロパティがマッチする。「正確なマッチ」としてタグを付ける。つまり、
【数５】
2017513134.tif 000030
マッチ値＝１．０００
・一方のオントロジーからのデータプロパティのサブセットは他方のオントロジーのすべてのデータプロパティにマッチする。「サブセット」としてタグ付けする。
つまり
【数６】
2017513134.tif 000031
【数７】
2017513134.tif 000032
上式では、Ｎ（Ａ）は、（ＮＡ）＜Ｎ（Ｂ）を仮定したときの、Ａのデータプロパティの数である。
・一方のオントロジーからのデータプロパティのサブセットは他方のオントロジーのデータプロパティのサブセットにマッチする。「部分マッチ」としてタグを付ける。
つまり
【数８】
2017513134.tif 000033
【数９】
2017513134.tif 000034
上式ではＮ（Ａ）は以下を仮定したときのＡのＤａｔａプロパティの数である。
【数１０】
2017513134.tif 000035
・データプロパティがマッチしない。ＭＶ＝０．１であり、「名前のみ」としてタグ付けする。
つまり、
【数１１】
2017513134.tif 000036
【０３８５】
ＭＶが所定の閾値未満である場合（デフォルト＝０．１）、最小マップからそのマッチ対を廃棄し、次のマッチ対に進む。プロセスは、すべての最小マップが分析されるまで繰り返され、その点でマッチング値が計算される。
【数１２】
2017513134.tif 000037
以下を想定する。Ｗ４＝４
ＭＶ３Ａ＝０．８３３３３３
データプロパティマッチからＭＶ４＝１．０
次いで
【数１３】
2017513134.tif 000038
【０３８６】
マルチクラスマッピングは、オントロジーのクラスが別のオントロジーのいくつかのサブクラスに分割されるとき、マルチクラスマッピングが発生する。係る場合、対が『考えられる兄弟』又は『マルチクラスマッピング』のどちら及び『サブセット』としてすでにタグ付けされているのが期待されるだろう。
【０３８７】
マルチクラスマッピングは、各オントロジーのクラス及びサブクラスの潜在的に関係するクラスのためにデータプロパティの数を分析することによって通常検出される。サブクラスを有さないオントロジークラスが、大部分のデータプロパティを有するサブクラスのデータプロパティを加えた、他方のオントロジーのクラスにほぼ等しいデータプロパティの数を有する場合、第２のオントロジーのクラスのサブクラスが第１のオントロジーのクラスに非正規化されることが推定される。
【０３８８】
以下の考えられるシナリオがある。
・一方のオントロジーの単一クラスのデータプロパティは、他方のオントロジーのクラス及び１つ又は複数のサブクラスでデータプロパティにマップする。
・クラス及びサブクラスのデータプロパティは、他方のオントロジーのクラス及びいくつかのサブクラスのデータプロパティにマッチする。
【０３８９】
第１の場合、データプロパティカウントは、第１のオントロジークラスのデータプロパティを、第２のオントロジーのクラス＋サブクラスから成る各対のデータプロパティとマッチさせることを検討することによって実行される。
【０３９０】
例えば、オントロジー１の企業は子がなく、オントロジー２に２つの子を有する。企業（１）のデータプロパティを企業＋上場企業（２）で分析することが、データプロパティの数がマッチするが、すべての意味はマッチしないことを示す場合。
【０３９１】
企業（Ａ）のデータプロパティを企業＋非上場企業（Ｂ）で分析することは、データプロパティの数及び意味の両方がマッチすることを示す。これは、『異なる正規化』としてタグを付けられ、マッチング値ＭＶ＝１．０を割り当てられることがある。
【０３９２】
上場企業及び非上場企業が兄弟であるため、上場企業がオントロジー２の濃縮であり、したがってそれは『エンリッチメント』としてタグを付け、マッチング値は二度、マッチングデータプロパティをデータプロパティの総数で除算することによって計算できる。
【数１４】
2017513134.tif 000039
上式ではＮ（）は、概念Ａ、Ｂ及びＡ∩Ｂのデータプロパティの数を生じせるための関数である。
【０３９３】
この方法は、２つのクラスが異なる数の子を有する状況に対して一般化できる。この状況は『可能なエンリッチメント』としてタグを付けることができ、関与する各クラスは単一の濃縮ＩＤを与えられる。
【０３９４】
マルチクラスマッピングの別のケースは、クラスが異なる方法で正規化されていたことである。例えば、車両クラスは（ＳＵＶ、セダン、クーペ、コンバーチブルとしてのサブクラスとなる、又はそれは製造メーカ（Ｃｉｔｒｏｅｎ、Ｐｅｕｇｅｏｔ、Ｆｉａｔ、Ｒｏｖｅｒ）によってサブクラス化できるだろう。したがって、２つの車両オントロジーはデータプロパティを異なる方法でパースするだろう。しかしながら、車両の属性は２つのオントロジーで同一であろう。
【０３９５】
一般的なケースでは、データプロパティのセットが２つのオントロジーからのサブクラスのセットに割り当てられ、サブクラスが各オントロジーで異なるが、これらのクラスを定義するデータプロパティのセットが同一又は非常に類似するどちらかである場合、定義されたサブクラス間には多対多のマッピングがある。これは、『可能なエンリッチメント』としてもタグ付けられ、関与する各クラスは単一の濃縮ＩＤを与えられる。
【０３９６】
このステップについてＭＶが計算されないため、ＭＶ５Ａ＝ＭＶ４Ａ＝０．９５８３である。
【０３９７】
ＰＭＰ解決は、テーブルに記憶される非正規化されたクラスを識別することによって推測上のオントロジーの追加クラスを識別することを含み、オントロジーが引き出されたオントロジーの主要な濃縮を生じさせる。
【０３９８】
各ＰＭＰ−ｓｅｔ−Ｉｄｅｎｔｉｆｉｅｒは、上述されたようにタイプ構造又はＢＯＭ構造へのそのマッチングを決定するために分析される。これらは、図１９Ａのマッチング構造関係性でオブジェクトプロパティだけをマップすることによって決定されるように、概して図１９Ａに示されるＥＲＡ図のなんらかの配置にマップする。データプロパティインスタンスから抽出されたクラスの例は、表１４〜１７に示される。
【０３９９】
いったんマッピングが決定されると、ＢＯＭ構造で取り込まれる非正規化オントロジーを生成することは相対的に簡単なことである。この生成されたオントロジー構成要素は、次いで、上述されたクラスの意味論的意味に基づいて低レベルクラスマッチングのステップに戻ることによって合わせることができる。このステップで、ＢＯＭ分析から生成されるクラスが適切な最小マップに追加される。
【０４００】
それは低レベルクラスマッチングのステップ及び新規に識別されたクラスのＭＶ値の再計算を生じさせるので、ＭＶはこのステップでは計算されない。
【０４０１】
この濃縮に続き、分析が実行され、マルチクラスマッピングプロセスで識別された各エンリッチメント＿ＩＤが２つのオントロジーからのサブクラスセットがマッチするか、それとも兄弟を含むのかを判断するために分析される。例えば、オントロジー１クラス組織はサブクラスクラブ及び企業を有する。オントロジー２は特殊法人、クラブ、及び企業を含む。特殊法人はオントロジー２で兄弟であるが、オントロジー１には表示されない。例えば、特殊法人が何にも合わないというよりむしろ、それをオントロジー１に対する濃縮として識別する方がよいだろう。
【０４０２】
濃縮を適用できる前に、特殊法人が、クラブ及び企業のデータプロパティを分析することによって、他方のサブクラスの１つに非正規化されたかどうかを判断することが必要であるだろう。
【０４０３】
クラスが兄弟として追加される基準を満たすと仮定すると、クラス及びサブクラスを含んだ最小マップがこの段階で同一であることを保証することが可能であるべきである。
【０４０４】
このステップには新しいＭＶは計算されない。各兄弟はそのカレントＭＶを保持する。このＭＶは、１．０のカレントＭＶを兄弟として識別された構成要素に割り当てることによって、小さい係数分、上昇させることができるだろう。
【０４０５】
いったんすべてのクラスが解決され、濃縮が完了されると、任意の主要な再構築はすでに発生したはずであり、したがって最小マップを分解できる。濃縮が上記の項で追加された場合、追加の再構築が発生した。これらの事実の両方とも、最小マッピングを改善するだろう。
【０４０６】
ＭＶ７＜ＭＶＡＴとのアラインメント、閾値は拒絶されるだろう。ＭＶＡＴはアラインメントのためのマッチ値閾値である。
【０４０７】
次のステップは、冗長性認識パターンを適用することであり、これにより各最小マップの中で、冗長性、非一貫性、及び小前提が決定される。これは、上述のステップによって大部分はすでに実行されている。
【０４０８】
いったん最小マップが完全に処理されると、それはＲＤＦトリプルのセットとしてそのクラスとともに記録される。
【０４０９】
最後に、最小マップは、上記に生成されたＲＤＦトリプルにクエリーを行うことによって、単一のマップの中に組み入れられなければならない。これは、受け入れ可能な閾値値とのアラインメントが見付けられたすべてのクラスのマップとなる。合わされていないアイテムがある場合がある。
【０４１０】
累積マッチング数式を使用すると、最終マッチ値ＭＶ８＝０．９３７５である。
【０４１１】
線形マッチング数式ＭＶ＝（１＊．５＋２＊１＋３＊１）／（１＋２＋３）＝５．５／６＝０．９１６７である。
【０４１２】
例のアラインメントインデックスは、上述されたオントロジー例のアラインメントマップを示す表１８に示される。結果は、多様なアルゴリズムの効果を強調するために、アラインメント対及びステップ番号ごとに順番に配列されている。実際には、それらは
シーケンス（列１）で実行されるだろう。
【表１８】
2017513134.tif 000040
2017513134.tif 000041
2017513134.tif 000042
【０４１３】
マージプロセスは、次いでマージされたオントロジー１９０６を生じさせるために実行できる。ただし、これは任意選択であり、好ましい実装による。ユーザがオントロジーをマージすることを決定する場合、次いで以下を含んだいくつかの決定を下す必要がある。
・マージされたオントロジーがオントロジー２の中へのオントロジー１であるのか、それとも逆であるのか、又はマージされたオントロジーが新しいＵＲＩを与えられるのかどうかを判断する。これらのケースは、図１９Ｄ及び図１９Ｅに図式で示される。
・ＭＶＭＴをマージのためのマッチ値閾値として選択する。実際には合わない関係クラスを含む場合があるので、概して、ＭＶＭＴはＭＶＡＴよりも低いだろう。
・クラスがマージされない場合、次いでマージされたオントロジーにはクラスの両方とも含まれるべきか、クラスのどちらも含まれてはならないのか、それともクラスの内の一方だけが含まれるべきかに関して決定が必要とされる。これは規則として、又は「尋ねる」として指定でき、その場合、マージプロセスは、ユーザがアクションを決定できるようにするために休止するだろう。
・アラインメントがなかったクラスはマージされたオントロジーに追加されるべきだろうか。例えば、オントロジー１がクラスＡ、Ｂ、及びクラスＢ，Ｃのオントロジー２から成り、ここでＢが合わされているクラスのセットである場合には、マージされたオントロジーはＡ、Ｂ、Ｃ、又はＡ、Ｂ、又はＢ、Ｃ、又は単にＢとなるべきか。
【０４１４】
いったんマージパラメータが決定されると、２つのオントロジーのクラス、データプロパティ、及びオブジェクトプロパティをマージすることは簡単なことである。
【０４１５】
あらゆるデータプロパティインスタンスは、特別の定めのない限り、その元のＵＲＩを保持するだろう。したがって、合わせられたクラスが各オントロジーにインスタンスデータを有する場合、次いで単一のマージされたクラスは両方のオントロジーからのインスタンスを含むだろう。
【０４１６】
一般に、アライナモジュールとのユーザ対話は、アラインメントプロセスを制御するためだろう。
【０４１７】
第１のステップは、アラインメント及びマージで使用されるパラメータを指定する設定ファイルをロードすることである。設定できるいくつかのメタデータパラメータがある。これらは、以下を含む。
・合わせられるオントロジーのＵＲＩ
・アラインメントマップを記憶するための場所
・マージされたオントロジーを記憶するための場所
・ＭＶＡＴを合わせるためのマッチ値閾値
・ＭＶＭＴをマージするためのマッチ値閾値
・低レベルクラスマッチング中に同一性を受け入れるためのマッチ品質
・任意選択で、アライメントテーブルに既知のアラインメントを事前にロードする
・各分析ステップで適用される重み。これらは機械学習アルゴリズムによって決定されるだろう。
・マージに対するユーザ入力を可能にするために、マージ中にプロセスを休止するかどうか
・最大ランタイム
・エラー及びログメッセージの冗長
・その他。
【０４１８】
ユーザは次いでプロセスを実行又は予定する。ユーザ入力のための休止が指定されていた場合、要求されると、及び典型的にはブラウザモジュールによって表示される画面を介して提供されると、ユーザは入力を提供する。
【０４１９】
プロセスの完了時、ユーザは以下を調べる。
・以下の統計を示す、作成された報告書
‐各オントロジーの入力クラスの数
‐合わせられたクラスの数
‐識別されたＰＭＰの数
‐拡大されたＰＭＰの数
‐ＰＭＰから拡大されたクラスの数
‐ＰＭＰから拡大されたデータプロパティインスタンスの数
‐最大マッチ値及び最小マッチ値
‐マージされたクラスの数
‐マージされたオントロジーのクラスの数
‐マージされたオントロジーのデータインスタンスの数
‐他
・エラーメッセージ、警告メッセージ、及び情報メッセージを評価するためのランタイムログ
【０４２０】
この情報に基づいて、ユーザはアラインメントを受け入れる又はマージする又は設定パラメータのいくらかを変化し、プロセスをスケジューリングし直すことを決定する。
【０４２１】
したがって、上述されたプロセスは、ユーザがオントロジーと対話して、オントロジーをブラウズすること、切り詰めること、及び合わせることを含んださまざまなタスクを実行できるようにする。これらのプロセスは、さまざまなモジュールを使用し、ソースデータストアとターゲットデータストアとの間でのコンテンツの転送を容易にするために、ソースデータ構造及びターゲットデータ構造をマップする際に同様に使用できる、推測上のオントロジー及び様式化オントロジーを含んだオントロジー間のマッピングを決定するような動作を実行できるようにする。
【０４２２】
明細書及び続く特許請求の範囲を通して、文脈上他の意味に解釈すべき場合を除いて、単語「含む」及び「含む」又は「含んでいる」などの変形は、記載されている整数又は整数のグループ又はステップの包含であるが、任意の他の整数又は整数のグループの排除を暗示しないと理解される。
【０４２３】
当業者は、多数の変形形態及び修正形態が明らかになることを理解する。当業者にとって明らかになるすべての係る変形形態及び修正形態は、本発明が説明される前に広く表示される精神及び範囲内であるとみなされるべきである。
【図１Ａ】
2017513134.tif 000043
【図１Ｂ】
2017513134.tif 000044
【図２】
2017513134.tif 000045
【図３】
2017513134.tif 000046
【図４】
2017513134.tif 000047
【図５】
2017513134.tif 000048
【図６】
2017513134.tif 000049
【図７】
2017513134.tif 000050
【図８】
2017513134.tif 000051
【図９】
2017513134.tif 000052
【図１０】
2017513134.tif 000053
【図１１】
2017513134.tif 000054
【図１２Ａ】
2017513134.tif 000055
【図１２Ｂ】
2017513134.tif 000056
【図１３】
2017513134.tif 000057
【図１４Ａ】
2017513134.tif 000058
【図１４Ｂ】
2017513134.tif 000059
【図１５】
2017513134.tif 000060
【図１６】
2017513134.tif 000061
【図１７Ａ】
2017513134.tif 000062
【図１７Ｂ】
2017513134.tif 000063
【図１７Ｃ】
2017513134.tif 000064
【図１７Ｄ】
2017513134.tif 000065
【図１８Ａ】
2017513134.tif 000066
【図１８Ｂ】
2017513134.tif 000067
【図１８Ｃ】
2017513134.tif 000068
【図１８Ｄ】
2017513134.tif 000069
【図１９Ａ】
2017513134.tif 000070
【図１９Ｂ】
2017513134.tif 000071
【図１９Ｃ】
2017513134.tif 000072
【図１９Ｄ】
2017513134.tif 000073
【図１９Ｅ】
2017513134.tif 000074
【手続補正書】
【提出日】平成28年12月8日(2016.12.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジーを使用するマッピングを生成する際に使用するための方法及び装置に関する。
【背景技術】
【０００２】
本明細書の任意の先行文献（若しくは該先行文献から引き出される情報）に対する、又は既知である任意の事柄に対する参照は、先行文献（若しくは該先行文献から引き出される情報）又は既知の事柄が、本明細書が関係する努力傾注分野における共通の一般的な知識の一部を形成する旨の容認又は承認又はいかなる形式の示唆としても解釈されず、解釈されるべきではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
科学の世界、工学の世界、及びビジネスの世界のあらゆる態様を記述する何千もの公的なオントロジー及び私的なオントロジーがある。本発明は、これらの高度なオントロジーにおける知識及びメタデータをデータ構造又は構造の欠如に関わりなく、あらゆるデータの管理にも適用できるようにするプロセスのセットを説明する。
【０００４】
知識及びデータの爆発的な増加は、管理するための又は記述するための従来の情報管理機構の能力を超えている。オントロジー等のセマンティックＷｅｂ技術、並びにＯＷＬ（ウェブオントロジー言語）及びＲＤＦ（リソース・ディスクリプション・フレームワーク）等の新しい言語は、健康、医学、又は工学等のリンクされた概念の記述を、過去に不可能であった詳細で、及び人間と機械の両方が理解可能である方法で記述できるようにする。これらのオントロジーは通常、主題の専門家（オントロジスト）のチームによって作成され、頻繁に公に利用できる。
【０００５】
現在、リンクされている概念を定義するオントロジーの操作はおもに学者たち及び専門的なオントロジストに限定されている。これらのオントロジーは何千ものリンクされた概念を含むことがある。１つの概念、公理、又はデータプロパティを削除しても関係性の多くを無効にするだろう。手動で影響を決定することは長く退屈なプロセスである。
【０００６】
本プロジェクトによって対応されているビジネスニーズの中に、オントロジーの専門知識をほとんど又は少しも有さない人が簡略的で分かりやすい方法でオントロジーのすべての詳細にアクセスできるようにすることがある。さらに、その人は簡略化されたクエリー構築機構を使用し、オントロジーによって記述されるデータを選択し、検査できるようになるだろう。彼らは、依然として実行されている元のオントロジーに存在するすべての制約及び推定によりデータに記録を追加できるようになるだろう。最終的には、彼らは、本部の職員が使用するのに適したスタンドアロン型アプリケーションとしてコード及び画面を生成し、配備できるようになるだろう。
【０００７】
特定のビジネス又は研究のニーズは、おそらく不同等の分野から、複数のオントロジーからの概念を必要とする可能性がある。係る場合、２つのオントロジーの概念間のアラインメントが必要とされることがある。これらの合わされたオントロジーは、次いで、ビジネス又は組織の特定のニーズに特有なターゲットオントロジーを与えるために切り詰められることがある。
【０００８】
本発明は、必要とされるアラインメント方法及び切り詰め方法を提供するだけではなく、ビジネスの状況に特有の同義語及び同音異義語を活用し、概念及び幅広いネイティブインデックスのセマンティックマッチングを実行するための技術的なツールも提供する。
【０００９】
このツールセットを用いて、ユーザは不同等のデータソースにアクセスし、コンテキスト特有のオントロジーにデータソースをマップし、不同等のオントロジーを合わせ、次いで関連性のある情報だけを含めるために、合わせられたオントロジーを切り詰めることができる。次いで、ユーザは自分の選択のフォーマットにデータを抽出し、基本的なオントロジーの公理及び推測を理解し、ターゲットデータベースに対してプログラムコードを通じてそれらを実装する、生成されたアプリケーションを介してデータにアクセスできる。
【００１０】
例えば、医師は、アクセスされている多様なレコードレイアウトについて懸念することなく、診断システム及びイメージングシステムを加えた複数の業務管理システム、病院システム、及び健康システムから患者記録にアクセスできるだろう。医学研究者は、ゲノム分析、薬剤開発、及び試験等の実験室研究データに係るデータを結合することができるだろう。
【００１１】
交通工学者は、気圧データ、ＣＣＴＶフィード、ツイッター、及びイベントカレンダに信号データを結合することができるだろう。電気通信企業は、その範囲内のモデルごとに各製造メーカによって作成される新しい各電話機能用に特定のコードを書き込むことを必要とせずに、新しい呼出データレコード構造の９９％を受け入れることができる。
【００１２】
最後に、業務の範囲では、新しいＩＴソフトウェアの市場までの時間は、業務の問題を記述し、次いでコードを生成して、記述される業務規則を実行するために適切に調整されたオントロジーを使用することによって大幅に削減される。これらの業務規則は従来のデータだけではなくビッグデータのすべての態様にアクセスできる。
【００１３】
米国第７，４６４，０９９号は、ファイル及びデータベースからコンテンツを転送する方法を提供する。この場合、ファイルは、それぞれコンテンツインスタンスがそれぞれのフィールドと関連付けられ、各フィールドがそれぞれのタイプを有するコンテンツインスタンスを含む。転送は、各フィールドのタイプを決定し、関連付けられたフィールドの決定されたフィールドタイプに従ってストアに各コンテンツインスタンスを記憶することによって達成される。各コンテンツインスタンスは、次いで、決定されたフィールドタイプに従ってデータベースに転送できる。類似する手順が、データベースの中のコンテンツに基づいてＸＭＬファイルを作成するために提供される。
【課題を解決するための手段】
【００１４】
第１の態様では、本発明はオントロジーを使用し、マッピングを生成する際に使用するための装置であって、装置は、
それぞれのオントロジー用語を有するオントロジーを決定し、
該オントロジーの少なくとも１つからオントロジー用語のグループを決定し、
オントロジー用語の該グループの少なくともいくつかについて該オントロジーのオントロジー用語間のアラインメントを決定し、アラインメントがオントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定され、
アラインメントに従ってマッピングを生成する
少なくとも１つの電子処理装置を含み、
該オントロジー用語意味が、いくつかの潜在的なオントロジー用語とオントロジー用語を比較し、各比較の結果に関するマッチングスコアを生成することにより決定されており、該オントロジー用語の意味が該マッチングスコアを決定する、
装置を提供する。
【００１５】
好ましくは、オントロジー用語意味は、ＲＤＦトリプルのセットに変換されており、このＲＤＦトリプルのセットは、潜在的なオントロジー用語に関して他のＲＤＦトリプルのセットと比較され、比較に関するマッチングスコアを生成し、このマッチングスコアは、オントロジー用語意味の間の関係の性質を決定することにより、用語間のセマンティックマッチングを可能にする。
【００１６】
好ましくは、マッピングは、
マージされたオントロジー、及び
アラインメントインデックス
の内の少なくとも１つであってよい。
【００１７】
好ましくは、オントロジーは、
推測上のオントロジー、及び
様式化オントロジー
を含んでもよい。
【００１８】
好ましくは、電子処理装置は、様式化オントロジーに推測上のオントロジーをマップするためにマッピングを生成してよい。
【００１９】
好ましくは、マッピングは、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータ構造を有するターゲットデータストアにコンテンツを転送する際に使用されてよく、オントロジーはソースデータ構造及びターゲットデータ構造と関連付けられ、電子処理装置はマッピングを使用し、ソースデータフィールドとターゲットデータフィールドとの間でコンテンツを転送する。
【００２０】
好ましくは、オントロジーはソースデータ構造と関連付けられたソースオントロジー及びターゲットデータ構造と関連付けられたターゲットオントロジーを含んでよい。
【００２１】
好ましくは、ソースオントロジー及びターゲットオントロジーは推測上のオントロジーであってよく、ソースオントロジー及びターゲットオントロジーは１つ又は複数の様式化オントロジーにマップされる。
【００２２】
好ましくは、電子処理装置は、
推測上のオントロジーを生成すること、及び
いくつかの既存のオントロジーの１つを選択すること
によってオントロジーを決定してよい。
【００２３】
好ましくは、電子処理装置は、
データ構造と関連付けられたメタデータと、
データ構造のデータフィールド
の少なくとも１つを使用し、オントロジーを選択してよい。
【００２４】
好ましくは、電子処理装置は、
いくつかの既存のオントロジーのオントロジー用語にデータフィールドを比較すること、及び
比較の結果に従っていくつかの既存のオントロジーの１つを選択すること
によっていくつかの既存のオントロジーの１つを選択してよい。
【００２５】
好ましくは、電子処理装置は、
スキーマのテーブルを識別することと、
各テーブルに対応するオントロジー用語を作成することと、
少なくとも１つの部品表テーブルを識別することと、
部品表テーブルの各エントリに対応するオントロジー用語を作成すること
によってデータベーススキーマから推測上のオントロジーを生成してよい。
【００２６】
好ましくは、電子処理装置は、
部品表テーブルの各エントリに対応するオントロジー用語の表示を表示することと、
ユーザ入力コマンドに応じて推測上のオントロジーにオントロジー用語を追加すること
によってデータベーススキーマから推測上のオントロジーを生成してよい。
【００２７】
好ましくは、電子処理装置は、データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性を生成してよい。
【００２８】
好ましくは、推測上のオントロジーは、
オントロジー用語に対応するクラスと、
クラスの少なくともいくつかのデータプロパティと、
クラス間の関係性を定義するオブジェクトプロパティと
を含んでもよい。
【００２９】
好ましくは、電子処理装置は、
少なくとも１つのオントロジーにインデックスを決定してよく、インデックスは該少なくとも１つのオントロジーのオントロジー用語の表示を含み、
インデックスを使用して、
オントロジー用語のグループ、及び
オントロジー用語間のアラインメント
を決定する。
【００３０】
好ましくは、オントロジー用語ごとに、インデックスは、
オントロジー用語意味と、
オントロジー用語タイプ
の表示を含んでよい。
【００３１】
好ましくは、電子処理装置は、オントロジー用語ごとに、
オントロジー用語名を識別することと、
オントロジー用語タイプを識別することと、
セマンティックマッチングプロセスを使用し、各オントロジー用語のオントロジー意味を識別することと、
オントロジー用語名、オントロジー用語タイプ、及びオントロジー用語意味の表示を含んだインデックスエントリを作成すること
によってインデックスを生成してよい。
【００３２】
好ましくは、電子処理装置は複数のオントロジーのために単一のインデックスを生成し、インデックスエントリはオントロジー用語と関連付けられたオントロジーの表示を含む。
【００３３】
好ましくは、電子処理装置は、
オントロジーに１つ又は複数のオントロジー用語の表示を表示し、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別する、及び
少なくとも１つの識別されたオントロジー用語と、
少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティと
の少なくとも１つの詳細を表示してよい。
【００３４】
好ましくは、電子処理装置は、インデックスを使用し、１つ又は複数のオントロジー用語の表示を決定してよい。
【００３５】
好ましくは、電子処理装置は、
ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティを決定し、
ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティに従って実行可能なコードを生成し、実行可能なコードは、コンピュータシステムでの実行時、コンピュータシステムに、ユーザがデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするためのユーザインタフェースを表示させてよく、コンテンツはユーザによって選択されたオントロジー用語に対応するデータフィールドに記憶される。
【００３６】
好ましくは、実行可能なコードは、コンピュータシステムにソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させてよい。
【００３７】
好ましくは、実行可能なコードは、コンピュータシステムにデータプロパティ及びオントロジーのユーザによって選択されたオントロジー用語間の関係性の少なくとも１つに従ってクエリーを生成させてよい。
【００３８】
好ましくは、実行可能なコードは、コンピュータシステムに、
１つ又は複数のオントロジー用語の表示を表示させ、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定させ、
選択されたオントロジー用語と関連付けられたデータフィールドに記憶されたデータにクエリーを行わせる。
【００３９】
好ましくは、電子処理装置は、
いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較し、
比較の結果に従ってオントロジー用語意味として潜在的なオントロジー用語意味の１つを選択してよい。
【００４０】
好ましくは、電子処理装置は、
各比較の結果にマッチングスコアを生成することと、
マッチングスコアに従ってオントロジー用語意味を決定すること
によってオントロジー用語意味を決定してよい。
【００４１】
好ましくは、電子処理装置は、潜在的なオントロジー用語意味が、
同義語、
反意語、
部分語、
スーパークラス、及び
サブクラス
の少なくとも１つであるかどうかを判断してよい。
【００４２】
好ましくは、電子処理装置は、インデックスにオントロジー用語意味の表示を記憶してよく、表示は、
定義された意味を示す識別子、及び
同等の意味のリスト
の少なくとも１つを含む。
【００４３】
好ましくは、電子処理装置は、
いくつかのオントロジー用語のオントロジー用語意味を比較することと、
各比較の結果にマッチングスコアを生成することと、
マッチングスコアに従ってアラインメントを決定すること
によってオントロジー用語間のアラインメントを決定してよい。
【００４４】
好ましくは、電子処理装置は、
オントロジー用語間の関係性、及び
オントロジー用語のデータプロパティ
の少なくとも１つに基づいてアラインメントをさらに決定してよい。
【００４５】
好ましくは、電子処理装置は、
ソースオントロジーのソースオントロジー用語間の関係性を決定し、
ターゲットオントロジーのターゲットオントロジー用語間の関係性を決定し、
関係性を比較し、
比較の結果に従ってアラインメントを決定してよい。
【００４６】
好ましくは、電子処理装置は、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語との間のアラインメントを決定してよい。
【００４７】
好ましくは、電子処理装置は、
選択されたオントロジー用語を決定すること、及び
選択されたオントロジー用語及び選択されたオントロジー用語の関係性に少なくとも部分的に従ってオントロジー用語のグループを決定すること
によってオントロジー用語のグループを決定してよい。
【００４８】
好ましくは、電子処理装置は、
選択されたオントロジー用語ごとに、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別することと、
オントロジー用語のグループに識別されたオントロジー用語を追加すること
によって、関係するオントロジー用語を決定してよい。
【００４９】
好ましくは、電子処理装置は、すべての選択されたオントロジー用語が関係性によって接続されるまで識別されたオントロジー用語を繰り返し追加してよい。
【００５０】
好ましくは、電子処理装置は異なるタイプの関係性に異なる関係性経路長を使用してよい。
【００５１】
好ましくは、電子処理装置は、ユーザ入力コマンドに従って関係性経路長を決定してよい。
【００５２】
好ましくは、装置は、
オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュールと、
オントロジーのオントロジー用語のブラウズを可能にし、オントロジーの少なくとも１つを具現化するコードを生成し、それによってユーザがオントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュールと、
オントロジー用語異なるオントロジー間でアラインメントを決定するアライナモジュールと、
オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュールと、
オントロジー用語意味を識別するセマンティックマッチャモジュールと
を含んでもよい。
【００５３】
第２の態様では、本発明は、オントロジーを使用し、マッピングを生成する際に使用するための方法であって、方法は、少なくとも１つの電子処理装置において、
それぞれのオントロジー用語を有するオントロジーを決定することと、
オントロジーの少なくとも１つからオントロジーのグループを決定することと、
オントロジー用語グループの少なくともいくつかのためにオントロジーのオントロジー用語間のアラインメントを決定することであって、アラインメントがオントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定される、オントロジーのオントロジー用語間のアラインメントを決定することと、
アラインメントに従ってマッピングを生成すること
を含み、
該オントロジー用語意味が、いくつかの潜在的なオントロジー用語とオントロジー用語を比較し、各比較の結果に関するマッチングスコアを生成することにより決定され、該オントロジー用語意味が該マッチングスコアを決定する、
方法を提供する。
【００５４】
本発明の例は、ここで添付図面を参照して説明される。
【図面の簡単な説明】
【００５５】
【図１Ａ】オントロジーを使用し、マッピングを生成する際に使用するための方法の例のフローチャートである。
【図１Ｂ】オントロジー構造例に基づいた異なるマッピング例の概略図である。
【図２】分散型コンピュータアーキテクチャの例の概略図である。
【図３】基地局処理システム例の概略図である。
【図４】コンピュータシステムの例の概略図である。
【図５】ソースデータ構造とターゲットデータ構造との間でコンテンツを転送するためのマッピングを生成する際に使用するための方法例のフローチャートである。
【図６】推測上のオントロジーを生成する方法例のフローチャートである。
【図７】インデックスを決定する方法例のフローチャートである。
【図８】オントロジーをブラウズする方法例のフローチャートである。
【図９】オントロジーを切り詰めるための方法例のフローチャートである。
【図１０】オントロジーを合わせるための第２の方法例のフローチャートである。
【図１１】セマンティックマッチング方法の例のフローチャートである。
【図１２Ａ】オントロジー例の概略図である。
【図１２Ｂ】オントロジー例の概略図である。
【図１３】オントロジーと対話するために使用されるモジュールの概略図である。
【図１４Ａ】図１３のＥＴＬ（抽出変換負荷）モジュールのソフトウェアスタックの例の概略図である。
【図１４Ｂ】図１３のＥＴＬモジュールを実装するために使用されるアーキテクチャの概略図である。
【図１５】図１３のブラウザモジュールの機能性の例の概略図である。
【図１６】図１３のインデクサモジュールの機能性の例の概略図である。
【図１７Ａ】図１３のプルーナモジュールの機能性の例の概略図である。
【図１７Ｂ】切り詰めプロセスの例の概略図である。
【図１７Ｃ】切り詰めプロセスの例の概略図である。
【図１７Ｄ】切り詰めプロセスの例の概略図である。
【図１８Ａ】図１３のセマンティックマッチャモジュールの機能性の第１の例の概略図である。
【図１８Ｂ】図１３のセマンティックマッチャモジュールの機能性の第２の例の概略図である。
【図１８Ｃ】テーブル間の関係性の例の概略図である。
【図１８Ｄ】図１３のセマンティックマッチャモジュールの機能性の第３の例の概略図である。
【図１９Ａ】「物事データベース」の例の概略図である。
【図１９Ｂ】不同等のソースを一元化するためのフレームワーク例の概略図である。
【図１９Ｃ】図１３のアライナモジュールの機能性の例の概略図である。
【図１９Ｄ】マージされたオントロジーの例の概略図である。
【図１９Ｅ】マージされたオントロジーの例の概略図である。
【発明を実施するための形態】
【００５６】
オントロジーを使用し、マッピングを生成する方法例はここで図１Ａを参照して説明される。
【００５７】
この例の目的のために、プロセスは、より詳細に以下に説明されるように、コンピュータシステムのマイクロプロセッサ等の電子処理装置を使用し、少なくとも部分的に実行されることが仮定される。
【００５８】
例の少なくともいくつかでは、コンテンツが、データベース又はファイル等のコンテンツレポジトリとして作用するデータストアのコンテンツフィールドに１つ又は複数のコンテンツインスタンスとして記憶されると仮定される。したがって、コンテンツフィールドは、１つ又は複数のデータベースフィールドにわたって記憶される値を含んだ、データベースレコードに対応するコンテンツインスタンスを有するデータベースのデータベースフィールドとなるだろう。代わりに、コンテンツフィールドは、以下の説明から明らかになるように、例えばデータがデータベースから抽出される、及び／又はデータベースに転送されるとき、データをトランスポートするために使用されてよいＸＭＬファイル等のファイルの中に定義されたフィールドとなるだろう。別の代替策として、コンテンツフィールドは、以下の説明から明らかになるように、例えば、データがＲＤＦトリプルストアデータベースから抽出される、及び／又はＲＤＦトリプルストアデータベースに転送されるとき、データをトランスポートするために使用されてよいＲＤＦトリプルストア等のファイルの中で定義されるフィールドとなるだろう。コンテンツはデータベーススケーマ、ＸＭＬドキューメント定義、オントロジーそれともスケーマなどのデータ構造に従って保存していることを想定している。
【００５９】
以下の説明を通して説明の目的上、用語「ソース」は、データがそこから抽出されているデータベース又はファイル等のデータストアを指すために使用される。一方、用語「ターゲット」は、データがその中に記憶されているデータベース又はファイル等のデータストアを指すために使用される。これらの用語は、例えば、考えられるソースとターゲットを区別するため等の説明のためだけであり、制限的になることを意図していない。
【００６０】
用語「コンテンツインスタンス」は、ソースから抽出中、及び／又はターゲットに転送中であり、制限的になることを意図していないコンテンツの個々の要素である。例えば、用語コンテンツインスタンスは、いくつかの異なるデータベースフィールドに記憶された値を有するデータベースレコード若しくは関係するデータベースレコードのセットを指すことがある、又は代わりに単一のフィールドの中に記憶された単一の値を指すことがあるだろう。
【００６１】
用語「オントロジー」は、ドメインの中の概念のセットとして、それらの概念のタイプ、プロパティ、及び相互関係を示すために共有された語彙を使用し、知識を表す。オントロジーは、通常、個人、クラス、オブジェクト、属性等のいくつかの構成要素を含み、用語「オントロジー用語」は概して、これらの構成要素及び任意選択でこれらの概念の特定の概念を指すために使用される。
【００６２】
用語「意味」は、特定のオントロジー用語、コンテンツフィールド名等の意味解釈を指すことを目的とする。したがって、用語意味は、以下により詳細に説明されるように、例えば同音異義語、同義語、部分語等の問題を説明するために、オントロジー用語又はコンテンツフィールドの意図された意味を包含する。
【００６３】
この例では、ステップ１００で、電子処理装置はそれぞれのオントロジー用語を有するオントロジーを決定する。このプロセスは任意の適切な方法で実行することができ、これは電子処理装置に、例えば１つ又は複数のオントロジーデータベースに記憶されている、いくつかの既存のオントロジーの内の１つ又は複数を選択させることを含むことがあり、又は代わりに推測上のオントロジーを生成することによって達成できるだろう。一例では、選択されたオントロジーは、ソースデータ構造と関連付けられたソースオントロジー、及びターゲットデータ構造と関連付けられたターゲットオントロジーに相当する。ただし、これは必須ではない。
【００６４】
オントロジーの選択は、ソースデータ構造又はターゲットデータ構造に基づいて達成でき、適切なマッチが見つけられるまでオントロジー用語にデータ構造の中のフィールドを比較することを含むことがあるだろう。また、このプロセスは、いくつかのオントロジーのドメインを調べ、ドメイン、したがってコンテンツの特定の主題フィールドに関連性のあるオントロジー、コンテンツが関係する業界等を選択することも含むだろう。オントロジーの選択は、例えば電子処理装置に、関連するコンテンツの主題フィールドの表示を提供することによって自動化されることがあり、例えば電子処理装置にユーザがこれらを選択できるようにする利用可能なオントロジーの詳細を表示させることによって手動になることがあり、又は手動プロセス及び自動プロセスの組合せによることがある。
【００６５】
代わりに、これは、例えばメタデータ、データベーススキーマ等を使用し、ソースデータ構造又はターゲットデータ構造から『推測上の』オントロジーを生成することを含むことがあるだろう。このプロセスは相関的な参照整合性の制約からなんらかのオントロジー公理を導き出すことを含むことがあるが、大部分の公理は手作業で追加する又は無視する必要があるだろう。この推測上のオントロジーはメタデータを追加するために既存の豊かなオントロジーと合わせられてよい。
【００６６】
ステップ１１０で、電子処理装置はオントロジーの少なくとも１つからオントロジー用語のグループを決定する。オントロジー用語のグループは、通常、それぞれのオントロジーのサブグループであり、関係するオントロジー用語のグループを表す。グループは通常、例えば対象のオントロジー用語に対応する選択されたオントロジー用語を含む。したがって、例えば、ソースデータ構造及びターゲットデータ構造をマップする際に使用されるとき、オントロジー用語のグループは、例えばその中のコンテンツを抽出し、ターゲットデータストアに転送できるようにするためにターゲットデータフィールド又はソースデータフィールドにマップされるべきであるソースデータフィールド又はターゲットデータフィールドに対応する選択されたオントロジー用語を含むことがある。グループは、さらに通常、選択されたオントロジー用語間の関係性を維持するために必要とされるオントロジー用語を含む。
【００６７】
グループがどのようにして決定されるのかは好まれる実装に応じて変化し、例えば抽出されるコンテンツに基づいて、いくつかの従前の決定されたグループの１つを選択することを含むことがあるだろう。ただし、代わりに、これは、選択されたオントロジー用語を識別することによってグループを生成することを含み、次いで選択されたオントロジー用語のそれぞれを接続する経路が見つけられるまで関係するオントロジー用語を漸次的に調べる。このプロセスは、それが、オントロジー全体よりもより容易に管理できるが、依然としてオントロジーの構造及び公理を維持する、削減された数のオントロジー用語にオントロジーを切り詰めることを実際上含むことがあるので、切り詰めることと呼ばれることがある。
【００６８】
ステップ１２０で、電子処理装置は、オントロジー用語のグループの少なくともいくつかについてオントロジー用語間のアラインメントを決定し、アラインメントはオントロジー用語のオントロジー用語意味に従って少なくとも部分的に決定される。したがって、電子処理装置は一方のオントロジーのオントロジー用語の少なくとも意味を調べ、他方のオントロジーの同等のオントロジー用語を識別しようと試みる。したがって、最も簡略なレベルで、これは同じ意味を有するソースオントロジー用語及びターゲットオントロジー用語を識別することを含むことがあるが、より典型的には、ソースオントロジー用語及びターゲットオントロジー用語が他方のソースオントロジー用語及びターゲットオントロジー用語と類似した関係性を有するかどうかを識別するために、ソースオントロジー用語間、及びターゲットオントロジー用途間の関係性も調べる。
【００６９】
アラインメントは１対１のマッピングである必要はなく、一方のオントロジーでの単一のオントロジー用語が他方のオントロジーでの複数のオントロジー用語と一致することがあることに留意されたい。ターゲットオントロジーが名前及び苗字を別々の概念として定義することがあり、その場合コンテンツは、コンテンツがソースからターゲットに転送される際にマージされる必要があるのに対し、例えば、ソースオントロジーは単一の概念として個人の名前を定義してよい。
【００７０】
ステップ１３０で、電子処理装置はアラインメントに従ってマッピングを生成するために機能する。マッピングはオントロジー自体の間のマッピングを表すことがある、及び／又はターゲットオントロジー用語とソースオントロジー用語の間のアラインメントに基づいて、それぞれのソースデータ構造及びターゲットデータ構造のソースデータフィールドとターゲットデータフィールドの間のマッピングを表すことがある。このようにして、例えば電子処理装置はソースデータフィールドについて対応するソースオントロジー用語を、次いでアラインメントを使用し、合わせられたターゲットオントロジー用語、したがってターゲットデータフィールドを決定できる。マッピングは次いで通常マッピングファイル、インデックス、テーブル、マージされたオントロジー等の形式で記憶され、後にデータを転送する際にマッピングを使用できるようにする。
【００７１】
したがって、上記プロセスは、２つのオントロジーを合わせることを可能にし、これは同様にマッピングを作成するために使用される。マッピングは異なるオントロジーでオントロジー用語を等しくするために使用でき、これを同様に、それぞれのオントロジーを使用し、ソースデータフィールドをターゲットデータフィールドにマップするために使用できるようにする。このマッピングは、コンテンツが異なるデータ構造を有するデータストア間で転送されているときにもコンテンツの構造が維持されることを保証するために役立つオントロジーを使用して、ソースとターゲットの間でコンテンツを転送する際に使用できる。また、オントロジーの使用は、例えば、コンテンツが必要とされる通常の形式をとり、必要とされる場合には正規化も提供することを保証するために、転送されているコンテンツの整合性が維持される、又はそれが転送される際に改善されていることを保証するのに役立つこともある。このようにして、オントロジーを使用することは、コンテンツがソースからターゲットデータストアに転送される際に追加の関係性制限を課すことを可能にし、これによりソースデータストアのデータが第３の通常の形式で記憶されない場合にも、データは、転送される際に第３の通常に変換できる。
【００７２】
プロセスがソースデータ構造とターゲットデータ構造との間でマッピングを作成するために使用されているとき、ソースオントロジー及びターゲットオントロジーは、Ｇａｌｅｎオントロジー（概して様式化オントロジーと呼ばれる）等の公式に作成されたオントロジー等の従前に定義されたオントロジーであることがある、又は代わりにデータ構造自体に基づいて生成される推測上のオントロジーであることがある。これは、図１Ｂを参照してここで説明されるように、いくつかの異なるマッピング関係を確立できるようにする。
【００７３】
この例では、それぞれのソースデータ構造及びターゲットデータ構造Ｓ、Ｔを有するソースデータストア及びターゲットデータストアが示される。各データストアは対応する推測上のオントロジー１５０，１６０を有することがあり、対応する様式化オントロジー１５１、１６１も存在している。これが、いくつかの異なるマッピングと確立できるようにする。
【００７４】
例えば、マッピングは、推測上のオントロジー１５０、１６０間で直接的に作成することができ、ソースとターゲットＳ、Ｔの間で直接的にコンテンツを転送できるようにする。
【００７５】
さらに、及び／又は代わりに、マッピングは、上述された技法を使用し、推測上のオントロジー１５０、１６０と対応する様式化オントロジー１５１、１６１との間で作成できるだろう。このプロセスは、ソースデータ構造又はターゲットデータ構造Ｓ、Ｔに基づいて推測上のオントロジー１５０、１６０を作成し、次いで実質的に自動で様式化オントロジー１５１、１６１にマップし、それによって推測上のオントロジー１５０、１６０のオントロジー用語に、意味、定義、及び潜在的な関係性を提供することを可能にする。また、このプロセスはそれぞれのデータ構造に記憶されるデータを正規化する際にも使用できる。
【００７６】
オントロジー１５１、１６１が同一である場合、様式化オントロジー１５１、１６１に推測上のオントロジー１５０、１６０をマップすることは、ソースとターゲットＳ、Ｔの間でコンテンツを転送できるようにする。代わりに、様式化オントロジーは、ソースとターゲットＳ、Ｔとの間でのコンテンツの転送を再び可能にするためにそれらの間のマッピングを可能にするために合わせることもできるだろう。
【００７７】
したがって、上述された技法はオントロジー間でマッピングを作成するために使用することができ、これらは同様にソースデータ構造とターゲットデータ構造との間で直接的にマッピングを確立するために使用されることが理解される。これは、不同等のソース及びターゲット間でのコンテンツの転送を促進し、様式化データ構造に従ってこれを実行できるようにし、それによってコンテンツが正規化された形式で提供されることを保証する。したがって、これは不同等のデータ構造間のコンテンツ転送を可能にするだけではなく、非正規化形式で記憶されるデータと関連付けられた問題を克服するために使用することもできる。
【００７８】
いくつかの追加の特徴がここで説明される。この点で、電子処理装置は、ここでさらに説明されるように、通常、いくつかの異なる機能を実行して、オントロジーのインデックスを生成すること、ユーザがオントロジーをブラウズし、オントロジーと対話し、オントロジーを切り詰め、オントロジー用語の意味を解釈することを可能にすることを含んだ上述のプロセスを容易にするように適合される。
【００７９】
上述されたように、マッピングは任意の形式となることがある。マッピングがオントロジー間であるとき、以下により詳細に説明されるように、これはマージされたオントロジー、又は代わりにアラインメントインデックスの形式となることがある。
【００８０】
含まれているオントロジーは、好ましい実装に応じて推測上のオントロジー及び／又は様式化オントロジーを含むことがある。１つの特定の例では、電子処理装置は様式化オントロジーに推測上のオントロジーをマップするためにマッピングを生成する。
【００８１】
また上述されたように、マッピングは、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータストアを有するターゲットデータストアにコンテンツを転送する際に使用でき、オントロジーはソースデータ構造及びターゲットデータ構造と関連付けられ、電子処理装置はマッピングを使用し、ソースデータフィールドとターゲットデータフィールド間でコンテンツを転送する。したがって、オントロジーはソースデータ構造と関連付けられたソースオントロジー、及びターゲットデータ構造と関連付けられたターゲットオントロジーを含むことがあり、ソースオントロジー及びターゲットオントロジーは１つ又は複数の様式化オントロジーにマップされた推測上のオントロジーである。
【００８２】
したがって、上述されたプロセスでは、電子処理装置は、推測上のオントロジーを生成する又はいくつかの既存の推測上のオントロジー若しくは様式化オントロジーの内の１つを選択することによってオントロジーを決定できる。
【００８３】
電子処理装置は、通常、ソースデータ構造若しくはターゲットデータ構造と関連付けられたメタデータ、又はソースデータ構造若しくはターゲットデータ構造のソースデータフィールド及びターゲットデータフィールドのどちらかを使用し、ソースオントロジー又はターゲットオントロジーを決定する。このプロセスは、推測上のオントロジーを生成すること、又は例えばオントロジーデータベース等のストアに記憶されているオントロジーからいくつかの既存のオントロジーの１つを選択することを含むことがあるだろう。この後者の場合、電子処理装置は、いくつかの既存のオントロジーのオントロジー用語とデータ構造データフィールドを比較し、比較の結果に従って該いくつかの既存のオントロジーの１つを選択できる。
【００８４】
代わりに、例えばデータベーススキーマからオントロジーを生成するとき、電子処理装置は、通常、スキーマのテーブルを識別し、各テーブルに対応するオントロジー用語を作成し、少なくとも１つの部品表テーブルを識別し、部品表テーブルの各エントリに対応するオントロジー用語を作成する。このようにして、このプロセスはあらゆる非正規化データベーステーブルのコンテンツを調べるために機能し、追加のオントロジー用語を識別するためにこのテーブルのコンテンツを拡大する。このプロセスの一部として、電子処理装置は部品表テーブルの各エントリに対応するオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて推測上のオントロジーに該オントロジー用語を追加できる。これにより、ユーザは、必要な場合、オントロジーの作成を無効にできる。
【００８５】
電子処理装置は、推測上のオントロジーを生成するとき、データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性をさらに生成できる。このプロセスは、電子処理装置が、オントロジー用語に対応するクラス、クラスの少なくともいくつかに対するデータプロパティ、及びクラス間の関係性を定義するオブジェクトプロパティを含んだ推測上のオントロジーを生成できるようにする。
【００８６】
一例では、電子処理装置は、少なくとも１つのオントロジーのオントロジー用語の表示を含んだ、少なくとも１つのオントロジーのためのインデックスを決定し、オントロジー用語のグループ及びオントロジー用語間のアラインメントを決定するためにインデックスを使用する。インデックスの使用は必須ではないが、インデックスの使用は、オントロジー全体の使用と比較して処理する必要があるデータの量をかなり削減し、それによってブラウズ、グループ化（切り詰め）、及びアラインメントのプロセスをより扱いやすくする。
【００８７】
インデックスは任意の適切な形式となることがあるが、通常、オントロジー用語ごとに、オントロジー用語の名前、及びオントロジー用語の意味の表示、及びオントロジー用語のタイプを含む。また、インデックスは、ＵＲＩ（ユニフォーム・リソース・アイデンティファイア）等の形式をとることがあるだろう、それぞれのオントロジーでのオントロジー用語のアドレス等の追加の情報を含んでもよい。
【００８８】
電子処理装置は、オントロジー用語ごとに、オントロジー用語名を識別し、オントロジー用語タイプを識別し、セマンティックマッチングプロセスを使用して各オントロジー用語のオントロジー意味を識別し、オントロジー用語名、オントロジー用語タイプ、及びオントロジー用語意味の表示を含んだインデックスエントリを作成することによってインデックスを生成する。
【００８９】
一例では、電子処理装置は、複数のオントロジーのために単一のインデックスを生成し、これは必須ではなく、代わりに別個のインデックスが、インデックスが付けられるオントロジーごとに使用できるが、インデックスエントリはオントロジー用語と関連付けられたオントロジーの表示を含む。
【００９０】
電子処理装置は、通常さらに、オントロジーに１つ又は複数のオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別し、少なくとも１つの識別されたオントロジー用語及び少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティの内の少なくとも１つの詳細を表示するように適合される。したがって、これによりユーザはオントロジーをブラウズし、その中に定義されたオントロジー用語の詳細を見ることができる。これは、ユーザが、正しいオントロジーが使用されているかどうかを評価し、オントロジーの範囲を理解し、異なるオントロジー用語間の関係性を探索し、ソースデータ構造又はターゲットデータ構造がどのようにオントロジーに関係するかを評価することを可能にするために有用であることがある。
【００９１】
電子処理装置は、通常、オントロジーインデックスを使用し、１つ又は複数のオントロジー用語の表示を決定する。したがって、インデックスが、オントロジー用語のリストを表示し、次いでその後選択されたオントロジー用語と関連付けられたデータプロパティを探索するために電子処理装置に迅速な仕組みを提供することが理解される。
【００９２】
電子処理装置は、通常、ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語、及び対応するユーザによって選択されたデータプロパティを決定するように適合される。これは選択されたオントロジー用語及びデータプロパティの詳細を表示するために使用できるだけではなく、電子処理装置が実行可能コードを生成できるようにもする。実行可能コードは、ユーザによって選択されたオントロジー用語及びデータプロパティに基づき、コンピュータシステムで実行されるとき、コンピュータシステムに、ユーザが、ユーザによって選択されたオントロジー用語に対応するデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするユーザインタフェースを表示させる。したがって、これは、電子処理装置が、ユーザがコンテンツと対話し、その後それぞれのソースデータ構造及び／又はターゲットデータ構造からコンテンツをエクスポートする又はコンテンツをインポートすることを可能にするインタフェースを表示するために使用できるコードを自動的に生成できるようにするための機構を提供する。
【００９３】
したがって、これによってユーザがオントロジーの中のオントロジー用語をブラウズし、次いでデータ構造のデータフィールドに対応するオントロジー用語を選択できることが理解される。これは、同様に、ユーザが次いでデータ構造の中に記憶されたコンテンツと対話できるようにするインタフェースとして作用することができるコードを生成できるようにする。
【００９４】
一例では、実行可能コードは、コンピュータシステムに、例えばＳＰＡＲＱＬ（ＳＰＡＲＱＬプロトコル及びＲＤＦクエリー言語）を使用し、例えば、クエリーを行い、コンテンツを取り出すことによってソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させる。これは、データベースに対するインタフェースとして作用することができるコンピュータソフトウェアを迅速に配備するための機構を提供する。さらに、これがオントロジーに基づいて生成されているおかげで、それはオントロジーの中で定義された関係性をコードの構造、したがって結果として生じるクエリーの中に統合できる。したがって、これによってコンピュータシステムは、データプロパティ又はユーザによって選択されたオントロジー用語間の関係性に従ってクエリーを生成できる。
【００９５】
これを達成するために、コンピュータシステムは、通常、例えばソースオントロジー又はターゲットオントロジーから１つ又は複数のオントロジー用語の表示を表示し、ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定し、対応するデータフィールドに記憶されたデータにクエリーを行う。
【００９６】
オントロジー用語の意味を決定し、異なるオントロジー用語の意味の類似性を比較するために、電子処理装置は通常セマンティックマッチングを実行するように適合される。これは、通常、例えば概念マッチングデータベース等の参照データベースに記憶された、いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較すること、及び比較の結果に従ってオントロジー用語意味として潜在的なオントロジー用語意味の１つを選択することを含む。
【００９７】
これを達成するために、電子処理装置は、各比較の結果にマッチングスコアを生成し、マッチングスコアに従ってオントロジー用語意味を決定することによってオントロジー用語意味を決定する。マッチングスコアを決定する際に、電子処理装置は、潜在的なオントロジー用語意味が、検討中のオントロジー用語の同義語、反意語、部分語、スーパークラス、及びサブクラスの内の少なくとも１つであるかどうかを判断する。
【００９８】
いったんオントロジー用語意味が作成されると、これの表示は通常インデックスの部分として記憶され、表示は定義された意味を示す識別子及び同等な意味のリストの少なくとも１つを含む。したがって、単一の一意識別子がいくつかの異なるオントロジーの中の各一意の概念に割り当てられ、異なるオントロジー全体で共通の識別子によって共通の意味を識別できるようにする。識別子は、好ましい実装に応じて一意の英数字コード、見出し語、語根等であるだろう。これにより、同等なオントロジー用語、したがって合わせられたオントロジー用語を識別するプロセスははるかに容易になる。
【００９９】
同様に、電子処理装置は、通常、いくつかのオントロジー用語のオントロジー用語意味を比較し、各比較の結果にマッチングスコアを生成し、マッチングスコアに従ってアラインメントを決定することによってオントロジー用語間のアラインメントを決定する。また、より典型的には、電子処理装置は、オントロジー用語、又はオントロジー用語のデータプロパティの間の関係性に基づいてアラインメントを決定する。したがって、これは、アラインメントが存在するかどうかを判断するために、用語の絶対的な意味だけではなく、オントロジーの相対的な構造も考慮に入れる。したがって、電子処理装置はソースオントロジー用語間の関係性を決定し、ターゲットオントロジー用語間の関係性を決定し、関係性を比較し、比較の結果に従ってソースオントロジー用語とターゲットオントロジー用語間のアラインメントを決定できる。
【０１００】
電子処理装置は、通常、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語間のアラインメントを決定し、したがってこれが１対１の関係性、多対１の関係性、及び１対多の関係性を包含できるようにする。
【０１０１】
上述されたように、電子処理装置は、例えば現在の用途に関連性がない又は使用されていないオントロジー用語を削除することができ、現在の状況に関連性があるオントロジー用語だけが残るようにオントロジーを切り詰めることによってオントロジー用語のグループを決定できる。一例では、これは選択されたオントロジー用語を決定し、次いで選択されたオントロジー用語及びオントロジー用語間の関係性に少なくとも部分的に従って、オントロジー用語のグループを決定することによって達成される。
【０１０２】
したがって、選択されたオントロジー用語ごとに、電子処理装置は、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別し、ソースオントロジー用語のグループに識別されたオントロジー用語を追加する。このプロセスは、電子処理装置が、すべての選択されたオントロジー用語が関係性によって接続されるとき等の所望される端点に到達するまで識別されたオントロジー用語を反復して追加するように、繰り返し実行できる。これは、次いでオントロジーの中の関係性を保ち、オントロジーを合わせる、マッピングを作成する等の他のプロセスで使用できるようにする、関係するオントロジー用語のグループを確立する。
【０１０３】
上記プロセスの一部として、いくつかの異なる関係性が、選択されたオントロジー用語のすべての間で経路を確立しようとして調べることができ、電子処理装置は任意選択で異なるタイプの関係性に異なる関係性経路長を使用する。したがって、例えば、なんらかのタイプの関係性はより重要と見なされ、したがって関係オントロジー用語を識別するときに、通常、より長い経路長を与えられるだろう。一例では、経路長（複数の場合がある）は、ユーザによって定義され、グループの作成を制御する際に手動介入を使用できるようにする。
【０１０４】
一例では、上述されたプロセスを実行できるようにするために、いくつかの異なるツールを使用して、マッピングを生成し、オントロジーを管理するのを支援できる。一例では、ツールは、オントロジーツール及びデータ管理ツールの統合されたパッケージを形成するソフトウェアスイートの一部として提供される。一例では、ツールは、オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュール、オントロジーのオントロジー用語のブラウズを可能にし、オントロジーの少なくとも一部を具現化するコードを生成し、それによってユーザがオントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュール、オントロジー用語異なるオントロジー間のアラインメントを決定するアライナモジュール、オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュール、及びオントロジー用語意味を識別するセマンティックマッチャモジュールを含む。ただし、それぞれのモジュールの使用は必須ではなく、他の構成を使用できる。
【０１０５】
一例では、プロセスは、プログラムされたコンピュータシステム等の処理システムを少なくとも部分的に使用して実行できる。これは、スタンドアロンコンピュータで実行でき、マイクロプロセッサは上述された方法を実行できるようにするアプリケーションソフトウェアを実行する。代わりに、プロセスは、図２を参照してここで説明される例である分散型アーキテクチャの一部として動作する１つ又は複数の処理システムによって実行できる。
【０１０６】
この例では、２つの基地局２０１はインターネット２０２、及び／又はいくつかのローカルエリアネットワーク（ＬＡＮ）２０４等、通信網を介していくつかのコンピュータシステム２０３に結合される。ネットワーク２０２、２０４の構成は例のためだけであり、実際には、基地局２０１、コンピュータシステム２０３は、直接接続又はＢｌｕｅｔｏｏｔｈ等のポイントツーポイント接続だけではなく、モバイルネットワーク、８０２．１１ネットワーク等のプライベートネットワーク、インターネット、ＬＡＮ、ＷＡＮ等を含むが、これに限定されるものではない、有線接続又は無線接続を介して等、任意の適切な機構も介して通信できることが理解される。
【０１０７】
一例では、各基地局２０１はデータベース２１１に結合された処理システム２１０を含む。基地局２０１は、例えばソースデータストアとターゲットデータストアとの間でコンテンツを転送する際に使用するためのマッピングの生成だけではなく、例えば切り詰め又はアラインメントを実行するためにオントロジーを管理する際に使用されるように適合される。コンピュータシステム２０３は、マッピングの生成等のプロセスを制御できるようにするために基地局２０１と通信するように適合できる。ただし、これは必須ではなく、プロセスは基地局２０１を介して直接的に制御できる。
【０１０８】
各基地局２０１は単一のエンティティとして示されているが、基地局２０１は、例えば、処理システム２１０及び／又はクラウドベースの環境の一部として提供されるデータベース２１１を使用することによっていくつかの地理的に別々の場所上で分散できることが理解される。この点で、代わりに、データストアはコンピュータシステム２０３と関連付けられるだろうが、それぞれがそれぞれのデータストア又はオントロジーと関連付けられる複数の基地局２０１が提供できる。
【０１０９】
ただし、上述された構成は必須ではなく、他の適切な構成を使用できるだろう。例えば、プロセスはスタンドアロンコンピュータシステムで実行できるだろう。
【０１１０】
適切な処理システム２１０の例は図３に示される。この例では、処理システム２１０は、図示されるように、バス３０４を介して相互接続された少なくとも１台のマイクロプロセッサ３００、メモリ３０１、キーボード及び／又はディスプレイのような入出力装置３０２、及び外部インタフェース３０３を含む。この例では、外部インタフェース３０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等のような周辺装置に処理システム２１０を接続するために活用できる。単一の外部インタフェース３０３が示されているが、これは例のためだけであり、実際には多様な方法（例えば、イーサネット、シリアル、ＵＳＢ、無線等）を使用する複数のインタフェースが提供されてよい。
【０１１１】
使用中、マイクロプロセッサ３００は、コンピュータシステム２０３と通信するだけではなく、インデックス生成、マッピング、及びデータベース２１１への／データベース２１１からのコンテンツ転送を実行することも可能にするためにメモリ３０１に記憶されているアプリケーションソフトウェアの形式の命令を実行する。アプリケーションソフトウェアは１つ又は複数のソフトウェアモジュールを含んでよく、オペレーティングシステム環境等のような適切な実行環境で実行されてよい。
【０１１２】
したがって、処理システム２１０が、適切にプログラムされたコンピュータシステム、ＰＣ、ＤＭＢＳを実行するデータベースサーバ、ウェブサーバ、ネットワークサーバ等のような任意の適切な処理システムから形成されてよいことが理解される。１つの特定の例では、処理システム２１０は、不揮発性（例えばハードディスク）ストレージに記憶されているソフトウェアアプリケーションを実行する３２ビット又は６４ビットのＩｎｔｅｌ Ａｒｃｈｉｔｅｃｔｕｒｅをベースにした処理システムのような標準的な処理システムである。ただし、これは必須ではない。しかしながら、処理システムがマイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）のような実装論理と任意選択で関連付けられたファームウェア、又は任意の他の電子機器、システム、若しくは構成のような任意の電子処理装置であることがあることも理解される。
【０１１３】
図４に示されるように、一例では、コンピュータシステム２０３は、図示されるようにバス４０４で相互接続された少なくとも１台のマイクロプロセッサ４００、メモリ４０１、キーボード及び／又はディスプレイのような入出力装置４０２、及び外部インタフェース４０３を含む。この例では、外部インタフェース４０３は、通信ネットワーク２０２、２０４、データベース２１１、他のストレージデバイス等のような周辺装置にコンピュータシステム２０３を接続するために活用できる。単一の外部インタフェース４０３が示されているが、これは例のためだけであり、実際には多様な方法（例えば、イーサネット、シリアル、ＵＳＢ、無線等）を使用する複数のインタフェースが提供されてよい。
【０１１４】
使用中、マイクロプロセッサ４００は、基地局２０１との通信を可能にして、例えばオペレータが制御入力を提供できるようにするためにメモリ４０１に記憶されるアプリケーションソフトウェアの形式の命令を実行する。
【０１１５】
したがって、コンピュータシステム２０３は、適切にプログラムされたＰＣ、インターネット端末、ラップトップ、ハンドヘルドＰＣ、スマートフォン、ＰＤＡ、ウェブサーバ等のような任意の適切な処理システムから形成されてよいことが理解される。したがって、一例では、処理システム１００は、不揮発性（例えば、ハードディスク）ストレージに記憶されているソフトウェアアプリケーションを実行する、３２ビット又は６４ビットのＩｎｔｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅをベースにした処理システムのような標準的な処理システムである。ただし、これは必須ではない。しかしながら、コンピュータシステム２０３が、マイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）のような実装論理と任意選択で関連付けられたファームウェア、又は任意の他の電子機器、システム、若しくは構成のような任意の電子処理装置であることがあることも理解される。
【０１１６】
マッピングを生成し、ブラウズ、オントロジーを合わせること、及びオントロジーを切り詰めることを含んだオントロジーのインデックス付け及びオントロジーとの対話を可能にするためのシステムの動作の例がここでさらに詳細に説明される。
【０１１７】
これらの例のために、基地局２０１の処理システム２１０がプロセスを実行するためのアプリケーションソフトウェアをホストし、処理システム２１０によって実行されるアクションが、メモリ３０１にアプリケーションソフトウェアとして記憶される命令、及び／又はＩ／Ｏ装置３０２を介してユーザから受信される入力コマンド、又はコンピュータシステム２０３から受信されるコマンドに従ってプロセッサ３００によって実行されていることが想定される。この点で、以下の例のために、処理システム２１０は、インデクサモジュール、ブラウザモジュール、アライナモジュール、プルーナモジュール、セマンティックマッチャモジュール、及びＥＴＬモジュールを含んだいくつかのモジュールを有するアプリケーションソフトウェアを実行する。ただし、それぞれのモジュールの使用は必須ではなく、他の構成を使用できる。
【０１１８】
ユーザが、入出力装置３０２又はコンピュータシステム２０３のどちらかに提示されるＧＵＩ等を介して処理システム２１０によって実行されるアプリケーションソフトウェアと対話することも想定される。コンピュータシステム２０３によって実行されるアクションは、メモリ４０１にアプリケーションソフトウェアとして記憶された命令、及び／又はＩ／Ｏ装置４０２を介してユーザから受信される入力コマンドに従ってプロセッサ４００によって実行される。基地局２０１は、通常、利用可能な特定のネットワークインフラを介してコンピュータシステム２０３と通信し、例えば１つ又は複数のコンピュータシステム２０３のユーザのためにデータベース２１１と対話するエンタープライズサーバの形式であってよいサーバである。
【０１１９】
しかしながら、上述された構成は例のためだけであり、制限的になることを意図していないため、実際には任意のデータベース管理システムを使用できることが理解される。また、コンピュータシステム２０３及び基地局２０１との間の機能性の区分化が特定の実装に応じて変化してよいことも理解される。
【０１２０】
マッピングを決定し、ソースからターゲットにコンテンツを転送するためにこれを使用するためのプロセスの概要が、ここで図５を参照して説明される。この例のために、処理システム２１０が異なる機能性を提供するためにいくつかの異なるモジュールを実装することが想定される。
【０１２１】
この例では、ステップ５００で、処理システム２１０はソースデータ構造及びターゲットデータ構造を使用し、ソースオントロジー及びターゲットオントロジーを識別する。これはいかなる方法でも達成できるが、通常、ソースデータストア及びターゲットデータストアのためのソースデータ構造及びターゲットデータ構造に基づいて推測上のオントロジーを作成することを含む。例えば、異なるソースデータフィールド及びターゲットデータフィールドの名前はオントロジー用語に等しくされ、オントロジー用語間の関係性はソースデータ構造及びターゲットデータ構造の関係性から識別される。推測上のオントロジーを生成するプロセスの特定の例は、図６を参照してより詳細に説明される。
【０１２２】
ステップ５１０で、インデクサモジュールはソースオントロジー及びターゲットオントロジーのインデックスを決定する。インデックスは通常、各オントロジー用語、これが既知である場合は関連付けられたオントロジー用語タイプ、及び任意選択でオントロジー用語の意味も示すエントリを含んだリストの形式をとる。この点で、オントロジー用語意味は通常、ステップ５２０で、概念マッチングデータベースとオントロジーを比較し、インデックスの各オントロジー用語の意味を識別するために比較の結果を使用するセマンティックマッチャモジュールによって決定される。
【０１２３】
ステップ５３０で、ブラウザモジュールはオントロジーをブラウズし、ソースオントロジー用語又はターゲットオントロジー用語を選択するために使用される。これによって、ユーザは、通常はソースデータストアから抽出される又はターゲットデータストアにインポートされるコンテンツに対応する、対象のそれらのオントロジー用語を選択できる。
【０１２４】
選択されたオントロジー用語は、次いで、ブラウザモジュールがそれぞれのデータ構造に従ってデータストアに記憶されたコンテンツと対話するためのコードを生成できるようにするためにステップ５４０で使用できる。特に、これは、ユーザが、以下により詳細に説明されるように、データ構造のデータフィールドを見て、抽出／インポートされるコンテンツを選択し、次いで抽出／インポートを実行するために必要なクエリーを生成するために使用できるユーザインタフェースを、コンピュータシステムが生成できるようにするためのコードを含むことがある。
【０１２５】
代わりに、ステップ５５０で、選択されたオントロジー用語は、ソースオントロジー及び／又はターゲットオントロジーのどちらかを切り詰めるためにプルーナモジュールによって使用される。特に、これによってユーザは対象のオントロジーのそれらの部分だけを選択することができ、処理システム２１０は次いで、以下により詳細に説明されるように、選択されたオントロジー用語間の関係性を維持するために必要とされる追加のオントロジー用語を選択する。
【０１２６】
いったんオントロジーの１つ又は複数が切り詰められると、ステップ５６０で、処理システム２１０はソースオントロジー及びターゲットオントロジーを合わせるためにアライナモジュールを使用する。これは、ソースオントロジー用語の１つ又は複数とターゲットオントロジー用語の１つ又は複数との間の対応を識別し、それによってステップ５７０で、ソースデータストアからターゲットデータストアにコンテンツを転送するために、同様にブラウザモジュールによって生成されたコードともに使用できるソースデータ構造とターゲットデータ構造の間のマッピングを決定できるようにする。
【０１２７】
データベーススキーマ等のデータ構造から推測上のオントロジーを生成するためのプロセスの例は、ここで図６を参照して説明される。
【０１２８】
この例はリレーショナルデータベースのために推測上のオントロジーを生成することに特有であるが、類似した概念を他のデータ構造にも適用できること、及びこの例が例示のためだけであり、制限的となることを意図していないことが理解される。
【０１２９】
この例では、ステップ６００で、処理システム２１０は、通常、データベーススキーマを定義するメタデータからこの情報を抽出することによって、データベースの各テーブルを決定する。ステップ６１０で、処理システム２１０は、データベースの各テーブルに対応するクラスを定義する。この点で、用語クラスは、以下により詳細に説明されるように、オントロジーの中の概念に相当する特定のオントロジー用語を参照する。
【０１３０】
ステップ６２０で、処理システム２１０は、ＢＯＭ（部品表）構造又はタイプ構造を有するあらゆるデータベーステーブルを識別する。この点で、ＢＯＭテーブルは２つの「１対多」の関係性を有し、アイテム、オブジェクト、又は商品を構成するすべてのパーツのリストに対して使用される。タイプ構造は１つの「多対１」の関係性を有し、関係するテーブルでの値の範囲を制限するために使用されるただ１つの関連性がある属性又は列を有する。係るテーブルは、多くの場合、データを非正規化するために使用されるため、それぞれがそれぞれのオントロジー用語を表すべきである多くの概念又はクラスを含むことがある。したがって、ステップ６３０で、処理システムは、テーブルのそれぞれの一意のエントリに対応する追加のクラスを定義するために、各タイプテーブル及び各ＢＯＭテーブルを拡大する。
【０１３１】
ステップ６４０で、処理システム２１０は、タイプテーブル又はＢＯＭテーブルの中からそれぞれの識別されたクラスを任意選択で表示し、ユーザが、クラスがステップ６５０で保持されるべきかどうかを確認できるようにする。タイプクラス又はＢＯＭクラスが保持されるべきではないことが示される場合、タイプクラス又はＢＯＭクラスはステップ６６０で削除される。
【０１３２】
いったん関連性のあるＢＯＭクラスが選択されると、処理システム２１０は、データベーススキーマに基づいて関係性及び属性（データオブジェクト及びデータプロパティとも呼ばれる）を定義する。したがって、テーブル構造は、識別されたクラス間の関係性を識別するために使用できる。一方、テーブルのデータフィールドはクラスの属性を識別するために使用される。関係性及び属性は同様に、オントロジーでオブジェクトプロパティ及びデータプロパティを定義するために使用され、それによって推測上のオントロジーを生成し、ステップ６８０で、例えばオントロジーデータベースに保存できるようにする。
【０１３３】
したがって、これによって推測上のオントロジーは、データベース、構造化ファイル等のようなデータストアのデータ構造の分析からだけ、実質的に自動化された様式で作成できる。これに続き、推測上のオントロジーの中で異なるクラスに意味を定義することが必要とされる場合、以下により詳細に説明されるように、推測上のオントロジーは様式化オントロジーと合わせることができる。
【０１３４】
インデックスを生成するためのプロセスの例は、ここで図７を参照して説明される。
【０１３５】
この例では、ステップ７００で、インデクサモジュールは対象のオントロジーを決定する。これは、例えばブラウザモジュールを介して供給されるユーザ入力コマンドに基づいて決定されてよい、又はインデックスを必要とする別のモジュールから受け取ることができるだろう。例えば、推測上のオントロジーを生成したＥＴＬモジュールは、これがインデックスを付けられることを必要とし、インデクサモジュールにオントロジーの表示を提供することがある、又は代わりにプルーナモジュールはオントロジーに対して切り詰めを実行できるようにするインデックスを要求することがある。
【０１３６】
ステップ７０５で、インデクサモジュールは、通常インデックスデータベースに記憶される１つ又は複数の既存のインデックスとオントロジーを比較し、インデックスがすでに存在しているかどうかを判断する。これは、オントロジーの名前及び／又はアドレスのようなオントロジーと関連付けられたメタデータを、インデックスと関連付けられた対応する情報と比較することによって、又は代わりに既存のインデックスのオントロジー用語と１つ又は複数のオントロジー用語を比較することによって達成できる。
【０１３７】
ステップ７１０でインデックスが存在すると判断される場合、次いでインデックスは、例えばインデックスを要求したモジュールにインデックスを提供することによってステップ７１５で提供される。それ以外の場合、インデックスが生成されなければならず、その場合、インデクサモジュールがステップ７２０で次のオントロジー用語を選択し、次いでステップ７２５で、オントロジー用語名、オントロジー用語タイプ、及び通常、ＵＲＩ（ユニフォームリソースアイデンティファイア）又は同等のものを示すオントロジー用語アドレスの表示を含んだインデックスエントリを作成する。ステップ７３０で、インデクサモジュールは、以下により詳細に説明されるように、セマンティックマッチャモジュールからオントロジー用語の意味論的意味を入手し、インデックスエントリにこれを追加する。
【０１３８】
ステップ７３５で、インデクサモジュールは、すべてのオントロジー用語が完成したかどうかを判断し、完成していない場合、プロセスは７２０に戻り、次のオントロジー用語を選択できるようにする。それ以外の場合、ステップ７４０で、インデックスは記憶され、任意選択で別のモジュールに提供される。
【０１３９】
オントロジーのブラウズのためのプロセスの例は、ここで図８を参照して説明される。
【０１４０】
この例では、ステップ８００で、ブラウザモジュールがオントロジーインデックスを使用し、選択されたオントロジーにオントロジー用語リストを生成する。したがって、このプロセスの部分として、ブラウザモジュールは、例えば選択されたオントロジーのアイデンティティに基づいて、インデクサモジュールからオントロジーインデックスを要求できる。オントロジー用語リストは、次いで適切なＧＵＩ（グラフィックユーザインタフェース）を介してユーザに表示できる。
【０１４１】
ステップ８０５で、ユーザは、ステップ８１０で見るための次のオントロジー用語を選択する前に対象の１つ又は複数のオントロジー用語にタグを付け、ブラウザモジュールがステップ８１５で選択されたオントロジー用語のためのデータプロパティを含んだオントロジー用語画面を表示できるようにする。この点で、データプロパティは、オントロジーの一部として定義されるオントロジー用語の属性に相当する。
【０１４２】
ステップ８２０で、ブラウザモジュールは、検索オプションがユーザによって選択されたかどうかを判断し、その場合、ユーザはステップ８２５でデータプロパティのデータフィールドに検索用語を入力する。ブラウザモジュールは次いでそれぞれのオントロジー用語データプロパティに関連付けられたデータのクエリーを生成し、実行し、結果を戻し、ステップ８３０でユーザに表示する。したがって、このプロセスによってユーザは、対応するソースデータストア又はターゲットデータストアでそれぞれのデータプロパティと関連付けられるだろうコンテンツを見直すことができ、それによってユーザは、オントロジー用語及び関連付けられたデータプロパティ対象のものかどうかを確かめることができる。
【０１４３】
いったん検索が実行されると、又は検索が実行されない場合、ユーザは８３５で対象の１つ又は複数のデータプロパティにタグを付ける。このようにして、このプロセスによってユーザはオントロジー用語及び関連付けられたデータプロパティを見直し、次いで対象のオントロジー用語及びデータプロパティを、それらにタグを付けることによって選択できる。
【０１４４】
ステップ８４０で、オントロジー用語は、ユーザにとって対象のすべてのオントロジー用語及びデータプロパティが選択されたかどうかを判断するために見直される。選択されていない場合、プロセスはステップ８１０に戻り、追加のオントロジー用語を見直すことを可能にする。
【０１４５】
それ以外の場合、ステップ８４５で、ブラウザモジュールはタグが付けられたオントロジー用語及び関連付けられたデータプロパティを選択し、例えばステップ８５０で切り詰めを実行するために、又はステップ８５５でアプリケーションを生成するために、これらを他のプロセスで使用できるようにする。この点で、アプリケーションの生成は、以下により詳細に説明されるように、コンピュータシステムでの実行時に、コンピュータシステムが、選択されたオントロジー用語又はデータプロパティに対応するソース又はターゲットのフィールドのコンテンツと対話するためのユーザインタフェースを表示できるようにする実行可能コードを生成するためにスクリプト等を使用することを含む。
【０１４６】
したがって、上述されたプロセスは、ユーザがオントロジー用語及び関連付けられたデータプロパティをブラウズして、それらの内のどれが、ユーザがソースからエクスポート又はターゲットにインポートすることを希望するコンテンツに関して対象となるかを識別できるようにするために使用できる。
【０１４７】
オントロジーを切り詰めるためのプロセスの例は、ここで図９を参照して説明される。
【０１４８】
この例では、ステップ９００で、選択されたオントロジー用語は切り詰めプロセス用のシードとして追加される。これに続き、シードオントロジー用語を相互接続する経路が識別されるまで、シードオントロジー用語に関係するオントロジー用語を繰り返し探索するために反復プロセスが実行される。これを達成するために、ステップ９０５で、異なるタイプの関係性及び関連付けられたデフォルト経路長が表示される。この点で、オントロジー用語は、親、子、兄弟等の異なるタイプの関係性によって関係付けることができる。一定のタイプの関係性は他よりもより重要であることがあるので、異なる関係性タイプは異なる長さを有することがある。さらに、関係性のタイプごとに探索される経路の長さは変えることができ、それによってより重要な関係性を介してシードオントロジー用語に接続された、より多数のオントロジー用語が含まれることを保証する。したがって、ステップ９１０で、ユーザは異なる関係性のための経路長を調整することができ、それによって例えば、切り詰めの範囲及び／又は方向を制御するために、切り詰めプロセスをユーザによって調整できるようにする。
【０１４９】
ステップ９１５で、選択されたオントロジー用語に関係するオントロジー用語は、指定された経路長の関係性によって関係付けられたそれらのオントロジー用語を識別することによって決定される。ステップ９２０で、プルーナモジュールは、選択されたシード用語がリンクされるかどうかを判断する。言い換えると、シードオントロジー用語をリンクする一連の相互接続されたオントロジー用語があり、その場合、切り詰めプロセスは、切り詰められたオントロジー又は切り詰められたインデックスとして記憶できるステップ９２５で切り詰められたオントロジーを定義する、使用中に識別された、選択され、関係付けられたオントロジー用語で終了することがある。
【０１５０】
それ以外の場合、ステップ９３０で、反復が完了しているかどうかが判断され、完了していない場合、関係するオントロジー用語は追加され、選択されたオントロジー用語、プロセスはステップ９１５に戻り、追加の関係するオントロジー用語を識別できるようにする。したがって、シードオントロジー用語に関係付けられたオントロジー用語の数は、シードオントロジー用語が関係性の経路によって接続されるまで徐々に増加する。
【０１５１】
したがって、上述されたプロセスは、オントロジーが無事に切り詰められ、その時点でシードオントロジー用語が関係するオントロジー用語の経路を介して相互接続されるまで、又は所定数の繰り返しが完了され、経路が識別されず、その場合プロセスがステップ９４０で休止されるまでのどちらか、繰り返される。後者の場合、これは通常、オントロジー用語が異なるオントロジーからであることを示唆し、その場合、切り詰めプロセスはアラインメントプロセスと併せて実行され、以下により詳細に説明されるように、切り詰めプロセスが複数のオントロジーにわたることを可能にする。代わりに、これは、オントロジー用語を容易にリンクできないことを示す。
【０１５２】
ソースオントロジー及びターゲットオントロジーを合わせるためのプロセスの例が、ここで図１０を参照して説明される。
【０１５３】
この例では、ステップ１０００で、ソースオントロジー用語及び／又はターゲットオントロジー用語がインデックスを使用し、選択される。これは、ユーザにブラウザモジュールを使用し、オントロジー用語を選択させる、又はより典型的には、対象のソース用語及び／又はオントロジー用語を含むソースオントロジー及びターゲットオントロジーの切り詰められたバージョンに相当する２つの切り詰められたオントロジーを選択させることを含むことがある。ステップ１００５で、マッチャモジュールは、ソースオントロジー用語及びターゲットオントロジー用語の対の異なる組合せのマッチングスコアを決定するために使用される。これらのスコアは、ステップ１０１０でソースオントロジー及びターゲットオントロジーの意味がどれほど類似しているのかだけに基づいて予備的なアラインメントを定義するために使用される。
【０１５４】
ステップ１０１５で、アライナモジュールは、予備的なアラインメントが正しいかどうかを判断するためにソースオントロジー用語及びターゲットオントロジー用語の関係性（オブジェクトプロパティ）及び属性（データプロパティ）を調べる。このようにして、例えば、これは予備的な合わせられたソースオントロジー用語及びターゲットオントロジー用語が類似した数の属性を有しているのか、並びにこれらが他のソースオントロジー用語又はターゲットオントロジー用語と類似した関係性を有するのかどうかを調べる。これは、用語の苗字及び名前のそれぞれが名前に予備的に照合されてよい場合、不正確なマッチを識別するために使用でき、関係性の調査は、これが多対１の関係性となるべきであることを明示するために使用される。
【０１５５】
ステップ１０２０で、これはアラインメントを精緻化するために使用することができ、ステップ１０２５でソースオントロジーとターゲットオントロジーとの間のアラインメントを表すためにこれらを記憶できるようにする。これはマージされたオントロジー、又は代わりにアラインメントインデックスの形式をとることがある。
【０１５６】
セマンティックマッチングプロセスの例は、ここで図１１を参照して説明される。
【０１５７】
この例では、ステップ１１００で、マッチャモジュールは、マッチングのためにオントロジー用語を受け取る。これはブラウザモジュールを介したユーザ選択に基づくことがあるが、より典型的にはインデクサモジュール又はアライナモジュールから用語を受け取ることによる。ステップ１１０５で、次の対の組合せが、マッチングデータベースの複数のそれぞれの用語と単一オントロジー用語を比較すること、又は受け取られたソースオントロジー用語及びターゲットオントロジー用語の次の対を選択することのどちらかによって選択される。
【０１５８】
ステップ１１１０で、セマンティックマッチャモジュールは、概念マッチングデータベースを使用し、意味類似性を計算する。スコアはいくつかの方法の内のいずれか１つによって決定できるが、通常、例えばそれらが反意語であるのか、同義語であるのかのような、意味が多少なりとも関係しているかどうかに基づいてスコアを計算する所定の数式を適用することを含む。１つの特定の例では、これは、例えばＷｏｒｄＮｅｔ等のようなディクショナリを使用し、オントロジー用語を定義にマッチさせることを含む。この点で、ＷｏｒｄＮｅｔは英語の大規模な語彙データベースである。名詞、動詞、形容詞、及び副詞は、それぞれが異なる概念を表す知的同義語（ｓｙｎｓｅｔｓ）のセットにグループ化され、Ｆｅｌｌｂａｕｍ、Ｃｈｒｉｓｔｉａｎｅ（２００５年）に説明されている。ＷｏｒｄＮｅｔ及びｗｏｒｄｎｅｔｓ。Ｂｒｏｗｎ、Ｋｅｉｔｈら（編集）、Ｅｎｃｙｃｌｏｐｅｄｉａ  ｏｆ  Ｌａｎｇｕａｇｅ  ａｎｄ  Ｌｉｎｇｕｉｓｔｉｃｓ、第２版、Ｏｘｆｏｒｄ：Ｅｌｓｅｖｉｅｒ、６６５〜６７０。
【０１５９】
いったん定義が識別されると、これは、次いでデータベースに記憶されるＲＤＦトリプルについて表される。次いで２つのオントロジー用語の意味の類似性を示す類似性スコアを決定するために使用されるトリプル間の類似性を決定するために２つの異なる意味のためのＲＤＦトリプルにクエリーを行うことができる。
【０１６０】
これに続き、ステップ１１１５で、セマンティックマッチャモジュールは、用語がサブクラス及びスーパークラスの配置によって関係付けられているかどうかを判断する。この情報は、次いで、ステップ１１２０でマッチングスコアを計算するために類似性スコアと結合される。ステップ１１２５で、すべての対が完了しているかどうかが判断され、完了していない場合、プロセスはステップ１１０５に戻り、ソースオントロジー及びターゲットオントロジーの次の対を選択できるようにし、マッチングスコアが計算される。いったんオントロジー用語のすべての潜在的な対、又はオントロジー用語、及びデータベースのマッチング概念がチェックされると、セマンティックマッチャモジュールはステップ１１３０で最良のマッチを選択し、次いでこれの表示を提供できる。
【０１６１】
したがって、上述されたプロセスによって、ユーザが、オントロジーと対話し、対象のオントロジー用語を選択し、これを使用して、それぞれのオントロジーに従ってデータベース又はＸＭＬファイルのようなデータストアに記憶されたコンテンツと対話するためのソフトウェアを生成することを可能にすることが理解される。ユーザは、さらにオントロジーを調査し、次いでプルーナモジュールを使用し、これを切り詰めることができ、ユーザが対象のコンテンツと対話できるようにする最小限度のオントロジーを決定できるようにする。切り詰められたオントロジーは、次いで別の切り詰められたオントロジーと合わせることができ、これによりこれはその間のマッピングを定義するために使用することができ、このことはソースデータ構造及びターゲットデータ構造を有するデータストア間でデータを転送するために同様に使用できる。
【０１６２】
より詳細な例がここで説明される。この例のために、オントロジーは以下の通りに定義される。
・「インヘリタンス」関係とも呼ばれるサブクラス／スーパークラス関係性を使用し、いくつかが互いに関係付けられている、クラス又はオブジェクトとも呼ばれる関係する概念のセット。例は、インヘリタンスを表示する「組織」、「企業」、「クラブ」、及びインヘリタンスを表示しない「ランドマス」、「性別」、「人」である。
・クラスを関係付けるための追加の機構を提供するオブジェクトプロパティ。例えば、「に位置する」「性別を有する」。これらの関係性は、概念、関係性、及びプロパティの推論を可能にする。
・各クラスと関連付けられたデータプロパティのセット。例えば、クラス「人」は氏名、敬称、誕生日、及び性別のデータプロパティを有することがある。
・先行するプロパティのいずれかの間の公式の関係性を提供する公理のセット。例えば、「人が『Ｍｒｓ』の敬称を有する場合、性別は女性でなければならない」、又は「２つのオブジェクトが同じ一意の識別子を有する場合、該オブジェクトは同じオブジェクトである」。これらの公理は、概念、関係性、及びプロパティのさらなる推論を可能にする。
【０１６３】
オントロジーはＲＤＦＳ、ＸＭＬ、ＤＡＭＬ、ＯＩＬ、Ｎ３、及びＯＷＬのようないくつかの言語で記述できる。これらの言語はＯＷＬ−Ｌｉｔｅ又はＯＷＬ−ＤＬのような異なる方言を有することがある。機能性の視点から、該言語は複雑な関係性及び公理を管理し、記述する能力において異なる。
【０１６４】
オントロジーは数十万の概念を含んでよい。ユーザはこれらの概念のサブセットに関心があることがある。このサブセットは、以下からであることがある。
・単一のオントロジー
・複数の重複するオントロジー、又は
・複数の不同等のオントロジー
【０１６５】
ターゲットオントロジーのいくつかの概念は事前に定義されないことがあり、ソースオントロジーのいずれにも存在しないことがある。係る場合、ユーザは手作業で欠けている概念を追加する必要がある場合がある。必要とされるサブセットは、開始概念及び終了概念の両方又はどちらかを有することがある。
【０１６６】
説明のために、２つのきわめて簡略な例のオントロジーが図１２Ａ及び図１２Ｂに示される。これらはインデックスを付けるプロセス、セマンティックマッチングを切り詰めるプロセス、及びアラインメントのプロセスを示すために活用され、制限的となることを目的としていないことが理解される。
【０１６７】
これらの例では、２つのタイプの関係性、つまり階層的に接続されている関係性及び階層的に接続されていない関係性がある。これらの例では、階層的に接続されているクラスは、スーパークラスからサブクラスを指す実線によって階層的に接続されている実線の楕円により表される。各サブクラスはそのスーパークラスのすべてのプロパティを継承する。破線の楕円として示される、非階層的に接続されるクラスのセットは、ここでは破線として示され、オブジェクトプロパティという名前の線によって任意のクラスに接続される。各クラスはデータプロパティのセットを有し、データプロパティのいくつかは説明のために表１に示される。
【表１】
2017513134.tif 000075
【０１６８】
オントロジーが類似した概念を示すが、いくつかの相違点があることが理解される。
・いくつかの概念は異なった名前を有する。『当事者』は『クライアント』と同一であり、『人』は『個人』と同一であり、『メンバー』は『メンバーシップ』と同一であり、『雇用』は『職歴』と同一であると言うことができるのか。
‐『雇用』を除く各ケースで、クラスはそれぞれ同一のデータプロパティを有するため、該クラスがほぼ同一であると想定できる。数学的には、同一性（Ｃ１ｉ，Ｃ２ｉ）〜１．０であり、ここでＣ１ｉは第１のオントロジーからの概念であり、Ｃ２ｉは第２のオントロジーからの概念である。
・いくつかの概念は異なるデータプロパティを有する。『雇用』及び『職歴』の場合、概念はなんらかの同一のデータプロパティ、及び『職歴』だけに適用する１つの『に報告する』を有する。事実上、『職歴』は、『開始日』及び『終了日』が『役割』を参照するのか、それとも『に報告する』データプロパティを指すのかに関して不明瞭であるので、『職歴』は第４の正規形に違反する。
・いくつかの概念は異なるオブジェクトプロパティを有する。『雇用』は１つしかオブジェクトプロパティを有さないのに対し、『職歴』は『人』を有する２つのオブジェクトプロパティを有する。オントロジー２では、『株式』が『企業』を『クライアント』と関連付けるのに対し、オントロジー１では『株式』は『企業』を『個人』と関係付ける。
・いくつかの概念は１つのオントロジーに存在しない。『上場企業』はオントロジー２に存在するが、オントロジー１には存在しない。
【０１６９】
これらの例のため、システムは図１３に示される機能性を実行し、これらはそれぞれのモジュールによって実装される。この点で、モジュールは以下を含む。
・ＥＴＬ（抽出−変換−ロード）モジュール１３００。これは、構造化データソースの中でコンテンツを抽出し、変換し、ロードする。これは、以下を含んだ２つのサブ構成要素を含む。
‐指定されたオントロジーを介して、又はオントロジーがない場合は、プロセッサがデータを記述するために作成する推測上のオントロジーを介してのどちらかでソースデータを抽出するプロセッサ１３０１。プロセッサは、クラウドに又はデータと同じマシンに又はメッセージング、ＯＤＢＣ、ｈｔｔｐｓ、ＳＯＡＰ、若しくは任意の同等なプロトコルを介してデータにアクセスできるマシンに配備できる。プロセッサの複数のコピーは、複数のソースからデータを入手するために配備できる。
‐多様なプロセッサからデータを収集し、ターゲットオントロジーにソースオントロジーをマップするオーケストレータ１３０２。クエリーはターゲットオントロジーを使用し、作成され、同等なソースオントロジークエリーに変換され、ターゲットオントロジーを使用し、データを戻すことを可能にする。
・ブラウザ１３１１、エディタ１３１２、及びジェネレータ１３１３を含んだオントロジーブラウザモジュール１３１０。これは画面、及びそれらを管理するために関連付けられたソフトウェア及びデータを生成し、このことによってユーザはオントロジー及びオントロジーによって記述されるデータをブラウズし、編集することができる。これらの画面は２つの段階で表示される。第１の段階は生成プロセスの間である。この段階で、画面は動的に作成され、ユーザがどの機能が生成されるべきかを選択できるようにするために追加の情報を表示する。第２の段階では、画面はハードコードされ、生成のために指定された情報だけしか表示しない。
・オントロジーインデクサモジュール１３２０。インデクサモジュールはすべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名の１つ又は複数のオントロジーでリンクされたインデックスのセットを作成する。さらに、インデックスは、意味論的に同等な機能からを加えた、ソースオントロジーから生じる意味論的に同等な用語（例えば、同義語及び同音異義語）を含む。
・オントロジープルーナモジュール１３３０。プルーナモジュールはオントロジーを採取し、ユーザがどのクラス、データプロパティ、オブジェクトプロパティ、及び公理を保持することを希望するのかを指定できるようにする。保持されたものを使用し、プルーナモジュールは、オントロジーに定義された相関的な及び公理の整合性が維持されていることを確かめるためにチェックする。
・オントロジーアライナモジュール１３４０。アライナモジュールは２つ以上のオントロジーを採取し、いくつかの技法を使用して、多様なオントロジーの概念を、互いと又は指定されたターゲットオントロジーのどちらかと合わせる。該技法は、意味論的に類似する概念を見つけるためにインデクサモジュールによって作成されたインデックスを活用する。各データプロパティ及び概念はセマンティックマッチャモジュールを使用して比較される。セマンティックマッチャモジュールはオントロジー構造及びデータプロパティに基づいてマッチングを精緻化する。
・セマンティックマッチャモジュール１３５０。マッチャモジュールは２つの用語又は用語の２つのリストを比較して、それらが例えば医学又は工学等、指定された文脈の中で数学的に定められた程度の意味論的等価を有するかどうかを決定する、又は別の例では、単一の用語を所与として、指定された文脈に基づいて同義語、同音異義語等のリストを提供する。
【０１７０】
通常、オントロジーは例を除きデータインスタンスを有さない。ただし、オントロジーは２つの方法の内の１つで既存のデータにマッチさせることができる。
・オントロジーは既存のデータから構築される。例えば、リレーショナルデータベースは、相関的なエンティティ（テーブル）がオントロジーのクラスとして定義され、相関的な関係性がオントロジーのオブジェクトプロパティとして定義され、相関的な属性（列）がオントロジーのデータプロパティとして定義されることによって『推測上の』オントロジーに自動的に変換できるだろう。いくつかのオントロジーの公理は、相関的な参照整合性の制約から引き出すことができるだろうが、大部分の公理は手作業で追加又は無視する必要がある。この推測上のオントロジーは、次いでメタデータを追加するために既存の豊富なオントロジーと合わせられてよい。
・データにオントロジーをマッチさせること。これを行うためのいくつかのツールがある（例えば、Ｓ−マッチ）。
【０１７１】
データフォーマットとは関わりなく、推測上のオントロジーは、ソースデータ構造及び（メタデータが存在する場合）メタデータに適切な方法を使用し、ソースデータから自動的に生成できる。この推測上のオントロジーは、オントロジーエディタを使用し、手作業で更新されてよい、又は生成された通りに使用されてよい。どちらの場合も、推測上のオントロジーは次いでアライナモジュールを使用し、（ＥＴＬモジュールプロセッサによって呼び出される）主題領域のオントロジーと、及び（ＥＴｌモジュールオーケストレータによって呼び出される）ターゲットオントロジーと合わせられる。
【０１７２】
ターゲットオントロジーは、ターゲットオントロジーが、所望される概念の整合性を保証するために必要とされるそれらの概念、公理、プロパティ、推論、及び起源の詳細を加えた所望された概念だけを含むことを保証するために、プルーナモジュールを使用して切り詰められてよい。
【０１７３】
すべてのこれらのツールは、２つの意味論的な概念がマッチするのかどうかをチェックするためにセマンティックマッチャモジュールによって、並びに多様なソースオントロジー及びターゲットオントロジーでマッチする概念及び概念構造を探すためにインデクサモジュールによって提供されるサービスを利用する。
【０１７４】
それぞれのモジュールの例は、ここでさらに詳細に説明される。
ＥＴＬモジュール
【０１７５】
ＥＴＬモジュールは、メタデータレポジトリを使用することなく、すべてのＥＴＬツールに共通のデータの抽出、変換、及びロードの機能を実行する。ＥＴＬモジュールは、データ構造を決定するためにソースデータと関連付けられたメタデータを使用することによって、及びその後オントロジーにこのメタデータをマップすることによってこれを行う。ＥＴＬモジュールは、さらにデータに意味を割り当て、したがってデータをマップし、変換する際に高レベルの自動化を達成できる。
【０１７６】
メタデータレポジトリの必要性を排除することは、プロセスの柔軟性がそれを維持するために必要とされるヒューマンインタフェースにより制約されないことを意味する。新しいデータフォーマットおよび技術は自動的に収容できる。
【０１７７】
高レベルで、実行される２つの主要なプロセスがある。これらのプロセスを実行するためのコードは、プロセッサ及びオーケストレータと呼ばれる。プロセッサの多数のコピーは任意の定められた場所でデータを読み取るために配備されてよい。プロセッサはデータと同じ装置上に同一場所に配置できる、又はプロセッサはクラウドに位置し、リモートアクセスプロトコルを使用してデータにアクセスできる。プロセッサはソースからメタデータを抽出し、そのメタデータから推測上のオントロジーを作成する。プロセッサは次いでなんらかの初歩的なデータ変換を実行し、オーケストレータにデータ及びオントロジーを渡す。
【０１７８】
オーケストレータは多様なプロセッサから入力を受け取り、それらのオントロジーを合わせる。オーケストレータは次いで合わせられたソースオントロジーからユーザによって定義されたターゲットオントロジーにマッピングを適用する。ユーザはここで多様なソースオントロジーからのすべてのデータを確かめることができる。データは、以下により詳細に説明されるように、ターゲットオントロジーに対して特定のクエリーを指定する又はクエリーを作成するためにオントロジーブラウザを使用するかのどちらかによって抽出できる。
【０１７９】
この結果を達成するために必要とされる多様なソフトウェア構成要素を含んだＥＴＬモジュールソフトウェアスタックの例が図１４Ａに示される。一方、図１４Ｂは、いくつかのプロセッサがネットワーク配置を介して単一のオーケストレータに結合される配備例を示す。
【０１８０】
プロセッサは、不同等のデータソースからデータを読み取り、該データをＲＤＦデータとして露呈し、該データを記述するために推測上のオントロジーを作成することを担う。高レベルの機能は以下の通りである。
・メタデータ及びマッピングファイルを追加するによって不同等のデータソースを登録する。
・構造化されていないデータをＲＤＦに変換する。
・トリプルストアにＲＤＦをロードする。
・推測上のオントロジーにマッピングファイルを変換する。
・ソースごとにＳＰＡＱＲＬ端点を露呈する。
【０１８１】
オーケストレータは、ターゲットオントロジー及びマッピングデータを読み取り、要求及び応答の変換を調整することを担う。高レベルの機能は以下の通りである。
・ターゲットオントロジーを登録する。
・マッピングファイルを読み取り、マッピングファイルにインデックスを付ける。
・ターゲットからのＳＰＡＲＱＬクエリーをマップされたソース語彙に変換する。
・ソース語彙からの応答をターゲット語彙に変換する。
・変換規則を記憶する。
・ターゲットのためにＳＰＡＲＱＬ端点を露呈する。
オントロジーブラウザモジュール
【０１８２】
オントロジーブラウザモジュールは、ユーザがオントロジーをブラウズし、オントロジーによって定義されるデータのクエリーを行い、オントロジーによって定義されたデータにインスタンスデータを追加できるようにするために画面のセットを自動的に作成するために機能する。このようにして作成された画面は、次いで完全なスタンドアロンアプリケーションとして、オントロジー及び作成ツールとは無関係に使用できる。
【０１８３】
この点で、現在、リンクされた概念を定義するため、及びデータにアクセスするためのオントロジーの使用はおもに研究者及び専門のオントロジストに制限されている。この理由は、ユーザがオントロジーをブラウズし、次いで構造化データストアに記憶されたデータとの対話を誘導するためにこれを使用できるようにするための簡略な機構がないことである。したがって、オントロジーの専門知識をほとんど又は少しも有さない人が簡略で分かりやすい方法でオントロジーのすべての詳細にアクセスできるようにするツールを提供することによって、これは、ユーザが、簡略化されたクエリー構築機構を使用するオントロジーによって記述されたデータを選択し、検査できるようにする。ユーザは、まだ実行中である元のオントロジーに存在するすべての制約及び推論とともにデータにレコードを追加できるようになる。最終的には、ユーザは本部の職員による使用に適切なスタンドアロンアプリケーションとして生成された画面を配備できるようになる。
【０１８４】
データを検査するとき、ユーザはいくつかのフォーマットでデータを表示できる。基本的なデータは、例えばＲＤＦ  Ｔｒｉｐｌｅｓとして記憶できる。これらはリレーショナルテーブル、スプレッドシート、名前‐値の対、又はユーザによって定義された任意のフォーマットとして表示できる。
【０１８５】
オントロジーブラウザモジュールは、スタンドアロンツールとして、又は第２に（Ｐｒｏｔｅｇｅのような）既存のオントロジーツールに対するプラグインとしてのどちらかで２つの主要な形式で存在することがある。どちらの形式でも、オントロジーブラウザモジュールは選択されたオントロジーに特有のアプリケーションを生成できる。
【０１８６】
生成されたアプリケーションは、実行されている元のオントロジーに定義されたすべてのデータ規則とともに、レコードにアクセスする、レコードを更新する、レコードを削除する、及びレコードを追加するための完全な機能コードセットとしてオントロジーなしに使用できる。
【０１８７】
したがって、オントロジーブラウザモジュールは、画面並びに関連付けられたソフトウェア及びデータを生成してそれらを管理し、ユーザがオントロジー及び該オントロジーによって記述されるデータをブラウズし、編集できるようにする、コンピュータプログラムで実装できるプロセスのセットを提供する。これらの画面は２つの段階で現れる。第１の段階は生成プロセスの間である。この段階では、画面は動的に作成され、ユーザがどの特徴が生成されるべきであるのかを選択できるようにするための追加の情報を表示する。第２の段階で、画面はハードコードされ、生成のために指定された情報だけしか表示しない。
【０１８８】
画面の簡略な説明は以下の表２に提示される。
【表２】
2017513134.tif 000076
2017513134.tif 000077
【０１８９】
これらの画面は、単一の画面が各種の画面に使用されるような一般的な形式で生成せれずに利用できる。画面レイアウトは、オントロジーコンテンツによって動的に決定される。
【０１９０】
一般的な画面はユーザフレンドリではなく、カスタマイズできない。したがって、プロセスにより、ユーザは、ルックアンドフィールがカスケード式シート、テンプレート、アイコン、及びユーザ供給パラメータのような機能を使用しパラメータ的に事前に決定することができる画面の完全なセットを生成できるようにする。
【０１９１】
ブラウザモジュールの配置例は図１５に示される。
【０１９２】
この点で、ブラウザモジュール１３１０はオーケストレータ１３０２からのターゲットオントロジー１５０１又はユーザによって定義される任意のオントロジーを採取する。ブラウザモジュール１３１０は、ユーザがオントロジーをブラウズすること、及びオントロジーのどの構成要素をスタンドアロンアプリケーションの中に生成するのかを指定することを可能にする画面１５０２のセットを表示する。
【０１９３】
ブラウザモジュール１３０２は、ターゲットオントロジーに指定された構造及び規則を使用してデータを管理するためのコンピュータ画面１５０４のセットを含んだスタンドアロンアプリケーション１５０３を生成する。アプリケーションは、純粋にオントロジー又はデータブラウザモジュールのようないくつかのモードで、又は完全機能データ追加、更新、及び削除アプリケーションとして生成できる。この場合、ユーザはここでオントロジーによって記述されたデータを管理するための完全なアプリケーション１５０３を有する。
【０１９４】
ＯＷＬファイル又はＲＤＦファイルを使用するオントロジーは、ウェブページを生成し、情報を記憶するための対応するデータベース１５０５を作成するのに十分な情報を有する。ＲＤＦファイル又はＯＷＬファイルはオントロジストによって、彼らの詳細なビジネス知識に基づいて作成された可能性がある。
【０１９５】
このようにして、ブラウザモジュール１３１０は、ユーザがクエリーを行う又はトランザクションデータを入力するためのアプリケーション１５０３を作成する。ＯＷＬファイル又はＲＤＦＳファイルは、アプリケーションカスタマイズファイル、データベース接続詳細、及びアプリケーションを作成するために必要とされる任意の他のメタデータとともにブラウザモジュール１３１０の中に送られる。
【０１９６】
ブラウザモジュール１３１０は、例えばＨＴＭＬ５、ＪＳＰ、ＪＳＦ、又は任意の類似した技術を使用し、ウェブページを作成できる。オントロジーのクラスごとに、ブラウザモジュール１３１０はウェブページを作成し、そのクラスと関連付けられたプロパティは該ページの中のフィールドとして作成される。アプリケーション１５０３は、生成されたウェブページとデータベース１５０５との間で橋渡しをする。それは、ウェブページからデータベース１５０５にデータを持続するためのプロセス、データベース１５０５からデータを抽出するためのプロセス、データベース１５０５でデータにクエリーを行うためのプロセス、及びウェブページにデータを表示するためのプロセスを実行する。ブラウザモジュール１３１０は、次いでユーザによって供給されるメタデータに指定されるタイプのデータベースを作成し、ロードするためのデータベーススクリプトを作成する。これは、リレーショナルデータベース（ＲＤＢＭＳ）、Ｔｒｉｐｌｅ  Ｓｔｏｒｅ、ＮＯＳＱＬ、ＮｅｗＳＱＬ、Ｇｒａｐｈ  Ｄａｔａｂａｓｅ又は任意の他の認識されているデータベースであるだろう。
【０１９７】
ブラウザモジュールの動作は、ここでより詳細に説明される。この点で、オントロジーをブラウズするために、ユーザは以下のオントロジー用語を見つけることができなければならない。
・概念
・データプロパティ
・オブジェクトプロパティ、及び
・推論
【０１９８】
これは、２つの機構、つまり
・インデクサモジュールに関して以下に説明されるように、名前で係る任意のオントロジー用語を検索するためにオントロジーから上記オントロジー用語にインデックスを付けるための方法、及び
・いったん特定のプロパティが選ばれると、すべての関係するデータ及びオブジェクトプロパティを表示するための方法
を必要とする。
【０１９９】
これを達成するために、ユーザは当初、表２に記載された『ランディング画面』でブラウズされるオントロジーを選択する。オントロジーはファイル又はウェブアドレスから選択できる。いったんオントロジーが選択されると、オントロジーのインデックスを使用してクラスリストが生成される。このリストは各クラスの名前及び記述を表示する。より大きいリストの場合、リスト検索機能が提供され、ユーザがクラス名又はクラス説明の一部によって検索できるようにする。データプロパティに対して検索することも可能である。どちらの場合も、検索はそのデータプロパティを含むクラスのリストを返すだろう。
【０２００】
ユーザは、次いで対象のクラスを選択し、このことが、以下に示すようにフレーム又はタグ付きサブ画面の形式をとる４つの構成要素を含んだ『クラス画面』を表示させる。
・データプロパティ構成要素。各データプロパティの名前はフィールドの脇に説明ボックスとともにリストフォーマットで表示される。フィールドの脇の情報アイコンをクリックすると、すべてのフィールド属性及びそのフィールドに関係するあらゆる公理が表示される。任意選択で（クリック可能）、親クラス／スーパークラス又は関係クラスの１つ又は複数のクラスのデータプロパティも表示されてよい。
・親クラス構成要素／スーパークラス構成要素。これは、それに対するクリック可能なリンクとともに、表示されたクラスの親クラス／スーパークラスの名前及び説明を表示する。このリンクをクリックすると、ブラウザモジュールはカレントクラスのＰａｒｅｎｔを表示する画面を表示する。
・子クラス構成要素／サブクラス構成要素。これは、サブクラス関係性を活用するクリック可能リンクとともに表示されているクラスのサブクラスの名前及び説明を表示する。これらのリンクの１つをクリックすると、ブラウザモジュールは子クラス／サブクラス又はカレントクラスのサブクラスを表示する。
・オブジェクトプロパティ構成要素。これは、それぞれオブジェクトプロパティを使用するクリック可能リンクとともに、選択されたクラスの関係するクラスを表示する。これらのリンクの１つをクリックすると、ブラウザモジュールはカレントクラスに関係するクラスを表示する。
【０２０１】
クラス画面で『検索』オプションを選択することによって、クエリーはそのクラスのすべてのデータインスタンスを返すために発行される。これは、クラスのインスタンスごとに１行を有するリストとして表示される。特定の行をクリックすることによって、その行はオントロジークラス画面に類似したフォーマットされた画面として表示される。一例では、返されるデータは、結果にフィルタをかけるだろうクエリーを実行することによって制限されてよい。係るクエリーの構築及び使用はここでさらに詳細に説明される。
【０２０２】
この点で、ユーザに返されるデータにフィルタをかけることは、ユーザから返されるデータのユーザの正確な要件を、フィルタの形で取り込み、次いでそのフィルタに基づいてクエリーを生成することによって達成される。フィルタは、クラス画面のデータプロパティフィールドの中に値又は式を入力することによって構築される。例えば、どのくらい多くの株式をジョン・ドウが所有しているのかを突き止めるために上述されたサンプルオントロジーを使用すると、以下のステップが必要となるだろう。
・クラスリスト画面から『個人』クラスを選択する。
・データプロパティフィールドで、名に『ジョン』を、苗字に『ドウ』を入力する。
・『個人』クラス画面のオブジェクトプロパティフレームから、『株式』クラスを選択する。
・『検索』オプションを選択する。
【０２０３】
株式クラス画面で『検索』オプションを選択することによって、ジョン・ドウによって所有されるものだけを除いたそのクラスのすべてのデータプロパティを返すためにクエリーが発行される。フィルタは、生成されたアプリケーション１５０３によってＳＰＡＲＱＬ、又はデータベース１５０５に記憶されたデータに対して実行できる、機能的に同等なクエリーに変換される。
【０２０４】
ブラウザモジュール１３１０がアプリケーション１５０３を生成できるようにするために、以下のプロセスが実行される。
・任意選択で、
‐企業名、ロゴ等
‐生成されるアプリケーションの名前
‐作成されるデータベースの名前及びタイプ
‐データベースの場所
‐生成されるアプリケーションのための命名及びコーディングの仕様及び規格。これはスタイルシート、テンプレート、Ｊａｖａスクリプト、及び他の表示仕様を含む。
‐クラス及びアクションに関連付けられたアイコン
‐ヘルプデスクの場所及び連絡先詳細
‐エラー及びログメッセージの冗長
のようなアイテムを含む、生成されるアプリケーションのためのメタデータを構成する。
・『ランディング画面』では、生成元のオントロジーを選択し、『クラスリスト』画面はブラウザモジュール１３１０によって表示されている。
・クラスリスト画面で、『ｇ』で生成される各クラスにタグを付ける。
・生成される各クラスを選択し、ブラウザモジュール１３１０に『クラス表示』画面を表示させる。
・クラス表示画面で、すべてのフィールドは当初『ｇ』にタグ付けされる。各データプロパティフィールド、各スーパー／サブクラスリンク、及び生成される各オブジェクト・プロパティ・リンクを見直し、タグが必要とされない場合はタグを削除する。
・デフォルトで、すべてのフィールドは検索可能である（つまり、フィルタに追加できる）。データプロパティフィールドに『ｎｓ』タグを追加することは、そのフィールドが生成されたアプリケーションでは検索不可となることを意味する。
・スーパー／サブクラスリンクフィールド及びオブジェクト・プロパティ・リンク・フィールドのそれぞれに追加のフィールドタグ位置がある。これらのフィールドに『Ｉ』タグを設定することによって、それはリンクされたクラスから生成された画面にデータフィールドを生成する。これらのフィールドは更新不可フィールドとして表示される。
・リンクされたクラスからのあらゆるフィールドが表示されなければならない場合、リンクされているクラスを選択し、『Ｉ』で適切なフィールドにタグを付ける。
・クラス表示画面に戻り、それが実行されていない場合は、各公理説明からタグを削除する。それ以外の場合、生成されたアプリケーションで整合性の損失がある可能性があるので、公理の前にフィールドを取り除くことは重要である。
・必要とされるクラスが生成のために選択されるまでステップ３〜９を繰り返す。
・クラスリスト画面に戻り、『アプリケーションの生成』オプションを選択する。
・アプリケーションはブラウザモジュール１３１０によって生成され、アプリケーションメタデータに指定される場所に保存される（ステップ１）。データベース作成及びロードのスクリプトが作成される。これらのスクリプトを実行してアプリケーションを使用できるよう準備する。
【０２０５】
したがって、上述されたブラウザモジュール１３１０は、ユーザがオントロジーをブラウズし、オントロジーと対話し、次いで特定のクラス及びデータプロパティを選択することによって、選択されたクラス及びデータプロパティに従ってデータストア１５０５に記憶されたデータと対話するために使用できるアプリケーション１５０３を生成できるようにする。
オントロジーインデクサモジュール
【０２０６】
インデクサモジュールは１つ又は複数のオントロジーの集合体で使用される用語のインデックスのセットを自動的に作成し、ユーザがオントロジーをブラウズし、オントロジーによって定義されたデータのクエリーを促進させるのを支援する。これらのインデックスは、オントロジーのアラインメント、切り詰め、及びブラウズを支援するために他のモジュールによって使用される。
【０２０７】
インデクサモジュールは、すべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名のリンクされたインデックスのセット、並びに関係性を作成することによって１つ又は複数のオントロジーにインデックスを付ける。インデックスは、意味論等価機能から加えた、ソースオントロジーに由来する意味論的に同等な用語を含む。
【０２０８】
インデクサの機能性の例は、ここで図１６を参照して説明される。
【０２０９】
この例では、インデクサモジュール１３２０は、画面１６０２のセットを介して又はプロセッサ１３０１によって、オーケストレータ１３０２からのオントロジー１６０１、又はユーザによって定義されたあらゆるオントロジーを受け取り、すべてのクラス名、データプロパティ名、及びオブジェクトプロパティ名のインデックス１６０３を作成する。画面は、上述されたように、ブラウザモジュール１３１０によって生成されてよいことが理解される。
【０２１０】
各オントロジー用語はインデックスを付けられるので、概念マッチングデータベース１６０４を使用し、セマンティックマッチャモジュール１３５０から入手されるそのアイテムの同義語にもインデックスが付けられる。オブジェクトプロパティの場合、オブジェクトプロパティによってリンクされる概念はインデックスで相互参照される。
【０２１１】
上記の例のオントロジーに基づいた概念−データプロパティ−オブジェクトプロパティ（ＣＤＯ）インデックスのサンプルが表３に示される。これが説明のためのインデックスの表示形式であるが、実際にはインデックスは、以下により詳細に説明されるように、より複雑なインデックス構造に記憶され得ることに留意されたい。
【表３】
2017513134.tif 000078
2017513134.tif 000079
2017513134.tif 000080
【０２１２】
同義語を包含しなくても、これはきわめて有用なインデックスである。例えば、２つの異なるオントロジーで同じ名前を有するあらゆる概念は、潜在的に合わせられてよい。アライナモジュールは係る各対を採取し、第１のそのオブジェクトプロパティ、及び次いでそのデータプロパティを採取するだろう。
【０２１３】
例えば、概念『株式』は、概念Ｏｎｔ  １．７及びＯｎｔ  ２．１０として両方のオントロジーに現れる。このレベルで、それらは類似しているように見え（名前は同一であるため、Ｓ１．７，２．１０＝１．０）、インデクサモジュールの観点から、それは十分である。
【０２１４】
追加の分析は、以下により詳細に説明されるアライナモジュールによって実行されるだろう。オブジェクトプロパティを調べることによって、アライナモジュールは、オブジェクトプロパティが以下の表４に示されるように異なることに気付くだろう。それらは数及びオブジェクトプロパティ名でマッチするが、関係する概念の１つは異なり、Ｓ１．７，２．１０＝０．８５７１を示す。データプロパティを調べることによって、それらが同一のデータプロパティを有し、Ｓ１．７，２．１０＝１．０を示すことに気付く。
【０２１５】
アライナモジュールが上記計算を実行したソース情報は、インデクサによって作成されたインデックスですべて利用可能である。
【表４】
2017513134.tif 000081
【０２１６】
セマンティックマッチャモジュールを使用する他の概念の追加の分析は、「個人」が「クライアント」のサブクラスであることを示し、したがってＳ１．７，２．１０＝０．８‐＞０．９５を示すだろう。オントロジー２は、オントロジー１よりもより一般的なモデルである。この類似性の範囲は、２つのオントロジーの株式の間のアンカー点を確立するには十分である。Ｓｉ，ｊの計算はアライナモジュールによって実行される。
【０２１７】
概念間の関係性は、概念Ｃ１がどのように概念Ｃ２に関連するかを示す表５に表示形式で示される概念対概念（Ｃ２Ｃ）テーブルで抽出される。
【表５】
2017513134.tif 000082
【０２１８】
インデックスは、上記テーブルを異なるシーケンスにソートすることに対応する複数のフォーマットで構築される。アライナモジュールは、インデックスに対してＳＱＬクエリーを実行することによってそのタスクの多くを実行できる。
【０２１９】
インデックス構造例は、ここでより詳細に説明される。この点で、セマンティックマッチャモジュールを使用し、語根又は見出し語が同義語セットごとに決定される。セマンティックマッチャモジュールは、文脈が最適結果を得るために設定されることを必要とする。一般に、いくつかのオントロジーに対してインデックスを構築するとき、各オントロジーの文脈は既知で狭く、対象の他のオントロジーに関係付けられる。
【０２２０】
インデックスの最終セットは、以下に要約されるマルチステッププロセスで作成される。
・インデックスが付けられているオントロジーからのすべての概念、オブジェクトプロパティ、及びデータプロパティを抽出する。
・表３及び表５に示されるフォーマットを用いて一時テーブル（ＣＤＯ及びＣ２Ｃ）の中にこれらの値をロードする。これらのテーブルは、インデックスを付けられているオントロジーごとに空で作成又は再作成される。
・オントロジーはセマンティックマッチャモジュールにロードされる。これは、オントロジーに含まれるあらゆる定義を使用し、それらを、セマンティックマッチャモジュールにすでにロードされている、又はＷｏｒｄＮｅｔのような公のディクショナリから利用できるそれらの定義と比較することによってあらゆる単語を意味論的に調べる。文脈はオントロジー（例えば、医療／外科、又は地理位置）によって供給される。
・セマンティックマッチャモジュールは概念Ｉｄ、つまり同義語のあらゆるファミリの見出し語又は語根に対応する一意の数を定義する。
・同義語テーブルは、次いで概念Ｉｄを有する上述された一時テーブルの用語にマッチする用語をロードされる。
・セマンティックマッチャモジュールによってインデックスを付けられているオントロジーの用語ごとに識別されるすべての同義語も同義語テーブルにロードされる。
・最終的なＣＤＯインデックスは、次いでＣＤＯテーブルの用語ごとに適切な概念Ｉｄを置換することによって作成される。
・最終的なＣ２Ｃインデックスは、次いでＣ２Ｃテーブルの用語ごとに適切な概念Ｉｄを置換することによって作成される。
・インデックスの一時（表示バージョン）は削除される。
・インデックスを付けられる次のオントロジーは、次いですべての上述のステップを繰り返すことによってロードされる。
・すべての関連性のあるオントロジーにインデックスが付けられるとき、セマンティックマッチャモジュールに対する同義語テーブルの最終的な通過は、あらゆる新しい同義語がロードプロセス中に識別される場合に実行される。
・インデックスは適切なデータベース構造にロードされ、性能について調整される。通常、これは、オントロジーインデックステーブルに対して複数のデータベースインデックスを作成することを含む。
【０２２１】
ツールと又はインデックスとの直接的なユーザ対話がないことが理解される。代わりに、インデクサモジュールは他のモジュール、ツール、又は構成要素によって使用されるサービスを提供する。
【０２２２】
本インデックスが提供できるサービスのいくつかは、以下を行う強化された能力を含む。
・オントロジーの選択から最良のオントロジーを選ぶ。
・複数のオントロジーを合わせる又はマージする、
・オントロジーをナビゲーションする、
・同意語を抽出する、
・セマンティックマッチングを実行する。
オントロジープルーナモジュール
【０２２３】
プルーナモジュールは、ユーザが、ユーザの対象のオントロジー用語に関連するデータ又は公理を含む構成要素を不注意に削除することによって整合性を失うことなく、大きなオントロジー又は合わせられたオントロジーの集合体を採取し、それらをユーザのニーズにとって対象のクラスに切り詰めることを可能にするように設計されている。
【０２２４】
例えば、解剖学の基礎的なモデル（ＦＭＡ）のような大きい参照オントロジーを構築し、活用するときに問題が生じる。この点で、ＦＭＡは、本来はごく一般的でもある（例えば、アプリケーションに特有ではない）が、非常に大きくきわめて詳細である。また、ＦＭＡは、適切なモデリング原則に対するその順守においても厳格である。これらの基準はともにＦＭＡを多くの可能性があるアプリケーションに与える。ただし、これらの基準は、任意の特定のアプリケーションによる使用にＦＭＡを扱いにくくする（つまり過剰に大きい又は詳細又は原則に基づかせる）。
【０２２５】
結果として、ＦＭＡの潜在的なユーザは以下の基本的な形の要求、つまり「本当にＦＭＡを気に入っているが、ＦＭＡは自分たちのニーズにとっては大きすぎる又は詳しすぎであり、実際にはＦＭＡ全体のサブセットに基づいた何かしか必要としていない」を有していた。分割のための基礎は、アプリケーションごとに変化したが、例は以下を含む。
・部位ベース、つまり脳又は腹部
・システムベース、つまり心臓血管系又は骨格系
・粒度ベース、つまりｘ線に見えるアイテム又は細胞成分及び亜細胞成分のみ
【０２２６】
所望されるオントロジー派生物は概して上記のもののようなサブセット抽出に基づいていたが、該派生物はアプリケーションの必要性により見合うために多くの場合さらに操作された（つまり、追加されたクラス、削除されたクラス、削除されたプロパティ、追加されたプロパティ等）。
【０２２７】
係る要求は、以下の３通りの内の１つで処理できるだろう。
・一般的な解決策ではない、それぞれの新しい要求に特有な手続き型コードを作成すること、
・定義及びソースオントロジー（複数の場合がある）からアプリケーションＫＢを生成できるだろうエンジンだけではなく、所望されるアプリケーション（ＫＢ）（必ずしも適切なオントロジーではない）を定義するための言語も必要とする、オントロジーに対するビューを作成すること。これはプロパティの追加及び削除に問題を有する。
・よくモデル化されたサブセットオントロジーを送達するためにオントロジーを切り詰めること。
【０２２８】
このようにして、関連性、性能、管理容易性、及びテスト容易性のような切り詰められたオントロジーに多くのニーズがあり、これらの要件は、オントロジーの専門知識をほとんど又は少しも有さない人が不必要な概念を安全に切り詰めることができるようにするツールによって満たされるべきである。さらに、その人は簡略化されたクエリー構築機構を使用することによって、オントロジーにより記述されるデータを選択し、検査できる必要がある。次いで彼らはその削除に取り組む前にオントロジーから構成要素を削除することの影響を研究し、次いで切り詰められたオントロジーを新しいオントロジーとして「保存できるだろう。
【０２２９】
例えば、ＳＮＯＭＥＤ−ＣＴは、臨床文書で使用される医学用語の大きな医学オントロジーである。ＳＮＯＭＥＤ−ＣＴは、医学用語間の約１，４００，０００の関係性を有する３００，０００超えの概念から成る。概念は１９の機能領域に分割される。研究者にこれらの領域の１つ、例えばメンタルヘルスにしか関心がない場合がある。他の１８の領域を削除すると、医療健康用語と薬剤用語との間の関係性の多くが壊れるだろう。研究者がこれらのアイテムの保持を希望する可能性があることは明らかである。手作業でこのようにすることは既存のツールを用いた何か月もの作業を必要とし、エラーを発生しやすいであろう。
【０２３０】
別の例として、ユーザはいくつかの既存のソースオントロジーの構成要素から新しいオントロジーを作成し、次いでそれら独自の追加を追加することを希望することがある。結合されたオントロジーは、削除される必要があるだろう多くの関連性のない概念を含むだろう。例えば、配達ルートを決定し、最適化できるようにするオントロジーを作成するために地理位置オントロジーと輸送オントロジーを結合する宅配便会社。これらのオントロジーを結合し、空港で旅程を開始及び停止する飛行機、港での船舶、並びに駅での列車のような公理を追加することによって、彼らのビジネスモデルであらゆる概念をカバーする情報ベースを構築することが可能になるだろう。ただし、各ソースオントロジーの多くは必要とされないだろう。
【０２３１】
切り詰められたオントロジー定義は、完全なオントロジーに対するビューの代わりに使用され得る。このビューは、アクセス制御、範囲管理等のようないくつかの目的に使用できるだろう。
【０２３２】
これを達成するために、プルーナモジュールは、以下の表６に提示される機能を実行するためにブラウザモジュールと併せて動作する。
【表６】
2017513134.tif 000083
【０２３３】
プルーナモジュールは、ユーザが、選択したオントロジーのどのクラス、データプロパティ、オブジェクトプロパティ、及び公理を保持することを希望するのかをユーザが指定できるようにするためにブラウザモジュールと対話する。保持されたものを使用し、プルーナモジュールは、オントロジーで定義されている相関的な及び公理的な整合性が維持されていることを確かめるためにチェックする。
【０２３４】
別のバージョンでは、ユーザは、切り詰められたオントロジーで保持されなければならない、単一のオントロジーの中の２つの必須概念を指定してよい。本発明は、次いでクラス間のすべての概念関係性をマップし、指定された概念を分析するために必要とされるすべてのクラスをタグ付けする。追加のクラス、オブジェクトプロパティ、及び公理は次いで切り詰められたオントロジーの整合性を保証するためにソースオントロジーから含まれる。
【０２３５】
別のバージョンでは、ユーザは、切り詰められたオントロジーで保持されなければならない、異なるオントロジーから２つの必須概念を指定してよい。プルーナモジュールは次いでクラス間のすべての概念関係性のマッピングを試み、指定された概念を分析するために必要とされるすべてのクラスをタグ付けする。接続経路が識別されない場合、ソフトウェアは２つの開始概念を接続する切り詰められたオントロジーを作成する潜在的な不可能性を認識する。ユーザは、以下を行うように求められる。
・該試みを断念する、又は
・目標を再定義し、再び開始する、又は
・手作業で又は別のオントロジーからのどちらかで追加クラスを追加することによって範囲を拡大し、再び開始する。
【０２３６】
成功を想定し、ユーザは結合されたソースオントロジーからサイズが大幅に削減された完全なオントロジーを有する。
【０２３７】
プルーナモジュールの配置の例は、図１７Ａに示される。
【０２３８】
この例で、プルーナモジュール１３３０はＯＷＬファイル及びＲＤＦＳファイルに定義されたオントロジー１７０１を開き、ユーザは次いで以下の表７に定義される画面１７０２のセットを介してプルーナモジュール１３３０と対話して、それによって切り詰められたオントロジー１７０３を作り出す。画面が上述されたようにブラウザモジュール１３１０によって生成され得ることが理解される。
【表７】
2017513134.tif 000084
【０２３９】
図１７Ｂを参照してここで説明されるように、単一オントロジーを切り詰めるとき、これはツールによって支援される手動プロセスである。
【０２４０】
この例で、ユーザは、ユーザが必要とする概念を選択し、ツールは完全性及び整合性に必要とされる構成要素を識別し、追加する。ユーザはソースオントロジーで開始シード点Ｓ０としてクラスを選択し、キープためにそれにＫ０としてタグを付ける。
【０２４１】
コンピュータは、Ｋ０としてタグを付けられたクラス及び推論から、『Ｋ０』として記されたクラスのすべての親、すべてのクラス及び推論を識別し、『Ｋ１』としてタグをつける。これらのタグを付けられた変数はＳ１−シェルと呼ばれる。ユーザはコンピュータによってタグが付けられたアイテムを見直し、それらにキープ（Ｋｅｅｐ）のＫ１、不確実性（Ｍａｙｂｅ）のＭ１、及び廃棄（Ｄｉｓｃａｒｄ）のＤ１としてタグを付け直す。すべての公理はタグを付けられたＭｉ構成要素及びＫｉ構成要素のためにロードされる。プロセスは次いで繰り返され、ユーザが適切なオントロジーに対するすべての構成要素にタグを付けるまで、毎回ｉを増分する。
【０２４２】
次いで、潜在的なエラーを識別し、推論された値を追加するために、リーズナが結果として生じるオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理はＫｎとタグを付けられ、タグを付けられた構成要素は切り詰められたオントロジーとしてエクスポートされる。
【０２４３】
複数の重複するオントロジーの場合、プロセスは図１７Ｃに示される通りである。
【０２４４】
この例で、ユーザは、１つのオントロジーで開始シード点Ｓ０としてクラスを選択し、同じ又は別のオントロジーのどちらかで終了点Ｅ０として別のクラスを選択し、それらの両方をＫｅｅｐのためのＫとして『Ｋ０ｓ』又は『Ｋ０ｅ』でタグ付けする。
【０２４５】
コンピュータは、『Ｋ０ｘ』と記されたクラスのすべての親を『Ｋ１ｓ』又は『Ｋ１ｅ』としてタグ付けし、クラス及び推論からのすべてのサブクラス及び推論は『Ｋｎｘ』としてタグ付けされ、ｎ＝１である。これらのタグ付けされた変数はＳ１−シェル及びＥ１−シェルと呼ばれる。Ｓシェル及びＥシェルの変数は、以下により詳細に説明されるセマンティックマッチャモジュールによって比較される。マッチャモジュールは各シェルの変数間のマッチ品質に対する数値を返す。所定のマッチ品質が満たされると、次いで２つのシェルの間に経路が決定される。これは、シェルが重複する場合にだけ発生するはずである。開始点及び終了点が同じオントロジーにある場合、マッチ品質は１．０、つまり完全一致でなければならない。
【０２４６】
いかなる段階でも、タグ付きデータクラスのデータプロパティは切り詰められてよい。これは、クラスを選択し、データフィールド（データプロパティ）をＤｉｓｃａｒｄの『Ｄ』として記すことによって実行される。廃棄されたフィールドの存在に基づいたあらゆる推論が無視される。
【０２４７】
これらのステップは反復され、所定数の変数が適切なマッチ品質を有する又はシェルの所定の深さに到達するまで毎回１ずつ、ｎを増分する。マッチング変数のシェル経路は『Ｐｊｘ』とタグ付けられる。経路を確立せずにシェルの所定の深さに到達する場合、次いでプロセスは失敗し、オントロジーは不同等とみなされる。プロセスは停止する。この点で、所定のシェルの深さを増加し、ＫからＤｉｓｃａｒｄのＤまでの範囲外と見なされるあらゆる概念のタグを手作業で変更することが可能である。プロセスを再開できる。
【０２４８】
いったんこれらが確立されると、Ｓ０とＥ０間の経路Ｐｊをポピュレートすることができ、骨組みの切り詰められたオントロジーはこれらの経路の観点から定義できる。タグ付けされたＰｊ経路構成要素のすべてのクラスの親及び推論された親も経路Ｐｊに属するようにタグ付けされる。すべての公理がタグ付けされたＰｊ経路構成要素のためにロードされ、このようにして拡大されたオントロジーを作成する。
【０２４９】
リーズナは潜在的なエラーを識別し、推論された値を追加するために拡大されたオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理はタグ付けされ、切り詰められたオントロジーの一部としてエクスポートされる。
【０２５０】
不同等のオントロジーの場合、プロセスは図１７Ｄに示される。この点で、不同等のオントロジーは、次の２つの考えられる理由から発生することがある。
・ユーザが、ユーザがオントロジーを合わせる又は２つのオントロジーの概念からサブセットオントロジーを抽出しようと試みるまでオントロジーは不同等であることを理解していなかった。これは前項の潜在的な失敗結果である。又は、
・ユーザは、オントロジーが不同等であることを知っており、オントロジーが結合できるよう概念及びプロパティを供給している。
【０２５１】
いずれの場合も、ユーザはオントロジーを結合できるよう情報を供給しなければならない。これが事実上プロセスの開始点である。
【０２５２】
ユーザは一方のオントロジーで開始シード点Ｓ０としてクラスを選択し、他方のオントロジーで終了シード点Ｅ０として別のクラスを選択し、両方をＫｅｅｐのＫとして『Ｋ０ｓ』又は『Ｋ０ｅ』でタグ付けする。さらに、それらは、線１７１０によって示されるように、オントロジーを接続するユーザによって定義された経路のセットを定義する。
【０２５３】
これらの経路は、『ｉ』が定義されている経路番号である、開始点及び終了点『Ｕ０Ｓｉ』及び『Ｕ０Ｅｉ』を有する。これらの経路は、あるオントロジーのクラスで開始し、別のオントロジーのクラスで終了する、関係する概念の隣接するセットを形成する。
【０２５４】
開始点／終了点とユーザによって定義された概念『ｉ』との間の経路Ｐｓｉ及びＰｅｉを確立するために、各概念対Ｓ０と『Ｕ０Ｓｉ』及びＥ０と『Ｕ０Ｅｉ』に次いで適用された重複オントロジーについて上述されたプロセス。いったんこれらが確立されると、Ｓ０とＥ０の間の経路Ｐｉはポピュレートすることができ、骨組みの切り詰められたオントロジーはこれらの経路の観点から定義できる。タグ付けされたＰｉ経路構成要素のすべてのクラス親及び推論された親も経路Ｐｉに属するとしてタグ付けされる。すべての公理がタグ付けされたＰｉ経路構成要素のためにロードされる。これが拡大されたオントロジーと呼ばれる。
【０２５５】
リーズナは潜在的なエラーを識別し、推論された値を追加するために拡大されたオントロジーに適用される。このようにして追加されたあらゆる概念、推論、又は公理は追加され、エクスポートできる切り詰められたオントロジー１７１１に含まれる。
【０２５６】
概念が切り詰めの開始点としてユーザによって選択されるとき、どの追加概念を含める必要があるのかを判断することが必要である。この判断を下すために適用されるオブジェクトプロパティ及びデータプロパティベースのアルゴリズムベースがある。この点で、オブジェクトプロパティは以下の属性を有する。
・オブジェクトプロパティは２つの概念間の関係性に名前を付ける。
・関係性は方向を有する。これは『ドメイン』概念から『範囲』概念として定義される。リレーショナルデータベースの専門用語では、ドメインの一次キーがＲａｎｇｅの外部キーになる。
・任意選択で、関係性は以下を含んだタイプを有する。
‐機能的
‐逆機能的
‐推移的
‐対称
‐非対称
‐再帰的
‐非再帰的
【０２５７】
また、スーパークラス／サブクラスの関係性はオブジェクトプロパティの特別な場合に同等である。サブクラスは、そのスーパークラスのすべてのデータプロパティ及びすべてのオブジェクトプロパティを『継承する』。
【０２５８】
上述されたサンプルオントロジーを使用し、切り詰めの開始点が『クラブ』であると、次いで切り詰められたオントロジーにクラブのすべてのスーパークラス、つまり組織及び当事者を含めることが必要になるだろう。その関係性の方向及びタイプがその自動包含を除外するので、メンバーのクラスは含まれないだろう。同じ理由から、組織及び当事者のサブクラスは自動的に含まれず、クラブのサブクラスも、あったとしても含まれないだろう。
【０２５９】
ただし、メンバーが含まれた場合には、オブジェクトプロパティ『有する』の方向及びタイプは、クラブが個人であり、そのすべてのスーパークラスが自動的に含まれたことを保証するだろう。
【０２６０】
任意の概念のデータプロパティ『タイプ』は、それがモデル化されていない概念、すなわちクラブでの『クラブのタイプ』、メンバーでの『メンバーのタイプ』等の存在を暗示するため警戒を促す。例えば、『クラブのタイプ』概念はセーリング、チェス、事務等のようなすべての有効値のリストを含むことがあるだろうクラブのタイプ概念は『クラブの範囲』とともに『タイプを有する』と呼ばれるオブジェクトプロパティを有するだろう。この概念は切り詰められたオントロジーに自動的に含まれるだろう。
【０２６１】
すべての自動的な包含及び排除は、すべての概念にわたって又は概念単位でのどちらかで修正できる。ユーザは各タイプのオブジェクトプロパティに『包含』、『排除』又は『尋ねる』を指定する。
【０２６２】
特定の概念を包含する決定は、オントロジー規則、特にオブジェクトプロパティを推論エンジンに対する入力として使用して専門化されたＳｅｍａｎｔｉｃ  Ｒｅａｓｏｎｅｒを使用することにより下される。一階述語論理は明白な包含及び排除を得るために初めに使用される。『タイプ』データプロパティの例の通り、追加の推論は前方推論連鎖及び後方推論連鎖を使用し、決定されなければならない。最良の結果を得るために、それぞれの局所化された問題領域にＮｏｖａｍｅｎｔｅの確率論ネットワーク技法を適用できる。
【０２６３】
プルーナモジュールの動作例はここでより詳細に説明される。この例では、オントロジーを切り詰めるために、該オントロジーに含まれる概念、データプロパティ、オブジェクトプロパティ、及び推論を識別することが必要である。一例では、これはオントロジーアイテムにインデックスを付けるためにインデクサモジュールを使用し、次いで上述されたように選択のためにオントロジー用語を表示するためにブラウザモジュールを使用して達成される。
【０２６４】
特に、ユーザはブラウザモジュール『ランディング画面』で切り詰められるオントロジーを選択する。この点で、オントロジーは、ファイル、ウェブアドレス等のような任意のソースから選択できる。いったんオントロジーが選択されると、クラスリストがオントロジーのインデックスを使用して生成される。このリストは各クラスの名前及び説明を表示する。より大きいリストの場合、リスト検索機能が提供され、ユーザがクラス名又はクラス説明の一部ごとに検索できるようにする。データプロパティに対して検索することも可能である。どちらの場合も、検索はそのデータプロパティを含むクラスのリストを返すだろう。ユーザは次いで開始点としてクラスを選択し、該クラスにＳ０とタグを付ける。
【０２６５】
任意選択で、ユーザは次いで終了点Ｅ０を選択する。ユーザが終了点を選択しない場合、次いでユーザは上述されたように切り詰め動作を手作業で制御する必要がある。また、ユーザはランディング画面に戻り、終了点の別のオントロジーを選択してよい、又は代わりにユーザは選ばれたオントロジーが不同等であることを認識している場合には、ブリッジ概念及び関係性のセットを追加できるだろう。ユーザがブリッジ概念を指定しない場合、次いでプロセスは上述された重複オントロジープロセスに基づいて進み、それ以外の場合、プロセスは不同等のオントロジーのプロセスに従って進む。
【０２６６】
切り詰めプロセスを制御するために、以下を含んだいくつかのメタデータパラメータを設定できる。
・切り詰められたオントロジーを記憶するための場所
・調査のためのシェル深さ
・同一性を受け入れるためのマッチ品質
・手動編集を可能にするために各シェルの完了時にプロセスを休止するかどうか
・最大ランタイム
・エラー及びログメッセージの冗長
【０２６７】
手動切り詰めプロセスの例は、ここでより詳細に説明される。
【０２６８】
この例で、ユーザは切り詰めプロセスを開始する開始点だけを指定する。ユーザはいかなるときにも交互に用いることができる２つの方法の内の１つで手動切り詰めを実行できる。
・通常ブラウザモジュール１３１０によって表示されるクラスリスト画面から、ユーザは『Ｋ』で、保持されるクラスにタグを付けることができる。いかなるときでも、ユーザは、あらゆる関係するクラス及び公理に自動的にタグを付け、クラスリストにタグ付けられたクラスを表示する『有効化』オプションを選択できる。さらに、ユーザは、選択されたクラス及び関係性を図式で示すためにタグ付けされたクラスをグラフ作成プログラムに渡す『見る』オプションを選択できる。グラフ作成プログラムはＯｎｔｏＧｒａｆ等のような公に入手できるグラフ作成パッケージであることがある。
・代わりに、ユーザは、ブラウザモジュール１３１０によって表示されるクラスリスト画面のクラスをクリックすることによってクラス表示画面の開始クラスを開くことができる。ユーザは次いでユーザが保持を希望する、あらゆるサブクラス／スーパークラスに、オブジェクトプロパティフレームに指定されるあらゆるクラスを加えたすべてのデータプロパティにタグを付けることができる。このプロセスは表示される任意の関係するクラスに対するリンクをクリックすることによって反復して実行できる。いかなるときにも、ユーザはクラスリスト画面に戻って進行を有効化又は見ることができる。
【０２６９】
いったんユーザが切り詰められたオントロジーに必要とされるクラスのタグ付けを終了すると、ユーザはクラスリスト画面に戻り、『オントロジーの生成』オプションを選択できる。これにより、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
【０２７０】
重複オントロジーを切り詰めることの例は、ここでより詳細に説明される。
【０２７１】
この例で、ユーザは、切り詰めプロセスを実行するための開始点及び終了点だけを指定する。プロセスは上述された複数の重複するオントロジーで説明されるように進行する。
【０２７２】
アプリケーションメタデータパラメータがシェル間で休止するように設定されていると仮定し、プロセスは各シェルの完了時に停止する。この点で、ユーザは自動的にタグ付けされたアイテムを確証する又は見ることができ、ユーザが関連性がないとして認識するあらゆるタグを削除してよい。開始点及び終了点を接続する経路が確立されるまで、ビュー機能は２つの部分的なオントロジーを表示する。『再開』オプションを選択することによって、プログラムは次のシェルの決定時に開始する。
【０２７３】
１つの経路が識別された後のいかなるときにも、プロセスを停止できる。ただし、代わりに、開始点と終了点の間のいくつかの異なる考えられる経路を決定できる。
【０２７４】
いったん処理条件の指定された目的が満たされると、プロセスは停止し、以下の内の１つを含むだろうステータスメッセージとともにユーザに戻る。
・指定最大シェル深さに到達した。経路は見つからなかった。オントロジーは不同等である可能性がある。（失敗）
・指定最大シェル深さに到達した。『ｎ』個の経路が見つかった。『ｍ』個の経路が要求された。（部分的な成功）
・指定数の経路が見つかった。（完全な成功）
【０２７５】
ユーザは、アプリケーションメタデータの完了基準を変更し、再開オプションを選択することによってプロセスを拡張することを決定してよい。ユーザが結果に満足した場合、ユーザは『オントロジーの生成』オプションを選択するだろう。これによって、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
【０２７６】
ユーザが、オントロジーが事実上不同等であると決定する場合、次いでユーザは以下に説明されるように進むだろう。
【０２７７】
この例で、ユーザは、切り詰めプロセスを実行するための開始点及び終了点、並びに関係するブリッジ概念を指定する。ユーザは、オントロジーを切り詰め、マージするために以前の試みからタグを保存していた可能性がある。
【０２７８】
切り詰め開始オプションを選択することによって、プロセスは上述の不同等のオントロジーのプロセスに従って説明されたように開始する。シェル間で休止するためにアプリケーションメタデータパラメータが設定されたと仮定すると、プロセスは、各シェルが完了すると停止する。
【０２７９】
この点で、ユーザは自動的にタグ付けされたアイテムを確証する又は見ることができ、ユーザが関連性がないとして認識するあらゆるタグを削除してよい。ユーザによって定義されたブリッジ点の１つに開始点及び終了点を接続する経路が確立されるまで、ビュー機能は、ユーザ定義点ごとに１つ、並びに開始点及び終了点に１つ、多くの部分的なオントロジーを表示する。
【０２８０】
再開オプションを選択することによって、プロセスは次のシェルの判断について開始する。ソースオントロジーの１つの経路及びターゲットオントロジーの１つの経路がブリッジクラスを介して接続された後のいかなるときでも、プロセスは停止できる。ただし、代わりに、開始点と終了点との間の可能な限り多くの経路を決定できる。
【０２８１】
いったん処理条件の指定された目的が満たされると、プロセスは停止し、以下の内の１つを含むだろうステータスメッセージとともにユーザに戻る。
・指定最大シェル深さに到達した。経路は見つからなかった。オントロジーは不同等である可能性がある。（失敗）
・指定最大シェル深さに到達した。『ｎ』個の経路が見つかった。『ｍ』個の経路が要求された。（部分的な成功）
・指定数の経路が見つかった。（完全な成功）
【０２８２】
ユーザはアプリケーションメタデータの完了基準を変更し、再開オプションを選択することによってプロセスを拡張することを決定してよい。
【０２８３】
ユーザが、オントロジーがまだ事実上不同等であると決定する場合、次いでユーザはブリッジ概念を調べる上である程度の努力を費やす必要があるだろう。ユーザは、経路が合流することを保証するために手作業のタグ付けを実行する必要がある場合がある。
【０２８４】
ユーザが結果に満足した場合、ユーザはオントロジー生成オプションを選択し、切り詰められたオントロジーがアプリケーションメタデータで指定された場所に生成される。タグは、切り詰めプロセスの容易な再編集を可能にするために保存できる。
セマンティックマッチャモジュール
【０２８５】
セマンティックマッチャモジュールは、２つの概念がある特定の文脈の中で考慮されるときに類似する程度まで数学値を適用できるようにする。このプロセスの名前は『セマンティックマッチング』であり、２つのオントロジーで概念を合わせようとするときに、それは特に重要である。例えば、ビジネスの文脈での単語『企業』及び『組織』は厳密には同じ意味をもたない。すべての企業は組織であるが、すべての組織が企業であるわけではない。事実上、クラス企業はクラス組織のサブセットである。例えば、『この組織は上場企業であるが、その組織はゴルフクラブである』。
【０２８６】
社会的な文脈では、企業は組織に関係付けられているのではなく、共同経営者の集合に関係付けられている。例えば、『ジョン・ドウは悪友と付き合う』。クラブ及び企業はともに組織であるため、なんらかの類似性がある。上場企業及び非上場企業も類似し、共通の親を共有する。それらはクラブ及び企業と同程度に概念上近いのか。非上場の公開会社（＞５０人の株主）及び非上場の非公開会社（＜５１人の株主）はどうだろうか。それらは上場企業及び非上場企業よりも近いのか。
【０２８７】
２つの概念がどれほど類似している可能性があるのかを測るための数学的なベースを与えるために、『同一性』の概念を導入する。いくつかの公式の測定基準がある。例えば、Ｌｅｖｅｎｓｔｅｉｎ距離（Ｌｅｖｅｎｓｈｔｅｉｎ、１９６６年）は、２つの文字列をマッチさせるために必要とされる挿入及び削除を数え、Ｎｅｅｄｌｅｍａｎ−Ｗｕｎｓｃｈ（Ｎｅｅｄｌｅｍａｎ、１９７０年）距離は編集動作に異なるコストを割り当て、Ｓｍｉｔｈ−Ｗａｔｅｒｍａｎ（Ｓｍｉｔｈ、１９８１年）はさらにコストにアルファベットマッピングを使用し、Ｍｏｎｇｅ−Ｅｌｋａｎ（Ｍｏｎｇｅ、１９９６年）は単語間のサブ文字列ギャップに応じて可変コストを使用する。さらに、２つのストリングが「短い」距離によって置き違えられても２つの文字列間の共通の文字を数えるＪａｒｏ−Ｗｉｎｋｌｅｒ類似性、２つの文字列間で共有される三重文字の数を数えるＱ−Ｇｒａｍ（Ｓｕｔｉｎｅｎ、１９９５年）、及び最大公約サブ文字列を検索するサブ文字列距離を使用した。ただし、これらの内のどれも特に効果的であることは判明していない。
【０２８８】
もう１つの共通技法は、『物事』の概念を根とする単一の階層木で概念を配置することである。大部分の同一性式は測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０２８９】
ただし、オントロジーを構築したオントロジスト及びオントロジーがオントロジーを使用する人によって切り詰められているかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０２９０】
概して、同一性は概念の間のエッジ数によって測定される。他の可能性は、データプロパティの数に基づいて存在する。例えば、上場公開企業及び非上場公開企業はそれぞれ１つの属性しか有さないことがあり、バランスは企業の定義に保持されるのに対し、クラブ及び企業はそれぞれ「５」つのデータプロパティを有することがあり、バランスは組織の定義で保持される。したがって、企業がクラブに類似するよりも、非上場の公開企業は上場公開企業により類似している（「１０」の代わりに「２」つの属性、つまり言い換えると、より少ない相違があり、相違は距離に同等である）。
【０２９１】
『距離』の概念は重要と見なされる。２つの概念はどれほど遠く離れているのか。測定されている概念とその共通の親との間の概念の数に基づいた式がある。距離が「１」である場合には、一方の概念が他方のスーパークラスであることは明らかである。しかしながら、距離が「２」である場合には、概念は兄弟又は孫のどちらかである。これは特に有用な事実ではない。
【０２９２】
距離と同一性の間にはいくつかの関係性がある。明らかに、距離が「０」である場合には、同一性は「１．０」である。つまり、概念は同一であるため、実際にはこのインスタンスには１つの概念しかない。
【０２９３】
優れたセマンティックマッチャモジュールは、あらゆる適切な数式を使用し、マッチの同一性及び距離を計算できなければならない。
【０２９４】
それを考慮に入れると、科学の世界、工学の世界、及びビジネスの世界のあらゆる態様を記述する何千もの公のオントロジー及び私的なオントロジーがある。２つのオントロジーを合わせるためには、２つのオントロジーの概念間に意味論的なマッチがあるかどうかを判断することが必要である。
【０２９５】
現在では、リンクされた概念を定義するオントロジーの操作は研究者及び専門のオントロジストに制限されている。概念の定義及び名前は、文脈に応じて非常に変化する。オントロジーの中で及びオントロジーにわたって用語を比較するためには、用語を意味論的に調べるためのなんらかの機構を有する必要がある。２つの概念が実際に同じ事柄に対する同義語であるのか、それともそれらはなんらかの方法で関係付けられているのか。例えば、組織及び企業はある程度の同一性があるようにいくつかの属性を共通して有している。すべての企業は組織であるが、すべての組織が企業であるわけではない（小前提）。
【０２９６】
別の例では、指の存在は手の存在を暗示する。指及び手は同じではないが、それらの間には関係性があり、一方が他方の一部であるため、一方の存在は他方の存在を暗示する。（部分語）
【０２９７】
任意の２つの概念を考慮すると、該概念がどれほど類似しているのかを知りたいと思う。つまり、同一性０−＞１であり、上式では１．０が、一方が他方のサブクラスであるのか、それともスーパークラスであるのか（−１，０，１）、及び１つが別のものの部分であるかどうか（−１，０，１）に関わらず、該概念が同一であることを暗示している。
【０２９８】
セマンティックマッチャモジュールは、概念、概念の意味、及び概念間の関係性のデータベースを含む。セマンティックマッチャモジュールは、概念と概念の定義との間の関係性を手作業で編集するため、及び数学的に定義された方法で概念を分析するための、オントロジーから概念をロードするためのツールを有する。これらの数学的に定義された概念のプロパティ及び概念の関係性は、次いでディクショナリとして及びセマンティック概念マッチャモジュールとして、オントロジーを合わせることのようなさまざまな状況で使用できる。
【０２９９】
セマンティックマッチャモジュール概念はある特定の文脈（例えば、医学、ビジネス）で同義語、小前提（クラス階層）、及び部分語（の部分）を見付ける。それは、オントロジーをパースし、クラス、クラスの注釈、クラス構造、及び任意のオブジェクトプロパティ「の部分」を得ることによって最初にロードされる。クラス名は次いで、意味及び考えられる同義語を決定するためにＷｏｒｄＮｅｔ又はＷａｔｓｏｎなどの何かに使用される。意味は、あらゆる表記がパースされるように、トリプルにパースされる。マッチャモジュールは次いで同義性を決定するトリプルの数学的な対応を探す。
【０３００】
セマンティックマッチャモジュールは、通常は２つのオントロジーからの概念の２つのリストを評価するか、あるいは単一の概念を評価し、参照用語にこれをマッチして概念の意味を決定するかのどちらかのスタンドアロンプロセスである。
【０３０１】
第１のインスタンスで、マッチャモジュールは第１のリストの各アイテムを第２のリストの各アイテムと対にする。各対ｉ，ｊは次いで以下のアイテムを決定するために分析される。
・意味類似性Ｓｉｊ
‐用語が同義語である場合には類似性はＳｉｊ＝１．０である。
‐反意語の場合にはＳｉｊ＝−１である。
‐関係性がない場合にはＳｉｊ＝０である。
・小前提関係性Ｓｕｂｉｊ
‐ＣｉがＣｊのサブクラスである場合には、Ｓｕｂｉｊ＝−１である。
‐ＣｉがＣｊのスーパークラスである場合には、Ｓｕｂｉｊ＝１である。
‐それ以外では、Ｓｕｂｉｊ＝０である。
・部分語関係性Ｍｅｒｉｊ
‐ＣｉがｆＣｊの一部分である場合には、Ｍｅｒｉｊ＝−１である。
‐ＣｊがＣｉの一部分である場合には、Ｍｅｒｉｊ＝１である。
‐それ以外では、Ｍｅｒｉｊ＝０である。
【０３０２】
第２のインスタンスでは、マッチャモジュールは単一の概念及び文脈定義をとり、その文脈のその概念のために同義語、サブクラス及びスーパークラス、並びに部分語のリストを作成する。文脈が与えられない場合、すべての文脈にわたって評価が実行される。
【０３０３】
医学オントロジー及び人事オントロジーはＳｅｍＭａｔｃｈに従って定義された旨の推測に基づいていくつかの例が後続する。
2017513134.tif 000085
2017513134.tif 000086
【０３０４】
２つの異なる使用方法は、図１８Ａ及び図１８Ｂを参照してここでより詳細に説明される。
【０３０５】
セマンティックマッチャモジュール１３５０はその評価を実行するために概念マッチングデータベース１６０４を使用する。図１８Ａの例で、オントロジー用語Ａ、Ｂ及びＸ、Ｙのような概念の２つのリスト１８０１、１８０２が受け取られ、次いでオントロジー用語の考えられる対成ごとに同一性スコア１８０３を生成するためにセマンティックマッチャモジュール１３５０によって比較される。
【０３０６】
図１８Ｂの例で、単一のオントロジー用語１８０４のような単一の概念が受け取られ、セマンティックマッチャモジュール１３５０は概念マッチングデータベース１６０４とこれを比較し、同義語１８０５のリストを返す。
【０３０７】
概念マッチングデータベース（ＣＭＤ）１６０４は、インデクサモジュール１３２０を使用して構築される。ＣＭＤが使用できる前に、データベースが最初にロードされなければならず、通常、データベースは対象の文脈に基づいてオントロジーをパースすることによってロードされるだろう。データベースは新しい文脈を追加するときは常にユーザによって更新できる。
【０３０８】
ＣＭＤ１６０４は、１８Ｃに示されているテーブル間の関係性とともに表８に定義されるいくつかのテーブルを含む。
【表８】
2017513134.tif 000087
2017513134.tif 000088
【０３０９】
ロード機構が、図１８Ｄを参照してここで詳細に説明される。
【０３１０】
最初に、ロードされるオントロジー１８０１の全体的な文脈が決定され、１のＩＤを用いてコンテキストテーブルに入力される。例えば、医学オントロジーがロードされる場合、文脈は「医学」として識別されるだろう。
【０３１１】
以下に示されるこのカテゴリのオントロジー及びそれぞれの文脈名の例。
・有害事象報告オントロジーＡＥＲＯ
・アフリカ伝統医学オントロジーＡＴＭＯ
・アレン脳地図成体マウス（ＡＢＡ）の脳オントロジーＡＢＡ−ＡＭＢ
・アルツハイマー病オントロジーＡＤＯ
・アミノ酸オントロジーＡＭＩＮＯ−ＡＣＩＤ
・両生類肉眼解剖学オントロジーＡＡＯ
・両生類分類法オントロジーＡＴＯ
・解剖病理学用語集ＰＡＴＨＬＥＸ
・解剖エンティティオントロジーＡＥＯ
【０３１２】
これらのオントロジーのそれぞれはソーステーブルにロードされるソースを有し、このようにしてソース２のコンテキストテーブルもロードできるようにする。
【０３１３】
次に、以下の情報が抽出され、オントロジーのそれぞれからパースされる。
・クラス
・オブジェクトプロパティ
・注釈
・ラベル
【０３１４】
すべての単語は１つのオントロジーに由来するので、コンテキスト＿ＩＤは既知である。各クラスは単語テーブルで単語になる。注釈は単語テーブルで意味としてロードされる。ともにヌルに設定される単語＿ＩＤ２コンテキスト＿ＩＤを見出し語（ルート意味）及び概念と関係付け、ヌルに設定されたクラス及び概念＿ＩＤごとにクラス２オブジェクトプロパティ２クラスを単語＿ＩＤに関係付けて、一時的なテーブルが作成される。
【０３１５】
これに続き、抽出されたクラス及びその注釈は次いで単語テーブルにロードされる。各クラスが単語になる。各単語は一意の単語＿ＩＤを割り当てられ、クラス注釈が単語テーブルの意味になる。すべての単語は１つのオントロジーから由来しているので、上述されたようにコンテキスト＿ＩＤは既知である。
【０３１６】
ともにヌルに設定された単語＿ＩＤ２コンテキスト＿ＩＤを見出し語及び概念に関係付け、ヌルに設定されたクラス及び概念＿ＩＤごとにクラス２オブジェクトプロパティ２クラスを単語＿ＩＤに関係付けて、一時テーブルが作成される。
【０３１７】
文脈ごとに、第１のステップは、各単語をＷｏｒｄＮｅｔ１８０２のような標準的なディクショナリから得られる意味及び同義語にマッチさせることである。あらゆるマッチしない単語は次いで同義語を識別するために他の文脈からの単語にマッチされる。これらのステップはここでより詳細に説明される。
【０３１８】
単語テーブルの各単語は、その単語に基づいて、同義語又は語彙素のグループの意味及び潜在的に語根又は見出し語を得るためにＷｏｒｄＮｅｔ１８０２に渡される。ＷｏｒｄＮｅｔの意味は注釈から引き出される意味と語彙的に比較される。
【０３１９】
これは、ＲＤＦトリプルに意味を変換し、トリプルを評価することによって行われる。このプロセスは以下により詳細に説明される。
【０３２０】
意味がマッチする場合、次いでＷｏｒｄｎｅｔの単語及び意味が、新しい単語＿ＩＤとともに単語テーブルにロードされる。新しい単語＿ＩＤは単語＿ＩＤ＿Ｃに割り当てられ、元の単語＿ＩＤは単語＿ＩＤ＿Ｐに割り当てられ、両方とも次いで単語２単語にロードされる。
【０３２１】
単語＿ＩＤ２コンテキスト＿ＩＤテーブルはＷｏｒｄｎｅｔ見出し語に単語＿ＩＤとして割り当てられた単語＿ＩＤ、及び単語＿ＩＤ＿Ｐとしてロードされた関係する単語＿ＩＤと同じコンテキスト＿ＩＤをロードされる。単語＿ＩＤ２コンテキスト＿ＩＤテーブルは２つの列、見出し語及び概念しか有さない。したがって、見出し語は新しい単語＿ＩＤ＿Ｃを割り当てられ、概念は単語＿ＩＤ＿Ｐから割り当てられる。
【０３２２】
最後に、クラス２オブジェクトプロパティ２クラスは、ＷｏｒｄＮｅｔ１８０２から単語＿ＩＤ情報をロードされる。
【０３２３】
見出し語が定義されたすべての単語は次いで概念テーブルにロードされる。単語＿ＩＤ２コンテキスト＿ＩＤはここで既知の概念＿ＩＤ及び見出し語で更新され、概念＿単語＿コンテキストテーブルをロードするために使用され、その結果、ＣＷＣ＿ＩＤは名前が付けられたコンテキストで使用される概念及び単語ごとに割り当てられる。ＣＷＣ＿ＩＤは、クラス２オブジェクトプロパティ２クラスで単語を識別するために、及び同時にＣＷＣ２ＣＷＣテーブル及び関係＿タイプテーブルをポピュレートするために使用できる。
【０３２４】
単語テーブルの第２の経路は、他の文脈での単語の意味と該意味を構文的に比較することによって、関係する見出し語がないあらゆる単語の意味を調べる。マッチさせるための第１の意味の単語＿ＩＤは見出し語として選ばれる。プロセスは、次いでＷｏｒｄｎｅｔのための識別された見出し語に関して続行する。
【０３２５】
第３の経路は、見出し語であるとして、見出し語に関係付けられていない各単語を識別する。これらの３つの経路の完了時、あらゆる単語は概念テーブル１８０９のあらゆる考えられる文脈で識別されるだろう。
【０３２６】
これに続き、同一性の値が計算される。完全なオントロジーが既知である場合、次いで同一性の計算は、比較されている概念の属性（データプロパティ）をマッチングすることによって実行できるだろう。属性リストは必然的に概念のスーパークラスの属性を含むだろう。
【０３２７】
現在の例では、同一性は２つの単語の意味を分析することによって計算される。英語での意味は形式の主語述語目的語（ｓｐｏ）のｒｄｆトリプルに変換される。これは、自然処理言語（ＮＬＰ）−ＲＤＦ変換器を使用して実行される（Ａｒｎｄｔ及びＡｕｅｒ、２０１４年）（Ａｕｇｅｎｓｔｅｉｎら、２０１３年）。
【０３２８】
例えば、クラブは意味「株主ではないメンバーを有し、そのメンバーのなんらかの職業上の必要性を満たすために存在する組織のタイプ」を有し、以下の表９に示されるように変換できるだろう。
【表９】
2017513134.tif 000089
【０３２９】
組織は以下の通り、つまり「組織は、集まることの合意された理由をもった個人の集まりである」に定義される概念であり、表１０に示されるように変換できるだろう。
【表１０】
2017513134.tif 000090
【０３３０】
クラブの定義に組織の定義を挿入して、表１１に示される定義を得る。
【表１１】
2017513134.tif 000091
【０３３１】
ただし、メンバーが個人であると推論することはできない。この分析は、以下を判断するために使用できる。
・クラブのメンバーは個人である。これは、メンバーシップ概念が、個人がメンバーシップを保持する（Ｉｎｄｉｖｉｄｕａｌ  Ｈｏｌｄｓ  Ｍｅｍｂｅｒｓｈｉｐ）の代わりにメンバーは個人である（Ｍｅｍｂｅｒ  ｉｓＡｎ  Ｉｎｄｉｖｉｄｕａｌ）としてより正しく定義されるオブジェクトプロパティを有した場合には推論できただろう。
・集まることの合意された理由は、職業上の必要性を満たすことである。
【０３３２】
上述の例のオントロジーで特殊法人に同じプロセスを適用すると、意味から、特殊法人は「指定された政府の必要性を満たすために政府によって作られる組織」であることを得るだろう。これは表１２に示されるトリプルにつながる。
【表１２】
2017513134.tif 000092
【０３３３】
これは、図１３に示される共通の述語及び目的語に基づいて比較表を構築するために使用できる。
【表１３】
2017513134.tif 000093
【０３３４】
これによって、以下の要因に基づいて同一性の数式を使用できる。
・クラブ及び特殊法人の概念のトリプルの数はＮ１及びＮ２によってそれぞれ示され、Ｎ１＝９であり、Ｎ２＝７である。
・２つの概念クラブ及び特殊法人の間で共有される述語（ＳＰ）の数は５である。つまりＳＰ＝５。
・２つの概念クラブと特殊法人との間で共有される述語目的語（ＳＰＯ）対の数は４である。つまりＳＰＯ＝４
【０３３５】
例えば、
・同一性＝ＳＰＯ／ＳＰ＝４／５＝０．８、又は、
・同一性＝（ＳＰ＋ＳＰＯ）／（Ｎ１＋Ｎ２）＝９／１６＝０．５６２５
【０３３６】
使用される実際の式は関連性がない。重要な事実は、同一性の評価基準を示す式を引き出すことができる点である。
【０３３７】
このプロセスを通して、ユーザは、通常はブラウザモジュールによって表示される画面１８０８を使用し、セマンティックマッチャモジュールと対話できる。
アライナモジュール
【０３３８】
オントロジーアライメントの必要性は、異種のデータベース、つまり無関係に開発され、したがってそれぞれが独自のデータ語彙を有するデータベースを統合する必要性から生じる。独自のオントロジーを提供する多くの動作主体を含んだＳｅｍａｎｔｉｃ  Ｗｅｂの文脈では、オントロジーマッチングは異種リソースが相互運用するのに役立つための重大な位置を占めている。オントロジーアラインメントツールは、例えば「トラック」及び「大型トラック」等、「意味論的に同等」であるデータのクラスを見つける。これらのクラスは必ずしも論理的に同一ではない。
【０３３９】
オントロジーアラインメントの結果は、異なるオントロジーのエンティティ間の対応を表すステートメントのセットである。これは、専用の言語『表出型及び宣言型オントロジーアラインメント言語（Ｅｘｐｒｅｓｓｉｖｅ  ａｎｄ  Ｄｅｃｌａｒａｔｉｖｅ  Ｏｎｔｏｌｏｇｙ  Ａｌｉｇｎｍｅｎｔ  Ｌａｎｇｕａｇｅ）』（ＥＤＯＡＬ）（Ｄａｖｉｄら、２０１３年）又は他の言語（ＺＩＭＭＥＲＭＡＮＮら、２００６年）で表されてよい。
【０３４０】
第１の要件は、合わせられているオントロジーの概念間に意味論的なマッチがあるかどうかを判断することであり、これは上述のセマンティックマッチャモジュールを使用して判断できる。例えば、ビジネスの文脈での単語『企業』及び『組織』は厳密に同じ意味をもたない。すべての企業は組織であるが、すべての組織が企業であるわけではない。事実上、クラス企業はクラス組織のサブセットである。例えば、『この組織は上場企業であるが、その組織はゴルフクラブである』。社会的な文脈では、企業は組織に関係付けられるのではなく、共同経営者の集合に関係付けられてもよい。例えば、『ジョン・ドウは悪友と付き合う。』
【０３４１】
クラブ及び企業はともに組織であるため、なんらかの類似性がある。上場企業及び非上場企業も類似し、共通の親、つまり企業を共有する。それらはクラブと企業と同程度に概念上近いのか。非上場の公開会社（＞５０人の株主）及び非上場の非公開会社（＜５１人の株主）はどうだろうか。それらは上場企業及び非上場企業よりも近いのか。
【０３４２】
２つの概念がどれほど類似している可能性があるのかを測るための数学的なベースを与えるために、『同一性』の概念を導入する。同一性にはいくつかの公式の測定基準がある。最も一般的な技法は、『物事』の概念を根とする単一の階層木で概念を配置することである。大部分の式は測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０３４３】
ただし、オントロジーを構築したオントロジスト及びオントロジーがオントロジーを使用する人によって切り詰められたかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０３４４】
概して、同一性は概念の間のエッジ数によって測定される。他の可能性は、データプロパティの数に基づいて存在する。例えば、上場公開企業及び非上場公開企業はそれぞれ１つの属性しか有さないことがあり、バランスは企業の定義に保持されるのに対し、クラブ及び企業はそれぞれ「５」つのデータプロパティを有することがあり、バランスは組織の定義で保持される。したがって、企業がクラブに類似するよりも、上場の非公開企業は上場公開企業により類似している（「１０」の代わりに「２」つの属性、つまり言い換えると、より少ない相違があり、相違は距離に同等である）。
【０３４５】
推測上のオントロジー（ＰＯ）は、通常、リレーショナルデータベース、ｘｍｌファイル、又はスプレッドシート等の構造化ソースから作成されたオントロジーである。係るアラインメントは、推測上のオントロジーのデータインスタンスが完全なオントロジーのクラスにマップするいくつかの非常に複雑なマッピングを有することがある。これはアラインメントの特殊ケースである。
【０３４６】
４つのテーブルの中のデータだけではなく、メタデータ（したがって構造）も含むことがあるため、完全に非正規化されたデータ構造の例である「物事データベース」を示す単純な例が、図１９Ａを参照してここで説明される。
【０３４７】
例えば、物事タイプテーブルが『クラス』の物事タイプを含む場合、次いで物事テーブルのあらゆる関係する行はクラスの名前を含む。クラス間の関係性は、『物事タイプ対物事タイプ』が関係性のタイプを指定する『物事対物事』テーブルに定義されるだろう。
【０３４８】
オントロジー用語では、任意のタイプテーブルがクラスのセットを生じさせることがある。車両セットの詳細を含むテーブルを考える。車両タイプテーブルは、車両の有効なタイプだけが含まれることを保証するために使用できるだろう。例えば、車、トラック、トラクタであるが、ベビーカー、自転車、船舶ではない。オントロジー的に、次いで車両タイプテーブルに指定される車両のタイプごとに別々のクラスを有することができるだろう。この概念は一般化できるが、必ずしもつねに適切ではない。もしそうであれば、あらゆる人員テーブルは男性クラス及び女性クラスに分割されることになるだろう。結果的に、プログラムはデータに含まれている隠されたクラスが暴露され、有効化のためにユーザに該クラスを提示することがある、あらゆる状況を識別するべきである。
【０３４９】
いくつかの場合、タイプテーブルは多くのタイプのタイプを含むことがある。例えば、概念、データプロパティ、及び車両、トラック、車、エンジンタイプ、重量、キログラムのようなデータプロパティのプロパティ。これは以下のように示されることがあるだろう。
・車はエンジンタイプディーゼルを有する。
・車は重量２０００を有する。
・重量は計測単位キログラムを有する。
・車は車両のサブクラスである。
【０３５０】
物事データベースの例は、データベースが表１４〜１７に示されるようにポピュレートされると仮定して、ここで説明される。
【表１４】
2017513134.tif 000094
【表１５】
2017513134.tif 000095
【表１６】
2017513134.tif 000096
【表１７】
2017513134.tif 000097
【０３５１】
関係性スキーマに基づいた推測上のオントロジーは、名前がテーブル名に関係付けられた４つのクラスだけを示すだろう。ただし、データに基づいたオントロジーは、図１９Ｂに示されるように他の２つのテーブルで識別されたオブジェクトプロパティを加えた、『物事』テーブル及び『物事タイプ』テーブルの名前に基づいて８つのクラスを示すだろう。この例では、残りの用語が物事テーブル（テーブル１４）から得られるのに対して、「ビジネス構成要素」及び「有機的構造」の用語は物事タイプテーブル（テーブル１６）から得られる。
【０３５２】
これは、１つのオントロジーのクラスが別のオントロジーのデータインスタンスにマッチする問題の例である。明確にするために、これは『推測上のマッピング問題』（ＰＭＰ）として識別される。それは、推測上のオントロジーが、『主キー』若しくは『外部キー』にマッチする名前、又は『親』及び『子』（ＢＯＭ）でのような同じ外部キーの複数のインスタンスを有するクラス、又は関連付けられたタイプクラスを有するクラスを有するデータプロパティを有するときにアラインメント中に現れることがある。これらの例は、潜在的にデータインスタンスに隠されているクラス階層を隠ぺいする可能性がある。
【０３５３】
共通アラインメント技法は、各オントロジーからの概念を、それぞれが根として『物事』の概念を有する２つの階層木の中に配置することである。次いで、アラインメントを決定するためのなんらかの数学的な機構を与えるために『距離』の数学的概念が導入される。大部分の距離数式は、測定されている概念とその共通の親との間の概念の数、及び階層の根までの距離の関数である。
【０３５４】
ただし、オントロジーを構築したオントロジスト、オントロジーがオントロジーを使用する人によって切り詰められているかどうか、及び概念の傘として働く『上位』オントロジーがあるかどうかに応じて、階層の根までの距離が大幅に異なることがあることを考慮すると、根までの距離は概して関連性がない。
【０３５５】
オントロジーアライナモジュールは複数のオントロジーで共通の概念を探し、一方のオントロジーから他方に概念をマップし、このようにして２つのオントロジーを１つのオントロジーとして扱うことを可能にする。アラインメントを使用すると、２つのオントロジーをマージすることも可能である。ただし、これは危険なプロセスであり、意味論的なミスマッチの伝搬の可能性のため一般に推奨されていない。
【０３５６】
一般に、オントロジーは完璧ではない。例えば、ここで使用されているサンプルオントロジーには多くのモデル化エラーがある。『株式』が『個人』よりむしろ『クライアントｓ』によって『所有』するべきであり、『職歴』が『企業』よりむしろ『クライアント』によって『雇用』するべきであることは明らかである。これらのインスタンスの両方とも、関係性がより制限的な関係性からあまり制限的ではない関係性に移動していることを示す。それはこれらの場合には可能であろうが、クラブのメンバーシップを『個人』から『クライアント』に移動するのはおそらく無効であろう。
【０３５７】
メンバーシップと個人との間の関係性は『保有する』であるので、クラス『メンバーシップ』はさらに不適切に名前が付けられている。クラスが『メンバー』と名前を付けられていた場合、次いで関係性は『Ａである』であっただろう。これによりメンバーが個人のプロパティを継承できただろう。オブジェクトプロパティ『有する』が完全に定義されない限り、次いで推論でのその使用は制限される。
【０３５８】
これらのエラーは、アラインメントの複雑さのいくつかを示すためにサンプルに導入された。
【０３５９】
アライナモジュールの動作は、図１９Ｃを参照してここにより詳細に説明される。
【０３６０】
この点で、使用中、ＯＷＬファイル及びＲＤＦＳファイルで定義されたオントロジー１９０１、１９０２は、アライナモジュール１３４０を使用して開かれ、ユーザは次いで以下に定義される画面のセットを使用し、オントロジーと対話し、最終的に一連のアラインメント１９０５によって接続されたオントロジー１９０３、１９０４、及び潜在的にマージされ、合わせられたオントロジー１９０６を生じさせる。
【０３６１】
プロセスは、以下を含んだいくつかのサブプロセスから成る。
・初期化
・低レベルクラスマッチング‐最小マッピングを識別する。
・推測上のマッピング問題識別
・オブジェクトプロパティ分析
・データプロパティ分析
・マルチクラスマッピング
・ＰＭＰ解決
・兄弟分析
・最小マッピング解決
【０３６２】
アラインメントは多くのステップで識別できるため、概念の特定の対についてアラインメントを計算し直す可能性がある。この問題は、アラインメントマップを維持することによって克服される。このマップは、アラインメントが識別されるたびに更新され、努力の重複を防ぐために評価について新しいアラインメントの対が検討される前にプログラムによって参照され得る。アラインメントマップはユーザに表示され、ユーザがアラインメントプロセスに従い、任意の潜在的なアライメントにクエリーを行い、任意の潜在的なアラインメントを無効にし、プログラムに任意のプロセスを実行し直すように命令できるようにする。
【０３６３】
これらのステップは個々でより詳細に説明される。各ステップｉは重み係数Ｗｉを割り当てられ、結果は全体的なアラインメントスコアを提供するために結合される。これらの重み係数は一定のステップで適用される。考えられる重み付け累積数式が示されるが、使用できるだろう多くの考えられる重み付け方式がある。これは、適切な重み付け数式を決定するために機械学習又は統計分析及び推論を使用できる分野である。
【０３６４】
初期化プロセスの間、インデックス１６０３がインデックスモジュールから得られる。これに続き、オントロジー１９０１、１９０２がセマンティックマッチャモジュール１３４０にロードされる。アラインメントテーブルが事前にロードされていないときには、Ｗ０＝０．０である。
【０３６５】
以下の例では、技術の説明のためＷｉ＝ｉである。それ以外の場合、重みＷｉがユーザによって割り当てられる、又はヒューリスティックな機構が機械学習若しくは経験によって決定される。一般に、任意のステップｉの場合、累積的に決定されたマッチ値ＭＶｉＡは以下によって決定される。
【数１】
2017513134.tif 000098
上式では、ＭＶｉはステップｉで計算された未処理のマッチ値である。
別の、より従来の重み付け方式は以下の通りである。
【数２】
2017513134.tif 000099
上式ではＭＶは重み付けされたマッチ値であり、ＭＶｉはステップｉでのマッチ値である。
【０３６６】
このプロセスは、好ましい実装に応じて、各ステップで、又はプロシジャの終わりでのみのどちらかで実行できるだろう。
【０３６７】
次に、オントロジーの用語の意味論的意味に基づいて実行される。このプロセスはクラス名に基づいて潜在的なマッチを見付けるためにセマンティックマッチャモジュールを使用し、それぞれの潜在的なアラインメント対を調べる。それがアラインメントを見付ける場合、それは次いでそのアラインメントから継承チェーン（オブジェクトプロパティ＝『のサブクラス』）を横断し、セマンティックマッチャモジュールを使用し、別のアライメントのクラス名をチェックする。
【０３６８】
すべてのマッチングクラスを見つけることが可能であるが、これは、少数のマッチを必要とするにすぎない場合がある。マッチングされているオントロジーが同じ基本オントロジーを使用している場合、完了した１−１マッチが可能である。例えば、
・有害事象報告オントロジーＡＥＲＯ
・アフリカ伝統医学オントロジーＡＴＭＯ
【０３６９】
両方とも標準的なＧａｌｅｎオントロジーに基づいているため、１−１マッチが期待されるだろう。
【０３７０】
対ごとのＭＶはセマンティックマッチャモジュールによって提供されるスコアに基づき、この例のためにＳｅｔ  Ｗ１＝１．０である。
【０３７１】
この第１のオントロジーの根で開始し、第２のオントロジーの根クラスで開始する各クラスを調べる。概念対のためにセマンティックマッチャモジュールを使用し見付けられた同一性がアラインメント（ＭＶＡＴ）の閾値マッチ値を超えるときにマッチが発生する。許容できるマッチが見付けられる場合、それは潜在的なアラインメントと呼ばれ、詳細はアラインメントマップに記録される。
【０３７２】
アラインメントマップは２つの概念を記録し、アラインメントＩｄ、最小マップＩｄ、アラインメントに関連付けられたあらゆるタグ、割り当てられているあらゆるＰＭＰ  Ｉｄ、任意の濃縮Ｉｄ、及び最終処理ステップＩｄを割り当てる。アライメントＩｄ上で関係付けられる別々のテーブルはステップごとにマッチ値を記憶する。これらの値は、所望される場合、手作業で無効にできる。
【０３７３】
アラインメントマップは、あらゆる既知のアラインメントにより事前にロードされてよい。これらはユーザタグ『ユーザ開始済み』でタグ付けされ、マッチ値は概して１．００に設定されなければならない。ただし、より低い値も可能である。『ユーザ開始済み』及びＭＶ＝１．００の組合せは、このアラインメントの追加の処理を妨げる。
【０３７４】
プロセスは、オブジェクトプロパティによる第１のオントロジーでのカレントクラスに関係する次のクラスまで続行する。カレントクラスのスーパークラスは最初に処理される。プログラムは、他のオブジェクトプロパティの前にインヘリタンスオブジェクトプロパティを処理する。カレントクラスのスーパークラスは、あらゆるサブクラスが調べられる前に処理される。ＭＶ＜ＭＶＡＴとのアラインメントが見付けられるとすぐに、プロセスは停止する。
【０３７５】
潜在的なアラインメントが識別されるたびに、それは最小マッピングセットに割り当てられ、最小マップＩｄ  ｍｍ＿ＩＤを与えられる。階層関連クラスが識別されると同じｍｍ＿ＩＤに追加される。このステップの終わりで、最小マッピングの基準を潜在的に満たすいくつかの最小マップが定義される。この累積マッチ値は続いて起こるステップごとに精緻化される。
【０３７６】
潜在的なＰＭＰの認識がつねに実行される。ＰＭＰ解決は、設定ファイルで要求される場合にだけ実行される。要求されない場合、潜在的なＰＭＰの認識は、アラインメントが情報メッセージとして実行され、累積統計報告書に追加される際に作成される活動ログに記録される。
【０３７７】
いくつかのインスタンスでは、両方のオントロジーとも推定上のオントロジーである可能性があるのでＰＭＰを解決するのは望ましくない場合があり、ＢＯＭ構造を保持することが望ましい場合がある。
【０３７８】
ＰＭＰ解決が要求された場合、次いでＰＭＰタグ付けが実行される。データプロパティ名は、以下のようなキーワードの存在について調べられる。
・オブジェクトプロパティ名は以下を含む。
‐タイプ
‐関係
‐クラス
‐概念
‐…
・データプロパティ名は以下を含む。
‐識別子
‐ＩＤ
‐キー
‐親
‐子
‐一次キー
‐外部キー
‐…
【０３７９】
これらのキーワードを含んだデータプロパティの存在は必ずしもＰＭＰを暗示しない。追加のアルゴリズムは確実となるために適用される必要がある。規格に応じてマップする任意の構造。
・ＥＲＡ図の『タイプ』テーブルは識別されなければならない。ユーザは、あるべきタイプテーブルの各行を選択しなければならない。
・『部品表』構造は識別され、適切なクラス構造に潜在的に拡大されなければならない。
【０３８０】
この段階で、各ＰＭＰに関与するクラスは『ＰＭＰ』としてタグ付けされ、同等なＢＯＭテーブルのセットごとにＰＭＰ−ｓｅｔ−Ｉｄｅｎｔｉｆｉｅｒ  ＰＭＰ０１、ＰＭＰ０２、．．．を与えられる。以下のより詳細に説明されるように、それらは後に解決される。各ＰＭＰクラスが識別されるにつれ、詳細がそのインスタンスがＰＭＰではないと決定してよいユーザに提示されてよい。
【０３８１】
ＭＶはこのステップについて計算されないため、ＭＶ２Ａ＝ＭＶ１Ａ＝０．５である。
【０３８２】
これに続き、オブジェクトプロパティ及び以前の各ステップからのアラインメント対と関連付けられたそれらの関係するクラスが分析される。このステップは、『構造分析』と呼ばれることがある。これは、以下を識別する。
・すべての関係するクラス及びオブジェクトプロパティの名前がマッチする場合、次いで対を『アンカーポイント』としてタグ付ける。ＭＶ＝１．０である。関係するクラスがすでにそこにない場合には、最小マップに関係するクラスを追加し、その最小マップの関係するクラスにステップ２データプロパティ分析を繰り返す。
・名前及び関係するスーパークラスがマッチするが、サブクラスのいずれもマッチしない場合、対に『考えられる兄弟』としてタグを付ける。ＭＶ＝０．３である。最小マップにスーパークラスを追加する。以下のマルチクラスマッピングに移動する。
・名前及び関係するスーパークラスがマッチするが、サブクラスのいくつかしかマッチしない場合、次いで対を『関連サブセット』としてタグを付ける。
・ＭＶは以下の通り計算される。
‐各マッチングサブクラスに２．０、及び他の各マッチング関係クラスに１．０の重みを割り当てる。
‐ＮＭにマッチする数字として、これらの重みを合計する。
‐各サブクラスに１．０、及びそれぞれの他の関係クラスに０．５を割り当てる。
‐合計数ＮＡとして両方のスーパークラスにわたってこれらの重みを合計する。
‐マッチ値  ＭＶ３＝ＮＭ／ＮＡ
・関係クラスがマッチしない場合には、ＭＶ３＝０．００１である。
・最小マップにＳｕｐｅｒクラスを追加する。以下のマルチクラスマッピングに移動する。
【０３８３】
対ごとに、以下のように累積重み付けマッチ値を計算する。
【数３】
2017513134.tif 000100
以下を仮定する。Ｗ３＝３
以前の例からＭＶ２Ａ＝０．５
オブジェクトプロパティマッチからＭＶ３＝１．０
次いで、
【数４】
2017513134.tif 000101
【０３８４】
これに続き、マッチングクラスのデータプロパティ（属性）が類似しているかどうかを分析するために、データプロパティ分析が実行される。クラスの対ごとに、分析は、
・正確な名前マッチがないＳｅｍＭａｔを使用し、クラスごとにデータプロパティを比較する。
・データプロパティに基づいて「マッチ値」（ＭＶ）を割り当てる。
・マッチタイプでアラインメント対にタグを付ける。最小マップの次の対を選択し、上記プロセスを繰り返す。最小マップの中にもはやアラインメントがない場合、次の最小マップに移動する。
【０３８５】
より詳細には、Ａ＝｛ａ１，ａ２，ａ３，．．．ａｉ｝が第１の概念のデータプロパティのセットであり、Ｂ＝｛ｂ１，ｂ２，ｂ３，．．．ｂｊ｝が第２の概念のデータプロパティのセットである場合、次いで以下の可能性が存在する。
・クラスのすべてのデータプロパティがマッチする。「正確なマッチ」としてタグを付ける。つまり、
【数５】
2017513134.tif 000102
マッチ値＝１．０００
・一方のオントロジーからのデータプロパティのサブセットは他方のオントロジーのすべてのデータプロパティにマッチする。「サブセット」としてタグ付けする。
つまり
【数６】
2017513134.tif 000103
又は
【数７】
2017513134.tif 000104
【数８】
2017513134.tif 000105
上式では、Ｎ（Ａ）は、（ＮＡ）＜Ｎ（Ｂ）を仮定したときの、Ａのデータプロパティの数である。
・一方のオントロジーからのデータプロパティのサブセットは他方のオントロジーのデータプロパティのサブセットにマッチする。「部分マッチ」としてタグを付ける。
つまり、
【数９】
2017513134.tif 000106
【数１０】
2017513134.tif 000107
上式では、Ｎ（Ａ）は以下を仮定したときのＡのＤａｔａプロパティの数である。
【数１１】
2017513134.tif 000108
・データプロパティがマッチしない。ＭＶ＝０．１であり、「名前のみ」としてタグ付けする。
つまり、
【数１２】
2017513134.tif 000109
【０３８６】
ＭＶが所定の閾値未満である場合（デフォルト＝０．１）、最小マップからそのマッチ対を廃棄し、次のマッチ対に進む。プロセスは、すべての最小マップが分析されるまで繰り返され、その点でマッチング値が計算される。
【数１３】
2017513134.tif 000110
以下を想定する。Ｗ４＝４
ＭＶ３Ａ＝０．８３３３３３
データプロパティマッチからＭＶ４＝１．０
次いで、
【数１４】
2017513134.tif 000111
【０３８７】
マルチクラスマッピングは、オントロジーのクラスが別のオントロジーのいくつかのサブクラスに分割されるとき、マルチクラスマッピングが発生する。係る場合、対が『考えられる兄弟』又は『マルチクラスマッピング』のどちら及び『サブセット』としてすでにタグ付けされているのが期待されるだろう。
【０３８８】
マルチクラスマッピングは、各オントロジーのクラス及びサブクラスの潜在的に関係するクラスのためにデータプロパティの数を分析することによって通常検出される。サブクラスを有さないオントロジークラスが、大部分のデータプロパティを有するサブクラスのデータプロパティを加えた、他方のオントロジーのクラスにほぼ等しいデータプロパティの数を有する場合、第２のオントロジーのクラスのサブクラスが第１のオントロジーのクラスに非正規化されることが推定される。
【０３８９】
以下の考えられるシナリオがある。
・一方のオントロジーの単一クラスのデータプロパティは、他方のオントロジーのクラス及び１つ又は複数のサブクラスでデータプロパティにマップする。
・クラス及びサブクラスのデータプロパティは、他方のオントロジーのクラス及びいくつかのサブクラスのデータプロパティにマッチする。
【０３９０】
第１の場合、データプロパティカウントは、第１のオントロジークラスのデータプロパティを、第２のオントロジーのクラス＋サブクラスから成る各対のデータプロパティとマッチさせることを検討することによって実行される。
【０３９１】
例えば、オントロジー１の企業は子がなく、オントロジー２に２つの子を有する。企業（１）のデータプロパティを企業＋上場企業（２）で分析することが、データプロパティの数がマッチするが、すべての意味はマッチしないことを示す場合。
【０３９２】
企業（Ａ）のデータプロパティを企業＋非上場企業（Ｂ）で分析することは、データプロパティの数及び意味の両方がマッチすることを示す。これは、『異なる正規化』としてタグを付けられ、マッチング値ＭＶ＝１．０を割り当てられることがある。
【０３９３】
上場企業及び非上場企業が兄弟であるため、上場企業がオントロジー２の濃縮であり、したがってそれは『エンリッチメント』としてタグを付け、マッチング値は二度、マッチングデータプロパティをデータプロパティの総数で除算することによって計算できる。
【数１５】
2017513134.tif 000112
上式では、Ｎ（）は、概念Ａ、Ｂ及びＡ∩Ｂのデータプロパティの数を生じせるための関数である。
【０３９４】
この方法は、２つのクラスが異なる数の子を有する状況に対して一般化できる。この状況は『可能なエンリッチメント』としてタグを付けることができ、関与する各クラスは単一の濃縮ＩＤを与えられる。
【０３９５】
マルチクラスマッピングの別のケースは、クラスが異なる方法で正規化されていたことである。例えば、車両クラスは（ＳＵＶ、セダン、クーペ、コンバーチブルとしてのサブクラスとなる、又はそれは製造メーカ（Ｃｉｔｒｏｅｎ、Ｐｅｕｇｅｏｔ、Ｆｉａｔ、Ｒｏｖｅｒ）によってサブクラス化できるだろう。したがって、２つの車両オントロジーはデータプロパティを異なる方法でパースするだろう。しかしながら、車両の属性は２つのオントロジーで同一であろう。
【０３９６】
一般的なケースでは、データプロパティのセットが２つのオントロジーからのサブクラスのセットに割り当てられ、サブクラスが各オントロジーで異なるが、これらのクラスを定義するデータプロパティのセットが同一又は非常に類似するどちらかである場合、定義されたサブクラス間には多対多のマッピングがある。これは、『可能なエンリッチメント』としてもタグ付けられ、関与する各クラスは単一の濃縮ＩＤを与えられる。
【０３９７】
このステップについてＭＶが計算されないため、ＭＶ５Ａ＝ＭＶ４Ａ＝０．９５８３である。
【０３９８】
ＰＭＰ解決は、テーブルに記憶される非正規化されたクラスを識別することによって推測上のオントロジーの追加クラスを識別することを含み、オントロジーが引き出されたオントロジーの主要な濃縮を生じさせる。
【０３９９】
各ＰＭＰ−ｓｅｔ−Ｉｄｅｎｔｉｆｉｅｒは、上述されたようにタイプ構造又はＢＯＭ構造へのそのマッチングを決定するために分析される。これらは、図１９Ａのマッチング構造関係性でオブジェクトプロパティだけをマップすることによって決定されるように、概して図１９Ａに示されるＥＲＡ図のなんらかの配置にマップする。データプロパティインスタンスから抽出されたクラスの例は、表１４〜１７に示される。
【０４００】
いったんマッピングが決定されると、ＢＯＭ構造で取り込まれる非正規化オントロジーを生成することは相対的に簡単なことである。この生成されたオントロジー構成要素は、次いで、上述されたクラスの意味論的意味に基づいて低レベルクラスマッチングのステップに戻ることによって合わせることができる。このステップで、ＢＯＭ分析から生成されるクラスが適切な最小マップに追加される。
【０４０１】
それは低レベルクラスマッチングのステップ及び新規に識別されたクラスのＭＶ値の再計算を生じさせるので、ＭＶはこのステップでは計算されない。
【０４０２】
この濃縮に続き、分析が実行され、マルチクラスマッピングプロセスで識別された各エンリッチメント＿ＩＤが２つのオントロジーからのサブクラスセットがマッチするか、それとも兄弟を含むのかを判断するために分析される。例えば、オントロジー１クラス組織はサブクラスクラブ及び企業を有する。オントロジー２は特殊法人、クラブ、及び企業を含む。特殊法人はオントロジー２で兄弟であるが、オントロジー１には表示されない。例えば、特殊法人が何にも合わないというよりむしろ、それをオントロジー１に対する濃縮として識別する方がよいだろう。
【０４０３】
濃縮を適用できる前に、特殊法人が、クラブ及び企業のデータプロパティを分析することによって、他方のサブクラスの１つに非正規化されたかどうかを判断することが必要であるだろう。
【０４０４】
クラスが兄弟として追加される基準を満たすと仮定すると、クラス及びサブクラスを含んだ最小マップがこの段階で同一であることを保証することが可能であるべきである。
【０４０５】
このステップには新しいＭＶは計算されない。各兄弟はそのカレントＭＶを保持する。このＭＶは、１．０のカレントＭＶを兄弟として識別された構成要素に割り当てることによって、小さい係数分、上昇させることができるだろう。
【０４０６】
いったんすべてのクラスが解決され、濃縮が完了されると、任意の主要な再構築はすでに発生したはずであり、したがって最小マップを分解できる。濃縮が上記の項で追加された場合、追加の再構築が発生した。これらの事実の両方とも、最小マッピングを改善するだろう。
【０４０７】
ＭＶ７＜ＭＶＡＴとのアラインメント、閾値は拒絶されるだろう。ＭＶＡＴはアラインメントのためのマッチ値閾値である。
【０４０８】
次のステップは、冗長性認識パターンを適用することであり、これにより各最小マップの中で、冗長性、非一貫性、及び小前提が決定される。これは、上述のステップによって大部分はすでに実行されている。
【０４０９】
いったん最小マップが完全に処理されると、それはＲＤＦトリプルのセットとしてそのクラスとともに記録される。
【０４１０】
最後に、最小マップは、上記に生成されたＲＤＦトリプルにクエリーを行うことによって、単一のマップの中に組み入れられなければならない。これは、受け入れ可能な閾値値とのアラインメントが見付けられたすべてのクラスのマップとなる。合わされていないアイテムがある場合がある。
【０４１１】
累積マッチング数式を使用すると、最終マッチ値ＭＶ８＝０．９３７５である。
【０４１２】
線形マッチング数式ＭＶ＝（１＊．５＋２＊１＋３＊１）／（１＋２＋３）＝５．５／６＝０．９１６７である。
【０４１３】
例のアラインメントインデックスは、上述されたオントロジー例のアラインメントマップを示す表１８に示される。結果は、多様なアルゴリズムの効果を強調するために、アラインメント対及びステップ番号ごとに順番に配列されている。実際には、それらは
シーケンス（列１）で実行されるだろう。
【表１８】
2017513134.tif 000113
2017513134.tif 000114
2017513134.tif 000115
【０４１４】
マージプロセスは、次いでマージされたオントロジー１９０６を生じさせるために実行できる。ただし、これは任意選択であり、好ましい実装による。ユーザがオントロジーをマージすることを決定する場合、次いで以下を含んだいくつかの決定を下す必要がある。
・マージされたオントロジーがオントロジー２の中へのオントロジー１であるのか、それとも逆であるのか、又はマージされたオントロジーが新しいＵＲＩを与えられるのかどうかを判断する。これらのケースは、図１９Ｄ及び図１９Ｅに図式で示される。
・ＭＶＭＴをマージのためのマッチ値閾値として選択する。実際には合わない関係クラスを含む場合があるので、概して、ＭＶＭＴはＭＶＡＴよりも低いだろう。
・クラスがマージされない場合、次いでマージされたオントロジーにはクラスの両方とも含まれるべきか、クラスのどちらも含まれてはならないのか、それともクラスの内の一方だけが含まれるべきかに関して決定が必要とされる。これは規則として、又は「尋ねる」として指定でき、その場合、マージプロセスは、ユーザがアクションを決定できるようにするために休止するだろう。
・アラインメントがなかったクラスはマージされたオントロジーに追加されるべきだろうか。例えば、オントロジー１がクラスＡ、Ｂ、及びクラスＢ，Ｃのオントロジー２から成り、ここでＢが合わされているクラスのセットである場合には、マージされたオントロジーはＡ、Ｂ、Ｃ、又はＡ、Ｂ、又はＢ、Ｃ、又は単にＢとなるべきか。
【０４１５】
いったんマージパラメータが決定されると、２つのオントロジーのクラス、データプロパティ、及びオブジェクトプロパティをマージすることは簡単なことである。
【０４１６】
あらゆるデータプロパティインスタンスは、特別の定めのない限り、その元のＵＲＩを保持するだろう。したがって、合わせられたクラスが各オントロジーにインスタンスデータを有する場合、次いで単一のマージされたクラスは両方のオントロジーからのインスタンスを含むだろう。
【０４１７】
一般に、アライナモジュールとのユーザ対話は、アラインメントプロセスを制御するためだろう。
【０４１８】
第１のステップは、アラインメント及びマージで使用されるパラメータを指定する設定ファイルをロードすることである。設定できるいくつかのメタデータパラメータがある。これらは、以下を含む。
・合わせられるオントロジーのＵＲＩ
・アラインメントマップを記憶するための場所
・マージされたオントロジーを記憶するための場所
・ＭＶＡＴを合わせるためのマッチ値閾値
・ＭＶＭＴをマージするためのマッチ値閾値
・低レベルクラスマッチング中に同一性を受け入れるためのマッチ品質
・任意選択で、アライメントテーブルに既知のアラインメントを事前にロードする
・各分析ステップで適用される重み。これらは機械学習アルゴリズムによって決定されるだろう。
・マージに対するユーザ入力を可能にするために、マージ中にプロセスを休止するかどうか
・最大ランタイム
・エラー及びログメッセージの冗長
・その他。
【０４１９】
ユーザは次いでプロセスを実行又は予定する。ユーザ入力のための休止が指定されていた場合、要求されると、及び典型的にはブラウザモジュールによって表示される画面を介して提供されると、ユーザは入力を提供する。
【０４２０】
プロセスの完了時、ユーザは以下を調べる。
・以下の統計を示す、作成された報告書
‐各オントロジーの入力クラスの数
‐合わせられたクラスの数
‐識別されたＰＭＰの数
‐拡大されたＰＭＰの数
‐ＰＭＰから拡大されたクラスの数
‐ＰＭＰから拡大されたデータプロパティインスタンスの数
‐最大マッチ値及び最小マッチ値
‐マージされたクラスの数
‐マージされたオントロジーのクラスの数
‐マージされたオントロジーのデータインスタンスの数
‐他
・エラーメッセージ、警告メッセージ、及び情報メッセージを評価するためのランタイムログ
【０４２１】
この情報に基づいて、ユーザはアラインメントを受け入れる又はマージする又は設定パラメータのいくらかを変化し、プロセスをスケジューリングし直すことを決定する。
【０４２２】
したがって、上述されたプロセスは、ユーザがオントロジーと対話して、オントロジーをブラウズすること、切り詰めること、及び合わせることを含んださまざまなタスクを実行できるようにする。これらのプロセスは、さまざまなモジュールを使用し、ソースデータストアとターゲットデータストアとの間でのコンテンツの転送を容易にするために、ソースデータ構造及びターゲットデータ構造をマップする際に同様に使用できる、推測上のオントロジー及び様式化オントロジーを含んだオントロジー間のマッピングを決定するような動作を実行できるようにする。
【０４２３】
明細書及び続く特許請求の範囲を通して、文脈上他の意味に解釈すべき場合を除いて、単語「含む」及び「含む」又は「含んでいる」などの変形は、記載されている整数又は整数のグループ又はステップの包含であるが、任意の他の整数又は整数のグループの排除を暗示しないと理解される。
【０４２４】
当業者は、多数の変形形態及び修正形態が明らかになることを理解する。当業者にとって明らかになるすべての係る変形形態及び修正形態は、本発明が説明される前に広く表示される精神及び範囲内であるとみなされるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オントロジーを使用しマッピングを生成する際に使用するための装置であって、前記装置が、
それぞれのオントロジー用語を有するオントロジーを決定し、
前記オントロジーの少なくとも１つからオントロジー用語のグループを決定し、
前記オントロジー用語のグループの少なくともいくつかについて前記オントロジーのオントロジー用語間でアラインメントを決定し、前記アラインメントが前記オントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定し、
前記アラインメントに従ってマッピングを生成する、少なくとも１つの電子処理装置を含み、
前記オントロジー用語意味がいくつかの潜在的なオントロジー用語とオントロジー用語を比較し、各比較の結果のためにマッチングスコアを生成することによって決定され、前記オントロジー用語意味が前記マッチングスコアを決定する、装置。
【請求項２】
前記オントロジー用語意味がＲＤＦトリプルのセットに変換され、ＲＤＦトリプルのそのセットが潜在的なオントロジー用語のための他のＲＤＦトリプルのセットと比較され、前記比較のためのマッチングスコアを生成し、前記マッチングスコアが前記オントロジー用語意味間の関係性の性質を決定し、それによって前記用語間のセマンティックマッチングを可能にする、請求項１に記載の装置。
【請求項３】
前記マッピングが、
マージされたオントロジーと、
アラインメントインデックスと、
の少なくとも１つである、請求項１又は２に記載の装置。
【請求項４】
前記オントロジーが、
推測上のオントロジーと、
様式化オントロジーと、
を含む、請求項１又は２に記載の装置。
【請求項５】
前記電子処理装置が様式化オントロジーに推測上のオントロジーをマップするためにマッピングを生成する、請求項４に記載の装置。
【請求項６】
前記マッピングが、いくつかのソースデータフィールドを含んだソースデータ構造を有するソースデータストアからいくつかのターゲットデータフィールドを含んだターゲットデータ構造を有するターゲットデータストアにコンテンツを転送する際に使用され、前記オントロジーが前記ソースデータ構造及び前記ターゲットデータ構造に関連付けられ、前記電子処理装置が前記マッピングを使用し、前記ソースデータフィールドと前記ターゲットデータフィールドとの間でコンテンツを転送する、請求項１又は２に記載の装置。
【請求項７】
前記オントロジーが前記ソースデータ構造に関連付けられたソースオントロジー及び前記ターゲットデータ構造に関連付けられたターゲットオントロジーを含む、請求項６に記載の装置。
【請求項８】
前記ソースオントロジー及び前記ターゲットオントロジーが推測上のオントロジーであり、前記ソースオントロジー及び前記ターゲットオントロジーが１つ又は複数の様式化オントロジーにマップされる、請求項７に記載の装置。
【請求項９】
前記電子処理装置が、
推測上のオントロジーを生成することと、
いくつかの既存のオントロジーの１つを選択することと、
によってオントロジーを決定する、請求項１又は２に記載の装置。
【請求項１０】
前記電子処理装置が、
データ構造と関連付けられたメタデータと、
データ構造のデータフィールドと、
の少なくとも１つを使用し、オントロジーを選択する、請求項９に記載の装置。
【請求項１１】
前記電子処理装置が、
いくつかの既存のオントロジーのオントロジー用語とデータフィールドを比較することと、
前記比較の結果に従っていくつかの既存のオントロジーの１つを選択することと、
によって、前記いくつかの既存のオントロジーの１つを選択する、請求項１０に記載の装置。
【請求項１２】
前記電子処理装置が、
データベーススキーマのテーブルを識別することと、
各テーブルに対応するオントロジー用語を作成することと、
少なくとも１つの部品表テーブルを識別することと、
前記部品表テーブルの各エントリに対応するオントロジー用語を作成することと、
によって前記データベーススキーマから推測上のオントロジーを生成する、請求項９に記載の装置。
【請求項１３】
前記電子処理装置が、
前記部品表テーブルの各エントリに対応する前記オントロジー用語の表示を表示することと、
ユーザ入力コマンドに応じて推測上のオントロジーに前記オントロジー用語を追加することと、
によってデータベーススキーマから前記推測上のオントロジーを生成する、請求項１０に記載の装置。
【請求項１４】
前記電子処理装置が、前記データベーススキーマによって定義されたテーブル構造を使用し、オントロジー用語間の関係性を生成する、請求項１０に記載の装置。
【請求項１５】
前記推測上のオントロジーが、
オントロジー用語に対応するクラスと、
前記クラスの少なくともいくつかのデータプロパティと、
クラス間の関係性を定義するオブジェクトプロパティと、
を含む、請求項９に記載の装置。
【請求項１６】
前記電子処理装置が、
少なくとも１つのオントロジーにインデックスを決定し、前記インデックスが前記少なくとも１つのオントロジーのオントロジー用語の表示を含み、
前記インデックスを使用して、
オントロジー用語のグループと、
オントロジー用語間のアラインメントと、
を決定する、請求項１又は２に記載の装置。
【請求項１７】
オントロジー用語ごとに、前記インデックスが、
オントロジー用語意味と、
オントロジー用語タイプと、
の表示を含む、請求項１６に記載の装置。
【請求項１８】
前記電子処理装置は、オントロジー用語ごとに、
オントロジー用語名を識別することと、
オントロジー用語タイプを識別することと、
セマンティックマッチングプロセスを使用し、各オントロジー用語のオントロジー意味を識別することと、
前記オントロジー用語名、前記オントロジー用語タイプ、及び前記オントロジー用語意味の表示を含んだインデックスエントリを作成することと、
によってインデックスを生成する、請求項１６に記載の装置。
【請求項１９】
前記電子処理装置が複数のオントロジーのために単一のインデックスを生成し、前記インデックスエントリが前記オントロジー用語に関連付けられた前記オントロジーの表示を含む、請求項１６に記載の装置。
【請求項２０】
前記電子処理装置が、
オントロジーに１つ又は複数のオントロジー用語の表示を表示し、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語を識別し、及び
少なくとも１つの識別されたオントロジー用語と、
前記少なくとも１つの識別されたオントロジー用語と関連付けられたデータプロパティと、
の少なくとも１つの詳細を表示する、請求項１又は２に記載の装置。
【請求項２１】
前記電子処理装置が、インデックスを使用し、前記１つ又は複数のオントロジー用語の表示を決定する、請求項２０に記載の装置。
【請求項２２】
前記電子処理装置が、
ユーザ入力コマンドに応じて、ユーザによって選択されたオントロジー用語及び対応するユーザによって選択されたデータプロパティを決定し、
前記ユーザによって選択されたオントロジー用語及び前記対応するユーザによって選択されたデータプロパティに従って実行可能なコードを生成し、前記実行可能なコードが、コンピュータシステムでの実行時、前記コンピュータシステムに、ユーザがデータ構造を有するデータストアに記憶されたコンテンツと対話できるようにするためのユーザインタフェースを表示させ、前記コンテンツが前記ユーザによって選択されたオントロジー用語に対応するデータフィールドに記憶される、請求項２０に記載の装置。
【請求項２３】
前記実行可能なコードが、前記コンピュータシステムにソースオントロジー又はターゲットオントロジーに従ってソースデータ構造又はターゲットデータ構造に記憶されたデータと対話するためのクエリーを生成させる、請求項２２に記載の装置。
【請求項２４】
前記実行可能なコードが、前記コンピュータシステムにデータプロパティ及びオントロジーのユーザによって選択されたオントロジー用語間の関係性の少なくとも１つに従ってクエリーを生成させる、請求項２２に記載の装置。
【請求項２５】
前記実行可能なコードが、前記コンピュータシステムに、
１つ又は複数のオントロジー用語の表示を表示させ、
ユーザ入力コマンドに応じて少なくとも１つのオントロジー用語の選択を決定させ、
前記選択されたオントロジー用語と関連付けられたデータフィールドに記憶されたデータにクエリーを行わせる、請求項２２に記載の装置。
【請求項２６】
前記電子処理装置が、
いくつかの潜在的なオントロジー用語意味とオントロジー用語を比較し、
前記比較の結果に従って前記オントロジー用語意味として前記潜在的なオントロジー用語意味の１つを選択する、請求項１又は２に記載の装置。
【請求項２７】
前記電子処理装置が、潜在的なオントロジー用語意味が、
同義語、
反意語、
部分語、
スーパークラス、及び
サブクラス
の少なくとも１つであるかどうかを判断する、請求項２６に記載の装置。
【請求項２８】
前記電子処理装置が、インデックスに前記オントロジー用語意味の表示を記憶し、前記表示が、
定義された意味を示す識別子、及び
同等の意味のリスト
の少なくとも１つを含む、請求項２６に記載の装置。
【請求項２９】
前記電子処理装置が、
いくつかのオントロジー用語のオントロジー用語意味を比較することと、
各比較の結果にマッチングスコアを生成することと、
前記マッチングスコアに従ってアラインメントを決定することと、
によってオントロジー用語間のアラインメントを決定する、請求項１又は２に記載の装置。
【請求項３０】
前記電子処理装置が、
オントロジー用語間の関係性、及び
前記オントロジー用語のデータプロパティ
の少なくとも１つに基づいて前記アラインメントをさらに決定する、請求項９に記載の装置。
【請求項３１】
前記電子処理装置が、
ソースオントロジーのソースオントロジー用語間の関係性を決定し、
ターゲットオントロジーのターゲットオントロジー用語間の関係性を決定し、
前記関係性を比較し、
前記比較の結果に従って前記アラインメントを決定する、請求項２９に記載の装置。
【請求項３２】
前記電子処理装置が、ソースオントロジーからの１つ又は複数のソースオントロジー用語とターゲットオントロジーからの１つ又は複数のターゲットオントロジー用語との間のアラインメントを決定する、請求項２９に記載の装置。
【請求項３３】
前記電子処理装置が、
選択されたオントロジー用語を決定することと、
前記選択されたオントロジー用語及び前記選択されたオントロジー用語の関係性に少なくとも部分的に従ってオントロジー用語のグループを決定することと、
によってオントロジー用語のグループを決定する、請求項１又は２に記載の装置。
【請求項３４】
前記電子処理装置が、
選択されたオントロジー用語ごとに、いくつかの異なるタイプの関係性のそれぞれに定義された関係性経路長の中でオントロジー用語を識別することと、
前記オントロジー用語のグループに識別されたオントロジー用語を追加することと、
によって、関係するオントロジー用語を決定する、請求項３３に記載の装置。
【請求項３５】
前記電子処理装置が、すべての選択されたオントロジー用語が関係性によって接続されるまで識別されたオントロジー用語を繰り返し追加する、請求項３４に記載の装置。
【請求項３６】
前記電子処理装置が異なるタイプの関係性に異なる関係性経路長を使用する、請求項３３に記載の装置。
【請求項３７】
前記電子処理装置が、ユーザ入力コマンドに従って関係性経路長を決定する、請求項３６に記載の装置。
【請求項３８】
前記装置が、
オントロジーのオントロジー用語を示すインデックスを生成するインデクサモジュールと、
オントロジーのオントロジー用語のブラウズを可能にし、前記オントロジーの少なくとも部分を具現化するコードを生成し、それによってユーザが前記オントロジーに従ってデータ構造に記憶されたデータと対話できるようにするブラウザモジュールと、
オントロジー用語異なるオントロジー間でアラインメントを決定するアライナモジュールと、
前記オントロジー用語間の関係性を少なくとも部分的に使用し、少なくとも１つのオントロジーの中でオントロジー用語のグループを決定するプルーナモジュールと、
オントロジー用語意味を識別するセマンティックマッチャモジュールと、
を含む、請求項１又は２に記載の装置。
【請求項３９】
オントロジーを使用し、マッピングを生成する際に使用するための方法であって、前記方法は、少なくとも１つの電子処理装置において、
それぞれのオントロジー用語を有するオントロジーを決定することと、
前記オントロジーの少なくとも１つからオントロジー用語のグループを決定することと、
前記オントロジー用語のグループの少なくともいくつかのために前記オントロジーのオントロジー用語間のアラインメントを決定することであって、前記アラインメントが前記オントロジー用語のオントロジー用語意味に少なくとも部分的に従って決定される、前記オントロジーのオントロジー用語間のアラインメントを決定することと、
前記アラインメントに従ってマッピングを生成することと、
を含み、
前記オントロジー用語意味がいくつかの潜在的なオントロジー用語とオントロジー用語を比較し、各比較の結果のためにマッチングスコアを生成することによって決定され、前記オントロジー用語意味が前記マッチングスコアを決定する、方法。
【請求項４０】
請求項１乃至３８のいずれか一項に記載の装置を使用し、作り出されるオントロジーを使用するマッピング。
【請求項４１】
請求項１１に記載の装置によって作り出される推測上のオントロジー。
【国際調査報告】
2017513134.tif 000116
2017513134.tif 000117
2017513134.tif 000118