(57)【要約】【課題】アプリケーションやツールに依存しない方法で、表示、出力および登録等のデータ制御を柔軟に行う。【解決手段】本発明の一態様としての情報処理装置は、データベースと、制御実行部とを備える。前記データベースは、メタクラスとして表現される任意のカテゴリーを指定した対象カテゴリーアトリビュートと、前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるアトリビュートに対して行う制御を定めた制御アトリビュートとを定義した制御メタクラスのインスタンスを少なくとも１つ記憶する。前記制御実行部は、前記制御メタクラスのインスタンスに従って、前記対象カテゴリーアトリビュートで指定されるカテゴリーのアトリビュートに対して、前記制御アトリビュートで定められた制御を実行する。【選択図】図３
2014153938.tif 000002
【特許請求の範囲】
【請求項１】
メタクラスとして表現される任意のカテゴリーを指定した対象カテゴリーアトリビュートと、
前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるアトリビュートに対して行う制御を定めた制御アトリビュートと
を定義した制御メタクラスのインスタンスを少なくとも１つ記憶するデータベースと、
前記制御メタクラスのインスタンスに従って、前記対象カテゴリーアトリビュートで指定されるカテゴリーのアトリビュートに対して、前記制御アトリビュートで定められた制御を実行する制御実行部と
を備えた情報処理装置。
【請求項２】
前記制御アトリビュートは、表示装置への表示制御を定めた表示制御アトリビュートであり、
前記制御メタクラスは、前記対象カテゴリーアトリビュートと、前記表示制御アトリビュートとを定義した表示制御メタクラスである
請求項1に記載の情報処理装置。
【請求項３】
前記制御アトリビュートは、外部装置への出力制御を定めた出力制御アトリビュートであり、
前記制御メタクラスは、前記対象カテゴリーアトリビュートと、前記出力制御アトリビュートを定めた出力制御メタクラスである
請求項1に記載の情報処理装置。
【請求項４】
前記制御アトリビュートは、記憶装置への登録制御を定めた登録制御アトリビュートであり、
前記制御メタクラスは、前記対象カテゴリーアトリビュートと、前記登録制御アトリビュートとを定めた登録制御メタクラスである
請求項1に記載の情報処理装置。
【請求項５】
前記制御メタクラスは、
前記対象カテゴリーアトリビュートと、
表示装置での表示制御を定めた表示制御アトリビュート、外部装置への出力制御を定めた出力制御アトリビュート、および記憶装置への登録制御を定めた登録制御アトリビュート、のうちの少なくとも2つと
を定めた統合制御メタクラスである
請求項1に記載の情報処理装置。
【請求項６】
前記カテゴリーおよび前記制御メタクラスは、表形式で記述された
請求項1ないし5のいずれか一項に記載の情報処理装置。
【請求項７】
前記制御メタクラスは、装置の条件を指定する対象装置アトリビュートを定義し、
前記制御実行部は、情報処理装置が前記対象装置アトリビュートで指定された条件を満たすときのみ、前記制御を実行する
請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項８】
前記制御メタクラスは、ユーザに関する条件を指定する対象ユーザアトリビュートを定義し、
前記制御実行部は、ユーザが前記対象ユーザアトリビュートに指定される条件を満たすときのみ、前記制御を実行する
請求項1ないし7のいずれか一項に記載の情報処理装置。
【請求項９】
前記制御メタクラスは、コマンドまたはアプリケーションを指定するコマンドアトリビュートを定義し、
前記制御実行部は、前記コマンドアトリビュートで指定されるコマンドまたはアプリケーションを実行する
請求項1ないし8のいずれか一項に記載の情報処理装置。
【請求項１０】
前記制御は、前記制御メタクラスのインスタンスの対象カテゴリーアトリビュートで指定されたカテゴリーのサブカテゴリーにも適用される
請求項1ないし9のいずれか一項に記載の情報処理装置。
【請求項１１】
前記制御は、前記制御メタクラスのインスタンスの対象カテゴリーアトリビュートで指定されたカテゴリーが所有するコンポーネントとなるサブカテゴリーにも適用される
請求項1ないし10のいずれか一項に記載の情報処理装置。
【請求項１２】
前記対象カテゴリーアトリビュートは、メタクラスの代わりにクラスを指定し、
前記制御アトリビュートは、前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるプロパティに対して行う制御を定め、
前記制御実行部は、前記対象カテゴリーアトリビュートで指定されるカテゴリーのプロパティに対して、前記制御アトリビュートで定められた制御を実行する
請求項1ないし11のいずれか一項に記載の情報処理装置。
【請求項１３】
メタクラスとして表現される任意のカテゴリーを指定した対象カテゴリーアトリビュートと、
前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるアトリビュートに対して行う制御を定めた制御アトリビュートと、
を定義した制御メタクラスのインスタンスを少なくとも１つ記憶するデータベースにアクセスするステップと、
前記制御メタクラスのインスタンスに従って、前記対象カテゴリーアトリビュートで指定されるカテゴリーのアトリビュートに対して、前記制御アトリビュートで定められた制御を実行する制御実行ステップと
を備えた情報処理方法。
【請求項１４】
メタクラスとして表現される任意のカテゴリーを指定した対象カテゴリーアトリビュートと、
前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるアトリビュートに対して行う制御を定めた制御アトリビュートと、
を定義した制御メタクラスのインスタンスを少なくとも１つ記憶するデータベースにアクセスするステップと、
前記制御メタクラスのインスタンスに従って、前記対象カテゴリーアトリビュートで指定されるカテゴリーのアトリビュートに対して、前記制御アトリビュートで定められた制御を実行する制御実行ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置およびその方法、ならびにプログラムに関する。
【背景技術】
【０００２】
オブジェクト指向では、クラスを構成要素とする階層構造において、下位のクラスが上位のクラスのプロパティを継承する仕組みを有する。各クラスには、当該クラスの実体を表すデータが対応付けられており、一般に個々のデータをインスタンスと呼ぶ。インスタンスは、クラスが有するプロパティとその値とのペアを最小要素として、そのペアの組み合わせで表現される。
【０００３】
工業製品や部品の電子カタログに関する国際規格であるIEC 61360-ISO 13584（PLIB）も、オブジェクト指向的に下位のクラスが上位のクラスのプロパティを継承するデータ構造を有する。IEC 61360-ISO 13584では、クラスやプロパティといったオントロジー要素のスキーマが定義されており、これらに従って各オントロジー要素が定義される。
【０００４】
IEC 62656-1およびそのサブセットであるISO/TS 13584-35は、IEC 61360-ISO 13584を含む様々なオントロジーを行列形式で表現するための表形式のインタフェースを定める国際規格である。本国際規格によると、クラスやプロパティのように概念（オントロジー）を表現するための要素の記述や、クラスの実体であるインスタンスの記述は、すべて共通の書式に基づく表形式で記述される。すなわち、オントロジー要素のカテゴリーあるいはクラスをドメインクラスとし、該カテゴリーのアトリビュートあるいは該クラスのプロパティを列方向に展開し、個々の行で該メタクラスまたはクラスのオントロジー要素（インスタンス）を記述する行列形式で表される。各列はアトリビュートあるいはプロパティのIDで一意に識別される。
【０００５】
以降、オントロジー要素のカテゴリーをメタクラスと呼ぶ。たとえば、クラスをインスタンスとして持つカテゴリーをクラスメタクラス、同様にプロパティをインスタンスとして持つカテゴリーをプロパティメタクラスと呼ぶ。また、IEC 62656-1で定義されるカテゴリー、すなわちクラスやプロパティ等で記述されるオントロジーを概念オントロジーと呼ぶ。
【０００６】
IEC 62656-1によると、すべてのメタクラスおよびクラスは共通の書式に従って記述されるため、各メタクラスおよびクラスの基本的なデータ入出力や編集を共通化できるという特徴を持つ。また、可塑性の高さも特徴であり、たとえば、メタクラスあるいはクラスで予め定義されたアトリビュートあるいはプロパティの中から必要なものだけを切り出して利用するといった利用や、メタクラスおよびクラス上で予め定義されたもの以外にユーザが自由に列項目を追加するといった利用等が可能である、
メタクラスは、おおよそ20種以上のアトリビュートを持つ。また、製品仕様のスキーマを与えるクラスは、数十個から数百個のプロパティを持つ。しかしながら、多くの場合、すべてのアトリビュートあるいはプロパティを操作の対象とする必要はなく、必要なアトリビュートあるいはプロパティを選択的に決定し、以下のような各種制御を行う。
【０００７】
オントロジーデータを画面に表示する場合、ユーザの興味やワークフロー上での役割等に従って、個々のアトリビュートあるいはプロパティの表示有無や表示順序を制御することで、ユーザにとって最適な表示画面を提供する。たとえば、製品の仕様データを閲覧する場合、設計部門のユーザと調達部門のユーザで見るべき項目は異なる。
【０００８】
また、オントロジーデータを出力（たとえば端末装置に送信）する場合、出力すべきアトリビュートあるいはプロパティの値の出力を制御することで、出力データのデータ容量の削減や、本来出力すべきでないデータの流出を防ぐことが期待できる。
【０００９】
また、オントロジーデータをデータベースに記憶する場合、対象データベースのスキーマに従った適切なデータの登録制御を行う必要がある。
【００１０】
IEC 62656-1の表形式によって表現された概念オントロジーに対する制御を設定する場合、帳票ファイルやデータベースに対する一般的な手法の利用が考えられる。たとえば、共有のデータベースに対して複数のユーザがアクセスする際に、ユーザ毎にカスタマイズした出力の仕方で情報を出力することで、ユーザが所望の項目および順序で情報を出力する技術が知られている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2003−150638号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来の制御の実現方法では、アプリケーションやツールが独自機能として制御を提供するため、特定の端末やシステム等、閉じた世界でのみ有効である。したがって、ユーザ間や異種システム間での相互運用性が低い、またはないという問題がある。
【００１３】
また、従来の制御の実現方法では、たとえばスキーマが厳密に固定化されたデータベースで管理を行う場合、制御に対してユーザが独自に項目を追加したりすることはできない。
【００１４】
本発明の一側面は、表示、出力または登録等のデータ制御を柔軟に行うことを可能にすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様としての情報処理装置は、データベースと、制御実行部とを備える。
【００１６】
前記データベースは、メタクラスとして表現される任意のカテゴリーを指定した対象カテゴリーアトリビュートと、前記対象カテゴリーアトリビュートで指定されたカテゴリーで定義されるアトリビュートに対して行う制御を定めた制御アトリビュートとを定義した制御メタクラスのインスタンスを少なくとも１つ記憶する。
【００１７】
前記制御実行部は、前記制御メタクラスのインスタンスに従って、前記対象カテゴリーアトリビュートで指定されるカテゴリーのアトリビュートに対して、前記制御アトリビュートで定められた制御を実行する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態にかかるクライアント端末のハードウェア構成を例示する図である。
【図２】本実施の形態にかかるサーバ・クライアント端末間の関係を例示する図である。
【図３】本実施の形態にかかるクライアント端末の機能ブロック図を例示する図である。
【図４】クラスおよびプロパティを構成要素とする概念オントロジーの階層構造を概念的に例示する図である。
【図５】図4に例示した概念オントロジーの構成要素を表形式で例示する図である。
【図６】本実施の形態にかかるクラスのインスタンスを表形式で例示する図である。
【図７】has-aの構造を例示する図である。
【図８】図7に例示したクラスの構成関係を表形式で表した例を示す図である。
【図９】本実施の形態にかかる制御メタクラスのインスタンスを表形式で例示する図である。
【図１０】同実施の形態にかかる制御実行部の全体処理のフローチャートを示す図である。
【図１１】制御実行部の処理のうち、表示制御処理のフローチャートを示す図である。
【図１２】図9で例示した表示制御を図5に例示した概念オントロジーに適用した場合に画面に表示される情報を例示する図である。
【図１３】制御実行部の処理のうち、出力制御処理のフローチャートを示す図である。
【図１４】図9で例示した出力制御を図5に例示した概念オントロジーに適用した場合に出力される情報を例示する図である。
【図１５】制御実行部の処理のうち、登録制御処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００２０】
（1）構成
図1は、本実施の形態にかかる情報処理装置として機能するクライアント端末（端末装置）のハードウェア構成を示す。
【００２１】
クライアント端末は、装置全体を制御するCPU（Central Processing Unit）101等の制御装置と、各種データや各種プログラムを記憶するROM（Read Only Memory）102やRAM（Random Access Memory）103等の記憶装置と、各種データや各種プログラムを記憶するHDD（Hard Disk Drive）104やCD（Compact Disk）等の外部記憶装置105に記録されたデータを読取るためのドライブ装置等の媒体読取装置106と、これらを接続するバス107を備えており、通常のコンピュータを利用したハードウェア構成となっている。また、クライアント端末には、情報を表示する表示装置108と、ユーザの指示入力を受け付けるキーボードやマウス等の入力装置109と、ネットワーク250を介した外部との通信を制御する通信制御装置110とが、有線又は無線により各々接続される。
【００２２】
図2にサーバ・クライアント間の関係を示す。
【００２３】
各クライアント端末201は、ネットワーク250を介して互いに通信可能である。また各クライアント端末201は、ネットワーク250を介してサーバ200と通信可能である。各クライアント端末201は、たとえばサーバ200内のデータベースに、データを登録（記憶）することができる。
【００２４】
図3は、クライアント端末201の機能的構成を例示する図である。上述したようなハードウェア構成において、クライアント端末201のCPU101が記憶装置102、103や外部記憶装置105に記憶された各種プログラムを実行することにより各種機能が実現される。
【００２５】
クライアント端末201は、表示画面生成部301と、入力受付部302と、オントロジーデータ受信部303と、オントロジーデータ送信部304と、オントロジーデータ記憶部305と、オントロジーデータ読込部306と、制御オントロジー要素選択部307と、制御実行部308と、データベース309とを有する。クライアント端末201は、ネットワーク250を介して、サーバ200および他のクライアント端末と通信可能である。サーバ内にもデータベースが設けられていてもよい。
【００２６】
これらの各部のうち、表示画面生成部301と、入力受付部302と、オントロジーデータ受信部303と、オントロジーデータ送信部304と、オントロジーデータ読込部306と、制御オントロジー要素選択部307と、制御実行部308は、CPU101のプログラム実行時にRAM103などの記憶装置上に生成されるものである。また、オントロジーデータ記憶部305は、たとえばHDDなどの外部記憶装置に記憶されるものである。また、データベース309は、たとえばHDDなどの外部記憶装置に記憶される。
【００２７】
ユーザ300は、表示装置108に表示された各種データを閲覧しながら、入力装置109を介して、データの入力および制御命令の実行指示の入力を行う。
【００２８】
表示画面生成部301は、概念オントロジー、インスタンスおよび制御オントロジーを表示する画面データや、各処理の過程でユーザ300に提示する各種画面データや、その他関連する画面データを生成する。表示画面生成部301は、生成した画面データを、表示装置108が解釈可能な形式で、表示装置108に転送する。また、表示画面生成部301は、現在の表示画面に表示されている情報をRAM103に記憶するため、当該情報をオントロジーデータ読込部306に送る。
【００２９】
入力受付部302は、入力装置109を通してユーザから入力された制御命令を解釈し、各種処理を呼び出す。
【００３０】
オントロジーデータ受信部303は、ネットワークを通して他のクライアント端末またはシステムから、直接的または間接的に概念オントロジー311、データ（インスタンス）315および制御オントロジー（表示制御オントロジー312、出力制御オントロジー313、登録制御オントロジー314、統合制御オントロジー316）のデータを受信する。オントロジーデータ受信部303は、受信したこれらのデータを、オントロジーデータ記憶部305に記憶する。なお、オントロジーは、辞書データと呼ばれることもあり、本実施形態で説明するオントロジーは、辞書データの場合も含むものとする。
【００３１】
オントロジーデータ記憶部305は、概念オントロジー311、インスタンス315および制御オントロジー（表示制御オントロジー312、出力制御オントロジー313、登録制御オントロジー314、統合制御オントロジー316）を記憶する。なお、これらのデータは、他のクライアント端末から受信せずに、ユーザが直接、自身のクライアント端末への入力操作により、オントロジーデータ記憶部305に記憶させてもよい。
【００３２】
図4は、オントロジーデータ記憶部305で記憶される概念オントロジーの例として、クラスおよびプロパティを構成要素とする概念オントロジーの構造を示す。
【００３３】
図中、クラスを楕円で、プロパティを長方形で表す。実線矢印により、先端を親クラスとするクラス間の継承関係を示す。矢印のない実線により、クラスが持つプロパティを表している。
【００３４】
たとえば、クラス「製品」は「自動車」および「コンピュータ」の親クラスである。クラス「製品」は、「製品コード」および「メーカー」の2つのプロパティを持つ。また、オブジェクト指向に従って、上位クラスが持つプロパティは、下位クラスに継承される。たとえば、図中では、クラス「自動車」は、自身で定義され適用されたプロパティ「タイヤ数」に加えて、親クラスから継承した「製品コード」および「メーカー」の2つのプロパティを持つ。
【００３５】
図5は、オントロジーデータ記憶部305で記憶される概念オントロジーの記憶形態の例として、図4に例示したクラスおよびプロパティのカテゴリーであるクラスメタクラスおよびプロパティメタクラスを、それぞれアトリビュートを見出しとする表形式で表した例を示す。
【００３６】
クラスのカテゴリーは、クラスメタクラス、プロパティのカテゴリーはプロパティメタクラスに対応する。クラスメタクラスには識別子としてMDC_C002のラベルが、プロパティメタクラスには、識別子としてMDC_C003のラベルが、識別情報として、割り振られている。各カテゴリーの表は、それぞれ複数のアトリビュートを見出しとして有する。
【００３７】
クラスメタクラスの表には、クラスを定義する5種のアトリビュートが割り当てられた列が用意される。これらのアトリビュートをスキーマとして用いて、各行で個々のクラスが定義されている。個々のクラスは、クラスメタクラスのインスタンス（オントロジー要素）に相当する。
【００３８】
同様に、プロパティの表には、プロパティを定義する6種のアトリビュートが割り当てられた列が用意される。これらのアトリビュートをスキーマとして用いて、各行の個々のプロパティが定義されている。個々のプロパティは、プロパティメタクラスのインスタンス（オントロジー要素）に相当する。
【００３９】
それぞれの表において、クラス間の継承関係と、クラスおよびプロパティ間の関係とは、個々のオントロジー要素のID（コード）を指定することで記述されている（「適用プロパティ」、「定義クラス」の列を参照）。
【００４０】
図6は、オントロジーデータ記憶部305で記憶される概念オントロジー311をスキーマとするインスタンスの記憶形態の例として、図4で例示したクラスのうち、「ガソリン車」のクラスのインスタンスを記述するための表を示す。このクラス（カテゴリー）には識別子としてAAA004のラベルが割り当てられる（図5において、ガソリン車のコードはAAA004である）。
【００４１】
表において、「ガソリン車」が持つ4種のプロパティが割り当てられた列が用意される。これらのプロパティをスキーマとして、個々の具体的な製品としての「ガソリン車」のインスタンスが記述される。
【００４２】
一方、オントロジーデータ記憶部305で記憶される概念オントロジー311は、図4のようにオブジェクト指向に従ったクラス間の上位下位の関係に加えて、has-aと呼ばれる構成関係を持つこともできる。has-a関係は、クラスが他のクラスをコンポーネントとして持つ関係である。
【００４３】
図7は、has-aの構造を例示する図である。図4と同様に、クラスを楕円で表している。左上の楕円が全体クラスを表し、右下の3つの楕円が、部品クラスを表す。全体クラスは、3つの部品クラスを保有している。すなわち、クラス「コンピュータ」は、その部品として「中央処理演算装置」、「主記憶装置」、「補助記憶装置」の3つのクラスを持つ。全体クラスと各部品クラスは実線で結ばれている。なお、実線の部品クラス側端点に記載された数値は、部品の保持可能数を定めたものである。図7の例では、コンピュータは、1つの中央処理演算装置、1つから4つの主記憶装置、1つから4つの補助記憶装置を保持可能であることを示している。
【００４４】
図8は、オントロジーデータ記憶部305で記憶される概念オントロジー311の例として、図7に例示したクラスの構成関係を、図5と同様に表形式で表した例を示す図である。
【００４５】
図中、クラスメタクラスの表には、全体クラス「コンピュータ」および部品クラスの4つと、全体クラス「コンピュータ」の親クラス「製品」の計5つのクラスが記載されている。プロパティメタクラスの表には、クラスを特徴づけるプロパティに加えて、全体クラスと部品クラスの関係を定義する3つのプロパティが、個々のプロパティとして記述されている。
【００４６】
たとえば、クラス「コンピュータ」とその部品クラス「主記憶装置」は、BAE002をIDとするプロパティによって記述されている。部品クラスを指定するためのデータ型CLASS_REFERENCE_TYPEで、部品クラス「主記憶装置」のIDであるBAA002が参照されている。また、そのデータ型の接頭辞として、1つから4つの主記憶装置を持つことを意味するLIST（1，4）が指定されている。クラス「コンピュータ」のアトリビュートMDC_P014の値には、これらのプロパティが指定されることで、全体クラスと部品クラスの関係が記述されている。
【００４７】
なお、図5および図8では、説明を簡単化するため、オブジェクト指向に従ったクラス間の継承関係と構成関係が別々に記述されているが、これらを混在して記述しても良いし、別々に記述しても良い。
【００４８】
図9は、オントロジーデータ記憶部305で記憶される制御オントロジー（表示制御オントロジー、出力制御オントロジー、登録制御オントロジー、統合制御オントロジー）の記憶形態の例を示す。
【００４９】
図5および図6で例示した形式と同じ形式で表示制御、出力制御、登録制御、およびそれらを統合した統合制御の4つのカテゴリーの制御メタクラスを、図5および図6と同様に、アトリビュートを見出しとする表形式で表している。
【００５０】
表示制御メタクラスの表には、6種のアトリビュートが割り当てられる。これらのアトリビュートをスキーマとして、各行の個々の表示制御が、表示制御メタクラスのインスタンスとして、定義されている。表示制御メタクラスおよびその各インスタンスは、図3の表示制御オントロジー312に対応する。
【００５１】
表示制御メタクラスの「コード」アトリビュートは、表示制御メタクラスのインスタンスを識別するコードを指定する。「対象カテゴリー」アトリビュートは、制御対象のカテゴリ（メタクラスまたはクラス）を指定する。「表示制御」アトリビュートは、当該カテゴリーについて、表示制御（たとえば、表示装置で表示または非表示）を行う対象となるアトリビュートまたはプロパティを指定する。「対象装置」アトリビュートは、表示制御を実行する装置に関する条件、たとえば表示制御を実行する装置の識別子を指定する。「対象ユーザ」アトリビュートは、制御を実行する対象となるユーザに関する条件、たとえばユーザまたはユーザが属するグループやロールを指定する。「コマンド」アトリビュートは、アプリケーションが実行すべき処理を指定する。たとえば、表示されたデータに対して一定の演算等の処理を行い、処理の結果を表示する。
【００５２】
出力制御メタクラスの表には、6種のアトリビュートが割り当てられる。これらのアトリビュートをスキーマとして、各行における個々の出力制御が、出力制御メタクラスのインスタンスとして、定義されている。出力制御メタクラスおよびその各インスタンスは、図3の出力制御オントロジー313に対応する。
【００５３】
出力制御メタクラスにおける「コード」アトリビュートは、出力制御メタクラスのインスタンスを識別するコードを指定する。「対象カテゴリー」アトリビュートは、制御対象のカテゴリ（メタクラスまたはクラス）を指定する。「出力制御」アトリビュートは、当該カテゴリーについて、出力制御（たとえば、クライアント端末へ送信）を行う対象となるアトリビュートまたはプロパティを指定する。「対象装置」アトリビュートは、出力制御を実行する装置に関する条件、たとえば出力制御を実行する装置の識別子を指定する。「対象ユーザ」アトリビュートは、出力制御を実行する対象となるユーザに関する条件、たとえばユーザまたはユーザが属するグループやロールを指定する。「コマンド」アトリビュートは、アプリケーションが実行すべき処理を指定する。たとえば、読み込んだデータに対して一定の演算等の処理を行い、処理の結果を出力する。
【００５４】
登録制御メタクラスの表には、6種のアトリビュートの列が割り当てられる。これらのアトリビュートをスキーマとして、各行における個々の登録制御（記憶制御）が、登録制御メタクラスのインスタンスとして、定義されている。登録制御メタクラスおよびその各インスタンスは、図3の登録制御オントロジー314に対応する。
【００５５】
登録制御メタクラスにおける「コード」アトリビュートは、登録制御メタクラスのインスタンスを識別するコードを指定する。「対象カテゴリー」アトリビュートは、制御対象のカテゴリ（メタクラス、クラス）を指定する。「登録制御」アトリビュートは、当該カテゴリーについて、登録制御（たとえば、データベースに登録（記憶））を行う対象となるアトリビュートまたはプロパティを指定する。「対象装置」アトリビュートは、登録制御を実行する装置に関する条件、たとえば登録制御を実行する装置の識別子を指定する。「対象ユーザ」アトリビュートは、制御を実行する対象となるユーザに関する条件、たとえばユーザまたはユーザが属するグループやロールを指定する。「コマンド」アトリビュートは、アプリケーションが実行すべき処理を指定する。たとえば、読み込んだデータに対して一定の演算等の処理を行い、処理の結果を登録する。
【００５６】
統合制御メタクラスの表には、8種のアトリビュートの列が割り当てられる。これらのアトリビュートをスキーマとして、表示制御、出力制御および登録制御の２つ以上（ここではすべて）の制御が、各行で定義されている。統合制御メタクラスおよびその各インスタンスは、図3の統合制御オントロジー316に対応する。なお、統合制御メタクラスのインスタンスで記述する制御は、表示制御、出力制御および登録制御のうちの1つ以上の制御が記述される。
【００５７】
統合制御メタクラスにおける「コード」アトリビュートは、統合制御メタクラスのインスタンスを識別するコードを指定する。「対象カテゴリー」アトリビュートは、制御対象のカテゴリ（メタクラスまたはクラス）を指定する。「表示制御」アトリビュートは、当該カテゴリーについて、表示制御を行う対象となるアトリビュートまたはプロパティを指定する。「出力制御」アトリビュートは、当該カテゴリーについて、出力制御を行う対象となるアトリビュートまたはプロパティを指定する。「登録制御」アトリビュートは、当該カテゴリーについて、登録制御を行う対象となるアトリビュートまたはプロパティを指定する。「対象装置」アトリビュートは、これらの制御を実行する対象装置を指定する。「対象ユーザ」アトリビュートは、制御を実行する対象となるユーザまたはユーザが属するグループやロールを指定する。「コマンド」アトリビュートは、アプリケーションが実行すべき処理を指定する。統合制御メタクラスのインスタンスが指定された場合、当該インスタンスに含まれる表示制御、出力制御、および登録制御は、すべて実行するようにしてもよいし、これらの制御のうち実行したい制御をユーザにより選択するようにしてもよい。
【００５８】
なお、前述した表示制御、出力制御、登録制御および統合制御の各メタクラスは、前述のアトリビュートに加えて、ユーザが独自に追加したアトリビュートを有してもよい。
【００５９】
また、表示制御、出力制御、登録制御および統合制御の各メタクラスは、前述の対象装置アトリビュート、対象ユーザアトリビュート、コマンドアトリビュートおよびユーザ拡張アトリビュートのすべてまたは一部のみを持っても良いし、1つも持たなくても良い。
【００６０】
このように、概念オントロジー311、インスタンス315および制御オントロジー（表示制御オントロジー312、出力制御オントロジー313、登録制御オントロジー314、統合制御オントロジー316）は、すべて共通の形式による表形式で表現されることで、概念オントロジーを操作可能なアプリケーションから容易に操作することができる。
【００６１】
たとえば、一般的な帳票アプリケーションによるファイルで記憶される場合、概念オントロジーのメタクラスごと、クラスごと、および制御オントロジーのメタクラスごとに、それぞれ表（図5、図6、図9参照）を用意することで、すべて同一ファイル上でこれらの情報を記憶し、操作することができる。
【００６２】
オントロジーデータ読込部306は、表示画面生成部301や入力受付部302や後述の制御オントロジー要素選択部307や後述の制御実行部308からの要求に応じて、オントロジーデータ記憶部305で記憶された概念オントロジー要素、インスタンス、制御オントロジー要素を読み込み、RAM103に記憶する。
【００６３】
概念オントロジー要素は、たとえば図5のクラスメタクラスのインスタンス（すなわちクラス）、プロパティメタクラスのインスタンス（すなわちプロパティ）などである。上記インスタンスは、図6のクラスのインスタンスなどである。制御オントロジー要素は、たとえば図9の表示制御メタクラスのインスタンス（すなわち表示制御オントロジー要素）、出力制御メタクラスのインスタンス（すなわち出力制御オントロジー要素）、登録制御メタクラスのインスタンス（すなわち登録制御オントロジー要素）、統合制御メタクラスのインスタンス（すなわち統合制御オントロジー要素）などである。
【００６４】
なお、オントロジーデータ読込部306は、表示画面生成部301から現在の表示画面の情報を受け取り、RAM103に記憶する。
【００６５】
制御オントロジー要素選択部307は、入力受付部302から、制御種別および対象カテゴリーを指定した制御命令を受け付けると、オントロジーデータ読込部306を介して、オントロジーデータ記憶部305にアクセスする。そして、当該対象カテゴリーについて、適用可能な制御の一覧を取得する。指定されることができるカテゴリーは、概念メタクラス（たとえば図5のクラスメタクラス、プロパティメタクラス）、クラス（たとえば図6のクラス）、または制御メタクラス（たとえば図9の表示制御メタクラス、出力制御メタクラス、登録制御メタクラス、統合制御メタクラス）があり得る。このように、制御メタクラス自体を制御対象とすることも可能である。
【００６６】
たとえば、制御種別が「表示制御」で、対象カテゴリーがクラスメタクラスの場合、表示制御メタクラスから、対象カテゴリーに当該クラスメタクラスの識別子（この例ではMDC_C002）を含むCTL001、CTL002を特定し、これら２つの表示制御オントロジー要素（表示制御メタクラスのインスタンス）を抽出する。同様に、統合制御メタクラスから対象カテゴリーにクラスメタクラスを含むCTL007、CTL008を特定し、これら2つの統合制御オントロジー要素（統合制御メタクラスのインスタンス）を抽出する。
【００６７】
なお、制御命令により指定された対象カテゴリー（概念メタクラス、クラス、または制御メタクラス）が、オブジェクト指向に従った上位カテゴリーを持つ場合がある。このときは、制御オントロジー要素選択部307は、上位カテゴリーに対応付けられた制御オントロジー要素を、同時にまたは別に抽出して、対象カテゴリーに対し適用できるようにしても良い。すなわち、上位カテゴリーがサブカテゴリーを持つ場合、当該上位カテゴリーの制御オントロジー要素が当該サブカテゴリーに継承および適用されてもよい。
【００６８】
また、対象カテゴリーが、全体カテゴリーとして構成関係により他のカテゴリーの部品に相当する場合、全体カテゴリーの制御オントロジー要素を当該部品としての対象カテゴリーにも適用できるよう、全体カテゴリーの制御オントロジー要素を同時にまたは別に抽出してもよい。すなわち、全体カテゴリーが部品としてのカテゴリーを持つ場合、当該全体カテゴリーの制御オントロジー要素が当該部品カテゴリーに適用されてもよい。
【００６９】
その後、抽出した制御オントロジー要素を選択肢として、ユーザ300による選択を行うための画面を、表示画面生成部301を通して表示装置108に表示する。ユーザ300は、表示された制御オントロジー要素の選択肢の中から、実際に適用する制御オントロジー要素を決定し、入力装置109を用いて選択する。選択された制御オントロジー要素の情報は、入力装置109を介して入力受付部302に伝えられ、該制御オントロジー要素の識別子が制御実行部308に伝えられる。
【００７０】
制御実行部308は、入力装置109から、ユーザ300が選択した制御オントロジー要素の識別子を受け取ると、オントロジーデータ読込部306を介して、指定された制御オントロジー要素で定義された制御内容に従った制御を実行する。
【００７１】
すなわち、制御種別が「表示制御」の場合、対象カテゴリーについて、RAM103に記憶した現在の表示データを、表示制御アトリビュートで定義された内容（項目）になるように更新し、更新後の表示データを表示画面生成部301に送り、表示装置108を介してユーザに表示する。
【００７２】
また、制御種別が「出力制御」の場合、RAM103に記憶した対象カテゴリーのデータのうち、出力制御アトリビュートで定義された内容（項目）のデータを抽出して、オントロジー送信部に送る。オントロジー送信部304は、制御実行部308から入力されたデータを、ネットワーク250を介して、他のクライアント端末またはサーバに出力（送信）する。送信先は、別途事前に何らかの方法で指定されていてもよいし、コマンドにより指定されていてもよい。
【００７３】
また、制御種別が「登録制御」の場合、RAM103に記憶した対象カテゴリーのデータのうち、登録制御アトリビュートで定義された内容（項目）のデータを抽出して、ファイルやデータベース309に登録する。なお、これらの処理の手順は後述のフローチャートで詳説する。
【００７４】
（2）動作
図10は、制御実行部308の処理をフローチャートで示したものである。
【００７５】
制御実行部308は、入力受付部302から制御命令を受け付けると、当該制御命令で指定された情報（制御オントロジー要素の情報等）を、オントロジーデータ読込部306から取得する（S801）。
【００７６】
取得した情報に基づき、ユーザ300が指定した制御の種類を判別し（S802）、「表示制御」の場合は表示制御の処理（S803）を、「出力制御」の場合は出力制御の処理（S804）を、「登録制御」の場合は登録制御の処理（S805）をそれぞれ実行する。表示制御、出力制御、または登録制御の処理が終了すると、制御実行部308は制御実行処理を終了する。なお、「統合制御」の場合は、これらの各処理をすべてまたは選択的に実行すればよい。
【００７７】
図11は、表示制御の処理（S803）の処理フローを示すフローチャートである。
【００７８】
表示制御の処理では、まずユーザ300から指定された対象カテゴリーについて、ユーザ300により選択された制御オントロジー要素の「表示制御」アトリビュートの値、すなわち表示する列のIDのリストを取得し、取得したIDのリスト値を格納した制御対象リストを生成する（S901）。
【００７９】
次に、オントロジーデータ読込部306が、対象カテゴリーの現在の表示データを表示画面生成部301から取得する（S902）。現在の表示データは、対象カテゴリーの各列（アトリビュートまたはプロパティ）についてのデータを含み、列ごとに、表示または非表示の設定を含む。表示装置108に実際に表示されているデータは、このうち表示の設定がなされたものである。
【００８０】
次に、更新後の新しい表示データを記憶するための記憶領域をRAM103上に確保し、初期化する（S903）。
【００８１】
上記の前処理を経て、制御対象リスト内の個々のID、すなわち制御対象の列に対して、以下の処理を実行する（S904）。
【００８２】
当該IDに一致する列が、現在の表示データに存在する場合（S905のYES）、その列を新しい表示データに追加する。ここで、現在の表示データで当該列の状態が非表示になっている場合は、当該状態を表示に変更する。一方、当該IDに一致する列が現在の表示データに存在しない場合、当該IDに関する処理を飛ばして、次のIDの処理に移る（S905のNO）。
【００８３】
制御対象リスト内のすべてのIDの処理が終わると、現在の表示データの未処理の列を新しい表示データに追加し、これらの状態を非表示に設定する（S907）。
【００８４】
最後に、表示画面生成部301に新しい表示データを送り、表示装置108に表示する画面を更新して処理を終了する（S908）。なお、表示装置108が、表示および非表示の設定に基づき表示および非表示を制御してもよいし、表示するデータのみを表示装置108に送って当該データを表示させてもよい。
【００８５】
図12は、図5のクラスメタクラスの表に対して、図9の表示制御メタクラスの2つの制御オントロジー要素をそれぞれ適用した場合の、表示装置108に表示される表を例示したものである。ユーザ300が表示制御オントロジー要素CTL001を指定した場合、当該オントロジー要素の「表示制御」アトリビュートの値に従って、MDC_P001_5、MDC_P004_1、MDC_P005のみを表示する表が、表示装置108に表示される。一方、ユーザ300が表示制御オントロジー要素CTL002を選択した場合、当該オントロジー要素の「表示制御」アトリビュートの値に従って、表示制御対象であるMDC_P001_5、MDC_P010、MDC_P014のみを表示する表が表示装置108に表示される。
【００８６】
次に、図13は出力制御処理S804の処理のフローチャートを示す。
【００８７】
出力制御の処理では、まずユーザ300により指定された対象カテゴリーについて、ユーザ300により選択された制御オントロジー要素の「出力制御」アトリビュートの値、すなわち表示する列のIDのリストを取得し、当該IDを含む制御対象リストを生成する（S1101）。次に、出力バッファを初期化する（S1102）。上記の前処理を経て、制御対象リストに格納された個々のIDに対して、以下の処理を実行する（S1103）。
【００８８】
当該IDに一致する列が対象カテゴリーの表に存在する場合（S1104のYES）、そのデータを出力バッファに追記する（S1105）。一方、当該IDに一致する列が表に存在しない場合（S1105のNO）、当該制御対象列を見出しに持つが値を持たない空白の列が出力されるように空白データを出力バッファに追記する（S1106）。なお、当該IDに一致する列が表に存在しない場合は、空白の列を出力バッファに出力することなく、当該IDに対する処理を省略してもよい。
【００８９】
制御対象リスト内のすべてのIDの処理が終わると、現在の出力バッファのデータをオントロジーデータ送信部304に送り、処理を終了する（S1107）。オントロジーデータ送信部304は、当該データを、事前に指定された、またはコマンドにより指定された送信先（他の端末装置またはサーバ等）に送信する。
【００９０】
図14は、図5のプロパティメタクラスの表に対して、図9の出力制御メタクラスの2番目の制御オントロジー要素（CTL004）を適用した場合の、オントロジーデータ送信部304に送られる出力データの例を示す。この例の出力データは、多くのアプリケーションで入出力可能なCSV（COMMA  SEPERATED  VALUE）形式を有する。この例は、ユーザ300が出力制御オントロジー要素CTL004を指定した場合の例である。図13に示した処理が行われることにより、出力制御対象であるMDC_P001_5、MDC_P022、MDC_P023_1の各列のデータが出力バッファに作成され、オントロジー送信部304に送られる。
【００９１】
次に、図15は登録制御処理S805の処理のフローチャートを示す。
【００９２】
登録制御の処理では、まずユーザ300により指定された対象カテゴリーについて、ユーザ300により選択された制御オントロジー要素の「登録制御」アトリビュートの値を取得し、当該値を格納した制御対象リストを作成する（S1301）。次に、登録命令を記述するためのSQLやXQuery等、対象データベースに適したクエリを初期化する（S1302）。上記の前処理を経て、制御対象リスト内の個々のIDに対して、以下の処理を実行する（S1303）。
【００９３】
当該IDに一致する列が対象カテゴリーの表に存在する場合（S1304のYES）、当該列のデータが、データベース309に登録（記憶）されるよう命令をクエリに追加する（S1305）。一方、当該IDに一致する列が表に存在しない場合（S1304のNO）、当該制御対象列を見出しに持つが値を持たない空白の列がデータベース309に登録（記憶）されるように命令をクエリに追加する（S1306）。
【００９４】
制御対象リスト内のすべてのIDの処理が終わると、上記クエリを実行し、データベース309を更新する（S1307）。なお、当該IDに一致する列が表に存在しない場合は、空白の列を登録するクエリを構築することなく、当該IDに対する処理を省略してもよい。
【００９５】
（3）効果
従来、アプリケーションやツール毎に独自に記述していた表示、出力、登録の各制御を、概念オントロジーと同様にオントロジーとして定義した制御メタクラス（制御オントロジー）を用意し、交換（他のクライアント端末と送受信）することができる。概念オントロジーおよびそのインスタンスを処理可能なアプリケーションやツールであれば、制御オントロジーに基づき、上記の各制御を容易に行うことができる。制御を行うために、別途、特別な実行環境（プログラム）を用意する必要はない。
【００９６】
また、概念オントロジーの記述形式が持つ特徴、たとえばIEC 62656-1の表形式におけるユーザが独自に項目を追加したり適用できたりといった可塑性などを制御の定義（図9参照）にも適用することができ、そのための拡張をアプリケーションやツールに容易に反映することができる。
【００９７】
また、端末装置等の装置間でピアツーピアでの概念オントロジーやインスタンスの交換の際に、双方の装置が持つ情報の構成を考慮した制御の定義を容易に追加でき、交換システムの運用性が高まる。
【００９８】
以上のように、本実施の形態によれば、アプリケーションやツールに依存しない柔軟な制御の定義および交換を実現でき、概念オントロジーおよびインスタンスにかかる制御（表示、出力、登録）の操作性の向上が実現できる。
【００９９】
[変形例]
＜変形例1＞
上述した実施の形態において、クライアント端末201で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク（FD）、CD−R、DVD（Digital Versatile Disk）等のコンピュータ読み取り可能な記録媒体に記録して、提供するように構成しても良い。
【０１００】
＜変形例2＞
上述した実施の形態において、クライアント端末201を例にして説明したが、これに限るものではなく、サーバクライアントシステムの形態で実施しても良い。この場合、上述したクライアント端末201の有する機能の全部又は一部をサーバ側で実現するように構成し、上述したクライアント端末201の有する機能を、クライアント端末201がたとえばWEBブラウザを介してサーバ200と通信することにより実現させるように構成しても良い。
【０１０１】
＜変形例3＞
上述した実施の形態において、オントロジーデータ記憶部305の有するオントロジーの階層構造を図4では単純木で示しているが、これに限らず、他の様々な階層構造を有しても良い。たとえば、複数の親クラスを持つ「多重継承」や、厳密な親子関係ではないが、いくつかのプロパティを輸入する関係で形成される「部分継承」といった階層構造を有しても良い。
【０１０２】
また、オントロジーの階層構造は、階層構造の特殊な場合として、階層を持たないフラットな構造を有しても良い。すなわち、どのクラスも他のクラスの下位クラスにならず、自らが定義したプロパティのみを有するものであっても良い。
【０１０３】
＜変形例4＞
上述した実施の形態において、表示制御メタクラス、出力制御メタクラス、登録制御メタクラス、および統合制御メタクラスが持つ「対象カテゴリー」アトリビュートは、同時に複数の対象（識別子）を指定しても良い。
【０１０４】
＜変形例5＞
上述した実施の形態において、オントロジーデータ読込部306が記憶する表示データは、処理の簡単化のために対象カテゴリーのすべての列を有し、それらの列の表示・非表示を設定することでユーザ300に表示する画面を設定した。しかしながら、これは実施の一形態に過ぎず、たとえば、S907の処理を省略し、非表示の列を非表示ではなく無視しても良い。この場合、S905およびS906の処理を行うに当たって、表示データで該当列が省略されている場合、オントロジーデータ読込部306を通してオントロジーデータ記憶部305で記憶されている該当列の情報を取得し、これを用いて新しい表示データを作成しても良い。
【０１０５】
＜変形例6＞
上述した実施の形態において、概念オントロジーの各カテゴリーについて、それぞれ1つまたは複数の制御オントロジー要素が制御オントロジー（図9）に定義されている場合、ユーザに、選択画面を介して、1つの制御オントロジー要素を選択させても良い。この場合、オントロジーデータ読込部306は、選択された制御オントロジー要素をロードして、制御実行部308が、処理を行う。なお、本変形例6は、上述した実施の形態においても説明されたものである。
【０１０６】
＜変形例7＞
上述した実施の形態において、出力制御および登録制御の処理について、選択された制御オントロジー要素のそれぞれ「出力制御」アトリビュート、「登録制御」アトリビュートで指定された値の処理の中で、対象カテゴリーが、当該値に一致するアトリビュート（またはプロパティ）を持たない場合は、制御対象の情報を見出しに持つが値を持たない空白のデータを出力および登録した。別の方法として、空白のデータを出力および登録しない方法を採用することも可能である（すなわち当該一致するアトリビュートをもたない値を無視する）。なお、本変形例7は、上述した実施の形態においても簡単に説明されたものである。
【０１０７】
＜変形例8＞
制御オントロジー要素（制御メタクラスのインスタンス）は、当該制御オントロジー要素の対象カテゴリーアトリビュートで指定されたカテゴリーのサブカテゴリー（たとえば継承関係にある上位のクラス）にも適用されてもよい。また、当該制御オントロジー要素は、当該制御オントロジー要素の対象カテゴリーアトリビュートで指定されたカテゴリーが所有するコンポーネントとなるサブカテゴリー（has-a関係にあるクラス）にも適用されてもよい。なお、本変形例8は、上述した実施の形態においても説明されたものである。
【０１０８】
＜変形例9＞
上述した実施の形態では、主としてカテゴリーとして、クラスメタクラス、プロパティメタクラス、およびクラス等を説明したが、Enumeration, Term, Data type, Document、単位などのカテゴリーも可能である。
【０１０９】
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。たとえば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【図１】
2014153938.tif 000003
【図２】
2014153938.tif 000004
【図３】
2014153938.tif 000005
【図４】
2014153938.tif 000006
【図５】
2014153938.tif 000007
【図６】
2014153938.tif 000008
【図７】
2014153938.tif 000009
【図８】
2014153938.tif 000010
【図９】
2014153938.tif 000011
【図１０】
2014153938.tif 000012
【図１１】
2014153938.tif 000013
【図１２】
2014153938.tif 000014
【図１３】
2014153938.tif 000015
【図１４】
2014153938.tif 000016
【図１５】
2014153938.tif 000017