(57)【要約】  【課題】  セマンティックウェブ技術において、オントロジサーバからオントロジをダウンロードする場合に、必要な一部を選択してダウンロードすることにより、オントロジを利用する際におけるネットワーク負荷や通信コストを軽減し、オントロジを利用した処理に要する時間を短縮する。  【解決手段】  オントロジサーバ１００において、オントロジ記述言語で記述されたオントロジのファイルを格納したオントロジ格納部２００と、このオントロジ格納部２００からオントロジを読み出し、読み出されたオントロジから所定の部分を切り出し、オントロジクライアント４００に送信するオントロジ編集部３００とを備え、オントロジクライアント４００からの要求に応じて、オントロジから切り出されたサブセットを、このオントロジクライアント４００に送信する。  【選択図】  図１
2006011739.tif 000002
【特許請求の範囲】
【請求項１】
オントロジを参照するクライアントからの要求を処理するための装置において、
オントロジ記述言語で記述された前記オントロジのデータを格納したオントロジ格納部と、
前記オントロジ格納部から前記オントロジを読み出し、読み出された当該オントロジから前記クライアントの参照に必要な部分を切り出し、当該オントロジの一部を当該クライアントに送信するオントロジ編集部と
を備えることを特徴とする装置。
【請求項２】
前記オントロジ編集部は、前記クライアントからの要求に含まれる１または複数の目標の語と当該目標の語に対し前記オントロジにおいて所定の条件を満たす１または複数の語とを含む前記オントロジの部分を、当該オントロジから切り出すことを特徴とする請求項１に記載の装置。
【請求項３】
前記オントロジに含まれる複数の語のそれぞれがノードで表され、前記所定の条件が、前記目標の語に対応するノードと当該ノードからのレイヤー数により指定されることを特徴とする請求項２に記載の装置。
【請求項４】
前記目標の語が複数指定される場合、当該複数のノード間の最短経路上のノードからのレイヤー数により前記所定の条件が指定されることを特徴とする請求項３に記載の装置。
【請求項５】
前記オントロジに含まれる複数の語のそれぞれがノードで表され、前記所定の条件が、前記目標の語に対応するノードと切り出されるノードの数により指定されることを特徴とする請求項２に記載の装置。
【請求項６】
前記オントロジ編集部は、オントロジ記述言語で記述された前記オントロジを、Ｎ−Ｔｒｉｐｌｅｓ表記に変換し、各語の関係をたどることによって当該オントロジから切り出す部分を特定することを特徴とする請求項１に記載の装置。
【請求項７】
前記オントロジ編集部は、オントロジ記述言語で記述された前記オントロジを、当該オントロジに含まれる複数の語のそれぞれに対応するノードと当該複数の間の関係を示すアークとを有するＲＤＦモデルに変換し、当該ノード間に張られた当該アークをたどることによって当該オントロジから切り出す部分を特定することを特徴とする請求項１に記載の装置。
【請求項８】
前記オントロジ編集部は、前記ノードのそれぞれについてノード間のアークの本数を示すノード間距離情報を管理し、当該ノード間距離情報を参照して前記オントロジから切り出す部分を特定することを特徴とする請求項７に記載の装置。
【請求項９】
前記オントロジ編集部は、オントロジ記述言語の文法に基づいて単一のグループとして扱うべき語の組を、分割することなく、前記オントロジから切り出す部分を特定することを特徴とする請求項１に記載の装置。
【請求項１０】
オントロジを格納したサーバと、当該サーバにアクセスしてオントロジを参照するクライアントとを備えたコンピュータシステムにおいて、
前記クライアントは、
照会する語およびオントロジの切り出し条件を指定したリクエストを前記サーバに送信するエージェントを備え、
前記サーバは、
オントロジ記述言語で記述された前記オントロジのデータを格納したオントロジ格納部と、
前記オントロジ格納部から前記オントロジを読み出し、当該オントロジから前記リクエストで指定された語および切り出し条件を満たす部分を切り出し、前記クライアントに送信するオントロジ編集部と
を備えることを特徴とするコンピュータシステム。
【請求項１１】
前記サーバの前記オントロジ編集部は、オントロジ記述言語で記述された前記オントロジを、Ｎ−Ｔｒｉｐｌｅｓ表記に変換し、前記リクエストで指定された語から当該オントロジに含まれる他の語の関係をたどり、前記切り出し条件を満たす前記オントロジの部分を特定することを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１２】
前記サーバの前記オントロジ編集部は、オントロジ記述言語で記述された前記オントロジを、各語に対応するノードと各語の間の関係を示すアークとで構成されたＲＤＦモデルに変換し、前記リクエストで指定された語に対応するノードからノード間に張られた当該アークをたどり、前記切り出し条件を満たす前記オントロジの部分を特定することを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１３】
前記クライアントのエージェントは、前記オントロジのファイルのＵＲＬに所定の語およびオントロジの切り出し条件を指定するパラメータを付加し、当該パラメータの記述されたＵＲＬを含むＨＴＴＰリクエストを前記サーバへ送信することを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１４】
クライアントからの要求に応じてオントロジを当該クライアントに送信するサーバのデータ処理方法であって、
前記サーバが、オントロジ記述言語で記述された前記オントロジのデータを記憶装置から読み出し、当該オントロジに定義されている複数の語の関係を調べる第１のステップと、
前記サーバが、前記クライアントの要求から目標の語およびオントロジの切り出し条件を取得し、前記オントロジに定義されている複数の語の関係に基づいて、当該オントロジから当該目標の語および切り出し条件を満たす部分を切り出す第２のステップと、
前記サーバが、切り出された前記オントロジの部分を前記クライアントに送信する第３のステップと
を含むことを特徴とする方法。
【請求項１５】
前記オントロジに定義されている複数の語のそれぞれがノードで表され、前記切り出し条件が、前記目標の語に対応するノードと当該ノードからのレイヤー数により指定される、請求項１４に記載の方法。
【請求項１６】
前記目標の語が複数指定される場合、当該複数のノード間の最短経路上のノードからのレイヤー数により前記切り出し条件が指定される、請求項１５に記載の方法。
【請求項１７】
前記オントロジに定義されている複数の語のそれぞれがノードで表され、前記切り出し条件が、前記目標の語に対応するノードと切り出されるノードの数により指定される、請求項１４に記載の方法。
【請求項１８】
前記第１のステップでは、前記サーバが、当該オントロジをＮ−Ｔｒｉｐｌｅｓ表記または当該オントロジに定義されている複数の語のそれぞれに対応する当該複数のノードと各語の間の関係を示すアークとを有するＲＤＦモデルに変換することにより、当該複数の語の関係を調べ、
前記第２のステップでは、前記サーバが、前記Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジまたは前記ＲＤＦモデルから前記目標の語および切り出し条件を満たす部分を切り出し、
前記第３のステップでは、前記サーバが、切り出された前記Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジまたは前記ＲＤＦモデルの部分をオントロジ記述言語で記述されたオントロジに変換して前記クライアントに送信することを特徴とする請求項１４に記載の方法。
【請求項１９】
前記第２のステップでは、オントロジ記述言語の文法に基づいて単一のグループとして扱うべき語の組を、分割することなく、前記オントロジから切り出す部分を特定することを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セマンティックウェブ技術において、オントロジを効率的に利用するためのシステムおよびその方法に関する。
【背景技術】
【０００２】
近年、コンピュータが意味（セマンティック：Semantic）を理解し、様々な処理を行えるようにするセマンティックウェブ（Semantic Web）技術の研究が盛んに行われており、セマンティックウェブ技術で用いられるオントロジ（ontology）を利用した情報検索システムなどが開発されている（例えば、特許文献１、２参照）。ここで、オントロジとは、「概念化の明示的な記述」（a specification of a conceptualization）などと定義され、セマンティックウェブの意味記述に用いられる知識表記法である。オントロジは、システム上では、例えば分類体系と推論ルール集とで実現される。
【０００３】
図１７は、セマンティックウェブによる情報検索システムの構成例を示す図である。
図１７において、エージェントサーバ１７１０のパーソナルエージェント１７１１は、ユーザによる検索要求に応じてＯＷＬ（Web Ontology Language）などのオントロジ記述言語で記述された照会文を作成し、エージェントサーバ１７２０へ送信する。エージェントサーバ１７２０のブローカエージェント１７２１は、エージェントサーバ１７１０から受信した照会文に基づいてネットワーク上のウェブサービスを提供するエージェントサーバから情報を取得し、取得した情報に基づいてＯＷＬで記述された応答文を作成し、エージェントサーバ１７１０へ返信する。エージェントサーバ１７１０のパーソナルエージェント１７１１は、受信した応答文の内容を検索結果としてユーザに返す。
【０００４】
ここで、エージェントサーバ１７１０のパーソナルエージェント１７１１が照会文を作成する際および応答文を解釈する際、またエージェントサーバ１７２０のブローカエージェント１７２１が照会文を解釈する際および応答文を作成する際に、パーソナルエージェント１７１１およびブローカエージェント１７２１（以下、これらを合わせて単にエージェントと称す）は、それぞれオントロジサーバ１７３０にアクセスしてオントロジを参照する。
【０００５】
図１８は、エージェントがオントロジを参照する様子を示す図である。
図１８においてオントロジサーバ１７３０は、ＯＷＬで記述されたオントロジを格納している。オントロジサーバ１７３０に対するクライアント（オントロジクライアント）であるエージェント１８１０は、照会文の作成、解釈、応答文の作成、解釈を行うために、まずオントロジサーバ１７３０に格納されているオントロジを全部ダウンロードする。そして、照会文や応答文を作成する際は、それらの文に含まれる語のＩＤを記述すると共に、ダウンロードされたオントロジを参照してその語が定義されているオントロジのＵＲＬを記述する。一方、照会文や応答文を解釈する際は、文中の各語の概念がダウンロードされたオントロジでどのように定義されているかを調べ、得られた情報に基づいて検索などの処理を実行する。
【０００６】
【特許文献１】特開２００２−６３０３３号公報
【特許文献２】特開２００１−９２８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、セマンティックウェブ技術においてエージェントがオントロジを利用する場合、従来は、エージェントがオントロジサーバに格納されているオントロジを一旦全部ダウンロードして参照していた。
しかし、一般的な語彙を網羅する実用的なオントロジでは、データサイズも大きくなるため、オントロジ全体をダウンロードすると、ネットワークへの負荷や通信コストが増大してしまうという問題があった。
また、オントロジを参照して処理を行う際にも、所望の語彙の情報を得るために、ダウンロードされたオントロジ全体を参照することとなるため、処理に長時間を要するという問題があった。
【０００８】
そこで本発明は、セマンティックウェブ技術において、エージェントがオントロジサーバからオントロジをダウンロードする場合に、必要な一部を選択してダウンロードする方法およびそのシステムを提供することを目的とする。
これにより本発明は、エージェントがオントロジを利用する際におけるネットワーク負荷や通信コストを軽減し、オントロジを利用した処理に要する時間を短縮することを他の目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明は、オントロジを格納したオントロジサーバと、このオントロジサーバにアクセスしてオントロジを参照するオントロジクライアントとを備えたコンピュータシステムとして実現される。このシステムにおいて、オントロジサーバは、オントロジ記述言語で記述されたオントロジのデータを格納したオントロジ格納部と、このオントロジ格納部からオントロジを読み出し、読み出されたオントロジから所定の部分を切り出し、オントロジクライアントに送信するオントロジ編集部とを備えることを特徴とする。
【００１０】
より詳細には、オントロジサーバにおけるオントロジ編集部は、オントロジクライアントから目標の語およびオントロジの切り出し条件（extraction condition）を指定したリクエストを受信し、このリクエストで指定された目標の語および切り出し条件を満たす部分、すなわち、目標の語と当該目標の語に対しオントロジの定義において一定の関係を有する語とを含むオントロジの部分を、オントロジから切り出す。さらに好ましくは、オントロジ編集部は、オントロジ記述言語で記述されたオントロジを、Ｎ−Ｔｒｉｐｌｅｓ表記に変換し、各語の関係をたどることによって、オントロジから切り出す部分を特定する。あるいは、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジを、さらに、各語に対応するノードと各語の間の関係を示すアークとで構成されたＲＤＦ（Resource Description Framework）モデルに変換し、ノード間に張られたアークをたどることによってオントロジから切り出す部分を特定する。
【００１１】
また、より好ましくは、オントロジ編集部は、オントロジにより定義された各語に対応する各ノードに関して、個々のノードと他のノードとの間のアークの本数を示すノード間距離情報をノード間距離テーブルに登録して管理し、このノード間距離情報を参照してオントロジから切り出す部分を特定する。さらにオントロジ編集部は、オントロジ記述言語の文法に基づいて単一のグループとして扱うべき語の組をグループノード管理テーブルに登録して管理し、オントロジの切り出しを行う際には、このグループノード管理テーブルに登録された語の組を分割することなく、オントロジから切り出す部分を特定する。
【００１２】
また、このシステムのオントロジクライアントは、所定の語およびオントロジの切り出し条件を指定したリクエストをサーバに送信するエージェントを備える。このエージェントは、オントロジのファイルのＵＲＬに所定の語およびオントロジの切り出し条件を指定するパラメータを付加し、このパラメータの記述されたＵＲＬを含むＨＴＴＰリクエストをオントロジサーバへ送信する。
【００１３】
上記の目的を達成する他の本発明は、クライアントからの要求に応じてオントロジを当該クライアントに送信するオントロジサーバのデータ処理方法としても実現される。この方法は、オントロジサーバが、オントロジ記述言語で記述されたオントロジのデータを記憶装置から読み出し、オントロジに定義されている各語の関係を調べる第１のステップと、オントロジによって定義されている所定の語およびオントロジの切り出し条件を取得し、このオントロジに定義されている各語の関係に基づいて、オントロジから所定の語および切り出し条件を満たす部分を切り出す第２のステップと、切り出されたオントロジをクライアントに送信する第３のステップとを含むことを特徴とする。
【００１４】
さらに本発明は、コンピュータを制御して上記のオントロジサーバの各機能を実現させるプログラム、あるいはコンピュータに上記のデータ処理方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
【発明の効果】
【００１５】
以上のように構成された本発明によれば、エージェントがオントロジサーバからオントロジをダウンロードする場合に、必要な一部を選択してダウンロードすることができる。このため、オントロジを利用するコンピュータシステムにおいて、ネットワーク負荷や通信コストを軽減し、オントロジを利用した処理に要する時間を短縮することができる。
また、オントロジクライアントにおいても、自身の処理を行うために必要なオントロジの情報のみを取得して参照するため、処理に要する時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
まず、本実施形態の概要を説明する。
図１は、本実施形態のセマンティックウェブシステムにおけるオントロジサーバとオントロジクライアントとの関係を示す図である。
図１に示すように、本実施形態のオントロジサーバ１００は、ＯＷＬ文書であるオントロジを格納したオントロジ格納部２００と、オントロジクライアント４００からのリクエストに応じてオントロジ格納部２００に格納されているオントロジの一部を切り出して返送するオントロジ編集部３００とを備える。オントロジクライアント４００は、ユーザが使用するクライアントマシンやポータルサーバ、検索サイトのエージェントサーバ等、オントロジサーバ１００にアクセスしてオントロジを利用する各種の情報処理装置が該当し、オントロジサーバ１００へのアクセスを行うエージェント４１０を備える。
【００１７】
図１に示すシステムにおいて、オントロジクライアント４００のエージェント４１０は、オントロジサーバ１００のオントロジ格納部２００に格納されているオントロジのＵＲＬとパラメータ（ＵＲＬパラメータ）とを含むＨＴＴＰリクエストを作成し、オントロジサーバ１００に対して送信する。ＨＴＴＰリクエストに含まれるパラメータについては後述する。
このＨＴＴＰリクエストを受信したオントロジサーバ１００では、オントロジ編集部３００が、このＨＴＴＰリクエストを解釈し、そのパラメータに基づいてオントロジ格納部２００に格納されているオントロジの一部を切り出し、切り出されたオントロジのサブセットをＨＴＴＰレスポンスとしてオントロジクライアント４００に返送する。
【００１８】
図２は、本実施形態におけるオントロジサーバ１００およびオントロジクライアント４００を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図２に示すコンピュータ装置は、演算手段であるＣＰＵ（Central Processing Unit：中央処理装置）１１と、Ｍ／Ｂ（マザーボード）チップセット１２およびＣＰＵバスを介してＣＰＵ１１に接続されたメインメモリ１３と、同じくＭ／Ｂチップセット１２およびＡＧＰ（Accelerated Graphics Port）を介してＣＰＵ１１に接続されたビデオカード１４と、ＰＣＩ（Peripheral Component Interconnect）バスを介してＭ／Ｂチップセット１２に接続された磁気ディスク装置（ＨＤＤ）１５、ネットワークインタフェース１６と、さらにこのＰＣＩバスからブリッジ回路１７およびＩＳＡ（Industry Standard Architecture）バスなどの低速なバスを介してＭ／Ｂチップセット１２に接続されたフレキシブルディスクドライブ１８およびキーボード／マウス１９とを備える。
【００１９】
なお、図２は本実施形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（AT Attachment）やＳＣＳＩ（Small Computer System Interface）などのインタフェースを介してＣＤ−Ｒ（Compact Disc Recordable）やＤＶＤ−ＲＡＭ（Digital Versatile Disc Random Access Memory）のドライブを設けても良い。
【００２０】
次に、本実施形態のオントロジサーバ１００について詳細に説明する。
本実施形態のオントロジサーバ１００は、上述したように、オントロジクライアント４００からのＨＴＴＰリクエストに含まれるパラメータにより指定された切り出し条件に応じて、オントロジ格納部２００に格納されているオントロジの一部を切り出し、オントロジのサブセットを生成する。まず、このオントロジの切り出し作業について説明する。
図３は、オントロジを記述するＯＷＬのデータモデルを示す図である。
ＯＷＬはＲＤＦ（Resource Description Framework）に基づいて記述される。ＲＤＦは、主語（リソース）、述語（プロパティ）、目的語（オブジェクト：プロパティの値）の三者関係によって、関係の連鎖を辿ることができるようなデータモデルを記述する。ＲＤＦのデータモデルは、図３（Ａ）に示すように主語、述語、目的語を１行に記述するＮ−Ｔｒｉｐｌｅと呼ばれる表記法や、図３（Ｂ）に示すようなラベル付き有向グラフで表現することができる。したがって、ＯＷＬで記述されたオントロジは、オントロジにおいて定義される各語をノードとし、各語の間の関係をノード間に張られたアークとしたＲＤＦモデル（グラフモデル）で表すことができる。この場合、各ノードはＮ−Ｔｒｉｐｌｅｓ表記における主語および目的語に対応し、ノード間のアークは述語に対応する。
図４は、ＯＷＬをＲＤＦモデルで表現した例を示す図である。
図４において、アークによって結ばれた任意の２つのノードは、間に張られたアークを述語として主語と目的語の関係をそれぞれ有する。
【００２１】
本実施形態では、オントロジ編集部３００が、オントロジからその一部を切り出してオントロジのサブセットを生成するが、この際、切り出すべき部分を特定するために、オントロジ編集部３００は、このオントロジにおいて定義されている各語の間の関係を知っていなければならない。そこで、オントロジ編集部３００がオントロジで定義されている各語の関係を知る手段として、本実施の形態では、オントロジ格納部２００に格納されているＯＷＬで記述されたオントロジをＮ−Ｔｒｉｐｌｅｓ表記に変換する。
また、オントロジから切り出すべき部分、すなわちオントロジクライアント４００からのＨＴＴＰリクエストに含まれるパラメータにより指定された切り出し条件を満たす部分を特定する作業は、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジを対象として行うよりも、ＲＤＦモデルを対象として行う方が、効率が良い。これは次のような理由による。すなわち、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジを対象として切り出し条件を満たす部分を特定する場合は、このＮ−Ｔｒｉｐｌｅｓ表記の記述全体を何度も走査しながら切り出し条件を満たす語を１語ずつ検索する必要がある。これに対して、ＲＤＦモデルを対象として行う場合は、アークをたどりながら切り出し条件を満たすノードを順次特定していけば良い。そこで、本実施形態では、オントロジ編集部３００が、Ｎ−Ｔｒｉｐｌｅｓ表記されたオントロジから、これと等価なＲＤＦモデルを生成し、このＲＤＦモデル上で切り出すべき部分を特定し、サブセットを生成することとする。
【００２２】
図５は、本実施形態におけるオントロジの切り出しを行う際のデータ変換の様子を示す図である。
上述したように、オントロジ格納部２００から読み出されたＯＷＬ文書のオントロジがＮ−Ｔｒｉｐｌｅｓ表記に変換され、さらにＲＤＦモデルに変換された後に切り出され、次に、切り出されたＲＤＦモデルの部分がＮ−Ｔｒｉｐｌｅｓ表記に変換され、ＯＷＬ文書に変換されて、切り出し条件に応じたオントロジのサブセットが生成される。これにより、本実施形態では、オントロジクライアント４００からオントロジサーバ１００へオントロジの取得を要求するＨＴＴＰリクエストが送信されると、このオントロジのサブセットを内容とするＨＴＴＰレスポンスが、オントロジサーバ１００からオントロジクライアント４００に送信される。
【００２３】
図６は、本実施形態におけるオントロジサーバ１００の構成を示す図である。
図６において、オントロジ格納部２００は、図２のメインメモリ１３や磁気ディスク装置１５等の記憶手段にて実現される。オントロジ格納部２００には、ＲＤＦ／ＸＭＬ文書（ＸＭＬ表記されたＲＤＦ文書）として記述されたＯＷＬ文書が格納されている。
また、オントロジ編集部３００は、例えば図２に示したコンピュータ装置のプログラム制御されたＣＰＵ１１およびメインメモリ１３等の記憶手段にて実現される。図６を参照すると、オントロジ編集部３００は、オントロジクライアント４００から受け付けたＨＴＴＰリクエストを解釈するＨＴＴＰリクエスト解釈部３１０と、オントロジの切り出しを行うためのＲＤＦパーサ３２０、ＲＤＦモデル管理部３３０、ＲＤＦシリアライザ３４０およびＨＴＴＰレスポンス作成部３５０とを備える。
【００２４】
ＨＴＴＰリクエスト解釈部３１０は、オントロジクライアント４００から送信されたＨＴＴＰリクエストを解析して、ＨＴＴＰリクエストに含まれるオントロジの切り出し条件を記述したパラメータを抽出する。
ＲＤＦパーサ３２０は、オントロジ格納部２００からオントロジのＯＷＬ文書を読み出し、Ｎ−Ｔｒｉｐｌｅｓ表記に変換する。
ＲＤＦモデル管理部３３０は、ＨＴＴＰリクエスト解釈部３１０により抽出されたパラメータと、ＲＤＦパーサ３２０により変換されたＮ−Ｔｒｉｐｌｅｓ表記のオントロジとを入力し、パラメータにより指定された切り出し条件に基づきオントロジの切り出しを行う。切り出されたオントロジのサブセットは、Ｎ−Ｔｒｉｐｌｅｓ表記で記述されている。オントロジ切り出し処理の具体的な内容については後述する。
ＲＤＦシリアライザ３４０は、ＲＤＦモデル管理部３３０により切り出されたオントロジのサブセットをＯＷＬ文書（ＲＤＦ／ＸＭＬ文書）に変換する。
ＨＴＴＰレスポンス生成部３５０は、ＲＤＦシリアライザ３４０により生成されたＯＷＬ文書によるオントロジのサブセットを含むＨＴＴＰレスポンスを生成して、ＨＴＴＰリクエストを送信したオントロジクライアント４００へ返送する。
【００２５】
図７は、ＲＤＦモデル管理部３３０の機能構成を示す図である。
図７を参照すると、ＲＤＦモデル管理部３３０は、ＲＤＦモデル生成部３３１と、ノード間距離計算部３３２と、ＯＷＬ整合性管理部３３３と、サブセット抽出部３３４と、Ｎ−Ｔｒｉｐｌｅｓ生成部３３５とを備える。
ＲＤＦモデル生成部３３１は、ＲＤＦパーサ３２０より入力したＮ−Ｔｒｉｐｌｅｓ表記のオントロジから、図４に示したようなＲＤＦモデルを生成する。生成されたＲＤＦモデルは、例えば図２に示したメインメモリ１３やＣＰＵ１１のキャッシュメモリに保持される。
図８は、ＲＤＦモデルをＣ言語で記述したデータ構造の例を示す図である。ここで、図９に示すようなＲＤＦモデルを考える。図９において、ノードＡは、述語に対応するアークｒの関係によりノードＥに対する目的語となっている。同様に、アークｐの関係によりノードＦに対する目的語となっている。一方、このノードＡは、アークｐの関係によりノードＢおよびノードＣに対する主語となっている。また、アークｑの関係によりノードＤに対する主語となっている。図１０は、図８に示したデータ構造を用いて図９のＲＤＦモデルを表した図である。図１０において、各ノードおよびアークを表すデータブロックには、他のデータブロックへのポインタが記述され、図９に示したＲＤＦモデルのイメージと対応するように関連付けられている。
【００２６】
ノード間距離計算部３３２は、ＲＤＦモデル生成部３３１により生成されたＲＤＦモデルの全てのノードに対して、他の各ノードとの間の距離を計算し、ノード間距離テーブル３３６に登録する。
図１１は、ノード間距離テーブル３３６の例を示す図である。
図１１に示すノード間距離テーブル３３６は、それぞれノードのＩＤを項目とした２次元のテーブルであり、２つのノードの組合せ全てについて、ノード間距離の値が登録される。例えば、図１１においてノードＡとノードＢとの間の距離は３、ノードＡとノードＣとの間の距離は６である。ここで、ノード間距離の値は、ＲＤＦモデル上で一方のノードから他方のノードまでたどる場合に通過するアークの数である。なお、テーブルの項目には、ＲＤＦモデル上での対応するノードへのポインタを登録しても良い。作成されたノード間距離テーブル３３６は、例えば図２に示したメインメモリ１３やＣＰＵ１１のキャッシュメモリに保持される。
【００２７】
ＯＷＬ整合性管理部３３３は、ＲＤＦモデル生成部３３１により生成されたＲＤＦモデルのノードのうち、単一のグループとして扱うべきノードセットを特定し、グループノード管理テーブル３３７に登録する。ＯＷＬ言語要素では、所定の複数のノードに関して、それらをセットとして扱わないとＯＷＬ文法的に不整合が起こる場合がある。そこで、オントロジの切り出しを行う際に、そのようなノードセットを分割しないために、グループとして管理する。
図１２は、グループノード管理テーブル３３７の例を示す図である。
図１２に示すグループノード管理テーブル３３７には、ノードのＩＤと各ノードが該当するグループのＩＤとが対応付けられて登録される。なお、図示のノードＢのように、１つのノードが複数のグループに属する場合もある。作成されたグループノード管理テーブル３３７は、例えば図２に示したメインメモリ１３やＣＰＵ１１のキャッシュメモリに保持される。
【００２８】
このようにグループとして扱うべきノードセットの例としては、例えばowl:onPropertyと以下のプロパティの組合せがある。
・owl:hasValue
・owl:allValuesFrom
・owl:someValuesFrom
・owl:cardinality
・owl:maxCardinality
・owl:minCardinality
すなわち、この場合、所定の３つのノードＡ、Ｂ、Ｃに関して、ノードＡを主語、ノードＢを目的語として、ノードＡ、Ｂ間のアークのプロパティがowl:onPropertyであり、かつノードＡを主語、ノードＣを目的語として、ノードＡ、Ｃ間のアークのプロパティが上記の６種類のプロパティのいずれかであるなら、ノードＡ、Ｂ、Ｃはグループとして扱われる（ノードＡ、Ｂ間およびノードＡ、Ｃ間のアークでＲＤＦモデルを切ることはしない）。
また、ＲＤＦにおけるrdf:first、rdf:restの組合せを用いたＯＷＬ言語要素に該当するノード等もグループとして扱われる。
この他、ＲＤＦモデルを切ることが好ましくない関係は、ＯＷＬ文法に基づいて適宜設定することができ、ＯＷＬ文法が更新された場合等には、動的に対応させて設定を更新することができる。
【００２９】
サブセット抽出部３３４は、ＨＴＴＰリクエスト解釈部３１０によりＨＴＴＰリクエストから抽出されたパラメータを入力し、ＲＤＦモデル生成部３３１により生成されたＲＤＦモデルからパラメータにより指定された切り出し条件を満たす部分を切り出し、ＲＤＦモデルのサブセットを生成する。この際、ノード間距離テーブル３３６およびグループノード管理テーブル３３７を参照することができる。ＲＤＦモデルの切り出しを行う場合、ＲＤＦモデルのノードおよびアークを辿って切り出し条件を満たす部分を特定することも可能であるが、後述する切り出し条件の指定方法によっては、ノード間距離テーブル３３６を参照することにより、効率よく切り出し条件を満たす部分を特定することができる。また、ＲＤＦモデルを切り出す上で、グループノード管理テーブル３３７に登録されたグループのノードセットを分割しないのは上述の通りである。
ＲＤＦモデルを切り出す際には、各ノード間のアークをなすプロパティについても、元のＲＤＦモデルから抜き出す。このプロパティについては、ＲＤＦモデルのpropertyFlagが１であるので、owl:Propertyのrdf:typeであるとして良い。以上のようにしてサブセット抽出部３３４により生成されたＲＤＦモデルのサブセットは、例えば図２に示したメインメモリ１３やＣＰＵ１１のキャッシュメモリに保持される。
【００３０】
Ｎ−Ｔｒｉｐｌｅｓ生成部３３５は、サブセット抽出部３３４により生成されたＲＤＦモデルのサブセットから、当該サブセットに対応するＮ−Ｔｒｉｐｌｅｓ表記のオントロジを生成する。生成されたＮ−Ｔｒｉｐｌｅｓ表記のオントロジは、例えば図２に示したメインメモリ１３やＣＰＵ１１のキャッシュメモリに保持され、ＲＤＦシリアライザ３４０に読み込まれて処理される。
【００３１】
次に、オントロジのサブセットを生成するためのオントロジの切り出し条件の指定方法について説明する。
本実施形態では、オントロジクライアント４００のエージェント４１０が所望するサブセットを適切に切り出すため、切り出し条件として、オントロジの情報を得ようとする目標（ターゲット）のノード（語）と所望する情報の範囲とを指定する。情報の範囲の指定の仕方としては、例えば、目標のノードからのレイヤー数（距離）で指定する方法、サブセットに含まれるノードの数を指定する方法等が考えられる。この切り出し条件は、エージェント４１０がオントロジサーバ１００からオントロジをダウンロードするためのＨＴＴＰリクエストにおいて、当該オントロジのＵＲＬの一部（ＵＲＬパラメータ）として当該ＵＲＬに付加される。
【００３２】
以下、本実施形態における切り出し条件の指定方法およびそのパラメータにおける記述の具体例をいくつか挙げる。
１．目標のノードおよびレイヤー数による指定方法
この指定方法では、目標のノードとそのノードからのレイヤー数とを指定することにより、そのノードから指定されたレイヤー数だけアークをたどることによって到達するノードまでをサブセットとして切り出す。
図１３は、ノードおよびレイヤー数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
図１３の例では、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&layer1=2という記述によって切り出し条件が指定されている。このＵＲＬのうち、「〜.owl」までがオントロジのＯＷＬ文書のＵＲＬであり、「?id1=Apple&layer1=2」の部分が切り出し条件を記述したパラメータである。このパラメータの記述では、切り出し条件における目標のノードを「Apple」、レイヤー数を２と指定している。図１３において、点線で囲まれた範囲１３０１がこの切り出し条件を満たす範囲であり、この範囲がサブセットとして切り出されるオントロジの部分となる。図を参照すると、ノード「Apple」からアークを２本たどって到達できるノードまでが、点線で囲まれた範囲１３０１に含まれている（図中、太線で示したノードおよびアーク）。
【００３３】
この指定方法は、より一般的には、複数のノードを指定することができる。例えば、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&layer1=2&id2=Monkey&layer2=3という記述によって、切り出し条件が次のように指定される。
・ノード「Apple」、レイヤー数＝２
・ノード「Monkey」、レイヤー数＝３
この切り出し条件により、ノード「Apple」からアークを２本たどって到達できるノードまでの範囲、およびノード「Monkey」からアークを３本たどって到達できるノードまでの範囲が、サブセットとして切り出される部分となる。
【００３４】
また、予めデフォルトのレイヤー数を決めておき、パラメータにおいてレイヤー数の指定がない場合はデフォルトのレイヤー数を適用することができる。
例えば、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&id2=Monkey&defaultLayer=2という記述では、ノード「Apple」、「Monkey」は指定されているが、それぞれのレイヤー数は指定されていない。この場合、デフォルトのレイヤー数（defaultLayer）＝２が適用され、ノード「Apple」、「Monkey」からそれぞれアークを２本たどって到達できるノードまでの範囲がサブセットとして切り出される部分となる。
同様に、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&layer1=2&id2=Monkey&defaultLayer=3という記述では、ノード「Apple」についてはレイヤー数＝２が指定されているが、ノード「Monkey」についてはレイヤー数が指定されていないので、デフォルトのレイヤー数＝３が適用されることとなる。
【００３５】
２．目標のノードおよびノード数による指定方法
この指定方法では、目標のノードとサブセットに含まれるノードの数とを指定することにより、そのノードに近いノードから順にノードを特定していき、特定されたノードが指定された数に達した場合に、そのノードまでをサブセットとして切り出す。ノード数の指定の仕方としては、例えばオントロジ全体のノード数に対する割合（パーセンテージ）を指定することができる。
図１４は、ノードおよびノード数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
図１４の例では、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&rate1=50という記述によって切り出し条件が指定されている。このＵＲＬのうち、「〜.owl」までがオントロジのＯＷＬ文書のＵＲＬであり、「?id1=Apple&rate1=50」の部分が切り出し条件を記述したパラメータである。このパラメータの記述では、切り出し条件における目標のノードを「Apple」、ノード数をオントロジ全体のノード数の５０％と指定している。図１４において、点線で囲まれた範囲１４０１がこの切り出し条件を満たす範囲であり、この範囲がサブセットとして切り出されるオントロジの部分となる。図を参照すると、ノード「Apple」を中心に、オントロジ全体の５０％（＝２０個）のノードが、点線で囲まれた範囲１４０１に含まれている（図中、太線で示したノードおよびアーク）。この範囲１４０１の個々のノードは、ノード「Apple」からアークを２本たどって到達できるノードの全て、およびノード「Apple」からアークを３本たどって到達できるノードの一部となっている。
【００３６】
この指定方法は、より一般的には、複数のノードを指定することができる。例えば、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&rate1=10&id2=Monkey&rate2=20という記述によって、切り出し条件が次のように指定される。
・ノード「Apple」、ノード数＝オントロジ全体の１０％
・ノード「Monkey」、ノード数＝オントロジ全体の２０％
この切り出し条件により、ノード「Apple」を中心にオントロジ全体の１０％のノード、およびノード「Monkey」を中心にオントロジ全体の２０％のノードが特定されて、サブセットとして切り出される部分となる。
【００３７】
また、予めデフォルトのノード数を決めておき、パラメータにおいてノード数の指定がない場合はデフォルトのノード数を適用することができる。
例えば、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&id2=Monkey&defaultRate=10という記述では、ノード「Apple」、「Monkey」は指定されているが、それぞれのノード数は指定されていない。この場合、デフォルトのノード数（defaultRate）＝１０％が適用され、ノード「Apple」、「Monkey」を中心に、それぞれオントロジ全体の１０％のノードが特定されて、サブセットとして切り出される部分となる。
同様に、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&rate1=10&id2=Monkey&defaultRate=20という記述では、ノード「Apple」についてはノード数＝１０％が指定されているが、ノード「Monkey」についてはノード数が指定されていないので、デフォルトのノード数＝２０％が適用されることとなる。
なお、この例のようにノード数をオントロジ全体のノード数に対する割合で指定する以外に、サブセットに含むべきノードの数値を直接指定することもできる。ただし、実用的なオントロジサーバが格納するオントロジのノード数は膨大であり、かつノード間の関係は実際にオントロジを調べるまで分からないことを考慮すれば、オントロジ全体のノード数に対する割合でノード数を指定する方法が適当であると考えられる。
【００３８】
３．複数のノードおよびそのノード間の最短経路上のノードからのレイヤー数による指定方法
この指定方法では、目標のノードを複数指定すると共に、それらのノードの間の最短経路上のノードからのレイヤー数を指定することにより、それらのノードから指定されたレイヤー数だけアークをたどることによって到達するノードまでをサブセットとして切り出す。
図１５は、複数のノードおよびそのノード間の最短経路上のノードからのレイヤー数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
図１５の例では、http://www.ibm.com/ontology/upperlevel.owl?id1=Apple&id2=Monkey&dijkstraLayer=1という記述によって切り出し条件が指定されている。このＵＲＬのうち、「〜.owl」までがオントロジのＯＷＬ文書のＵＲＬであり、「?id1=Apple&id2=Monkey&dijkstraLayer=1」の部分が切り出し条件を記述したパラメータである。このパラメータの記述では、切り出し条件における目標のノードを「Apple」、「Monkey」とし、これらのノード間の最短経路上のノードからのレイヤー数（dijkstraLayer）を１と指定している。図１５において、点線で囲まれた範囲１５０１がこの切り出し条件を満たす範囲であり、この範囲がサブセットとして切り出される部分となる。図を参照すると、ノード「Apple」からノード「Monkey」までを結ぶ最短経路上の各ノード（図中、太線で記載したノードＡ、Ｂ、Ｃ）からアークを１本たどって到達できるノードまでが、点線で囲まれた範囲１５０１に含まれている（図中、太線で示したノードおよびアーク）。
【００３９】
この指定方法は、経路を特定する目標のノードの組を複数指定し、それぞれの最短経路上のノードからのレイヤー数を指定することができる。例えば、http://www.ibm.com/ontology/upperlevel.owl?id11=Apple&id12=Monkey&dijkstraLayer1=5& id21=Apple&id22=Dog&dijkstraLayer2=3という記述によって切り出し条件が次のように指定される。
・ノード「Apple」「Monkey」、最短経路上のノードからのレイヤー数＝５
・ノード「Apple」「Dog」、最短経路上のノードからのレイヤー数＝３
この切り出し条件により、ノード「Apple」からノード「Monkey」までを結ぶ最短経路上の各ノードからアークを５本たどって到達できるノードまでの範囲、およびノード「Apple」からノード「Dog」までを結ぶ最短経路上の各ノードからアークを３本たどって到達できるノードまでの範囲が、サブセットとして切り出される部分となる。
【００４０】
以上のようにしてサブセットに含まれるノードが特定された際、サブセット抽出部３３４は、当該ノードをグループノード管理テーブル３３７に照合する。そして、当該ノードが登録されていたならば、当該ノードが属するグループの他のノードも全てサブセットに含まれるノードとして特定する。
なお、上述した切り出し条件の指定方法を複数混在させてパラメータを記述することもできる。その場合、それぞれの指定方法で特定された切り出し範囲の和で表される範囲が、サブセットとして切り出される部分となる。
【００４１】
ところで、上述した１、３の切り出し条件の指定方法では、ＨＴＴＰリクエストのパラメータにおいて目標のノードからのレイヤー数が指定され、その目標のノードからアークをたどって到達するノードによりサブセットの範囲が決定される。この場合、実際にＲＤＦモデルにおいて目標のノードからアークをたどってサブセットに含まれるノードを特定していっても良いが、ノード間距離テーブル３３６が作成されているならば、これを用いることにより効率良くサブセットの範囲を決定することができる。すなわち、サブセット抽出部３３４は、ノード間距離テーブル３３６を参照して、目標のノードからの距離の値がパラメータにおいて指定されたレイヤー数の値以下であるノードを検出し、検出されたノードをＲＤＦモデル上で特定してサブセットの範囲を決定する。
【００４２】
さらに、上述した２の切り出し条件の指定方法においても、ノード間距離テーブル３３６を利用して効率良くサブセットの範囲を決定することができる。すなわち、サブセット抽出部３３４は、ノード間距離テーブル３３６を参照して、まず目標のノードからの距離の値が１のノードから順に検出し、検出されたノード数がＨＴＴＰリクエストのパラメータにおいて指定されたノード数に達したかどうかを判断しながら、次第に目標のノードからの距離の値が大きいノードを検出していく。図１４に示した例では、ノード「Apple」からアークを２本たどって到達できるノードは全てサブセットに含まれるので、ノード間距離テーブル３３６においてノード「Apple」に対する距離の値が２までのノードは、サブセットに含まれるノードとして直ちに特定することができる。しかし、ノード「Apple」に対する距離の値が３までのノードの総和はパラメータで指定されたノード数を越えてしまうので、サブセット抽出部３３４は、このノード「Apple」に対する距離の値が３であるノードに対して、ＲＤＦモデルやノード間距離テーブル３３６を参照して取捨選択を行い、パラメータで指定されたノード数に一致するようにノードを特定していけば良い。
【００４３】
次に、本実施形態におけるオントロジサーバ１００の全体的な動作の流れを説明する。
図１６は、本実施形態のオントロジサーバ１００の動作を説明するフローチャートである。
オントロジサーバ１００のオントロジ編集部３００は、図１６に示すように、まずオントロジ格納部２００からオントロジを読み出し（ステップ１６０１）、読み出したオントロジをパースしてＮ−Ｔｒｉｐｌｅｓ表記に変換する（ステップ１６０２）。そして、このＮ−Ｔｒｉｐｌｅｓ表記のオントロジからＲＤＦモデルを生成する（ステップ１６０３）。この際、ノード間距離テーブル３３６およびグループノード管理テーブル３３７も生成しておく。
ここまでの動作は、オントロジの切り出し条件がなくても行うことが可能である。したがって、オントロジクライアント４００からのＨＴＴＰリクエストの受信前に、事前動作として行っておくことができる。
【００４４】
オントロジクライアント４００からオントロジの取得を要求するＨＴＴＰリクエストを受信すると、次にオントロジ編集部３００は、受信したＨＴＴＰリクエストのパラメータに記述された切り出し条件に基づき、ステップ１６０３で生成されたＲＤＦモデルの一部を切り出す（ステップ１６０４）。そして、切り出した部分をＮ−Ｔｒｉｐｌｅｓ表記に変換し（ステップ１６０５）、さらにこれをシリアライズしてＯＷＬ文書に変換する（ステップ１６０６）。最後にオントロジ編集部３００は、このＯＷＬ文書に変換されたオントロジのサブセットを内容とするＨＴＴＰレスポンスを生成し、ＨＴＴＰリクエストを送信したオントロジクライアント４００に返送する（ステップ１６０７）。
【００４５】
上記のように、本実施形態のオントロジサーバ１００は、オントロジクライアント４００からのオントロジの取得要求に応じて、オントロジ全体ではなく、オントロジクライアント４００が必要とする情報に該当するオントロジの一部のみを提供する。これにより、本実施形態によれば、ネットワークの負荷を軽減し、通信コストを減少させることができる。
また、オントロジクライアント４００においても、自身の処理を行うために必要なオントロジの情報のみを取得して参照するため、処理に要する時間を短縮することができる。
【００４６】
一方、本実施形態では、オントロジサーバ１００において、ＯＷＬ文書をＲＤＦモデルに変換して一部を切り出し、切り出された部分を再度ＯＷＬ文書に変換してオントロジのサブセットを作成しているため、単にオントロジ全体をオントロジクライアント４００へ送信する場合に比べて、オントロジサーバ１００における処理が多い。そのため、オントロジクライアント４００がオントロジをダウンロードする際に要する時間が増大することとなる。
しかしながら上述した動作のように、オントロジクライアント４００からＨＴＴＰリクエストを受信する前に、オントロジサーバ１００が、予めＯＷＬ文書のオントロジをＲＤＦモデルに変換しておくことにより、オントロジクライアント４００がオントロジをダウンロードする際の時間の増大を最低限に抑えることができる。
ただし、この場合、ＯＷＬ文書のオントロジが更新されたならば、そのたびにＲＤＦモデルへの変換、ノード間距離テーブル３３６およびグループノード管理テーブル３３７の生成を行って、これらを常に最新の状態にしておくことが必要である。
【００４７】
なお、本実施形態において、事前にＯＷＬ文書をＲＤＦモデルに変換しておくことは必須の動作ではなく、オントロジサーバ１００が高性能で変換処理を高速に行うことができる等の条件によっては、ＨＴＴＰリクエストを受信後にＯＷＬ文書の読み出しおよびデータ形式の変換を行ってもかまわない。
また、本実施形態では、ＯＷＬ文書のオントロジをＲＤＦモデルに変換して、所定の切り出し条件を満たす部分を切り出すこととした。しかしながら、［００２２］で述べたように、ＯＷＬ文書をＲＤＦモデルに変換するのは、オントロジ編集部３００がオントロジで定義されている各語の関係を知るためと、ＯＷＬ文書やＮ−Ｔｒｉｐｌｅｓ表記から切り出し条件を満たす部分を検索するよりもＲＤＦモデルのグラフから該当部分を特定する方が簡単な作業で済むためである。したがって、処理速度が問題とならない等の条件によっては、ＨＴＴＰリクエストから抽出される切り出し条件に基づいて、当該切り出し条件を満たす語およびその定義をＯＷＬ文書から直接検索したり、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジから検索したりすることも可能である。
【００４８】
ＯＷＬ文書から直接サブセットの生成を行う場合、図６に示したオントロジサーバ１００のオントロジ編集部３００の構成において、ＲＤＦパーサ３２０やＲＤＦシリアライザ３４０は必須の構成要素ではない。ＲＤＦモデル管理部３３０は、ＯＷＬ文書を走査して切り出し条件を満たす語の定義を検索することとなる。また、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジからの切り出しを行う場合、図７に示したオントロジサーバ１００のＲＤＦモデル管理部３３０の構成において、ＲＤＦモデル生成部３３１やＮ−Ｔｒｉｐｌｅｓ生成部３３５は必須の構成要素ではない。サブセット抽出部３３４は、Ｎ−Ｔｒｉｐｌｅｓ表記のオントロジを走査して切り出し条件を満たす語を検索することとなる。
【図面の簡単な説明】
【００４９】
【図１】本実施形態のセマンティックウェブシステムにおけるオントロジサーバとオントロジクライアントとの関係を示す図である。
【図２】本実施形態におけるオントロジサーバおよびオントロジクライアントを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図３】オントロジを記述するＯＷＬのデータモデルを示す図である。
【図４】ＯＷＬをＲＤＦモデルで表現した例を示す図である。
【図５】本実施形態におけるオントロジの切り出しを行う際のデータ変換の様子を示す図である。
【図６】本実施形態におけるオントロジサーバの構成を示す図である。
【図７】本実施形態のＲＤＦモデル管理部の機能構成を示す図である。
【図８】ＲＤＦモデルをＣ言語で記述したデータ構造の例を示す図である。
【図９】ＲＤＦモデルの一例を示す図である。
【図１０】図８に示したデータ構造を用いて、図９に示したＲＤＦモデルを表した図である。
【図１１】本実施形態のノード間距離テーブルの構成例を示す図である。
【図１２】本実施形態のグループノード管理テーブルの構成例を示す図である。
【図１３】本実施形態において、ノードおよびレイヤー数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
【図１４】本実施形態において、ノードおよびノード数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
【図１５】本実施形態において、複数のノードおよびそのノード間の最短経路上のノードからのレイヤー数の指定により特定されるオントロジの切り出し範囲の例を示す図である。
【図１６】本実施形態のオントロジサーバの動作を説明するフローチャートである。
【図１７】セマンティックウェブ技術による情報検索システムの構成例を示す図である。
【図１８】エージェントがオントロジを参照する様子を示す図である。
【符号の説明】
【００５０】
１１…ＣＰＵ（Central Processing Unit：中央処理装置）、１３…メインメモリ、１５…磁気ディスク装置（ＨＤＤ）、１００…オントロジサーバ、２００…オントロジ格納部、３００…オントロジ編集部、３１０…ＨＴＴＰリクエスト解釈部、３２０…ＲＤＦパーサ、３３０…ＲＤＦモデル管理部、３３１…ＲＤＦモデル生成部、３３２…ノード間距離計算部、３３３…ＯＷＬ整合性管理部、３３４…サブセット抽出部、３３５…Ｎ−Ｔｒｉｐｌｅｓ生成部、４００…オントロジクライアント、４１０…エージェント
【図１】
2006011739.tif 000003
【図２】
2006011739.tif 000004
【図３】
2006011739.tif 000005
【図４】
2006011739.tif 000006
【図５】
2006011739.tif 000007
【図６】
2006011739.tif 000008
【図７】
2006011739.tif 000009
【図８】
2006011739.tif 000010
【図９】
2006011739.tif 000011
【図１０】
2006011739.tif 000012
【図１１】
2006011739.tif 000013
【図１２】
2006011739.tif 000014
【図１３】
2006011739.tif 000015
【図１４】
2006011739.tif 000016
【図１５】
2006011739.tif 000017
【図１６】
2006011739.tif 000018
【図１７】
2006011739.tif 000019
【図１８】
2006011739.tif 000020