(57)【要約】【課題】コンテンツデータを作成するコンテンツ作成者が、高度な論理や知識を用いることなく、コンテンツデータを容易に作成することができるようにする。【解決手段】データ作成支援装置３は、流通するメタデータである辞書１１から組合せ展開の元となる組合せを入力するための雛形Ｘを入力雛形生成部１２で自動生成する。ユーザ（コンテンツ作成者）は、雛形Ｘにプロパティ値の構成要素の組合せを入力してプロパティ値構成要素組合せ情報１３を生成する。その後、データ作成支援装置３は、データ作成支援装置３が提供する例外入力方法によって例外を省くとともに、入力された組合せからプロパティの直積をとり、さらにプロパティの構成要素の演算を行ってコンテンツデータ１５を作成する。これにより、コンテンツデータ１５を作成するコンテンツ作成者が、高度な論理や知識を用いることなく、コンテンツデータ１５を容易に作成することができる。【選択図】        図５
2007148913.tif 000002
【特許請求の範囲】
【請求項１】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための帳票形式の雛形を生成する入力雛形生成手段と、
この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、
この組合せ情報生成手段により生成された組合せ情報のプロパティの直積をとる機能と、各プロパティの構成要素の演算・文字列結合を行う機能とによってコンテンツデータを作成する組合せ展開手段と、
を備えることを特徴とするデータ作成支援システム。
【請求項２】
組合せ展開の際にプロパティの性質に従って実行する処理を予め保存する自動処理ライブラリを更に備え、
前記組合せ展開手段は、前記自動処理ライブラリに従って、プロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う、
ことを特徴とする請求項１記載のデータ作成支援システム。
【請求項３】
前記自動処理ライブラリに対して、組合せ展開の際にプロパティの性質に従って実行する処理を選択する自動処理ライブラリ設定手段を更に備える、
ことを特徴とする請求項２記載のデータ作成支援システム。
【請求項４】
前記組合せ展開手段は、予め指定された前記組合せ情報の例外条件に合致する行については、組合せ展開を行なわない、
ことを特徴とする請求項１ないし３のいずれか一記載のデータ作成支援システム。
【請求項５】
前記組合せ情報の例外条件の指定を、行ＩＤの指定により行う、
ことを特徴とする請求項４記載のデータ作成支援システム。
【請求項６】
前記組合せ情報の例外条件となる行ＩＤを指定するためのＧＵＩ（Graphical User Interface）を作成し、ユーザの入力を補助するとともに、前記組合せ情報の例外条件となる行ＩＤの指定を受け付けて、前記組合せ情報に例外となる行ＩＤを保存する例外組合せ行指定手段を更に備える、
ことを特徴とする請求項５記載のデータ作成支援システム。
【請求項７】
前記組合せ展開手段によって生成された前記コンテンツデータにインスタンスを追加した際に、追加されたインスタンスが前記組合せ展開手段で例外条件によって間引きされたインスタンスである場合に、その旨を報知するコンテンツリバース手段を更に備える、
ことを特徴とする請求項１ないし６のいずれか一記載のデータ作成支援システム。
【請求項８】
前記メタデータは、上位分類から下位分類へ前記プロパティの継承を持つ階層型辞書である、
ことを特徴とする請求項１ないし７のいずれか一記載のデータ作成支援システム。
【請求項９】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータをネットワーク接続されたサーバから取得するメタデータ取得手段と、
このメタデータ取得手段により取得した前記メタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成手段と、
この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、
この組合せ情報生成手段により生成された組合せ情報のプロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う組合せ展開によりコンテンツデータを作成する組合せ展開手段と、
この組合せ展開手段よって生成された前記コンテンツデータを前記サーバに転送するコンテンツデータ転送手段と、
を備えることを特徴とするデータ作成支援装置。
【請求項１０】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータをネットワーク接続されたサーバから取得するメタデータ取得手段と、
このメタデータ取得手段により取得した前記メタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成手段と、
この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、
この組合せ情報生成手段により生成された組合せ情報を前記サーバに転送する組合せ情報転送手段と、
を備えることを特徴とするデータ作成支援装置。
【請求項１１】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成手段と、
この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、
この組合せ情報生成手段により生成された組合せ情報をネットワーク接続されたサーバに転送する組合せ情報転送手段と、
を備えることを特徴とするデータ作成支援装置。
【請求項１２】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成手段と、
この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、
この組合せ情報生成手段により生成された組合せ情報のプロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う組合せ展開によりコンテンツデータを作成する組合せ展開手段と、
この組合せ展開手段よって生成された前記コンテンツデータをネットワーク接続されたサーバに転送するコンテンツデータ転送手段と、
を備えることを特徴とするデータ作成支援装置。
【請求項１３】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータをネットワーク接続されたサーバから取得するメタデータ取得機能と、
このメタデータ取得機能により取得した前記メタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成機能と、
この入力雛形生成機能にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成機能と、
この組合せ情報生成機能により生成された組合せ情報のプロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う組合せ展開によりコンテンツデータを作成する組合せ展開機能と、
この組合せ展開機能よって生成された前記コンテンツデータを前記サーバに転送するコンテンツデータ転送機能と、
をコンピュータに実行させることを特徴とするデータ作成支援プログラム。
【請求項１４】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータをネットワーク接続されたサーバから取得するメタデータ取得機能と、
このメタデータ取得機能により取得した前記メタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成機能と、
この入力雛形生成機能にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成機能と、
この組合せ情報生成機能により生成された組合せ情報を前記サーバに転送する組合せ情報転送機能と、
をコンピュータに実行させることを特徴とするデータ作成支援プログラム。
【請求項１５】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成機能と、
この入力雛形生成機能にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成機能と、
この組合せ情報生成機能により生成された組合せ情報をネットワーク接続されたサーバに転送する組合せ情報転送機能と、
をコンピュータに実行させることを特徴とするデータ作成支援プログラム。
【請求項１６】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成機能と、
この入力雛形生成機能にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成機能と、
この組合せ情報生成機能により生成された組合せ情報のプロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う組合せ展開によりコンテンツデータを作成する組合せ展開機能と、
この組合せ展開機能よって生成された前記コンテンツデータをネットワーク接続されたサーバに転送するコンテンツデータ転送機能と、
をコンピュータに実行させることを特徴とするデータ作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ作成支援システム、データ作成支援装置およびデータ作成支援プログラムに関する。
【背景技術】
【０００２】
多くの工業製品又は部品（インスタンス）の仕様を記述した紙媒体やＰＤＦファイルなどのカタログでは、１つ１つの部品のプロパティ値が少しずつ異なる場合（例えば、測定温度範囲が異なる温度計など）に、プロパティ値の組合せがマトリクス形式に記述され、製品又は部品（インスタンス）を識別するための製品又は部品コードは組み合わせにより一意になるように振られている。
【０００３】
また、組合せをマトリクス形式のまま保存し、表示する際に展開してユーザに表示することも行われている。
【０００４】
ところで、組合せの１つ１つに付帯情報（有効期限など）が必要な場合は、マトリクス形式の組合せを展開した後、付帯情報（有効期限など）を付加してコンテンツデータベースに格納した方が良いが、そのデータ量は膨大になり作成者の負荷が大きくなるという問題がある。また、マトリクス形式の組合せを展開する際においても、存在しない組合せ（例外）があったり、業界や会社によって製品コードの振り方は異なっていたりするため、単純にマトリクスを組み合わせるだけでは済まない。
【０００５】
そこで、このような問題を解決すべく、例えば特許文献１においては、「Ｉｆ〜ｔｈｅｎ〜ｅｌｓｅ〜」という記述ルールを用いることによりデータを作成する方法が提案されている。
【０００６】
【特許文献１】特開２０００−２２２４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、前述したような「Ｉｆ〜ｔｈｅｎ〜ｅｌｓｅ〜」という記述ルールを用いることによって例外の排除や製品コードの生成を行ってコンテンツデータを作成する場合には、コンテンツ作成者が当該記述ルールについて習熟する必要がある。
【０００８】
また、既存の記述ルールを拡張しようとした際には、記述ルールの組合せの検証が要求される。
【０００９】
本発明は、上記に鑑みてなされたものであって、コンテンツデータを作成するコンテンツ作成者が、高度な論理や知識を用いることなく、コンテンツデータを容易に作成することができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明のデータ作成支援システムは、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータから、組合せ展開の元となる組合せを入力するための雛形を生成する入力雛形生成手段と、この入力雛形生成手段にて生成された前記雛形に基づいて、プロパティ値の構成要素の組合せの入力を入力部を介して受け付けて組合せ情報を生成する組合せ情報生成手段と、この組合せ情報生成手段により生成された組合せ情報のプロパティの直積をとり、各プロパティの構成要素の演算・文字列結合を行う組合せ展開によりコンテンツデータを作成する組合せ展開手段と、を備える。
【発明の効果】
【００１１】
本発明によれば、コンテンツデータを作成するコンテンツ作成者が、高度な論理や知識を用いることなく、コンテンツデータを容易に作成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、この発明にかかるデータ作成支援システム、データ作成支援装置およびデータ作成支援プログラムの最良な実施の形態を詳細に説明する。
【００１３】
［１．階層型辞書について］
最初に、本実施の形態の前提となる、製品情報を電子的に提供する電子カタログシステムに用いられるメタデータである階層型辞書について説明する。メタデータとは、他のデータ（例えばコンテンツデータ）の記述仕様を定義するデータのことである。データベースにおいては、データベース・スキーマに相当する（テーブル名、属性名、関連など）情報が独立してデータとして流通する形態をとったものであり、通常の値データとは区別される。このようなメタデータは、ISO13584規格やIEC61360規格等では、辞書もしくはデータ辞書と呼ばれる。
【００１４】
図１は、階層型辞書の構成の一例を示す説明図である。図１に示す階層型データベースである階層型辞書は、メタデータであり、複数の階層に分かれている。そして、各階層は、１又は２以上の分類項目を有しており、下位が上位の属性（プロパティ）を継承する性質を持つ。したがって、下位の階層の分類項目の属性は、上位の階層の分類項目の属性を継承する。ここで、階層型の分類項目はクラスと呼ばれ、各クラスは属性を持つ。図１に示す階層型辞書は、多重継承を含む一般的なクラス間の属性継承関係を示している。クラスはＡ０、Ｂ０、Ｂ１、Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｄ１で示され、属性はＰ０〜Ｐ７で示される。クラスＣ３においては、その親クラスＢ１から属性Ｐ０とＰ４を継承し、別の親クラスＤ１から属性Ｐ７を継承する。属性Ｐ６は、クラスＣ３において独自に定義された属性である。クラスＡ０とクラスＤ１は、独立したクラスである。ユニバーサルルート（Universal Root）は、全てのルートクラスを仮想的に含む全体クラスである。これは通常数学で言う「全体集合」に相当するものと考えられる。すなわち、全体クラスでは、継承すべき属性を特に含んでおらず、属性を持たないため、全てのルートクラスの親クラスとして扱うことが可能になる。
【００１５】
製品情報を電子的に提供する電子カタログシステムを実装するための国際規格であるＰＬＩＢ規格（ISO13584 parts Library）は、製品分類やその属性に用いる階層構造は単純木構造である。したがって、上位クラス（親クラス）は１つしか存在しない。親クラス以外の属性を継承する場合には、Case Of（「ケースオブ」）という属性の輸入（引用）のための特別な構造が用いられる。この構造は、図１の多重継承を、例えば番号の一番若い親クラスを主系列とするなどにより主系列と副系列に適宜分け、副系列に対してCase Ofという別名を与えた例とみなすことができる。また、ＯＲＤＢや一般的なオブジェクト指向データベースにおいては、全てのテーブルやクラスに親テーブル及び親クラスがあるわけではない。しかし、独立に存在するテーブルやクラスについても、図１に示すように、仮想的な「ユニバーサルルート」を設定することにより、全てのクラスをただ１つのルートからたどることが可能になり、単純木と変わらなくなる。
【００１６】
図２は、単純木を用いたＰＬＩＢ規格の階層型辞書の構成の一例を示す説明図である。図２に示すＰＬＩＢ規格の階層型辞書は、ユニバーサルルートを持たない。図２において、Ａ０、Ｂ０、Ｂ１、Ｃ０、Ｃ１、Ｃ２の木構造の部分は、分類階層を含む情報を表現する。本実施の形態では木は単純木であり、クラスには１つの上位クラスしかない。
【００１７】
図２において、クラスＡ０は下位クラスＢ０とＢ１を持つ。クラスＢ０は、下位クラスＣ０及びＣ１を持ち、クラスＢ１は下位クラスＣ２およびＣ３を持つ。それぞれの製品クラスは属性項目を持ち、上位クラスの属性は下位クラスに継承される。図２中、コンテンツ１２１、１２２、１２３及び１２４は実際の製品データ群である。例えば、コンテンツ１２１は、Ｃ０という種類の製品データ群である。このコンテンツ１２１は、３種類分のコンテンツデータである。すなわち、コンテンツ１２１は、属性項目Ｐ０の属性値としてｘ１、ｘ２と、属性項目Ｐ１の属性値としてｙ１、ｙ２と、属性項目Ｐ２の属性値としてｚ１、ｚ２とを持つ。
【００１８】
なお、図１のコンテンツ１１１〜１１４は、図２のコンテンツ１２１〜１２４と同様の性質を持つ。
【００１９】
［２．システムの構成］
本発明の実施の一形態について詳細に説明する。図３は、データ作成支援装置を含むデータ作成支援システムのシステム構築例を示す模式図である。データ作成支援システムは、図３に示すように、サーバコンピュータ（以下、サーバという）１にＬＡＮ（Local Area Network）等のネットワーク２を介してデータ作成支援装置であるクライアントコンピュータ（以下、クライアント端末という）３が複数台接続されたサーバクライアントシステムを想定する。クライアント端末３は、一般的なパーソナルコンピュータ等である。
【００２０】
図４は、サーバ１およびクライアント端末３のモジュール構成図である。サーバ１およびクライアント端末３は、情報処理を行うＣＰＵ（Central Processing Unit）１０１、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）１０２、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）１０３、各種データベースとして機能するとともに各種のプログラムを格納するＨＤＤ（Hard Disk Drive）１０４、記憶媒体１１０を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブ等の媒体駆動装置１０５、ネットワーク２を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置１０６、処理経過や結果等を操作者に表示するＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示部１０７、並びに操作者がＣＰＵ１０１に命令や情報等を入力するためのキーボードやマウス等の入力部１０８等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１０９が調停して動作する。
【００２１】
このようなサーバ１およびクライアント端末３では、ユーザが電源を投入するとＣＰＵ１０１がＲＯＭ１０２内のローダーというプログラムを起動させ、ＨＤＤ１０４よりＯＳ（Operating System）というコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ１０３に読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。これらのＯＳ上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００２２】
ここで、クライアント端末３は、アプリケーションプログラムとして、データ作成支援プログラムをＨＤＤ１０４に記憶している。この意味で、ＨＤＤ１０４は、データ作成支援プログラムを記憶する記憶媒体として機能する。
【００２３】
また、サーバ１は、サーバ機能を発揮するアプリケーションプログラムをＨＤＤ１０４に記憶している。
【００２４】
一般的には、サーバ１およびクライアント端末３のＨＤＤ１０４にインストールされる動作プログラムは、ＣＤ−ＲＯＭやＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体１１０に記録され、この記憶媒体１１０に記録された動作プログラムがＨＤＤ１０４にインストールされる。このため、ＣＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体１１０も、アプリケーションプログラム（データ作成支援プログラム）を記憶する記憶媒体となり得る。さらには、アプリケーションプログラム（データ作成支援プログラム）は、例えば通信制御装置１０６を介して外部から取り込まれ、ＨＤＤ１０４にインストールされても良い。
【００２５】
クライアント端末３は、ＯＳ上で動作するデータ作成支援プログラムが起動すると、このデータ作成支援プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。クライアント端末３のＣＰＵ１０１が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【００２６】
図５は、クライアント端末３の概略構成を示すブロック図である。図５に示すように、データ作成支援装置であるクライアント端末３は、データ作成支援プログラムに従ってＣＰＵ１０１が各種の演算処理を実行することにより、辞書１１、入力雛形生成手段として機能する入力雛形生成部１２、組合せ情報であるプロパティ値構成要素組合せ情報１３を格納するプロパティ値構成要素組合せ情報ＤＢ１３ａ、組合せ展開手段として機能する組合せ展開部１４、製品分類に属するインスタンス（製品または部品）毎の性能や性質を記述しているコンテンツデータ１５を格納するコンテンツＤＢ１５ａ、例外組合せ行指定手段として機能する例外組合せ行指定部１６、コンテンツリバース手段として機能するコンテンツリバース部１７、自動処理ライブラリ１８、自動処理ライブラリ設定手段として機能する自動処理ライブラリ設定部１９を有している。
【００２７】
概略的には、図６に示すように、クライアント端末３は、辞書１１及コンテンツデータ１５を管理するサーバ１とネットワーク２で接続されており、最新の辞書１１をサーバ１からダウンロードすることができる（メタデータ取得手段）。辞書１１をサーバ１からダウンロードしたクライアント端末３は、辞書１１に基づいてプロパティ値構成要素組合せ情報１３を生成し、プロパティ値構成要素組合せ情報１３からコンテンツデータ１５を作成する。クライアント端末３は、作成したコンテンツデータ１５をサーバ１へ送信する（コンテンツデータ転送手段）。そして、サーバ１は、受け取ったコンテンツデータ１５をデータベースに登録する。
【００２８】
以下、各部の処理動作について説明する。
【００２９】
辞書１１は、製品分類および製品分類に属するインスタンス（製品または部品）の性能や性質を記述するための属性であるプロパティを定義している。図７に辞書１１の一例を示す。図７に示すように、辞書１１はＰＬＩＢ規格の階層型辞書であって、親クラスであるルート（C0000）の下位の子クラスとして電気製品（C0002）と本（C0003）とが存在し、電気製品（C0002）の下位の子クラスとしてＰＣ（C0001）が存在し、上位クラスのプロパティ（属性）は下位クラスに継承される。例えば、親クラスであるルート（C0000）はプロパティとして「形番（P0001）」、「価格（P0004）」を保持しており、子クラスであるＰＣ（C0001）はプロパティとして「CPU（P0002）」、「メモリ（P0003）」、「プリインストールOS（P0005）」、「RAID構成（P0006）」を保持している。
【００３０】
入力雛形生成部１２は、ユーザが入力部１０８を介して指定した分類ＩＤに対応する帳票形式の雛形Ｘを辞書１１の情報を元に自動生成する。例えば、ＰＣ（Personal Computer）のコンテンツを入力する場合、ＰＣを記述するのに必要なプロパティを辞書１１の情報から取得し、プロパティ値構成要素組合せ情報１３の編集を行うための雛形を生成する。本例では、PC（C0001）は、自身が保持しているプロパティ「CPU（P0002）」、「メモリ（P0003）」、「プリインストールOS（P0005）」、「RAID構成（P0006）」と、プロパティを継承しているルート（C0000）および電気製品（C0002）が保持するプロパティ「形番（P0001）」、「価格（P0004）」を必要とする。これらのプロパティの情報を図８の例のように雛形Ｘに整形して表示部１０７により表示する。
【００３１】
プロパティ値構成要素組合せ情報１３は、図９に示すように、入力雛形生成部１２において生成された雛形Ｘに従って、ユーザ（コンテンツ作成者）が入力部１０８を介して各プロパティに応じた名称や値などのコンテンツを入力することにより生成されるプロパティ値の構成要素の組合せを保存したものである。ここに、組合せ情報生成手段が実現されている。そして、上述のように、コンテンツを入力すべきエリア内に値が入力されると、各行には行を一意に識別する行ＩＤが自動生成される。図９中のｃは、システムが自動生成した行を識別するＩＤを記述したものである。なお、図７に示すように、辞書１１の情報には、プロパティ名称だけでなくデータタイプや単位などのプロパティの性質を記述する記載があり、それらの情報を使って入力値の規制を行うことができる。例えば、価格はREAL_CURRENCY_TYPE（通貨単位つきの数値型）であるため、数値以外の値が入力された場合には違反であると判定することができる。
【００３２】
これにより、古い辞書で作成した雛形中のコンテンツもプロパティ識別子が同一でデータ型が同じであるプロパティは最新辞書に登録することができる。一方、プロパティ識別子が存在しなければ、コード生成条件として無視されるため、コメントを挿入することが容易であり、「Ｉｆ〜ｔｈｅｎ〜ｅｌｓｅ〜」という記述ルールに比べて可読性が高い。
【００３３】
また、プロパティ値構成要素組合せ情報１３においては、図９中のａに示すように、ユーザ（コンテンツ作成者）が入力部１０８を介して後述する組合せ展開部１４において直積を取るグループＩＤ（Ｇ１，Ｇ２，Ｇ３，・・・）を入力することができる。これにより、プロパティ値構成要素組合せ情報１３の各行を複数のグループに分類することができる。図９に示す例では、１０行目から１４行目に「Ｇ１」、１５行目から１８行目に「Ｇ２」、１９行目から２４行目まで「Ｇ３」、２５行目から２９行目まで「Ｇ４」と記述されている。なお、グループが異なることをユーザが認識しやすいように背景色を変更するなどの工夫をしても良い。ここで「直積」とは、Ａ｛Ｌ１，Ｌ２，Ｌ３｝、Ｂ｛Ｌ４，Ｌ５｝のときに、
Ａ×Ｂ＝｛（Ｌ１，Ｌ４），（Ｌ１，Ｌ５），（Ｌ２，Ｌ４），（Ｌ２，Ｌ５），（Ｌ３，Ｌ４），（Ｌ３，Ｌ５）｝
という値の組合せ操作を指す。
【００３４】
例外組合せ行指定部１６は、図１０に示すように、プロパティ値構成要素組合せ情報１３の例外条件となる行ＩＤを指定するためのＧＵＩ（Graphical User Interface）２００を作成し、ユーザ（コンテンツ作成者）の入力を補助するとともに、プロパティ値構成要素組合せ情報１３の例外条件となる行ＩＤの指定を受け付けて、プロパティ値構成要素組合せ情報１３に例外となる行ＩＤを保存するものである。
【００３５】
図９中のｂは、その行を「Ｇ１」「Ｇ２」「Ｇ３」の一時展開結果に組み合わせる際に確認すべき例外条件を記述したものである。２６行目には、「LINE10,LINE11」と記述されているので、「Ｇ１」「Ｇ２」「Ｇ３」の一時展開結果の中でLINE10または、LINE11が構成要素であるものには組み合わせないということになる。図９に示す例の場合、LINE10はプリインストールOSの値が“Red Hat Lonux 4 （32bit）”であり、LINE11はプリインストールOSの値が“Red Hat Lonux 4 （64bit）”である。プリインストールOSがこれらどちらかの場合に、RAID構成「RAID0」は組み合わせとして成立しないことを指定している。なお、ここで、プロパティの値ではなく行番号を指定しているため、組合せ要素が複数のプロパティ値で成り立っている場合でも、行番号を記述するだけで例外条件を指定することができる。
【００３６】
なお、例外組合せ行指定の書き方としては、図９中のｂに示すように、カンマで区切りでも良いし、“・”や“；”を使って記述しても良い。例えば、
「LINE1．LINE2．LINE3；LINE1．LINE2．LINE5；」
と記述し、その意味を「LINE1の構成要素とLINE2の構成要素とLINE3の構成要素が全て含まれている場合、または、LINE1とLINE2とLINE5の構成要素が全て含まれている場合に例外」とする。
【００３７】
上述したように、例外組合せ行指定は、雛形Ｘに直接書いても良いし、図１０のようにＧＵＩ２００を使って、行の選択動作だけで、例外行の指定を行っても良い。図１０では、２６行目の行（行ＩＤはLINE17）に例外となる構成要素を指定する。「currrent row」欄には、LINE17とその所属グループが記述されている。「Exception set」欄をアクティブにした状態で、プロパティ値構成要素組合せ情報シートの行をクリックすると、その行のＩＤとグループＩＤがＧＵＩ２００に表示される。また、ＧＵＩ２００中でその行ＩＤをクリックすると、プロパティ値構成要素組合せ情報シートの該当行にフォーカスが当たり、例外行の構成要素について確認することができる。
【００３８】
組合せ展開部１４は、プロパティ値構成要素組合せ情報１３に記述された内容からコンテンツデータ１５を自動生成する。コンテンツデータ１５の自動生成は、特に図示しないが、例えばファイルのプルダウンメニューから「組合せ展開」が選択された場合や「組合せ展開」ボタンが選択された場合に実行される。また、自動処理ライブラリ１８は、組合せ展開部１４で組合せ展開を行う際に実行する自動処理のライブラリ群を保存している。このような組合せ展開を行う際に実行する自動処理の選択は、自動処理ライブラリ設定部１９において実行される。
【００３９】
ここで、組合せ展開部１４における組合せ展開の説明に先立ち、自動処理ライブラリ選択について説明する。自動処理ライブラリ１８は、プロパティの性質（例えばデータ型）により自動的に行う処理をライブラリ化しておくものである。例えば、次に基本的な自動処理ライブラリの例を記述する。
・データ型がSTRINGのプロパティは、文字列を結合する（値の構成要素）。（ａ）
・データ型が数値型のプロパティは、数値を足す。（ｂ）
・データ型が列挙型の場合、メンバーを追加する。（ｃ）
・データ型が集合型の場合、メンバーを追加する。（ｄ）
これらを全て実行するように選択しても良いし、（ａ）と（ｂ）のみを実行するようにしても良い。組合せ展開で実行するライブラリ群をユーザ、あるいは配布者が選択できる。また、ＧＵＩでライブラリを選択できるようにしても良いし、初期化ファイルで選択しても良い。さらに、配布時にカスタマイズして配布しても良い。
【００４０】
図１１は、組合せ展開部１４における組合せ展開処理の流れを示すフローチャートである。図１１に示すフローチャートに沿って組合せ展開の処理について説明する。
【００４１】
図１１に示すように、まず、グループの有無確認を行う（ステップＳ１）。グループの有無確認は、プロパティ値構成要素組合せ情報１３の制御列の値を取得し、次のグループが存在しているかどうか確認する。存在している場合には（ステップＳ１のＹｅｓ）、ステップＳ２へ進む。次のグループが存在していない場合には（ステップＳ１のＮｏ）、ステップＳ７へ進む。
【００４２】
ステップＳ２では、グループＩＤの確認を行なう。グループＩＤの確認は、プロパティ値構成要素組合せ情報１３の制御列の値を確認する。前に処理した行と同じグループＩＤである場合には（ステップＳ２のＹｅｓ）、ステップＳ３へ進み、グループ化する。ここで、グループ化は、一時展開結果に組み合わせるグループとして配列に格納する。一方、異なるグループＩＤである場合には（ステップＳ２のＮｏ）、ステップＳ４に進み、例外情報を取得し解釈し、例外条件を抽出する。
【００４３】
続くステップＳ５においては、例外行の削除を行なう。例外行の削除は、ステップＳ４で抽出した例外条件により一時展開結果から例外条件に合致する該当行を削除する。
【００４４】
次いで、ステップＳ６においては、ステップＳ５の処理を済ませた一時展開結果に対してステップＳ３の配列を組み合わせ、自動処理ライブラリ１８で選択されている自動処理を実行して組合せ展開した後、ステップＳ１へ戻る。展開結果は、一時展開結果としてメモリ上に保持される。ステップＳ１〜Ｓ６の処理は、次のグループが存在していないと判断されるまで（ステップＳ１のＮｏ）、繰り返される。
【００４５】
例えば、図９に示すプロパティ値構成要素組合せ情報１３において、自動処理ライブラリ１８は次の処理を行うとする。
・組合せの順番は上から順に組み合わせる。
・データ型がSTRINGのプロパティは、文字列を結合する（値の構成要素）。
・データ型が数値型のプロパティは、数値を足す。
この場合、まず「Ｇ1」と「Ｇ2」のグループで直積を取る（すなわち、インスタンスを作成する）。ＣＰＵとメモリのプロパティに注目すると、“pontium4”のＣＰＵに対してメモリは“128”、“256”、“512”、“1012”の４種類が組み合わさる。同様に、“pontium M”のＣＰＵに対してもメモリは“128”、“256”、“512”、“1012”の４種類が組み合わさる。このようにして「Ｇ１」、「Ｇ２」の直積ができたら、それを一時展開結果としてメモリに保存し、それと「Ｇ３」の直積をとる。さらに、その結果である一時展開結果と「Ｇ４」の直積を取っていく。
【００４６】
ここで、型番に注目すると、ＣＰＵやメモリと異なり、「Ｇ１」、「Ｇ２」共に値が記述されている。型番はデータ型が「STRING」であるので、文字列を結合する（すなわち、一つのプロパティ値を作成する）。例えば、「Ｇ１」の最初の行（１０行目）の値“P4”に対し、「Ｇ２」の最初の行（１５行目）の値“128”を結合すると、“P4128”となる。また一方、価格に注目してみる。データ型が数値型なので、「Ｇ１」の最初の行（１０行目）の値“20000”に対し、「Ｇ２」の最初の行（１５行目）の値“4000”を足す“24000”となる。これらの自動処理によって、型番の自動生成や部品価格の自動合成が実現可能となる。
【００４７】
最後に、次のグループが存在していないと判断された場合には（ステップＳ１のＮｏ）、ステップＳ７において、一時展開結果をコンテンツデータ１５として書き出し、処理を終了する。
【００４８】
図１２は、図９に示すプロパティ値構成要素組合せ情報１３の例を組合せ展開部１４で生成したコンテンツデータ１５の例である。
【００４９】
最後に、コンテンツリバース部１７について説明する。コンテンツリバース部１７は、組合せ展開部１４で生成されたコンテンツデータ１５からプロパティ値構成要素組合せ情報１３を表示したり、組合せ展開部１４で生成されたコンテンツデータ１５にユーザがインスタンスを追加した際に、それが例外として間引かれたものであった場合にそのことを検出したりする。より詳細には、プロパティ値構成要素組合せ情報１３と組合せ展開部１４での組み合わせ展開によって作成されたコンテンツデータ１５の関係情報を保存しておき、ユーザの要求に従い、コンテンツデータ１５から元となったプロパティ値構成要素組合せ情報１３の提示を行う。また、組合せ展開部１４での展開によって作成されたコンテンツデータ１５に新たにユーザがデータを追加した時に、プロパティ値構成要素組合せ情報１３の例外条件を検索し、例外条件に当たっていた場合に、ユーザにメッセージを表示する。図１２に示す例でいえば、図１２のコンテンツデータ１５にユーザが、「プリインストールOS」が“Red Hat Lonux 4 （32bit）”、「RAID構成」が“RAID0”となる行を追加して、保存しようとすると「例外条件に抵触しています。」という警告と例外条件へのリンクを表示する。
【００５０】
このように本実施の形態によれば、データ作成支援装置であるクライアント端末３は、流通するメタデータ（辞書１１）をネットワーク２に接続されているサーバ１から読み込み、メタデータ（辞書１１）から組合せ展開の元となる組合せを入力するための雛形Ｘを自動生成する。ユーザ（コンテンツ作成者）は、雛形Ｘにプロパティ値の構成要素の組合せを入力してプロパティ値構成要素組合せ情報１３を生成する。その後、クライアント端末３は、クライアント端末３が提供する例外入力方法によって例外を省くとともに、入力された組合せからプロパティの直積をとり、さらにプロパティの構成要素の演算を行ってコンテンツデータ１５を作成する。直積のとり方、製品識別コードの生成などの演算は、数式やプログラムをユーザ（コンテンツ作成者）に強いることがないように、自動処理ライブラリ１８で選択されている自動処理を用いる。
【００５１】
例外入力方法は、「Ｉｆ〜ｔｈｅｎ〜ｅｌｓｅ〜」という記述ルールの中でプロパティの値の組み合わせを指定するのではなく、同時に生起する仕様の組合せプロパティの値の構成要素の組合せを表す行を図１０に示すＧＵＩ２００上で選択するか、もしくは表中に行のＩＤを記入して指定することによって行う。
【００５２】
これにより、コンテンツデータ１５を作成するコンテンツ作成者が、高度な論理や知識を用いることなく、コンテンツデータ１５を容易に作成することができる。また、雛形を手入力することなく、遠隔地にある任意のサーバ１の辞書情報から自動的に対応する雛形Ｘを生成することができる。さらに、セルのカット＆ペーストによって容易に例外条件を再利用することができる。
【００５３】
なお、本実施の形態においては、クライアント端末３が辞書１１に基づいてプロパティ値構成要素組合せ情報１３を生成した後、プロパティ値構成要素組合せ情報１３からコンテンツデータ１５を作成してサーバ１へ送信するようにしたが、これに限るものではなく、図１３に示すように、クライアント端末３からプロパティ値構成要素組合せ情報１３をサーバ１へ送り、サーバ１のデータベースへ登録した後、サーバ１側でプロパティ値構成要素組合せ情報１３から組合せ展開を行い、コンテンツデータ１５を作成・登録するようにしても良い。
【００５４】
また、本実施の形態においては、サーバクライアントシステムを想定したが、これに限るものではなく、ネットワークに接続されていないスタンドアロンの形態で実施しても良い。
【００５５】
なお、クライアント端末３は、接続するサーバ１を自由に切り替えることができ、切り替えたサーバ先が同様の辞書１１を有していればコンテンツデータを登録する。また、一部変更があった辞書１１であっても、バージョン情報により格納可能であるかどうかの判定を行い（古いバージョンで作成されたデータは新しいバージョンの格納可能である）登録する。
【図面の簡単な説明】
【００５６】
【図１】本実施の形態の前提となる階層型辞書の構成の一例を示す説明図である。
【図２】単純木を用いたＰＬＩＢ規格の階層型辞書の構成の一例を示す説明図である。
【図３】本発明の実施の一形態のデータ作成支援装置を含むデータ作成支援システムのシステム構築例を示す模式図である。
【図４】サーバおよびクライアント端末のモジュール構成図である。
【図５】データ作成支援装置であるクライアント端末の概略構成を示すブロック図である。
【図６】サーバとクライアント端末との間におけるデータのやりとりを示す説明図である。
【図７】辞書の一例を示す模式図である。
【図８】表示部に表示された雛形の一例を示す正面図である。
【図９】表示部に表示されたプロパティ値構成要素組合せ情報の一例を示す正面図である。
【図１０】プロパティ値構成要素組合せ情報の例外条件となる行ＩＤを指定するためのＧＵＩの一例を示す正面図である。
【図１１】組合せ展開部における組合せ展開処理の流れを示すフローチャートである。
【図１２】図９に示すプロパティ値構成要素組合せ情報の例を組合せ展開部で生成したコンテンツデータの例を示す正面図である。
【図１３】サーバとクライアント端末との間におけるデータのやりとりを示す説明図である。
【符号の説明】
【００５７】
１１    メタデータ
１２    入力雛形生成手段
１３    組合せ情報
１４    組合せ展開手段
１５    コンテンツデータ
１６    例外組合せ行指定手段
１７    コンテンツリバース手段
１８    自動処理ライブラリ
１９    自動処理ライブラリ設定手段
１０８    入力部
Ｘ      雛形
【図１】
2007148913.tif 000003
【図２】
2007148913.tif 000004
【図３】
2007148913.tif 000005
【図４】
2007148913.tif 000006
【図５】
2007148913.tif 000007
【図６】
2007148913.tif 000008
【図７】
2007148913.tif 000009
【図８】
2007148913.tif 000010
【図９】
2007148913.tif 000011
【図１０】
2007148913.tif 000012
【図１１】
2007148913.tif 000013
【図１２】
2007148913.tif 000014
【図１３】
2007148913.tif 000015