(57)【特許請求の範囲】
【請求項１】
データにオントロジーを付加したオントロジーデータのフォーマットを、インポート可能なオントロジーのフォーマットについての情報を格納するオントロジーフォーマットデータベース内のデータを用いて解析し、前記オントロジーデータのフォーマットが、前記オントロジーフォーマットデータベースに予め登録されている標準的な既知のオントロジーフォーマットでない個人的な未知のフォーマットである場合、前記オントロジーフォーマットデータベース内のデータを用いてフォーマットを決定するオントロジーデータフォーマットアナライザと、
前記オントロジーデータのフォーマットが、前記個人的な未知のフォーマットである場合、前記オントロジーデータフォーマットアナライザにより決定されたフォーマットに基づいて、当該オントロジーデータの内容からオントロジーを抽出し、オントロジーを保存するオントロジーデータベースにインポートする未知フォーマットデータインポータとを備え、
前記オントロジー・データフォーマット・アナライザは、
入力されたオントロジーデータのフォーマットを解析する場合、個人的な未知のフォーマットがフォーマット情報を含んでいるか否かを判定し、
前記個人的な未知のフォーマットがフォーマット情報を含んでいるとき、直接前記フォーマット情報を抽出し、前記オントロジーフォーマットデータベースへ前記個人的な未知のフォーマットを追加し、さらに前記未知フォーマットデータインポータに、前記オントロジーデータの内容及び前記フォーマット情報を直接提供し、
前記個人的な未知のフォーマットがフォーマット情報を含んでいないとき、前記オントロジーフォーマットデータベースに格納された個人的な未知のフォーマットをすべて取得し、入力した前記個人的な未知のフォーマットが前記格納された個人的な未知のフォーマットのいずれかと一致するか否かを判定し、
前記個人的な未知のフォーマットが格納された個人的な未知のフォーマットの任意の１つと一致する場合、一致した個人的な未知のフォーマットを利用することを決定し、前記未知のフォーマットデータインポータに対して前記オントロジーデータの内容及びフォーマット情報を提供し、
前記個人的な未知のフォーマットが格納された個人的な未知のフォーマットのいずれとも一致しない場合、前記オントロジーフォーマットデータベース内のセパレータデータベースから最も頻繁に利用されるｎ個のセパレータを抽出し、ｎ個のセパレータの各々について、入力内容において前記セパレータの探索を行い、セパレータの位置が見つかったなら、前後へのセパレータ探索を当該位置から続けて行い、連続的なセパレータから成る領域を分離領域として判定し、２つの分離領域が見つかった場合、対応する分離フォーマットを検出された個人的な未知のフォーマットとして決定して生成し、前記未知フォーマットデータインポータに、前記オントロジーデータの内容及びフォーマット情報を出力する、動作を繰り返し実行する
ことを特徴とするオントロジーデータインポート装置。
【請求項２】
前記オントロジーデータベースは、主語、述語、および目的語から成るトリプルによって表現されるコンセプト、プロパティおよびインスタンスを含むことを特徴とする請求項１に記載のオントロジーデータインポート装置。
【請求項３】
前記オントロジーデータフォーマットアナライザが、
入力された前記オントロジーデータのフォーマットが前記標準的な既知のフォーマットである場合、当該オントロジーデータの内容と当該フォーマットの情報を既知フォーマットデータインポータに出力し、
当該オントロジーデータの内容からコンセプト、プロパティおよびインスタンスを抽出し、対応するトリプルを生成して、前記オントロジーデータベースにインポートする既知フォーマットデータインポータを備え、
前記オントロジーフォーマットデータベースが、
予め登録した標準的な既知のオントロジーフォーマットの情報と、
インポートに成功した前記個人的な未知のオントロジーのフォーマットの情報と、
インポートに成功した前記個人的な未知のフォーマットに含まれていたセパレータの出現頻度の統計結果の情報とを含む
ことを特徴とする請求項２に記載のオントロジーデータインポート装置。
【請求項４】
前記個人的な未知のフォーマットが、それぞれが特定のセパレータによって分離されるトリプルとして表されることを特徴とする請求項３に記載のオントロジーデータインポート装置。
【請求項５】
入力データをインポートする場合、前記未知フォーマットデータインポータは、主題をインポートし、次に、述語のタイププロパティを決定し、プロパティの値の範囲を生成し、決定した述語のタイププロパティに従って目的語をインポートすることを特徴とする請求項２から請求項４の何れかに記載のオントロジーデータインポート装置。
【請求項６】
前記未知フォーマットデータインポータは、述語を持つトリプルにある目的語として数値が存在するかどうかを解析し、述語に対する目的語として数値が存在する場合、述語を数値タイプのプロパティと決定し、プロパティの数域を数値タイプと定義することを特徴とする請求項５に記載のオントロジーデータインポート装置。
【請求項７】
前記未知フォーマットデータインポータは、述語を持つトリプルにある述語について数値が存在するかどうかを解析し、述語について数値が存在しない場合、前記述語と関連する目的語が主語の中に見つかるかどうかを判定し、主語の中に見つかる場合、前記述語が目的タイププロパティであると決定し、主語の中に見つからない場合、前記述語が数値タイププロパティであると決定し、プロパティの数域を文字列タイプと定義することを特徴とする請求項６に記載のオントロジーデータインポート装置。
【請求項８】
データにオントロジーを付加したオントロジーデータのフォーマットを、インポート可能なオントロジーのフォーマットについての情報を格納するオントロジーフォーマットデータベース内のデータを用いて解析するステップと、
前記オントロジーデータのフォーマットが、前記オントロジーフォーマットデータベースに予め登録されている標準的な既知のオントロジーフォーマットでない個人的な未知のフォーマットである場合、前記オントロジーフォーマットデータベース内のデータを用いてフォーマットを決定するステップと、
前記オントロジーデータのフォーマットが、前記個人的な未知のフォーマットである場合、前記オントロジーデータフォーマットアナライザにより決定されたフォーマットに基づいて、当該オントロジーデータの内容からオントロジーを抽出し、オントロジーを保存しているオントロジーデータベースに当該データをインポートするステップとを含み、
入力されたオントロジーデータのフォーマットを解析する場合、個人的な未知のフォーマットがフォーマット情報を含んでいるか否かを判定し、
前記個人的な未知のフォーマットがフォーマット情報を含んでいるとき、直接前記フォーマット情報を抽出し、前記オントロジーフォーマットデータベースへ前記個人的な未知のフォーマットを追加し、
前記個人的な未知のフォーマットがフォーマット情報を含んでいないとき、前記オントロジーフォーマットデータベースに格納された個人的な未知のフォーマットをすべて取得し、入力した前記個人的な未知のフォーマットが前記格納された個人的な未知のフォーマットのいずれかと一致するか否かを判定し、
前記個人的な未知のフォーマットが格納された個人的な未知のフォーマットの任意の１つと一致する場合、一致した個人的な未知のフォーマットを利用することを決定し、
入力した前記個人的な未知のフォーマットが格納された個人的な未知のフォーマットのいずれとも一致しない場合、前記オントロジーフォーマットデータベース内のセパレータデータベースから最も頻繁に利用されるｎ個のセパレータを抽出し、ｎ個のセパレータの各々について、入力内容において前記セパレータの探索を行い、セパレータの位置が見つかったなら、前後へのセパレータ探索を当該位置から続けて行い、連続的なセパレータから成る領域を分離領域として判定し、２つの分離領域が見つかった場合、対応する分離フォーマットを検出された個人的な未知のフォーマットとして決定して生成する、動作を繰り返し実行する
ことを特徴とするオントロジーデータインポート方法。
【請求項９】
前記オントロジーデータベースは、主語、述語、および目的語から成るトリプルによって表現されるコンセプト、プロパティおよびインスタンスを含むことを特徴とする請求項８に記載のオントロジーデータインポート方法。
【請求項１０】
入力された前記オントロジーデータのフォーマットが前記標準的な既知のフォーマットである場合、当該オントロジーデータの内容と当該フォーマットの情報を既知のフォーマットのオントロジーデータをインポートするステップに出力し、
当該オントロジーデータの内容からコンセプト、プロパティおよびインスタンスを抽出し、対応するトリプルを生成して、前記オントロジーデータベースにインポートするステップを有し、
前記オントロジーフォーマットデータベースが、
予め登録した標準的な既知のオントロジーフォーマットの情報と、
インポートに成功した前記個人的な未知のオントロジーのフォーマットの情報と、
インポートに成功した前記個人的な未知のフォーマットに含まれていたセパレータの出現頻度の統計結果の情報とを含む
ことを特徴とする請求項９に記載のオントロジーデータインポート方法。
【請求項１１】
前記個人的な未知のフォーマットが、それぞれが特定のセパレータによって分離されるトリプルとして表されることを特徴とする請求項１０に記載のオントロジーデータインポート方法。
【請求項１２】
入力データをインポートする場合、主題をインポートし、次に、述語のタイププロパティを決定し、プロパティの値の範囲を生成し、決定した述語のタイププロパティに従って目的語をインポートすることを特徴とする請求項９から請求項１１の何れかに記載のオントロジーデータインポート方法。
【請求項１３】
述語を持つトリプルにある目的語として数値が存在するかどうかを解析し、述語に対する目的語として数値が存在する場合、述語を数値タイプのプロパティと決定し、プロパティの数域を数値タイプと定義することを特徴とする請求項１２に記載のオントロジーデータインポート方法。
【請求項１４】
前記未知フォーマットデータインポータは、述語を持つトリプルにある述語について数値が存在するかどうかを解析し、述語について数値が存在しない場合、前記述語と関連する目的語が主語の中に見つかるかどうかを判定し、主語の中に見つかる場合、前記述語が目的タイププロパティであると決定し、主語の中に見つからない場合、前記述語が数値タイププロパティであると決定し、プロパティの数域を文字列タイプと定義することを特徴とする請求項１３に記載のオントロジーデータインポート方法。
【請求項１５】
ユーザが入力した、キーワードやオントロジーデータを出力する際のフォーマットを示すエクスポートフォーマットを受取り、クエリ言語への生成処理後、オントロジーを保存しているオントロジーデータベースに保存されているオントロジーデータについて問い合わせ、オントロジーデータエクスポートフォーマットアナライザに対してエクスポートフォーマットを要求する、キーワードに基づきクエリ言語と組み合わせたオントロジーエクスポータと、
前記オントロジーエクスポータからの要求に従って、エクスポートフォーマットを前記オントロジーエクスポータに返し、或いは、インポート可能なオントロジーのフォーマットについての情報を格納するオントロジーフォーマットデータベースを利用したクエリにより、エクスポートフォーマットを取得するオントロジーデータエクスポートフォーマットアナライザとを備え、
前記オントロジーエクスポータは、前記オントロジーデータエクスポートフォーマットアナライザから返されるエクスポートフォーマットに従って、前記オントロジーデータベースから返されるクエリ結果を出力し、
前記オントロジーデータエクスポートフォーマットアナライザは、エクスポートコマンドが前記エクスポートフォーマットを含むかどうか判定し、
前記エクスポートフォーマットが含まれている場合に、前記エクスポートフォーマットを前記オントロジーエクスポータに返し、
前記エクスポートコマンドが前記エクスポートフォーマットを含まないと判定した場合、前記オントロジーフォーマットデータベース内の最新かつ最も頻繁に使用されたインポートフォーマットを判定して前記オントロジーエクスポータに返し、
前記最新かつ最も頻繁に使用されたインポートフォーマットを判定する手段が、
所定の期間ｎ中、未知のフォーマットのオントロジーのインポートが成功した際に利用された全フォーマットを抽出し、これらをフォーマット集合ｒｓと表し、前記フォーマット集合ｒｓの中の各フォーマットｒについて、その利用率ｒａｔｅを計算し、最大の使用率ｒａｔｅｍａｘに対応するフォーマットをエクスポートフォーマットとして選択し、前記エクスポートフォーマットを前記オントロジーエクスポータに返す
ことを特徴とするオントロジーデータエクスポート装置。
【請求項１６】
前記オントロジーデータベースは、主語、述語、および目的語から成るトリプルによって表現されるコンセプト、プロパティおよびインスタンスを含むことを特徴とする請求項１５に記載のオントロジーデータエクスポート装置。
【請求項１７】
前記オントロジーフォーマットデータベースが、
予め登録した標準的な既知のオントロジーフォーマットの情報と、
インポートに成功した、前記標準的な既知のオントロジーフォーマットでない個人的な未知のオントロジーのフォーマットの情報と、
インポートに成功した前記個人的な未知のフォーマットに含まれていたセパレータの出現頻度の統計結果の情報とを含む
ことを特徴とする請求項１６に記載のオントロジーデータエクスポート装置。
【請求項１８】
前記個人的な未知のフォーマットが、それぞれが特定のセパレータによって分離されるトリプルとして表されることを特徴とする請求項１７に記載のオントロジーデータエクスポート装置。
【請求項１９】
前記オントロジーエクスポータは、
前記オントロジーデータベースのすべてのドメインオントロジーを取得してリスト化し、
ユーザが選択したドメインオントロジー内のすべてのコンセプトを取得してリスト化し、
ユーザが選択したコンセプトについてすべてのプロパティを取得してリスト化し、
ユーザが選択したプロパティとプロパティについてユーザによって入力されたキーワードからなるクエリ条件を追加し、
ユーザによって追加されたすべてのクエリ条件に従ってクエリ言語を生成することを特徴とする請求項１５に記載のオントロジーデータエクスポート装置。
【請求項２０】
前記オントロジーエクスポータは、
前記クエリ条件がすべて追加されたことをユーザが確認する前に、ユーザによって選択されて追加した前記クエリ条件のいずれかの１つを削除し編集することをユーザに許可し、
クエリ条件がすべて準備ができていることをユーザが確認した後に、前記クエリ言語を生成することを特徴とする請求項２５に記載のオントロジーデータエクスポート装置。
【請求項２１】
前記最大の使用率ｒａｔｅｍａｘが所定の閾値ｔｈｒｅｓｈｏｌｄより大きい場合にのみ、前記オントロジー・データエクスポートフォーマットアナライザは、前記最大の使用率ｒａｔｅｍａｘに対応するフォーマットをエクスポートフォーマットとみなすことを特徴とする請求項１５に記載のオントロジーデータエクスポート装置。
【請求項２２】
前記最大の使用率ｒａｔｅｍａｘが所定の閾値ｔｈｒｅｓｈｏｌｄより大きくない場合、前記オントロジーデータエクスポートフォーマットアナライザは、前記所定の期間ｎの時間を増加させ、前記所定の閾値ｔｈｒｅｓｈｏｌｄを減少させて、前記エクスポートフォーマットの選択を再開することを特徴とする請求項２１に記載のオントロジーデータエクスポート装置。
【請求項２３】
ユーザが入力した、キーワードやオントロジーデータを出力する際のフォーマットを示すエクスポートフォーマットを受取り、クエリ言語への生成処理後、オントロジーを保存しているオントロジーデータベースに保存されているオントロジーデータについて問い合わせ、エクスポートフォーマットを要求するステップと、
エクスポートフォーマットの要求に従って、エクスポートフォーマットを前記エクスポートフォーマットを要求するステップ返すか、あるいは、インポート可能なオントロジーのフォーマットについての情報を格納するオントロジーフォーマットデータベースを利用したクエリにより、エクスポートフォーマットを取得するステップと、
返されたエクスポートフォーマットに従って、オントロジーデータベースから返されたクエリ結果を出力するステップとを含み、
エクスポートコマンドが前記エクスポートフォーマットを含むかどうか判定し、
前記エクスポートフォーマットが含まれている場合に、前記エクスポートフォーマットを直接返し、
前記エクスポートコマンドが前記エクスポートフォーマットを含まないと判定した場合、前記オントロジーフォーマットデータベース内の最新かつ最も頻繁に使用されたインポートフォーマットを返し、
前記最新かつ最も頻繁に使用されたインポートフォーマットを判定するステップが、
所定の期間ｎ中、未知のフォーマットのオントロジーのインポートが成功した際に利用された全フォーマットを抽出し、これらをフォーマット集合ｒｓと表し、前記フォーマット集合ｒｓの中の各フォーマットｒについて、その利用率ｒａｔｅを計算し、最大の使用率ｒａｔｅｍａｘに対応するフォーマットをエクスポートフォーマットとして選択し、前記最大の使用率ｒａｔｅｍａｘが所定の閾値ｔｈｒｅｓｈｏｌｄより大きい場合にのみ、前記最大の使用率ｒａｔｅｍａｘに対応するフォーマットをエクスポートフォーマットとみなす
ことを特徴とするオントロジーデータエクスポート方法。
【請求項２４】
前記オントロジーデータベースは、主語、述語、および目的語から成るトリプルによって表現されるコンセプト、プロパティおよびインスタンスを含むことを特徴とする請求項２３に記載のオントロジーデータエクスポート方法。
【請求項２５】
前記オントロジーフォーマットデータベースが、
予め登録した標準的な既知のオントロジーフォーマットの情報と、
インポートに成功した、前記標準的な既知のオントロジーフォーマットでない個人的な未知のオントロジーのフォーマットの情報と、
インポートに成功した前記個人的な未知のフォーマットに含まれていたセパレータの出現頻度の統計結果の情報とを含む
ことを特徴とする請求項２４に記載のオントロジーデータエクスポート方法。
【請求項２６】
前記個人的な未知のフォーマットが、それぞれが特定のセパレータによって分離されるトリプルとして表されることを特徴とする請求項２５に記載のオントロジーデータエクスポート方法。
【請求項２７】
前記クエリ言語の生成ステップが、
前記オントロジーデータベースのすべてのドメインオントロジーを取得してリスト化し、
ユーザが選択したドメインオントロジー内のすべてのコンセプトを取得してリスト化し、
ユーザが選択したコンセプトについてすべてのプロパティを取得してリスト化し、
ユーザが選択したプロパティとプロパティについてユーザによって入力されたキーワードからなるクエリ条件を追加し、
ユーザによって追加されたすべてのクエリ条件に従ってクエリ言語を生成することを特徴とする請求項２３に記載のオントロジーデータエクスポート方法。
【請求項２８】
前記クエリ言語の生成ステップが、
前記クエリ条件がすべて追加されたことをユーザが確認する前に、ユーザによって選択されて追加した前記クエリ条件のいずれかの１つを削除し編集することをユーザに許可し、
クエリ条件がすべて準備ができていることをユーザが確認した後に、前記クエリ言語を生成することを特徴とする請求項２７に記載のオントロジーデータエクスポート方法。
【請求項２９】
前記最大の使用率ｒａｔｅｍａｘが所定の閾値ｔｈｒｅｓｈｏｌｄより大でない場合、前記所定の期間ｎの時間を増加させ、前記所定の閾値ｔｈｒｅｓｈｏｌｄを減少させて、前記エクスポートフォーマットの選択を再開することを特徴とする請求項２３に記載のオントロジーデータエクスポート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理の分野に関し、特に、既知の標準フォーマットから個人的なフォーマットへのオントロジーのインポート／エクスポートを行うことができ、オントロジー管理システムをより多くのアプリケーションに適用できるようにする柔軟なオントロジーデータのインポート／エクスポート方法およびその装置に関する。
【背景技術】
【０００２】
オントロジーは、データの意味を表現する重要な方法の一つであり、オントロジーによるデータ管理の目的は、アプリケーションでのオントロジーデータの利用を改善し、知的レベルを達成することである。オントロジーデータ管理ではオントロジーデータのインポートおよびエクスポートは重要な機能である。インポート機能により様々なソースからのオントロジーデータを一つのオントロジー管理システムに保存することができ、エクスポート機能によりオントロジー管理システムにあるオントロジーデータを様々なアプリケーションで使用される多様なフォーマットで表現することができる。
【０００３】
オントロジー情報は業界で認められている複数の標準フォーマット、社内で広く用いられている社内フォーマット、ならびに一定のアプリケーションで用いられる個人的なフォーマットなどの複数の形にまとめられる。
【０００４】
現在のオントロジーデータ管理で解決されるべき困難かつ重大な問題は、オントロジーのインポートに関しては未知の個人的なフォーマットのインポートをどう扱うか、ならびにオントロジーのエクスポートに関しては様々な条件に基づく個人的なフォーマットをどのようにエクスポートするかである。
【０００５】
現在、オントロジーのインポート／エクスポートに関して努力がなされ、いくつかの方法が出てきている。
【０００６】
例えば、特許文献１（米国特許第０，１５６，２５３号）のシステムは、既知のフォーマットのオントロジーをインポートでき、ＸＱＬ（ＸＭＬの  クエリ言語）に従ってクエリ条件に適合するオントロジーデータをエクスポートできて、エクスポートされるフォーマットも固定された既知のフォーマットである。
【０００７】
図１６は、特許文献１（米国特許第０，１５６，２５３号）の全体的な動作フローを示している。ここでは、システムが受入れられるフォーマットが既知フォーマット１として固定され、エクスポートされるフォーマットも既知フォーマット２として固定されて、システムのフォーマット決定子が、入力されたフォーマットがフォーマット１であるかどうかを決定し、答えがノーの場合には明確にインポートを拒絶する。エクスポートについては、システムは無条件での完全なエクスポートならびにクエリ言語に基づくエクスポートをサポートする。システム内のオントロジー表現言語はＸＭＬであるため、オントロジーの保存にはＸＭＬデータベースが使われ、エクスポート言語としてはＸＱＬが使用される。
【０００８】
一方、特許文献２（米国特許第０，１６３，４５０号）のシステムは、オントロジーの保存は行わないが、オントロジーを固定フォーマット１でインポートし、固定フォーマット２でエクスポートすることができ、また、インポートとエクスポートは一つのパイプラインで完了される。
【０００９】
特許文献３（特願平１０−３３３９５２号）で提案している方法では、なんらかのアプリケーションの中にあるデータを、セパレータを用いてテーブルもしくはリストの形のデータに自動的に分離することができ、こうしたデータをその後の利用のために他のアプリケーションにエクスポートすることができる。
【００１０】
さらに、特許文献４（特願平８−１９０４７９号）で示している方法では、データベース変換中に値の範囲やデータベースのカラムタイプの長さに基づいてデータの変換を行い、変換元と変換先のカラムの対応を決定する。
【００１１】
要約すると、オントロジーの既存のインポート／エクスポート方法では、固定された既知のフォーマットでオントロジーのインポートやエクスポートを行い、エクスポートの際にクエリ言語に基づくクエリ条件に従ったオントロジーデータをエクスポートすることができる。しかし、以下の問題点が克服されていない。
【００１２】
（１）  未知の個人的なフォーマットのオントロジーはインポートできない。個人的な未知のフォーマットのオントロジーをインポートするのであれば、データを分離し、プロパティの値の範囲およびタイプを決定することになるが、現行の方法ではデータの分離しか扱えず、プロパティの値の範囲およびタイプを決定することができない。
【００１３】
（２）  キーワードの探索条件に従って既知および未知のフォーマットでオントロジーをエクスポートすることはできない。
【００１４】
（３）  キーワードとクエリ言語の組み合わせという形で既知および未知のフォーマットのオントロジーをエクスポートすることはできない。
【００１５】
テキストおよびデータベースに基づくインポート／エクスポート方法で、データタイプに従ってフォーマット変換を行うことができるが、テキストとデータベースは、前者はデータを伝達するものであり、後者にはコンセプト、プロパティ、インスタンスがあるという点で、オントロジーデータとはかなり異なっており、その変換はそれぞれオントロジーデータの変換中に考慮されなければならない。従って、この方法をオントロジーのインポートに適用する場合には、テキストおよびデータベースに基づくデータ変換方法に大幅な変更を加える必要がある。
【特許文献１】米国特許第０，１５６，２５３号
【特許文献２】米国特許第０，１６３，４５０号
【特許文献３】特願平１０−３３３９５２号
【特許文献４】特願平８−１９０４７９号
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上記の問題点を考慮して、本発明は、柔軟なオントロジーデータのインポート／エクスポートの方法および装置を提供することを目的とする。
【００１７】
第１の本発明によれば、オントロジーデータインポート装置は、入力されたオントロジーデータのフォーマットを解析し、個人的な未知のフォーマットであればインポートに成功したオントロジーのフォーマットを保存しているオントロジーフォーマットデータベースを利用して、フォーマットを決定するオントロジーデータフォーマットアナライザと、オントロジーデータフォーマットアナライザのフォーマット決定結果に従って、データを分離し、オントロジーを保存しているオントロジーデータベースにこれをインポートする、未知フォーマットデータインポータとを備えている。
【００１８】
第２の本発明によれば、オントロジーデータインポート方法は、入力されたオントロジーデータのフォーマットを解析するステップと、個人的な未知のフォーマットであればインポートに成功したオントロジーのフォーマットを保存しているオントロジーフォーマットデータベースを利用してフォーマットの決定を行うステップと、フォーマット決定の結果に従ってデータを分離し、オントロジーを保存しているオントロジーデータベースにこれをインポートするステップとを含む。
【００１９】
第３の本発明によれば、オントロジーデータエクスポート装置は、キーワードやエクスポートフォーマットを受取り、クエリ言語への生成処理後、オントロジーを保存しているオントロジーデータベースに保存されているオントロジーデータについて問い合わせ、オントロジーデータエクスポートフォーマットアナライザに対してエクスポートフォーマットを要求する、キーワードに基づきクエリ言語と組み合わせたオントロジーエクスポータと、オントロジーエクスポータからの要求に従って、エクスポートフォーマットを直接返したり、インポートに成功したオントロジーのフォーマットを保存しているオントロジーフォーマットデータベースを利用したクエリにより、エクスポートフォーマットを取得したりするオントロジーデータエクスポートフォーマットアナライザとを備え、オントロジーエクスポータは、さらに、オントロジーデータエクスポートフォーマットアナライザから返されるエクスポートフォーマットに従って、オントロジーデータベースから返されるクエリ結果を出力する。
【００２０】
第４の本発明によれば、オントロジーデータエクスポート方法は、キーワードやエクスポートフォーマットを受取り、クエリ言語への生成処理後、オントロジーを保存しているオントロジーデータベースに保存されているオントロジーデータについて問い合わせ、エクスポートフォーマットを要求するステップと、エクスポートフォーマットの要求に従って、エクスポートフォーマットを直接返すか、あるいはインポートに成功したオントロジーのフォーマットを保存しているオントロジーフォーマットデータベースを利用したクエリにより、エクスポートフォーマットを取得するステップと、返されたエクスポートフォーマットに従って、オントロジーデータベースから返されたクエリ結果を出力するステップとを含む。
【００２１】
第５の本発明によれば、オントロジーデータのインポート／エクスポート装置は、上述の通り、オントロジーデータインポート装置とオントロジーデータエクスポート装置とを備えものとして提供される。
【発明の効果】
【００２２】
本発明によれば、既知フォーマットおよび未知フォーマットのオントロジーデータのインポート／エクスポートを扱い、キーワードおよびクエリ文に関して条件に一致するオントロジーデータの一部分をエクスポートし、これを既知もしくは未知のフォーマットで保存することができる。様々なフォーマットに対するその優れた適応性のため、本発明によるオントロジーデータインポート／エクスポートの方法および装置は、より多種類のアプリケーションからの要求に応えることができる。
【発明を実施するための最良の形態】
【００２３】
さて、図面を参照しながら、本発明の好適な実施例について以下に詳細に説明する。ここでは、本発明に必要のない詳細や機能は省略している。そうしないと、本発明の理解を妨げるからである。
【００２４】
図１は、本発明によるオントロジーデータインポート／エクスポート装置１００の全体ブロック図を描いている。
【００２５】
図１に示すように、本発明によるオントロジーデータインポート／エクスポート装置１００は、オントロジーを保存するためのオントロジーデータベース１１０と、インポートに成功した個人的なフォーマットのオントロジーのフォーマットならびにこうしたフォーマットに含まれていたセパレータの統計結果を含むオントロジーフォーマットデータベース１２０と、入力されたオントロジーデータのフォーマットを解析し、標準的な既知のフォーマットであればそのフォーマットを直接返すが、個人的な未知のフォーマットであればオントロジーフォーマットデータベース１２０を使ってフォーマットの決定を行うためのオントロジーデータフォーマットアナライザ１３０と、既知のフォーマットのオントロジーデータをインポートするための既知フォーマットデータインポーター１４０と、オントロジーデータフォーマットアナライザ１３０から得られた結果に従ってデータの分離およびインポートを行うための未知フォーマットデータインポータ１５０（ここでは、インポート処理中にプロパティの値の範囲を生成する必要があり、また、そのプロパティの値のタイプを決定する必要がある）と、単数または複数のキーワードやエクスポートフォーマットを受取り、クエリ言語に変換処理した後でオントロジーデータについて問い合わせを行い、オントロジーデータエクスポートフォーマットアナライザ１７０にエクスポートフォーマットを要求するための、キーワードに基づきクエリ言語と組み合わせたオントロジーエクスポーター１６０と、オントロジーエクスポータ１６０からの要求に従ってエクスポートフォーマットを直接送り返すか、あるいはオントロジーフォーマットデータベース１２０を利用したクエリによりエクスポートフォーマットを取得するためのオントロジーデータエクスポートフォーマットアナライザー１７０とから成り、オントロジーエクスポータ１６０は、さらに、オントロジーデータエクスポートフォーマットアナライザ１７０から返されたエクスポートフォーマットに従って、オントロジーデータベース１１０から返されるクエリ結果を出力する。
【００２６】
以下に本発明によるオントロジーデータインポート／エクスポート装置１００のそれぞれの部品とその動作方法について具体的に説明する。
【００２７】
（オントロジーデータベース  １１０）
図２は、リレーショナルデータベース１１０’として表現されたオントロジーデータベース１１０の構造の略図を示している。図２に示すように、オントロジーデータベースのコンセプト、プロパティおよびインスタンスはそれぞれ３項目一組の「トリプル」として表現することができ、各トリプルは、主語、述語、および目的語から成るものとして表現できる。図２に示す通り、リレーショナルデータベース内では、各カラムはそれぞれ主語、述語、目的語を表すために用いられる。オントロジーデータベースの内容は、それぞれが主語、述語および目的語から成るトリプルによりそれぞれ表現されるコンセプト、プロパティおよびインスタンスである。実際には、コンセプトとプロパティそれぞれは一つのトリプルで表すことができるが、各インスタンスは表現に複数のトリプルを必要とする場合がある。
【００２８】
１）  コンセプト部分
コンセプトはすべて、ｒｄｆｓ：ｃｌａｓｓに属すインスタンスでなければならない。つまり、いかなるコンセプトｘについても、オントロジーデータベース内に一つのトリプル（ｘ  ｒｄｆ：ｔｙｐｅ  ｒｄｆｓ：ｃｌａｓｓ）があるということである。コンセプト同士の継承関係は、ｒｄｆｓ：ｓｕｂＣｌａｓｓＯｆにより示される。言い換えると、ｘがｙのサブクラスに属している場合、トリプルが存在する（ｘ  ｒｄｆｓ：ｓｕｂＣｌａｓｓＯｆ  ｙ）。例を挙げると、エントリ２００は図２の会社というコンセプトの定義である。コンセプトを表現するトリプルは述語と目的語を決定し、従って、（？ｘ  ｒｄｆ：ｔｙｐｅ  ｒｄｆｓ：ｃｌａｓｓ）と表現される（ここで？ｘ  は表現されるコンセプトの名称）。
【００２９】
２）  プロパティ部分
プロパティはコンセプト間の関係ばかりでなく、コンセプトの特徴を定義する。コンセプトの特徴を表すプロパティは数値タイプのプロパティと呼ばれ、コンセプト間の関係を表すプロパティは目的タイプのプロパティと呼ばれる。数値プロパティも目的プロパティも、定義域と値域を有する。定義域はプロパティが作用するコンセプトを示す。例えば、プロパティ「年齢」についての定義域は、「人間」というコンセプトである。すなわち、「年齢」は、他のコンセプトではなく、「人間」というコンセプトのプロパティなのである。値域は、プロパティの数値の範囲を定める。プロパティが数値タイプの場合、値域は、整数、実数またはキャラクタ文字列などのデータタイプとすることができるが、プロパティが目的タイプの場合には、値域はコンセプトタイプとすることができる。例を挙げると、「友人」という目的プロパティの定義域は「人間」であり、その値域も「人間」である。図２では、例えば２０１と２０２のエントリはそれぞれ「ｈａｓＰｒｏｄｕｃｔ」および「ｒｅｖｅｎｕｅ」というプロパティに対する定義である。あるプロパティをあらわすトリプルは、述語と目的語を決定しており、従って、（？ｘ  ｒｄｆ：ｔｙｐｅ  ｒｄｆｓ：ｐｒｏｐｅｒｔｙ）として示される（ここで、？ｘは表されるプロパティの名称）。
【００３０】
３）  インスタンス部分
インスタンスはコンセプトの下の具体的な事柄である。例えば、「Ｊａｃｋ」は「人間」のインスタンスである。あるコンセプトのインスタンスは、定義域がコンセプトの中にあるプロパティの値を有する。たとえば「Ｊａｃｋ」は「年齢」というプロパティの値として「３５」を有する。図２で、例えばエントリ２１０と２２０は＃ＮＥＣおよび＃Ｓｏｎｙというインスタンスに対する「会社」という定義である。各インスタンスは複数のトリプルから成り、そのインスタンスのタイプおよびそのインスタンスに属するプロパティの値を示している。
【００３１】
インポート時点で、コンセプト、プロパティ、インスタンスは、入力されたオントロジーデータに基づいてそれぞれ対応するトリプルの形にされ、このトリプルがオントロジーデータベースに保存される。エクスポートの過程では、一定の条件を満たすトリプルのレコードがエクスポートされる。
【００３２】
（オントロジーフォーマットデータベース１２０）
オントロジーフォーマットデータベース１２０は、フォーマットの解析に用いられる。図３に示すように、オントロジーフォーマットデータベース１２０に保存される情報には３種類ある。
１．  ＯＷＬ、ＭＩＳＰなど、登録済みの既知のオントロジータイプおよびフォーマット３１０
２．  以前利用された個人的な未知のフォーマット３２０
３．  インポートされた個人的な未知のフォーマットのレコード３３１０と個人的な未知のフォーマットで使用されるセパレータの統計レコード３３２０とを含む統計情報３３０
【００３３】
個人的な未知のフォーマット３２０は、一般にトリプルとしてまとめられ、そのそれぞれが特定のセパレータで分離されて、分離された部分がオントロジーデータ中のトリプルの主語、プロパティおよび目的語にそれぞれ対応する。個人的なフォーマットの例として、＃ＮＥＣ＄＄ｒｄｆ：ｔｙｐｅ＄＄Ｃｏｍｐａｎｙがある。この個人的な未知のフォーマットに対応する分離されたトリプルはＳｕｂｊｅｃｔ＄＄Ｐｒｏｐｅｒｔｙ＄＄Ｏｂｊｅｃｔである。個人的な未知のフォーマットを保存する一方で、オントロジーフォーマットデータベース１２０は、これらのフォーマットの中で各セパレータが何回利用されたかを保存する。例えば、“＄”の利用頻度は上記フォーマットがオントロジーフォーマットデータベースに置かれると、１回分増えることになる（統計情報３３０中の統計情報３３２０の参照）。
【００３４】
（オントロジーデータフォーマットアナライザ１３０）
オントロジーデータフォーマットアナライザ１３０は、入力されたオントロジーデータのフォーマットを解析し、入力されたオントロジーデータの様々なフォーマットに従って既知フォーマットデータインポータ１４０もしくは未知フォーマットデータインポータ１５０を選択してオントロジーデータをインポートする役割を果たす。オントロジーデータフォーマットアナライザ１３０は以下のように動作する。
（１）  オントロジーデータが既知のフォーマットを利用している場合、オントロジーデータフォーマットアナライザ１３０はこのフォーマットを返す。
（２）  オントロジーデータが未知のフォーマットを利用している場合、オントロジーデータフォーマットアナライザ１３０は、この未知のフォーマットを解析する。未知のフォーマットの入力には二通りの場合がある。図４および５に示すように、ひとつはオントロジーデータの内容とフォーマット説明が両方とも、図４に示す未知のフォーマットをインポートするコマンドに含まれている場合である。もう一つは、図５に示すように、オントロジーデータの内容だけが未知のフォーマットをインポートするコマンドに含まれていて、フォーマット説明は含まれていない場合である。
【００３５】
さらに具体的には、オントロジーデータフォーマットアナライザ１３０が未知のフォーマットをインポートする動作のフローを図６に図示している。
【００３６】
ステップＳ５０１で、図４に示すように未知のフォーマットの入力にフォーマット情報が含まれている場合、フローはステップＳ５０５へ進む。ここでフォーマット情報が直接抽出され、フォーマットがオントロジーデータベース１２０に追加されて、内容およびフォーマット情報は未知フォーマットインポーター１５０に直接、入力される。
【００３７】
ステップＳ５０２で、図５に示すように未知フォーマットの入力にフォーマット情報が含まれていない場合、未知フォーマットはすべて、まずオントロジーフォーマットデータベース１２０の未知フォーマットテーブルから取り出され、次にこうした未知フォーマットを用いて一定の解析が行われる。ある未知フォーマットによる解析が成功すれば、このフォーマットが入力されたオントロジーデータのフォーマットである。フローはステップＳ５０５に飛び、ここで内容とフォーマット情報が直接、未知フォーマットインポータ１５０に入力される。
【００３８】
ステップＳ５０３では、オントロジーフォーマットデータベース１２０の中の履歴のある未知フォーマットのいずれも要求に適合しない場合、“＄”、“＃”、“；”、“＊”、“％”など、ｎ個の最もよく使用されるセパレータがオントロジーフォーマットデータベースの中のセパレータデータベースから抽出される。
【００３９】
ステップＳ５０４で、ｎ個のセパレータのそれぞれについて以下の動作が繰返される。
すなわち、入力内容のいずれかの列（一つのインスタンスに対応する）で、このセパレータの探索が行われる。このセパレータに対応する発生位置が見つかったなら、前後のセパレータの探知をこの位置から続けて行う。具体的には、図７に示す例の場合、ＮＥＣ＄ｈａｓＰｒｏｄｕｃｔ＃；Ｖｅｒｓａｌ１１００という例について、位置３で”＄”が見つかった場合、探索はまず、位置３よりも小さい位置（位置２）で行われる。ここで「Ｃ」が発見されるが、これは頻繁に使用されるキャラクタの集合の中にはない。その後、探索は、位置３より大きい位置（位置４）で行われ、文字‘＃’が見つかる。これは、頻繁に使用されるキャラクタの集合に属している。そして探索は次の位置でも続けられ、ここで文字「ｈ」がみつかるが、これは頻繁に使用されるキャラクタの集合の中にはない。従って、（位置３、位置４）は分離区域と呼ばれ、分離区域となった位置についてはこのインスタンスのこの後の探索で、探索動作が行われることはない。言い換えれば、上記の（位置３、位置４）は、このインスタンスについての今後の探索では飛ばされる。このインスタンスについて二つの分離区域が見つけられる場合、対応する分離フォーマットが生成され、フローはステップＳ５０５に進んで、ここで、生成された分離フォーマットおよび内容が共に未知フォーマットデータインポータ１５０に入力される。
【００４０】
ステップＳ５０５では、フォーメーション探知により抽出され、解析され、生成されたフォーマットが返される。
【００４１】
（既知フォーマットデータインポータ１４０）
各既知フォーマットは、既知フォーマットデータインポータ１４０の中のインポートモジュールを登録しており、既知フォーマットデータインポータ１４０は、図８に示す通り、入力フォーマットに従ってインポートを行うための対応するインポートモジュールを呼び出しさえすればよい。ＯＷＬは一般に知られた規格であり、ＭＩＳＰは図８の会社内部の既知の標準である。既知のフォーマットデータインポータ１４０が行う必要のあることは、対応するインポートモジュールをインポートのために呼び出すことだけである（例えばＯＷＬフォーマット規格についてこれを行う。参考文献ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｏｗｌ−ｆｅａｔｕｒｅｓ／を参照のこと）。
【００４２】
規格が公表されているので、既知フォーマットデータインポータ１４０は、入力されたオントロジーの内容からコンセプト、プロパティおよびインスタンスを抽出し、対応するトリプルを生成して、そしてこれをオントロジーデータベース１１０にインポートすることができる。
【００４３】
（未知フォーマットデータインポータ１５０）
オントロジーデータフォーマットアナライザ１３０からフォーマットおよび内容情報を受取った後、未知フォーマットデータインポータ１５０は、主語、述語、目的語を解析して、インポート方法を決定する必要がある。主語、述語および目的語については様々な処理方法が用いられ、特に以下に説明する。
【００４４】
１．主語はインスタンスでなければならないので、ｒｄｆ：ｒｅｓｏｕｒｃｅの形に処理される。
２．述語については、主語に対応して、定義域がｒｄｆ：ｒｅｓｏｕｒｃｅの形に処理されるが、値の範囲の決定時には以下の判断を行うべきである。
１）  この述語を持つトリプルにこの述語についての整数および実数を含む数値が出現するかどうかを解析する。この述語に関して数値が出現していたら、述語の値の範囲を数値タイプとして定義し、同時に述語を数値タイプのプロパティとする。
２）  この述語に関してなんの数値も出現していなければ、二つの場合を検討する。一つは、述語の値がＵＲＩ（統一資源識別子）で、述語の値の範囲がｒｄｆ：ｒｅｓｏｕｒｃｅの目的タイプのプロパティ（参考文献として  ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｏｗｌ−ｆｅａｔｕｒｅｓ／  を参照のこと）の場合。もう一つは、述語の値の範囲がキャラクタ文字列の数値タイプのプロパティの場合である。図９の１が前者の場合を、２が後者の場合を示している。
【００４５】
以下の解析は、上記の二つの場合のうちどちらに述語の値が属しているかを判断するために行われる。
述語の値をすべて取得し、こうした値のＵＲＩの一部または全部が主語の中にある場合、述語は目的タイプのプロパティでなければならない。主語の中に存在するＵＲＩは主語のｒｄｆ：ｒｅｓｏｕｒｃｅに対応し、一方、主語の中に存在しないＵＲＩは、オントロジーデータベースの中に作られる新しいｒｄｆ：ｒｅｓｏｕｒｃｅに対応する。主語の中にＵＲＩが一つも見つからないのであれば、これをオントロジーデータベースに入力してさらに探索させる。各ＵＲＩは世界的に一意であり、オントロジーデータベースに対応するｒｄｆ：ｒｅｓｏｕｒｃｅが見つかれば、述語はなおも目的タイプのプロパティと呼ばれる。そうでない場合、述語は、キャラクタ文字列の値域を備えた数値タイプのプロパティと考えられる。
【００４６】
３．  述語が数値タイプのプロパティと認識される場合（整数もしくは実数の値域を有する数値タイプのプロパティおよびキャラクタ文字列値域を有する数値タイプのプロパティを含む）には、トリプルは直接、インポートされる。述語が目的タイプのプロパティと認識され、目的語のＵＲＩがオントロジーデータベースに存在する場合、トリプルは直接、インポートされる。上記ｒｄｆ：ｒｅｓｏｕｒｃｅ  を作り出す必要があり、その後、目的語のＵＲＩがオントロジーデータベースになければ、トリプルがインポートされる。
【００４７】
上記ステップの完了後、未知オントロジーフォーマットがオントロジーデータベース１１０にインポートされる。
【００４８】
図９は、未知フォーマットのインポート動作のフローの具体例を示している。図９を参照すると、主語ＮＥＣはまず未知フォーマットＮＥＣ＄＃ｈａｓＰｒｏｄｕｃｔ＃；Ｖｅｒｓａ１１００というオントロジーデータに関連して取得されなければならない。主語「ＮＥＣ」はまだ存在していなかったため、対応するｒｄｆ：ｒｅｓｏｕｒｃｅが（ＮＥＣ  ｒｄｆ：ｔｙｐｅ  ｒｄｆ：ｒｅｓｏｕｒｃｅ）として作られなければならない。
【００４９】
その後、述語「ｈａｓＰｒｏｄｕｃｔ」がタイプ決定のために取得される。このとき、目的語「Ｖｅｒｓａ１１００」が取得される。「Ｖｅｒｓａ１１０」は主語にも出現するため、「ｈａｓＰｒｏｄｕｃｔ」は目的タイプとなり、対応する目的タイププロパティが（ｈａｓＰｒｏｄｕｃｔ  ｒｄｆ：ｔｙｐｅ  ｏｗｌ：ＯｂｊｅｃｔＰｒｏｐｅｒｔｙ）として生成される。
【００５０】
次に、目的語「Ｖｅｒｓａ１１００」が獲得され、「Ｖｅｒｓａ１１００」が存在しないために、対応するｒｄｆ：ｒｅｓｏｕｒｃｅ  （Ｖｅｒｓａ１１００  ｒｄｆ：ｔｙｐｅ  ｒｄｆ：ｒｅｓｏｕｒｃｅ）  が生成される。
【００５１】
最後に、ＮＥＣのプロパティ値として（ＮＥＣ  ｈａｓＰｒｏｄｕｃｔ  Ｖｅｒｓａ１１００）がインポートされる。
【００５２】
他方、主語「Ｖｅｒｓａ１１００」が、まず、未知フォーマットのオントロジーデータＶｅｒｓａ１１００＄＃ｈａｓＰｒｉｃｅ＃；１００００について取得される。この主語はすでに存在しているので、ｒｄｆ：ｒｅｓｏｕｒｃｅを作る必要はない。
【００５３】
そして、述語「ｈａｓＰｒｉｃｅ」がタイプ決定のために取得される。このとき、目的語「１００００」が取得される。「１００００」は数値タイプであるため、数値タイプのプロパティが（ｈａｓＰｒｏｄｕｃｔ  ｒｄｆ：ｔｙｐｅ  ｏｗｌ：ｄａｔａｔｙｐｅＰｒｏｐｅｒｔｙ）として作られる。
【００５４】
次に、目的語「１００００」が取得される。
【００５５】
最後に、Ｖｅｒｓａ１１００のプロパティ値（Ｖｅｒｓａ１１００  ｈａｓＰｒｉｃｅ  １００００）がインポートされる。
【００５６】
（キーワードに基づきクエリ言語と組み合わせたオントロジーエクスポータ１６０）
オントロジーデータのエクスポートには二種類ある。一方はオントロジーデータすべてをエクスポートするもので、無条件エクスポートと呼ぶことができる。他方はオントロジーデータの一部のエクスポートで、条件付エクスポートと呼ぶことができる。条件はキーワードおよびクエリ文を使って形成することができ、そこで、まずキーワードおよびクエリ文について定義する。
【００５７】
キーワードとは、自然言語から成る単数または複数の語彙を意味し、キーワードの入力は比較的単純なので、予備的なユーザが利用するのに適している。システム内のキーワードの入力インタフェースを図１０に示しているが、図からわかる通り、キーワードの入力は単純な形式であり、従ってオントロジーの知識のない一般ユーザがキーワードを使ってオントロジーエクスポートを行うことができる。キーワードの例としては、「Ｔｓｉｎｇｈｕａ  （清華）Ｕｎｉｖｅｒｓｉｔｙ」、「Ｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｉｃａｌ  Ｃｏｒｐｏｒａｔｉｏｎ」などがある。
【００５８】
クエリ文とは、なんらかのクエリ言語の構文を備えたクエリの方法を意味しており、複雑な条件指定を実行でき、特定の構造のデータを問い合わせることができる。システム内のクエリ文の入力インタフェースを図１１に示しているが、図からわかる通り、クエリ文は一定の構文を備えており、従って、必要な専門知識を有する者にしか利用できない。クエリ文の単純な例を以下に示す。
【００５９】
ｓｅｌｅｃｔ  ？ｘ  ？ｙ  ？ｚ  ｗｈｅｒｅ  ｛  ？ｘ  ？ｙ  ？ｚ．｝
この文のクエリターゲットはオントロジーのトリプルすべてである。
【００６０】
キーワードクエリには単純で一般ユーザにも利用できるという利点があるが、その短所は、指定できるクエリターゲットの正確さが不十分であり、従って、オントロジーデータの意味を十分に利用することができない。例えば、「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」を問い合わせるとき、インスタンスの中のどの位置に「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」が出現するのかを指定できない。他方、クエリ文であれば、「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」の具体的な意味を明確に指定することができる。
【００６１】
ここで、以下の二つの文を検討する。
インスタンス１
名称：Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ、場所：Ｚｈｏｎｇｇｕａｎｃｕｎ  （中関村）Ｅａｓｔ  Ｒｏａｄ  Ｎｏ．  １，  Ｂｅｉｊｉｎｇ（北京）
インスタンス２
名称：Ｉｎｎｏｖａｔｉｏｎ  Ｂｕｉｌｄｉｎｇ、場所：Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ
【００６２】
エクスポートにキーワードを利用する場合、「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」が入力され、二つのインスタンスはいずれも条件に一致することから、共にエクスポートされる。このように、キーワードではエクスポートターゲット（「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」という名称のインスタンス）を表現できないため、オントロジーデータの意味を適切に利用できない。しかしクエリ言語であれば、「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」という名称のインスタンスを下記のクエリ言語で表現できるため、このタスクを満足することができる。
【００６３】
ｓｅｌｅｃｔ  ？ｘ  ｗｈｅｒｅ  ｛  ？ｘ  ＜ｎａｍｅ＞  “Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ”．｝
【００６４】
クエリ言語では、ＡＮＤ、ＯＲ、ＮＯＴなどの複雑な条件演算を行うこともでき、従ってオントロジーデータの意味を十分に活用することができる。
【００６５】
本発明は、キーワードとクエリ言語の利点を統合し、キーワードとクエリ文の組み合わせに基づくクエリ方法を提供する（図１２参照）。この方法により、一方では一般のユーザが便利にキーワードを入力することができ、他方では、クエリ文を利用することにより、クエリオントロジーデータの利点を有する。
【００６６】
図１３は、本発明による、キーワードに基づきクエリ言語と組み合わせたエクスポート方法のフローチャートを示している。
【００６７】
ステップＳ９０１では、オントロジーデータベースのドメインオントロジーがすべて取得され、ユーザが選択できるようにリスト化される。
【００６８】
ステップＳ９０２では、ユーザがドメインオントロジーを選択した後、ドメインオントロジーの中の全コンセプトが取得され、ユーザがクエリターゲットを選択できるようにリスト化される。
【００６９】
ステップＳ９０３では、ユーザがクエリターゲットとしてのコンセプトを選択したら、そのコンセプトのプロパティすべてを取得し、ユーザがクエリ条件を追加、削除、編集できるようにする。
【００７０】
ステップＳ９０４で、ユーザはクエリ条件の追加、削除、編集を開始する。
【００７１】
ステップＳ９０５で、クエリ条件が追加される。ユーザはプロパティを選択し、条件設定を以下の７つの形から選択する。
“＝”，  数値タイプおよび目的タイプのプロパティに適用。厳密に等しいことを意味する。
“！＝”，  数値タイプおよび目的タイプのプロパティに適用。厳密に等しくないことを意味する。
“＜＝”，  値が整数もしくは実数である数値タイプに適用。その数値以下であることを意味する。
“＝＞”，  値が整数もしくは実数である数値タイプに適用。その数値以上であることを意味する。
“＜”，  値が整数もしくは実数である数値タイプに適用。厳密にその数値未満であることを意味する。
“＞”，  値が整数もしくは実数である数値タイプに適用。厳密にその数値を超えることを意味する。
“ｃｏｎｔａｉｎ”，  値が一定のキャラクタの文字列を含むキャラクタ文字列となっている数値タイプに適用。
次に、選択したプロパティおよび条件に関してキーワードまたは数値が入力される。
【００７２】
Ｓ９０６では、追加されたクエリ条件に対してクエリ条件の削除もしくは編集を行うことができる。
【００７３】
ステップＳ９０７では、クエリ条件すべての編集が完了したら、クエリを実行することができる。そうでない場合、フローはＳ９０４に戻る。
【００７４】
ステップＳ９０８で、条件に適合するオントロジーが取得され、エクスポートされる。
【００７５】
例として、「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」という名称のインスタンスのクエリは上記ステップを通じて以下のように実行できる。
ステップＳ９０１で「ＭＩＳＰ」というオントロジーを選択する。
ステップＳ９０２で「ＭＩＳＰ」というオントロジーの中の全クラスをリスト化する。
ステップＳ９０３で、「ｓｃｈｏｏｌ」というクラスを選択する。
ステップＳ９０４で、クエリ条件の追加を開始する。
ステップＳ９０５で、「ｎａｍｅ」というプロパティと「＝」を選択し、キーワードである「Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ」を入力する。
ステップＳ９０７で、全クエリ条件の編集完了後、クエリを開始する。
ステップＳ９０８で、エクスポート結果を取得する。
【００７６】
このようにして、上記手順の間、ユーザはただキーワードを選択し、入力するだけでよい。ユーザがオントロジーのクエリ言語を知っている必要はなく、従ってオントロジーの意味のユーザグループは拡大する。
【００７７】
クエリ条件とキーワードを受取った後、システムは、対応するクエリ文を生成してオントロジーデータベース１１０でクエリを実施し、クエリ条件を満足するオントロジーデータすべてを取得して、これをキーワードに基づきクエリ言語と組み合わせたオントロジーエクスポータ１６０に入力する。上記の例に戻ると、システムは以下のクエリ文をユーザの一連の行為に従った最終結果として生成する。
【００７８】
ｓｅｌｅｃｔ  ？ｘ  ｗｈｅｒｅ  ｛？ｘ  ＜ｎａｍｅ＞  “Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ．｝
【００７９】
クエリ条件を満足するオントロジーデータはこのクエリ文を通じて取得され、エクスポートされる。エクスポートフォーマットはオントロジーデータエクスポートフォーマットアナライザ１７０により決定され、図１４に示すようにエクスポートされたデータには２種類ある。
【００８０】
第一のフォーマットについては、ユーザによるエクスポートコマンドがそれ自体でエクスポートフォーマットを取得しているので、エクスポートされたデータにフォーマットが入っている必要はない。第二のフォーマットについては、ユーザはエクスポートコマンドの中でフォーマットの説明をしていないため、システムが勧めるフォーマットをユーザに提供し、ユーザがそのフォーマットを使ってオントロジーデータを処理できるようにする必要がある。
【００８１】
（オントロジーデータエクスポートフォーマットアナライザ１７０）
エクスポート条件と一致するオントロジーデータは、既知の業界標準フォーマット（例：ＯＷＬ）もしくは社内の既知の標準フォーマット（例：ＭＩＳＰ）を用いてエクスポートすることも、未知のフォーマットでエクスポートすることもできる。データエクスポートの際、エクスポートコマンドには、エクスポート条件およびエクスポートフォーマットが含まれる。
【００８２】
例を挙げると、エクスポートコマンドは次の通りとなる。
（判定基準：なし、フォーマット：ＯＷＬ）．
これは、エクスポートフォーマットがＯＷＬでなければならない無条件エクスポートコマンドである。従って、オントロジーデータはＯＷＬファイルとしてエクスポートされる。
【００８３】
別の例では、エクスポートコマンドは次のようになる。
（判定基準：ｓｅｌｅｃｔ  ？ｘ  ｗｈｅｒｅ  ｛？ｘ  ＜ｎａｍｅ＞  “Ｔｓｉｎｇｈｕａ  Ｕｎｉｖｅｒｓｉｔｙ．｝）
これは、エクスポート条件は入っているが、エクスポートフォーマットは含まないエクスポートコマンドである。この種のコマンドを受取ると、オントロジーデータエクスポートフォーマットアナライザ１７０は図１５に示すフローのように動作する。
【００８４】
ステップＳ１１０１で、オントロジーデータエクスポートフォーマットアナライザ１７０は、エクスポートコマンドが一定のエクスポートフォーマットを必要とするのかどうか判断し、一定のエクスポートフォーマットが必要な場合、フローはステップＳ１１０３  に進み、そのフォーマットが直接、返される。
【００８５】
ステップＳ１１０２で、エクスポートコマンドにエクスポートフォーマットが指定されていない場合、フォーマットの推奨を行う必要があり、この処理は最新かつ最も頻繁に利用されるエクスポートフォーマットに基づくことができる。こうして、二つのパラメータが必要とされる。一つは期間ｎ、そして他方は閾値ｔｈｒｅｓｈｏｌｄである。詳細は以下の通り。
ａ）  期間ｎ中、未知のフォーマットのオントロジーのインポートが成功した際に利用された全フォーマットを抽出し、これらをフォーマット集合ｒｓと表す。
ｂ）  フォーマット集合ｒｓの中の各フォーマットｒについて、その利用率ｒａｔｅを計算する。ｒａｔｅ＝フォーマットｒ  の利用回数／フォーマット集合ｒｓの中の全フォーマットの合計利用回数
ｃ）  最大利用率ｒａｔｅｍａｘを選択し、ｒａｔｅｍａｘ  ＞＝  ｔｈｒｅｓｈｏｌｄの場合、このフォーマットをエクスポートされるオントロジーデータのフォーマットとして利用する。最大利用率ｒａｔｅｍａｘ＜  ｔｈｒｅｓｈｏｌｄの場合は、ｎ＝ｎ＊１．５  およびｔｈｒｅｓｈｏｌｄ  ＝  ｔｈｒｅｓｈｏｌｄ  ＊０．５を計算し、ａ）に戻って動作を再開する。
【００８６】
当然、上に提案する動作は具体例を示すものであって、通常の当業者であれば、必要に応じて調節することができる。例えば、動作の複雑さを緩和するために、上述の循環動作を行う代わりに、最大利用率ｒａｔｅｍａｘ  に対応するフォーマットをエクスポートフォーマットとして直接選択することもできる。
【００８７】
ステップＳ１１０３では、エクスポートコマンドの中のエクスポートフォーマットあるいはＳ１１０２  で選択されたフォーマットが返される。
【００８８】
本発明を好適な実施例と共に説明した。通常の当業者であれば、本発明の原則および範囲を逸脱することなく、様々な変更、代替、および追加を行えるものと理解される。従って、本発明の範囲は上記の特定の実施例に限定されるものではなく、付随するクレームにより定義されるべきである。
【図面の簡単な説明】
【００８９】
本発明の上記の目的、利点および特長は、下記の図面と共に示す好適な実施例についてのその後の詳細な説明により明らかになるであろう。
【００９０】
【図１】本発明によるオントロジーデータインポート／エクスポート装置１００の全体ブロック図である。
【図２】リレーショナルタイプデータベース１１０’として表現されたオントロジーデータベース１１０の略構造図である。
【図３】本発明によるオントロジーフォーマットデータベース１２０の略構造図である。
【図４】未知フォーマットのオントロジーデータの二つの入力例を示す略図である。
【図５】未知フォーマットのオントロジーデータの二つの入力例を示す略図である。
【図６】オントロジーデータフォーマットアナライザ１３０の未知フォーマットのインポート動作のフローチャートである。
【図７】図６のステップＳ５０４  の一例を詳細に示す略図である。
【図８】既知フォーマットインポータ１４０の略図である。
【図９】未知フォーマットインポート動作の具体例を示す図である。
【図１０】クエリ入力インタフェースの略図である。
【図１１】クエリ入力インタフェースの略図である。
【図１２】クエリ入力インタフェースの略図である。
【図１３】本発明によるキーワードに基づきクエリ言語と組み合わせたエクスポート方法を示すフローチャートである。
【図１４】オントロジーデータの二つのエクスポート例を示す略図である。
【図１５】オントロジーデータエクスポートフォーマットアナライザ１７０の動作フローを示す図である。
【図１６】特許文献１に記載の全体動作フローを示す図である。
【符号の説明】
【００９１】
１３０：オントロジーデータフォーマットアナライザ
１４０：既知フォーマットデータインポータ
１５０：未知フォーマットデータインポータ
１２０：オントロジーフォーマットデータベース
１１０：オントロジーデータベース
１７０：オントロジーデータエクスポートフォーマットアナライザ
１６０：オントロジーエクスポータ
１００：オントロジーデータインポート／エクスポート装置
【図１】
0004953468.tif 000002
【図２】
0004953468.tif 000003
【図３】
0004953468.tif 000004
【図４】
0004953468.tif 000005
【図５】
0004953468.tif 000006
【図６】
0004953468.tif 000007
【図７】
0004953468.tif 000008
【図８】
0004953468.tif 000009
【図９】
0004953468.tif 000010
【図１０】
0004953468.tif 000011
【図１１】
0004953468.tif 000012
【図１２】
0004953468.tif 000013
【図１３】
0004953468.tif 000014
【図１４】
0004953468.tif 000015
【図１５】
0004953468.tif 000016
【図１６】
0004953468.tif 000017