(57)【要約】用語と、OWLドキュメントに表される複数の対の該用語間の関連性とを特定するオントロジーデータがデータベースに記憶されており、該オントロジーデータを識別し、かつ2つの入力用語間の規定の関連性をさらに特定する意味的照合演算子を含むデータベース照会が形成され、該照会が実行されて該意味的照合演算子を呼び出して、該2つの入力用語が該規定の関連性によって関連付けられているか否かを、該オントロジーデータを調べることによって判断する、リレーショナルデータベースにおいてデータを処理するための方法。2008510223.tif 000007
2008510223.tif 000002
【特許請求の範囲】
【請求項１】
以下の工程を組み合わせて含む、リレーショナルデータベースに記憶されたデータを処理するための方法:
用語および複数の対の該用語間の関連性を特定するオントロジーデータを記憶する工程；
該オントロジーデータを識別し、さらに2つの入力用語間の規定の関連性を特定する意味的照合演算子を含むデータベース照会を形成する工程；および
該照会を実行して、該意味的照合演算子を呼び出して、該2つの入力用語が該規定の関連性によって関連付けられているか否かを、該オントロジーデータを調べることによって判断する工程。
【請求項２】
オントロジーデータが複数の対の用語間の異なるタイプの関連性を特定し、意味的照合演算子がさらに、選択されたデータおよび用語値間に存在するはずの関連性のタイプを特定する、請求項1記載のリレーショナルデータベースに記憶されたデータを処理するための方法。
【請求項３】
オントロジーデータがオントロジー名称値によって識別され、意味的照合演算子が該オントロジー名称値を使用して該オントロジーデータを特定する、請求項2記載のリレーショナルデータベースに記憶されたデータを処理するための方法。
【請求項４】
以下の工程を含む、データ値が、オントロジーデータで定義された引数値に対する関連性を有する、リレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されたターゲットデータ値を識別するための方法:
該オントロジーデータを調べて、該ターゲットデータ値が該引数値に関連付けられているか否かを判断することによって、該ターゲットデータ値を識別するために呼び出される意味的照合演算子の識別を含むSQL照会ステートメントを形成および実行する工程。
【請求項５】
意味的照合演算子の識別が、リレーショナルデータベースによって用いられる既存のSQL構文を拡張するユーザ定義演算子である、請求項4記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されるターゲットデータ値を識別するための方法。
【請求項６】
SQL照会ステートメントがさらに一つまたは複数の選択された列の識別を含む、請求項4記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されたターゲットデータ値を識別するための方法。
【請求項７】
意味的照合演算子が、オントロジーデータを調べることによって、一つまたは複数の選択された列のデータ値を引数値と照合するために呼び出される、請求項6記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されるターゲットデータ値を識別するための方法。
【請求項８】
オントロジーデータが、データ値および引数値間の異なるタイプの関連性を特定し、意味的照合演算子がさらに、選択されたデータおよび用語値間に存在するはずの関連性のタイプを特定する、請求項4記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されたターゲットデータ値を識別するための方法。
【請求項９】
異なるタイプの関連性の少なくとも一部が推移性であり、意味的照合演算子が、推移性関連性によって接続された推移性経路を検索するために呼び出される、請求項8記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されたターゲットデータ値を識別するための方法。
【請求項１０】
意味的照合演算子がさらに、推移性経路を測定することによって、データ値がどの程度緊密に引数値に関連付けられているかを計算する、請求項9記載のリレーショナルデータベースにおいて選択されたテーブルの一つまたは複数の選択された列に記憶されたターゲットデータ値を識別するための方法。
【請求項１１】
以下の工程を組み合わせて含む、構造化照会言語ステートメントによって定義されたリレーショナルデータベース照会の実行中にオントロジーベースの照合動作を実行するための方法:
2つの入力用語が、具体的なオントロジーデータによって定義されるような具体的なタイプの関連性によって関連付けられているか否かを判断する意味的照合演算子を作成して、該リレーショナルデータベースに記憶する工程；および
該意味的照合演算子の識別を含む該構造化照会言語で表される照会を構築して実行する工程。
【請求項１２】
オントロジーデータが複数の対の用語間の異なるタイプの関連性を特定し、意味的照合演算子の識別がさらに2つの入力用語間に存在するはずの関連性のタイプを特定する、請求項11記載のオントロジーベースの照合動作を実行するための方法。
【請求項１３】
異なるタイプの関連性の少なくとも一部が、各々が1つの用語および一つまたは複数の他の用語間の関連性を特定するプロパティであり、意味的照合演算子が該プロパティのうちの1つを特定する、請求項12記載のオントロジーベースの照合動作を実行するための方法。
【請求項１４】
オントロジーデータがさらに、プロパティのうちの少なくとも1つが該プロパティのうちの別のもののサブプロパティであると特定し、意味的照合演算子が識別されたプロパティのサブプロパティであるプロパティを特定する、請求項13記載のオントロジーベースの照合動作を実行するための方法。
【請求項１５】
プロパティが推移性関連性を定義し、意味的照合演算子が実行されると該推移性関連性に基づいて新たな関連性を推論する、請求項14記載のオントロジーベースの照合動作を実行するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リレーショナルデータベース管理システム（RDBMS）においてオントロジーデータを記憶および処理するための方法および装置に関する。
【背景技術】
【０００２】
ある1つの用語が異なる文脈において異なる意味を有することがしばしばある。用語「マウス」は、ある文脈では1種の動物を、または別の文脈ではコンピュータ入力デバイスを表すことがある。用語「テレビ」および「テレビジョン」のように、異なる用語が同じ事柄を意味することもある。また用語同士が特別な方法で関連していることもある。例えば、「プードル」は常に「犬」であるが、「犬」は必ずしも「プードル」ではない。
【０００３】
人は、用語が使用されている文脈を理解することによって言語の曖昧性に対処することを学習する。コンピュータは、用語およびその相関性を表す「オントロジー」と称されるデータ構造を調べることによって同じ事柄を実行するようにプログラミングされることが可能である。
【０００４】
データ処理動作は通常、1つの用語を別のものと照合することを必要とする。ある1つの用語は異なる文脈で異なる意味を有することがあり、また異なる用語が同じ事柄を意味することもあるため、等価性に関する2つの値を単にテストすることではしばしば十分でない。例えば、ユーザの好みに基づいてユーザにレストランを薦めるコンピュータ化されたレストランガイドアプリケーションについて考えてみよう。このようなアプリケーションは、1列目のID番号「R_id」と、2列目の、「Cuisine」と称される、レストランが提供する料理の種類とによって各レストランを識別する「served_food」と称されるデータベーステーブルを用いることがある。意味的照合がない場合、ユーザがラテンアメリカ料理を出すレストランを識別したい場合、従来のデータベースアプリケーションは、以下のSQL SELECTステートメントによって示されるような等化演算子を使用する構文照合照会をほぼ用いる。
【０００５】
SELECT＊FROM served_food WHERE cuisine＝‘Latin American'
【０００６】
しかしこの照会は「メキシカン(Mexican)」、「スパニッシュ(Spansh)」あるいは「ポルトガル(Portuguese)」料理を出すと列挙されているレストランを識別せず、これは、これらの用語はどれも、照会に使用されている「ラテンアメリカン(Latin American)」という用語と同一でないからである。
【０００７】
用語の意味を考慮する意味的照合を実行することによって、より意味のある結果が得られる。このために、照合プロセスは、用語「ラテンアメリカン」が、用語「メキシカン」、「スパニッシュ」および「ポルトガル」によって識別されたより具体的な料理タイプを包含していることを示す図1に図示されているようなオントロジーを調べることができる。
【０００８】
従来のデータベースシステムで一般的に使用されている等化動作はデータタイプの構造に基づいた照合を見込んでいるだけであり、特定のドメインに関する意味論を考慮していない。意味論的意味は、このドメインと関連付けられた一つまたは複数のオントロジーによって特定されることが可能である。最近では、オントロジーを取り扱う機構が意味ウェブの文脈に関して広く注目されている。例えば、"The Semantic Web" by T.Berners-Lee、J.Hendler and O.Lassila in Scientific American, May, 2001（非特許文献１）を参照のこと。オントロジーを構築しかつ使用するためのツールが利用可能になり、また例えば（1）"Industrial Strength Ontology Management"の"OntologyBuilder and OntologyServer from VerticalNet" A.Das、W.Wu and D.McGuinness、The Emerging Semantic Web, IOS Press, 2002（非特許文献２）、および（2）"A Conceptual Modeling Approach for Semantics-Driven Enterprise Applications"の"KAON"、B.Motik、A.Maedche and R.Volz、Proceedings of the 2002 Confederated Int.Conferences DOA/CoopIS/ODBASE, 2002に記載されたKAON（非特許文献３）を含む。これらのツールによってオントロジーはリレーショナルデータベースに記憶されることが可能になり、またオントロジーにアクセスしこれを操作するための手続き型API（アプリケーションプログラムインタフェース）を提供している。しかしながら、オントロジーベースの意味的照合をアプリケーションに組み込むために、ユーザは、提供されたAPIを利用してまずオントロジーに照会してから、APIによる結果をデータベーステーブルの照会と結合させる必要があり、このプロセスはユーザにとって煩雑であり、さらなる処理を必要とする。
【０００９】
オントロジーのフォーマルな仕様は、ターゲットドメインに関する情報をアプリケーションコードの残りから分離することによってアプリケーションを構築することを容易にする。この分離は実質的にアプリケーションコードを簡略化し、オントロジーによって表された情報を複数のアプリケーション間で共有することをさらに容易にし、またこの情報が、アプリケーションへの変更を必要とせずに、拡張または補正されることを可能にする。
【００１０】
広く使用されているリレーショナルデータベースシステムはオントロジーを利用して結果の改善を提供しなければならない。しかしながら、これを達成するために、RDBMSの既存の性能は、リレーショナルデータベース管理システム（RDBMS）におけるオントロジーベースの意味的照合をサポートするために拡張されなければならず、またこれらの拡張性能は、すでにデータベースユーザによく知られている既存の実行と矛盾しない方法で使用可能にされなければならない。
【００１１】
【非特許文献１】"The Semantic Web" by T.Berners-Lee、J.Hendler and O.Lassila in Scientific American, May, 2001
【非特許文献２】"Industrial Strength Ontology Management"の"OntologyBuilder and OntologyServer from VerticalNet" A.Das、W.Wu and D.McGuinness、The Emerging Semantic Web, IOS Press, 2002
【非特許文献３】"A Conceptual Modeling Approach for Semantics-Driven Enterprise Applications"の"KAON"、B.Motik、A.Maedche and R.Volz、Proceedings of the 2002 Confederated Int.Conferences DOA/CoopIS/ODBASE, 2002
【発明の開示】
【００１２】
発明の概要
本発明の好ましい態様は、ONT_RELATED、ONT_EXPAND、ONT_DISTANCEおよびONT_PATHと称される1セットの新たなSQL演算子を導入してオントロジーベースの意味的照合を実行することによって、既存のリレーショナルデータベース管理システムの性能を拡張する。これらの演算子によってデータベースユーザはオントロジーデータを参照することができ、SQLステートメントを直接使用することは、意味ベースの照合を実行しつつ、これらの意味的照合演算子を統合などの他の従来のSQL動作と結合させて、SQLの完全な表現力を利用することができる。本発明によって想定されている意味的照合演算子は、新たな効率的オントロジーベースのアプリケーションを開発しやすくし、また既存のRDBMSアプリケーションを容易に拡張し、意味的照合の利点を得ることを可能にする。
【００１３】
ONT_RELATED演算子はオントロジーベースの意味的照合を実行し、「ONT_RELATED（term1、reltype、term2、ontology）」の形態の表現を使用してSQLステートメント内で表現される。
【００１４】
ONT_RELATED演算子は、実行されると、オントロジーを調べることによって、2つの入力用語（term1およびterm2）が具体的な入力関連性タイプ「reltype」によって関連付けられるか否かを判断する。
【００１５】
意味的照合演算子を含有する照会を実行する前に、具体的なオントロジーはデータベースに登録されて、システム定義テーブルにマッピングされる。
【００１６】
2つの補助演算子、ONT_DISTANCEおよびONT_PATHが、識別されている一致した行のさらなる測定、つまり最短距離および最短経路をそれぞれ判断するために用いられる。これらの演算子は、具体的なオントロジーで最も一致した用語を識別する。ONT_DISTANCE_ALLおよびONT_PATH_ALLと称される2つのさらなる補助演算子は、オントロジーで識別される全ての照合用語についてそれぞれ距離測定を戻し、かつ経路指定する。
【００１７】
ONT_EXPAND（term1、reltype、term2、ontology）の形態で表されたONT_EXPANDと称される演算子はオントロジーデータに直接アクセスするために用いられる。この演算子は、具体的なオントロジーの具体的な関連性（reltype）に基づいて（term1、term2）の推移閉包を計算する。
【００１８】
term1、reltypeおよびterm2は具体的な入力値またはNULL値のいずれかを有する可能性がある。NULLは全ての可能な値を意味している。例えば、ONT_EXPAND(NULL,‘IS_A',‘Vehicle')は、‘IS_A'関連性によって用語「Vehicle」に関連付けられた全ての用語を生成することになる。
【００１９】
以下の詳細な説明において、添付の図面をしばしば参照することになる。
【００２０】
詳細な説明
1.序論
本発明は、リレーショナルデータベース管理システム（RDBMS）に記憶されているデータに対してオントロジーベースの意味的照合を実行するための1セットのSQL（構造化照会言語）演算子を用いる。これらのSQL演算子は好ましくは、データベースによって用いられている既存のSQL構文に対する拡張子の形態をとり、ロバストデータベースシステムで通常使用可能なデータベース拡張性能（つまり、ユーザ定義演算子、ユーザ定義インデックス化スキームおよびテーブル関数を定義する性能）によって実現されてもよい。
【００２１】
後述の本発明の具体的な態様は、データベースのOracleファミリーで使用されている既存のSQL構文上で実現されてきた。Oracle SQL言語およびその構文に関する詳細な情報は、Oracle Corporationから入手可能なOracle 8i SQL参照にみることができる。この参照は、Oracleデータベースにおいて情報を管理するために使用される構造化照会言語（SQL）の完全な記述を含む。Oracle SQLは、the American National Standards Institute（ANSI）およびthe International Standards Organization（ISO）SQL92 standardの上位集合である。好ましい態様は、情報をOWLドキュメントから抽出して、この情報をスキーマに記憶することによって、ウェブオントロジー言語（OWL［OWL Web Ontology Language Reference（http://www.w3.org/TR/owl-refでワールドワイドウェブ上で使用可能）、具体的にはOWL LiteおよびOWL DL）で特定されているオントロジーをサポートする。
【００２２】
好ましい態様で用いられているオントロジーベースの演算子およびインデックス化スキームは、J.Srinivasan、R.Murthy、S.Sundara、N.AgarwalおよびS.DeFazioによって、「Extensible Indexing:A Framework for Integrating Domain-Specific Indexing into Oracle8i」、Proceedings of the 16th International Conference on Data Engineering,pages 91-100,2000に説明されているように、Oracle's Extensibility Frameworkを使用する。具体的には、ONT_RELATED、ONT_DISTANCEおよびONT_PATH演算子がユーザ定義演算子として実現され、ONT_EXPANDがテーブル関数として実現される。演算子の実現は一般的に、推移閉包の計算を必要とし、これは、CONNECT BY節を具備する照会を使用してOracle SQLで実行される。インデックス化はユーザ定義インデックス化スキームとして実現される。オントロジーベースの関数はOracle RDBMSに関して後述されるが、これらの関数は、Oracle RDBMSによって提供された同一の基本性能をサポートする任意のRDBMSでサポート可能である。
【００２３】
オントロジーベースの照合および関連機能が実現される様子を詳細に検討する前に、これらの演算子が、上記の背景のセクションに示されたレストランガイドアプリケーションに必要な意味的照合の種類を提供するのに使用される様子を最初に検討するのが有用である。ラテンアメリカ料理を出すレストランに関するserved_foodデータベーステーブルを検索するために、以下のSELECTステートメントが使用されることがある。
【００２４】
SELECT＊FROM served_food WHERE ONT_RELATED（Cusine,‘IS_A',‘Latin American',‘Cuisine_ontology'）＝1
【００２５】
上記ステートメントのONT_RELATED演算子は2つの入力用語と、テーブルserved_foodのCuisine列からの値とストリング引数‘Latin American'とを評価する。ONT_RELATED演算子は、（図1に図示された）2つの用語の意味について具体的なオントロジー‘Cuisine_ontology'を調べる。演算子が、2つの入力用語が入力関連性タイプ引数‘IS_A'によって関連付けられているとオントロジーによって判断すると、1（真）に戻り、そうでなければ0（偽）に戻る。従って照会は、具体的なオントロジーおよび文脈における‘IS_A'関連性に基づいて‘Latin American'に関連する料理を含む行を識別し、「メキシカン」および「ポルトガル」料理を出すレストラン2および14を識別する。従って、ONT_RELATED演算子によってユーザは、オントロジーベースの意味的照合をSQL照会に導入することができる。
【００２６】
任意で、より詳細に後述されるように、ユーザは、ONT_RELATED演算子によって識別された行の測定を取得しようと望む場合がある。これは、ONT_DISTANCE補助演算子を使用して達成可能である。ONT_DISTANCE演算子は、2つの用語間の距離を測定することによって用語がどの程度緊密に関連しているかに関する測定を付与する。例えば、ユーザは、意味的照合照会の結果が、以下の照会を提出することによって、この距離測定に分類されることをリクエストしてもよい。
【００２７】
SELECT＊FROM served_food WHERE ONT_RELATED（cuisine,‘IS_A',‘Latin American',‘Cuisine_ontology',123）＝1 ORDER BY ONT_DISTANCE（123）；
【００２８】
この照会において、ONT_DISTANCEにおける整数引数123は、この補助値を計算するフィルタリング演算子表現（ONT_RELATED）を識別する。同様に、ONT_PATHと称される別の補助演算子は、2つの用語間の経路測定値を計算するために使用されてもよい。補助演算子は、R.Murthy、S.Sundara、N.Agarwal、Y.Hu、T.ChormaおよびJ.Srinivasanによって、「Supporting Ancillary Values from User Defined Functions in Oracle」、In Proceedings of the 19th International Conference on Data Engineering,pages 151-162,2003に説明されている。
【００２９】
加えて、ユーザは（ユーザテーブルを伴わずに）独立してオントロジーに照会することを望むことがある。後述されるONT_EXPAND演算子はこのために使用可能である。
【００３０】
オントロジーベースの意味的照合性能をSQLの一部として提供することは、オントロジー駆動データベースアプリケーションの開発を大いに促進する。役立つアプリケーションは、（供給チェーン管理、アプリケーション統合、個別化およびオークションなどの）eコマースを含む。また、（バイオインフォマティクス、ジオグラフィカル情報システムおよびヘルスケアアプリケーションなどの）ドメイン固有の情報リポジトリと共働しなければならないアプリケーションはこの性能を生かすことができる。これらの性能は、ウェブサービス発見などの意味的ウェブアプリケーションをサポートするために活用可能である。これらのアプリケーションの重要な要件は、構文的に異なる用語、あるいは場合によっては構文的に同じであるが意味的に異なる用語の意味的照合を提供することである。
【００３１】
オントロジーベースの意味的照合のサポートは、以下の拡張子を既存のデータベース性能に導入することによって達成される。
【００３２】
A.2つの新たなSQL演算子、ONT_RELATEDおよびONT_EXPANDが定義されて、オントロジーベースの意味的照合動作をモデリングする。ONT_RELATED演算子を伴う照会について、フィルタリングされた行についてそれぞれ距離および経路を戻す2つの補助SQL演算子、ONT_DISTANCEおよびONT_PATHが定義される。
【００３３】
B.新たなインデックス化スキームONT_INDEXTYPEが定義されて、オントロジーベースの意味的照合動作をスピードアップさせる。
【００３４】
C.システム定義のONTOLOGIESテーブルが、オントロジーを記憶するために提供される。
【００３５】
以下の説明において、セクション2は、オントロジーベースの意味的照合動作をサポートする特徴の概観を表し、セクション3は、Oracle RDBMSの既存の性能を拡張することによるオントロジー関連機能の実現について論じており、セクション4は、オントロジー関連機能がいくつかの例示的データベースアプリケーションで使用される方法を示している。
【００３６】
2.データベースシステムにおけるオントロジーベースの意味的照合のサポート
2.1概観
好ましい態様で使用される主要なオントロジー関連データ構造および機能が図2に示され、以下のように要約可能である。
【００３７】
201に見られるトップレベルONTOLOGIESテーブルはオントロジーデータを保持し、これは205に示された1セットのシステム定義テーブルを内部マッピングする。
【００３８】
2つの演算子が照会目的で使用される。ONT_EXPAND演算子211はオントロジーに独立して照会するために使用可能であるのに対して、ONT_RELTED演算子215は、システム定義テーブル205におけるオントロジーデータによって意味が特定されるオントロジー用語を保持する一つまたは複数のユーザテーブル218に対して照会を実行するために使用可能である。任意で、ユーザは、照会によって抽出されたフィルタリング済み行のさらなる測定（距離および経路）を取得するために、ONT_RELATED演算子215を伴う照会において補助演算子ONT_DISTANCEおよびONT_PATH演算子を使用可能である。
【００３９】
2.2オントロジーを記憶するためのRDBMSスキーマ
RDBMSスキーマは、OWLで特定されたオントロジーを記憶するために作成された。このRDBMSスキーマは以下のテーブルを定義する。
【００４０】
オントロジー:種々のオントロジーに関する基本情報を含み、またOntologyID、OntologyNameおよびOwnerという列を含む。
【００４１】
用語:オントロジーにおけるクラス、個体およびプロパティを表しており、TermID、OntologyID、TermおよびTypeという列を含む。用語はオントロジー内の概念の語彙表示である。TermID値は、オントロジー全体にわたって一意であるように生成される。これによって、この用語を定義するものとは異なるオントロジーにおいて用語への参照表現が可能になる。また、OntologyIDさえも、種々のプロパティ（例えば、注釈プロパティ）とオントロジー自体に適用する他の情報との値を記憶することを容易にするTermIDとして取り扱われる。従来のように、名前が“...ID”の形態である上記スキーマにおける任意の列が実際に（外部鍵のような）TermID値を含むことに注目する。
【００４２】
プロパティ:プロパティに関する情報を含み、またOntologyID、PropertyID、DomainClassID、RangeClassIDおよびCharacteristicsの列を含む。プロパティのドメインおよび範囲は対応するクラスのTermID値によって表される。特徴は、以下のプロパティ、対称性、推移性、関数、逆関数のうちのいずれがこのプロパティについて真であるかを示している。
【００４３】
制限:プロパティ制限に関する情報を含み、OntologyID、NewClassID、PropertyID、MinCardinality、MaxCardinality、SomeValuesFromおよびAllValuesFromという列を含む。プロパティに対する制限は、新たなクラスの定義をもたらす。この新たなクラスは必ずしもOWLで名付けられない（つまり、「匿名」クラス）。しかしながら、表現を容易にするために新たな（システム定義）クラスを内部作成する。
【００４４】
関連性:2つの用語の関連性についての情報を含み、またOntologyID、TermID1、PropertyIDおよびTermID2を含む。
【００４５】
プロパティ値:用語と関連付けられた＜Property,Value＞対を含み、またOntologyID、TermID、PropertyIDおよびValueの列を含む。異なるデータタイプの値を取り扱うために、以下のうちのいくつかの組み合わせが使用されてもよい:頻繁にみかけるタイプの各々について別個のテーブル（または同一テーブルにおける別個の列）を定義し、一般的な自己記述タイプ（Oracle RDBMSにおけるANYDATA）を使用して任意の残りのタイプを取り扱う。
【００４６】
匿名クラスのシステム定義クラス:IntersectionOf、UnionOfおよびComplementOfを伴う表現として表現されたプロパティ制限、（DataRangeで使用される）列挙タイプ、クラス定義などの種々の状況で生じるOWL匿名クラスを取り扱うために、内部（つまり、ユーザに見えない）またはシステム定義クラスを作成する。
【００４７】
ブートストラップオントロジー:上記スキーマにロードされる最初の事柄は、OWL自体の基本概念である。ある意味、これはブートストラップオントロジーに類似している。例えば、
・ThingおよびNothingがクラスとして記憶される。
・subClassOfは、2つのクラスに関する推移（メタ）プロパティとして記憶される。
・subPropertyOfは、2つのプロパティに関する推移（メタ）プロパティとして記憶される。
・disjointWithは、2つのクラスに関する対称（メタ）プロパティとして記憶される。
・SameAsは、Thingクラスにおける2つの個体に関する推移かつ対称プロパティとして記憶される。
【００４８】
これらのOWL概念をブートストラップオントロジーとして記憶することは推論を容易にする。簡単な例は以下のものである:C1がsubclassOf C2であり、C2がsubclassOf C3である場合、（subClassOfの推移性によって）C1はsubclassOf C3である。subClassOfおよびSubPropertyOfの再帰性質は特殊な場合とし取り扱われる。
【００４９】
オントロジーのロード:オントロジーは、OWLドキュメントを入力とするAPIを使用することによってデータベースにロードされる。OWLドキュメントからの情報が抽出されて、上記RDBMSスキーマにおけるシステム定義テーブルに記憶される。
【００５０】
オントロジーテーブルは、データベースに現在記憶されている全てのオントロジーに関する一部の基本情報を記憶する。このテーブルの一部（ビュー）はユーザに見える。
【００５１】
2.3オントロジーベースの意味的照合のモデリング
RDBMSにおいてオントロジーベースの意味的照合をサポートするために、幾つかの新たな演算子が定義される。
【００５２】
2.3.1 ONT_RELATED演算子。この演算子は基本的な意味的照合動作をモデリングする。これは、オントロジー内の具体的なRelType関連性引数に対して2つの入力用語が関連しているか否かを判断する。これらが関連していれば、1に戻り、そうでなければ0に戻る。
【００５３】
ONT_RELATED（Term1、RelType、Term2、OntologyName）RETURNS INTEGER；
【００５４】
RelTypeは単一のObjectProperty（例えば、‘IS_A'、‘EQV'など）を特定可能であり、もしくは、AND、NOTおよびOR演算子（例えば、‘IS_A OR EQV'）を使用することによって、このようなプロパティの組み合わせを特定可能である。Term1およびTerm2の両方が簡単な用語である必要がある点に注目する。Term2が、AND、ORおよびNOT演算子を伴って複雑である必要があれば、ユーザは、個々の用語を具備する照会を発行し、INTERSECT、UNIONおよびMINUS演算子とこれらを組み合わせることが可能である。
【００５５】
例えば、セクション2.3.4を参照のこと。
【００５６】
ORおよびNOT演算子を伴う表現として特定されたRelType（例えば、FatherOf OR MotherOf）は、本質的に推移性である仮想関連性（この場合は、例えばAncestorOf）として取り扱われる（セクション3.2.5も参照のこと）。
【００５７】
2.3.2 ONT_EXPAND演算子。この演算子は、独立してオントロジーに照会するために導入される。ONT_RELATED演算子と同様に、RelTypeは単純な関連しまたはこれらの組み合わせのいずれかを特定可能である。
【００５８】
CREATE TYPE ONT_TermRelType AS OBJECT（
Term1Name VARCHAR（32）,
PropertyName VARCHAR（32）,
Term2Name VARCHAR（32）,
TermDistance NUMBER,
TermPath VARCHAR（2000）
）；
【００５９】
CREATE TYPE ONT_TermRelTable Type AS TABLE OF ONT_TermReltype；
【００６０】
ONT_EXPAND（Term1、RelType、Term2、OntologyName
）RETURNS ONT_TermRelTableType；
【００６１】
一般的に、RelTypeおよびTerm2の非NULL値は入力として特定され、演算子は、具体的なRelTypeの特徴（推移性および対称性）を考慮する閉包において全ての適切な＜Term1、RelType、Term2＞タプルを計算する。加えて、距離（TermDistance）および経路（TermPath）に関する関連性測定を計算する。用語が複数の経路によって入力用語に関連付けられている場合について、経路あたり1つの行が戻される。また、ONT_EXPAND呼び出しは、これらのパラメータのうちのいずれか一つまたは複数の入力値を特定してもよく、またこれらのパラメータのいずれについても特定しないこともある。これらの場合の各々において、適切なセットの＜Term1、RelType、Term2＞タプルが戻される。
【００６２】
2.3.3 ONT_DISTANCEおよびONT_PATH補助演算子。これらの演算子は、ONT_RELATED演算子を使用してフィルタリングされた行についてそれぞれ距離および経路を計算する。
【００６３】
ONT_DISTANCE（NUMBER）RETURNS NUMBER；
【００６４】
ONT_PATH（NUMBER）RETURNS VARCHAR；
【００６５】
結果として得られる単一の行は、１つより多い方法で入力用語と関連付けられることが可能である。このような場合について、上記演算子は最適測定、つまり最短距離および最短経路を戻す。全ての照合を計算するために、以下の2つの演算子が提供される。
【００６６】
ONT_DISTANCE_ALL（NUMBER）
RETURNS TABLE OF NUMBER；
【００６７】
ONT_PATH_ALL（NUMBER）
RETURNS TABLE OF VARCHAR；
【００６８】
2.3.4レストランガイド例。種々のレストランで出されている料理のタイプを維持するレストランガイドアプリケーションについて考える。これは2つのテーブル、1）レストラン情報を含むrestaurantと、2）レストランで出される料理のタイプを含むservedfoodとを有する。
【００６９】
レストランガイドアプリケーションは、料理タイプを入力とし、その料理を出すレストランのリストを戻す。明らかに、アプリケーションは、使用可能な料理オントロジーを利用して、ユーザの照会に対してより良好な照合を提供する。料理オントロジーは、図1に示されている種々のタイプの料理の関連性を記述している。
【００７０】
従って、ユーザが‘Latin American'タイプの料理を出すレストランに興味があれば、データベースアプリケーションは以下の照会を生成可能である。
【００７１】
SELECT r.name,r.address
FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND ONT_RELATED（sf.cuisine,‘IS_A OR EQV',
‘Latin American',
‘Cuisine_ontology'）＝1；
【００７２】
‘Latin American'AND‘Western'について照会するために、アプリケーションプログラムは各々の行を取得して、SQL INTERSECT動作を使用して結果を計算することができる。
【００７３】
また、アプリケーションは、ONT_RELATED演算子を使用する場合に完全SQL表現力を利用可能である。例えば、上記照会結果を、より低価格のレストランと容易に結合可能である。
【００７４】
SELECT r.name FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND ONT_RELATED（sf.cuisine,‘IS_A OR EQV',
‘Latin American',
‘Cuisine_ontology'）＝1 AND r.price_range＝‘＄'；
【００７５】
2.3.5考察。セクション2.3.4の照会はまた、ONT_EXPAND演算子を使用して発行可能である点に注目する。例えば、このセクションの第1の照会は代替的に、ONT_EXPANDを使用して以下のように表現可能である。
【００７６】
SELECT r.name,r.address FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND sf.cuisine IN
（SELECT Term1Name from TABLE（ONT_EXPAND（NULL,‘IS_A OR EQV',
‘Latin American',‘Cuisine_ontology'）））；
【００７７】
ONT_RELATED演算子は、以下の理由で、ONT_EXPAND演算子に加えて提供される。
・ONT_RELATED演算子は、オントロジー用語を保持する列で意味的照合動作を表現するより自然な方法を提供する；また
・オントロジー用語を保持する列に作成されたインデックスの使用を可能にして、列データを考慮することによって照会実行をスピードアップさせる。
【００７８】
2.4推論
プロパティの対称性および推移性特徴を用いる推論ルールが、新たな関連性を推論するために使用される。この種の推論は、上記定義された演算子の使用によって達成可能である（詳細はセクション3.2を参照）。推論のサポートはOWL LiteおよびOWL DLに制限され、この両方が決定可能である点に注目する。
【００７９】
上記演算子を使用するより完全な推論をサポートするために、初期の推論段階が、オントロジーがロードされた後に実行され、この推論の結果は永続的に記憶され、後続の推論に使用される。以下は複数の初期推論例である。
【００８０】
全てのsubPropertyOf関連性がこの段階で導出かつ記憶される。sameAs（例えば、samaAs（x,y） AND samaAs（y,z） IMPLIES sameAs（x,y））の推移性局面は、上記定義された演算子によって取扱い可能である。しかしながら、sameAs（例えば、pが関数プロパティAND p（a,x） AND p（b,y） AND sameAs（a,b） INPLIES sameAs（x,y））を示唆するより複雑なルールは演算子の実現を除いて最もよく取り扱われる。これらの複雑なsamaAs推論は初期推論段階で実行されると予測する。閉包計算時にsameAsの意味を提供するために、演算子は、個体‘I'を、全てのJ where sameAs（I,J）に対する‘I OR J'として取り扱う。
【００８１】
さらに、複雑なsubPropertyOfおよびinverseOf共通集合に対する推論に有用な内部関連性を導入する。
SubpropertyOfInverseOf（f,g）iff f（x,y）IMPLIES g（y,x）。また、SubPropertyOfInverseOf（spiOf,for short）をオントロジー（例えば、inverseOf（f,g） IMPLIES spiOf（f,g） AND spiOf（g,f））に導入するルールは初期推論段階で取り扱われると予測する。しかしながら、spiOfの推移性局面は、以下のルールに従って演算子内の特殊な場合として取り扱われることが可能である。
・subPropertyOf（f,g） AND spiOf（g,h） IMPLIES spiOf（f,h）
（証明:f（x,y） IMPLIES g（x,y） IMPLIES h（y,x））
・spiOf（f,g） AND subPropertyOf（g,h） IMPLIES spiOf（f,h）
（証明:f（x,y） IMPLIES g（y,x） IMPLIES h（y,x））
・spiOf（f,g） AND spiOf（g,h） IMPLIES SubPropertyOf（f,h）
（証明:f（x,y） IMPLIES g（y,x） IMPLIES h（x,y））
【００８２】
subPropertyOfおよびspiOfの拡張を前提とすると、サブプロパティおよび逆プロパティによって意味されるものを含む所与のプロパティの関連性タプルの全てを見つけることができる。明確にするために非推移性プロパティが使用され、これがParentOfを拡張している以下の例について考える。この場合、subPropertyOf（MotherOf,ParentOf）およびinverseOf（MotherOf,hasMother）を有していれば、初期推論段階の結果および上記ルールに基づいてspiOf（hasMother,ParentOf）を得ることができる。そして、hasMother（child,mother）は、この結果セットにおいてParentOf（mother,child）を生成するのに十分である。
【００８３】
SELECT r.termID1,‘ParentOf',r.termID2 FROM relationships r,terms t
WHERE r.propertyID＝t.termedID AND t.term IN
（select term1Name FROM
TABLE（ONT_EXPAND（NULL,
‘subPropertyOf',
‘ParentOf',
‘Family_ontology'）））
UNION
SELECT r.termID2,‘ParentOf',r.termID1
FROM relationships r,terms t
WHERE r.propertyID＝t.termID
AND t.term IN
（select term1Name FROM
TABLE（ONT_EXPAND（NULL,
‘spiOf',
‘ParentOf',
‘Family_ontology'）））
【００８４】
3.Oracle RDBMSにおけるオントロジー関連機能性の実現
本セクションは、オントロジー関連機能性がOracle RDBMS上で実現される様子について説明する。
【００８５】
3.1演算子
ONT_RELATED演算子は一次ユーザ定義演算子として、ONT_DISTANCEおよびONT_PATHはこの補助演算子として定義される。一次演算子は補助値をこの処理の一部として計算する。
【００８６】
この場合、ONT_RELATED演算子は関連性を計算する。補助値（距離および経路測定）が必要ならば、これも計算する。
【００８７】
Oracleにおけるユーザ定義演算子機構は、複数の呼び出しにわたる状態の共有を見込んでいる点に注目する。従って、ONT_RELATED演算子の実現は、この最初の呼び出し時に（セクション3.2に説明されているように）SQL照会をCONNECT BY節で構築およびコンパイルすることを伴う。演算子の各後続の呼び出しは事前にコンパイルされたSQLカーソルを単に使用して、これを新たな入力値と結合させて、かつこれを実行して結果を取得する。
【００８８】
ONT_EXPAND演算子は、行のテーブルを戻すとテーブル関数として定義され、これはデフォルトによって経路および距離の測定を含む。
【００８９】
3.2基本アルゴリズム
ONT_RELATEDおよびONT_EXPAND双方の基本処理は推移閉包、つまり開始ノードを付与された以下の関連性リンクによるツリー構造の走査（traversal）の計算を伴う。また、推移閉包計算の一部として、関連性リンクを介して到達された開始ノードおよびターゲットノードによって形成された対ごとの距離および経路情報を追跡する必要がある。
【００９０】
Oracleは以下のように、CONNECT BY節を具備する推移閉包照会をサポートする。
【００９１】
SELECT...FROM...START WITH＜condition＞
CONNECT BY＜condition＞；
【００９２】
開始ノードはSTART WITH節で与えられた条件に基づいて選択されて、ノードはCONNECT BY節で与えられた条件に基づいてトラバースされる。親ノードはPRIOR演算子によって参照される。距離および経路の計算について、Oracle提供LEVEL擬似列およびSYS_CONNECT_BY_PATH関数はそれぞれ、CONNECT BY節を具備する照会の選択リストで使用される。
【００９３】
システム定義関連性テーブルにおいて、行は‘TermID1がPropertyID関連性によってTermID2に関連付けられている'ことを表している点に注目する。例えば、‘A IS_A B'であれば、これは、ontologyIDが1であるとする行＜1,A,IS_A,B＞として表される。
【００９４】
閉包計算時に遭遇する任意のサイクルは、（以下の例では明確に示されていない）Oracle 10gで使用可能なCONNECT BY NOCYCLE照会実現によって取り扱われる。
【００９５】
簡潔にするために、termIDではなく用語名が記憶されている関連性テーブルについてわずかに異なる定義を使用する。この場合、関連性テーブルは列（OntologyName、Term1、Relation、Term2、....）を有する。
【００９６】
処理について図示するために、レストランガイドの例を使用する。restaurantおよびserved_foodのテーブルのデータを以下に示す。
【００９７】
restaurant
2008510223.tif 000003
【００９８】
served_food
2008510223.tif 000004
【００９９】
3.2.1単純な用語の取扱い
単純な関連性タイプを有する、つまりAND、OR、NOT演算子を有していない照会について考える。セクション2.3.4で与えられた最初の照会は以下のように変換可能である。
【０１００】
オリジナル照会:
【０１０１】
SELECT r.name,r.address FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
ONT_RELATED（sf.cuisine,‘IS_A',‘Latin American',
Cuisine_ontology'）＝1；
【０１０２】
変換済み照会:
SELECT r.name,r.address
FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
sf.cuisine IN（SELECT term1 FROM relationships
START WITH
term2＝‘Latin American'AND relation＝‘IS_A'
CONNECT BY
PRIOR term1＝term2 AND relation＝‘IS_A'）；
【０１０３】
上記太字のテキストは変換済み部分である。基本的に、第3の引数はSTART WITH節に、第2の引数はCONNECT BY節に変換される。この照会の結果は以下のとおりである。
【０１０４】
照会結果
2008510223.tif 000005
【０１０５】
3.2.2 OR演算子の取扱い。‘Brazilian'料理が元々オントロジーに含まれておらず、今は‘South American'料理の下に挿入されている場合を考える。また、‘South American'料理を‘Latin American'料理と同じカテゴリに入れるために、推移性かつ対称性‘EQV'関連性が図3に示されるように使用される。
【０１０６】
次に、‘Latin American'料理を得るために、両方の関連性リンク、つまり‘IS_A'および‘EQV'をトラバースするために分離条件が使用されるべきである。このような分離条件は、START WITHおよびCONNECT BY節で直接特定可能である。
【０１０７】
オリジナル照会:
SELECT r.name,r.address FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
ONT_RELATED（sf.cuisine,
‘IS_A OR EQV',
‘Latin American',
‘Cuisine_ontology'）＝1；
【０１０８】
変換済み照会:
前例の変換済み照会との唯一の違いは、関連性テーブル:
FROM relationshipsが、不明確な対称縁を照会:
FROM（SELECT term1,relation,term2
FROM relationships
UNION
SELECT term2,relation,term1
FROM relationships
WHERE relation＝‘EQV'）
に導入するためにサブ照会と置換されることと、
START WITHおよびCONNECT BY節における以下の述部の発生、relation＝‘IS_A'が、以下の述部、（relation＝‘IS_A' OR relation＝‘EQV'）と置換されることである。
【０１０９】
3.2.3 AND演算子の取扱い。推移性関連性タイプの分離条件が、関連性タイプごとに推移閉包を独立して計算してから、セットINTERSECTを得られるセットに適用することによって取り扱われることが可能である。共通集合における各ノードについて、関連性タイプごとに経路は開始ノードからこのノードにまで存在するため、これで十分である。
【０１１０】
用語MOST_SPICYを使用して最もスパイシーな料理を識別する、料理の別の関連性について考える。次にオントロジーは、‘South Asian cuisine is MOST_SPICY Asian cuisine'および‘Indian cuisine is MOST_SPICY South Asian cuisine'などの情報を含むことが可能である。
【０１１１】
このオントロジーから非常にスパイシーな料理を見つけるために、ユーザは、以下のように関連性における分離条件を使用して照会を発行することができる。
【０１１２】
オリジナル照会:非常にスパイシーなアジア風料理をだすレストランを見つける。
【０１１３】
SELECT r.name FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
ONT_RELATED（sf.cuisine,
‘IS_A AND MOST_SPICY'
‘Asian',
‘Cuisine_ontology'）＝1；
【０１１４】
変換済み照会:
SELECT r.name FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
sf.cuisine IN
（
SELECT term1 FROM relationships
START WITH
term2＝‘Asian'AND
relation＝‘IS_A'
CONNECT BY
PRIOR term1＝term2 AND
relation＝‘IS_A'
INTERSECT
SELECT term1 FROM relationships
START WITH
term2＝‘Asian'AND
relation＝‘MOST_SPICY'
CONNECT BY
PRIOR term1＝term2 AND
relation＝‘MOST_SPICY'）；
【０１１５】
3.2.4 NOT演算子の取扱い。NOT演算子は、推移閉包を見つける場合にいずれの関連性を排除するかを特定する。従って、開始ノードを前提とすると、NOT演算子で特定されるものを除く全ての関連性がトラバースされる。NOT演算子は、START WITHおよびCONNECT BY節で直接特定可能である。
【０１１６】
オリジナル照会:‘EQV'関連性タイプを除く全てのラテンアメリカ料理を見つける。
【０１１７】
SELECT r.name FROM served_food sf,restaurant r
WHERE r.id＝sf.r_id AND
ONT_RELATED（sf.cuisine,
‘NOT EQV',
‘Latin American',
‘Cuisine_ontology'）＝1；
【０１１８】
変換済み照会:セクション3.2.1の例の変換済み照会との唯一の違いは、START WITHおよびCONNECT BY節における以下の述部の発生、relation＝‘IS_A'が、以下の述部、relation！＝‘EQV'と置換されるという点である。
【０１１９】
ユーザがラテンアメリカ料理以外の全ての料理を検索したい場合、照会は、以下のように0に戻る演算子ONT_RELATEDを使用して公式化可能である。
……
ONT_RELATED（sf.cuisine,
‘IS_A',
‘Latin American',
‘Cuisine_ontology'）＝0；
【０１２０】
3.2.5 OR、ANDおよびNOTの組み合わせの取扱い。ORおよびNOT演算子はCONNECT BY節で直接特定可能であり、AND演算子はINTERSECTによって取り扱われる。全ての条件が分離条件としてリライトされる。例えば、‘A OR（B AND C）'は‘（A OR B）AND（A OR C）'に変換される。そして、‘（A OR B）'および‘（A OR C）'は、INSERSECT演算子と結合可能な別個の照会のCONNECT BY節で特定される。
【０１２１】
4.オントロジー駆動データベースアプリケーション
本セクションは、複数のデータベースアプリケーションについて考えることによってオントロジー関連の意味的照合動作の使用について示している。
【０１２２】
4.1本土防衛アプリケーション
本土防衛についての諜報分析者は、テロリズムに関する活動に極めて関心が高い。［20］で与えられた例示的パターンから、ある人がトラックをレンタルし、別の人が肥料を買い、かつ彼らが同じ家に住んでいる場合、所与の活動テーブルのONT_RELATED演算子を使用してSQL照会を公式化することができる。
【０１２３】
(表５)
2008510223.tif 000006
【０１２４】
SELECT＊
FROM ACTIVITY x,ACTIVITY y
WHERE
x.Activity＝‘Rent'AND
y.Activity＝‘Buy'AND
ONT_RELATED（x.object,‘IS_A',‘Truck',
‘vehicle_ontology'）＝1 AND
ONT_RELATED（y.object,‘IS_A',‘Fertilizer',
‘chemical_ontology'）＝1 AND
x.Address＝y.Address；
【０１２５】
１つより多いオントロジーを参照することによって、異なる行動の組み合わせを伴う疑わしい活動を分析することができる。
【０１２６】
4.2供給チェーンアプリケーション
【０１２７】
多くの製品およびサービスがやり取りされる供給チェーンは、購入注文、材料請求、カタログなどの標準化に関する主要な問題を有する。2、3例を挙げると、解決すべき名称、言語、通貨および単位の違いがあり得る。ビジネスプロセスおよび製品を標準化するためのRosettaNet［22］、製品カテゴリ用UNSPSC［23］およびebXML［24］などの標準化の試みは、個々の販売者/顧客のニーズを満たして意味的差異を解決するには十分ではない。一般的に、これらの問題は、なんらかの形態のマッピング機構［6］を使用して解決されてきた。
【０１２８】
これらの問題は、オントロジーを使用して、ONT_RELATED演算子を有するSQL照会を発行することによって解決可能である。個々に開発されたオントロジーも、相互に通信するオントロジーマッピングを必要とすることがある。ONT_RELATEDおよびONT_EXPAND演算子をマッピングオントロジーに適用して、問題を解決することも可能である。
【０１２９】
4.3生命科学アプリケーション
生命科学ドメインアプリケーションは、情報を表すオントロジー、ならびに生命科学ウェブデータベースの複数の異種ソースの情報統合の基礎を使用していた。このドメインにおける現在の情報を表すために一次的に使用されるGene Ontology（GO）［12］について考える。これによってユーザは、SQLを使用して照会することができる。一例示的照会は‘Fetching every term that is a transmembrane receptor'である。GOグラフは‘term'（＝node）および‘term2term'（＝arc）テーブルを使用して記憶される。これはまた、‘graph_path'と称されるテーブルを維持し、これは、用語とこの全ての原型（ancestors）間の全ての経路を記憶する。GOデータベースにおいて、以下のSQL照会がこのために発行可能である。
【０１３０】
SELECT
rchild.＊
FROM
term AS rchild,term AS ancestor,
graph_path
WHERE
graph_path.term2_id＝rchild.id and
graph_path.term1_id＝ancestor.id and
ancestor.name＝‘transmembrane receptor'；
【０１３１】
データがOracle RDBMSに記憶されていれば、以下の照会が使用可能である。
【０１３２】
SELECT＊FROM TABLE
（        ONT_EXPAND（NULL,‘IS_A',
‘transmembrane receptor',‘gene_ontology'））；
【０１３３】
重要な違いは、GOデータベースが基本スキーマを暴露しており、ユーザがこれらのテーブルに対する照会を公式化することを必要とするのに対して、演算子アプローチが仕様の簡略化を試みているという点である。
【０１３４】
4.4ウェブサービスアプリケーション
同様に、ウェブサービスアプリケーションはまた、2つの異なる用語を意味的に照合するためにONT_RELATED演算子を利用することができる。ユーザがセダンの購入を検討している、［8］に説明されているウェブサービス照合例について考える。ユーザは用語‘Sedan'を使用してウェブサービスにリクエストする。車両オントロジーは‘Sedan'、‘SUV'および‘Station Wagon'を用語‘Car'のサブクラスとして含む。ウェブサービスは、以下のようなONT_RELATED演算子を有する照会を使用することによってユーザに警告可能である。
……
ONT_RELATED（user_request,
‘IS_A',
‘Car',
‘Vehicle_Ontology'）
＝1；
【０１３５】
用語の照合度合い、つまり［8］に説明されているように、用語がどの程度緊密に関連しているかは、ONT_DISTANCEおよびONT_PATH演算子を使用して取扱い可能である。
【０１３６】
5.結論
ビジネスデータベースアプリケーション分野におけるオントロジーの重要性の増大によって、オントロジーが効率的なメンテナンス、共有およびスケーラビリティのためにデータベースに記憶されることが重要である。アプリケーション開発の性能および容易さのためにSQLのオントロジーベースの意味的照合の性能も同様に重要である。
【０１３７】
説明されている本発明の具体的な態様は、OWL LiteおよびOWL DLベースのオントロジーがOracle RDBMSに記憶されるようにすることによって、かつオントロジーベースの意味的照合に1セットのSQL演算子を提供することによって、これらの問題に対処する。
【０１３８】
上述の具体的な例は本発明の原理の例示的適用にすぎないことが理解されるべきである。多数の修正が、本発明の精神および範囲を逸脱することなく、呈示されている方法、データ構造およびSQLステートメントに対してなされてもよい。
【図面の簡単な説明】
【０１３９】
【図１】レストランが提供する料理を記述するために使用される用語の階層的関連性を定義する例示的オントロジーを描くグラフである。
【図２】本発明の好ましい態様を実現するために使用される主要なデータ構造を示すブロック図である。
【図３】EQV関連性の追加を示す図である。
【図４】インデックス化が用語照合動作を加速するために使用される方法を示す図である。
【図１】
2008510223.tif 000008
【図２】
2008510223.tif 000009
【図３】
2008510223.tif 000010
【図４】
2008510223.tif 000011
【手続補正書】
【提出日】平成18年6月9日(2006.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
以下の工程を組み合わせて含む、オントロジー用語と、複数の対の該オントロジー用語間の意味的関連性とを特定するオントロジーデータにアクセスするリレーショナルデータベースシステムに記憶されるデータを処理するための方法:
該リレーショナルデータベースシステムによって解釈可能な形態を有するデータベース照会を作成する工程であって、該データベース照会は該データベースシステムで定義された意味的照合演算子を含み、該意味的照合演算子はオントロジーデータから意味的関連性に基づいた意味的照合が意味的に照合される1セットの用語に属しかつ意味的照合に基づいて結果を戻す用語のオントロジーに存在するか否かを判断する、工程；および
該リレーショナルデータベースシステムにおいて該照会を実行する工程であって、該照会の実行は該意味的照合演算子の実行を含み、かつ該照会の該実行は該意味的照合演算子の実行の結果に応答する、工程。
【請求項２】
結果が、意味的に照合される1セットの用語に属する用語に対して意味的に照合するオントロジーに属する1セットの用語である、請求項1記載のデータ処理方法。
【請求項３】
結果が、用語がオントロジーに属する用語に対して意味的に照合するか否かを示す1セットの用語における用語の各々の値である、請求項1記載のデータ処理方法。
【請求項４】
オントロジーデータが複数の対のオントロジー用語間の複数の意味的関連性を特定し、
意味的照合演算子が、意味的照合が該複数の意味的関連性に基づいて存在するか否かを判断する、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項５】
意味的照合演算子がさらに、意味的照合がオントロジーに属する1サブセットの用語に基づいて存在しているか否かを判断する、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項６】
オントロジーデータが複数の対のオントロジー用語間の複数の意味的関連性を特定し、
意味的照合演算子が、意味的照合が該複数の意味的関連性に基づいて存在しているか否かを判断し、
該意味的照合演算子が、意味的照合がオントロジーに属する1サブセットの用語に基づいて存在しているか否かを判断し、
該意味的照合演算子がオントロジーを特定する引数と、該意味的に照合される1セットの用語と、該複数の意味的関連性と、該オントロジーに属する1サブセットの用語とをとる、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項７】
リレーショナルデータベースシステムが、データベース照会における演算子のユーザ定義を許容し、
意味的照合演算子がユーザ定義演算子である、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項８】
データベース照会が、該照会によって行が選択されるターゲットテーブルを特定し、
1セットの用語が、該ターゲットテーブルの列に属する値である用語である、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項９】
オントロジーデータが、複数の対のオントロジー用語間の複数の意味的関連性を特定し、
意味的照合演算子が、意味的照合が該複数の意味的関連性に基づいて存在しているか否かを判断する、請求項8記載のデータ処理方法。
【請求項１０】
意味的関連性が推移性であり、
結果が該意味的関連性の該推移性を考慮する、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項１１】
意味的照合演算子の実行が、意味的関連性の推移性に基づいて、1セットの用語における用語と、オントロジーに属する用語間の照合関連性を推論する、請求項10記載のデータ処理方法。
【請求項１２】
意味的照合演算子がさらに、所与の用語と、オントロジーに属する用語間のオントロジーにおける距離を測定することによって、どの程度緊密に1セットの用語における該所与の用語が該オントロジーに属する用語に一致するかを計算する、請求項11記載のデータ処理方法。
【請求項１３】
オントロジー用語がエンティティのプロパティを特定し、
該プロパティ間の意味的関連性が関連性のサブプロパティである、請求項10記載のデータ処理方法。
【請求項１４】
リレーショナルデータベースシステムがSQL言語で書かれた照会を解釈し、
データベース照会が該SQL言語で書かれている、請求項1、2または3のいずれか一項記載のデータ処理方法。
【請求項１５】
データ記憶デバイスが、該データ記憶デバイスにアクセスするプロセッサによって実行される場合に、請求項1、2または3のいずれか一項記載の方法を実行するコードを含むことを特徴とする、データ記憶デバイス。
【国際調査報告】
2008510223.tif 000012
2008510223.tif 000013
2008510223.tif 000014
2008510223.tif 000015