識別子発行システム、プログラムおよび識別子発行方法
【課題】階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行を容易にし、利便性を向上させる。
【解決手段】分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書内に存在していて対象を一意に示す識別子が必要な構成要素別に定義され、分類の階層構造に従って継承される識別子を一定の規則に則って生成する生成ルールを設定し、階層型辞書の編集により新規の構成要素が追加された場合は、生成ルールに従って識別子を生成し、生成ルールに従って生成された識別子に重複がないことを確認してから当該識別子を発行する。これにより、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる。
【解決手段】分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書内に存在していて対象を一意に示す識別子が必要な構成要素別に定義され、分類の階層構造に従って継承される識別子を一定の規則に則って生成する生成ルールを設定し、階層型辞書の編集により新規の構成要素が追加された場合は、生成ルールに従って識別子を生成し、生成ルールに従って生成された識別子に重複がないことを確認してから当該識別子を発行する。これにより、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、XMLスキーマ、RDF、OWL、RQL、OQL、ISO13584/IEC61360、もしくはISO15926規格等に準拠する階層型データ構造の構成要素に付与される識別子を発行する識別子発行システム、プログラムおよび識別子発行方法に関する。
【背景技術】
【0002】
オブジェクト指向データベース(OODB)やオブジェクト・リレーショナル型データベース(ORDB)を代表とする階層型データベースでは、下位が上位分類のプロパティを継承する階層構造を持つ。この階層型データベースにおいては、継承に従って下位の分類ではプロパティが累増する。この上位分類のプロパティを下位に継承することは、通常「インヘリタンス」と呼ばれており、このような技術は多くの文献に記載されている。
【0003】
また、オブジェクト指向データベースにおいては、階層中の分類は「クラス」と呼ばれることが多い。一方、オブジェクト・リレーショナル型データベース(ORDB)においては、継承を許したテーブルがこれに相当し、上下関係を持つテーブル間において、上位のテーブルから下位のテーブルへ属性(プロパティ)、すなわち上位テーブルを構成するコラムのヘッダ情報が下位テーブルへ継承される。各階層の分類に属する同じ属性種を持つデータを「インスタンス」と呼び、その集合をデータの「ポピュレーション」と呼ぶ。データのポピュレーションは、関係データベース(RDB)あるいはORDBにおいては、テーブルと呼ばれる構造に格納されるのが普通である。テーブルにおいてそれを構成する属性の並びをテーブルのヘッダと呼ぶ。
【0004】
階層型データベースの1つとしては、製品情報を電子的に提供する電子カタログシステムを実装するための国際規格であるISO13584 Parts Library規格(以下、PLIB規格という)がある。このPLIB規格は、複数の“Part"(通常、「分冊」と訳される)からなる製品あるいは部品ライブラリデータに関するオブジェクト指向的な記述の方法とその交換ファイル形式のセマンティックス、すなわち、どのような用語や記述方式およびデータ型を用いるかを定める国際規格である。PLIB規格のPart42(分冊第42)はIEC61360-2(分冊第2)と内容が共通している。この規格は、オブジェクト指向的に製品を分類し、個々の分類を特徴付ける属性群を明らかにし、分類に対するコンテンツをファイル交換する仕組みであるので、勿論、属性の継承の概念はこの中に含まれている。また、この規格はISO6523"Structure for Identification of organizations and organization parts"を引用して作られており、特に、ISO6523の定めるICD(International Code Designator)を活用して属性に対して世界的に一意な識別子を割り振ることが可能である。
【0005】
近年においては、PLIB規格に準拠した情報管理システムおよび情報表示装置がいくつか提案されている(例えば、特許文献1,2参照)。
【0006】
ところで、これらの階層型データベース構造を持つ情報管理システムおよび情報表示装置において、クラスやクラスに属するプロパティの名称は通常自然言語を用いて記述されるが、複数の言語が用いられた場合に相互の参照のために、あるいは、同じ言語内においても、利用者グループ間の呼称の違いにより、呼称とは別に対象を一意に示す識別子であるIDを設ける場合がある。
【0007】
特に、データ辞書に関するデータモデルであるISO13584-IEC61360規格においては、クラスのID、クラスに属するプロパティのID、およびクラスやプロパティの定義者を一意に特定するIDは必須のものである。したがって、クラスやプロパティなどの新たなエンティティの生成時には、他のクラスやプロパティと重複しないようなIDを設定する必要があり、既存ID情報の管理が必要である。
【0008】
例えばISO13584-42規格のように、ある分類クラス以下においてサブクラスを大きく、マテリアル、コンポーネント、フィーチャのように大分類し、そのクラス以下では全てのサブクラスが、それぞれマテリアル、コンポーネント、フィーチャの細分化であるように取り決めるものがあり、この場合は、クラスやプロパティあるいはインスタンスのIDから情報が、マテリアル、コンポーネント、フィーチャのいずれに対するものであるかを、瞬時に判断できるようなIDをつけることは情報の管理上非常に有益である。
【0009】
この点、従来においては、ある時点で使用されたIDを保存し、次のクラス、プロパティ、あるいはインスタンスに対してシーケンシャルなIDを振るための方法や装置が開発されている。
【0010】
【特許文献1】特開2005−177996号公報
【特許文献2】特開2005−178015号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、これまで、対象の階層構造に応じて一貫したIDを発生する方法や、申請者の所属するあるいは位置する階層構造に応じてIDを発生する方法は発案されていない。
【0012】
また、計測器に関する製品分類と属性の分類に関する辞書を定めるISO13584-501規格においては、その製品分類クラスのIDの生成において、本来計測器に関するクラスやプロパティの分類と、計測器にも現れるが本来計測器以外の製品、例えばケーブルやコンピュータなど他の分野のクラスやプロパティは、measuring instrumentとauxiliary part と大きな別体系のクラス体系に分けられ、それぞれ別な符号化ルールに基づくIDにより管理識別することが定められているが、これを満たすようなIDの自動生成ルールは存在しない。
【0013】
本発明は、上記に鑑みてなされたものであって、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる識別子発行システム、プログラムおよび識別子発行方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するために、本発明の識別子発行システムは、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定手段と、この生成ルール設定手段により設定した前記生成ルールを保持している生成ルールデータベースと、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールデータベースで定められている前記生成ルールに従って前記識別子を生成する辞書情報管理手段と、この辞書情報管理手段により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行手段と、を備えることを特徴とする。
【0015】
また、本発明のプログラムは、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する機能と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定機能と、この生成ルール設定機能により設定した前記生成ルールを記憶する機能と、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理機能と、この辞書情報管理機能により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行機能と、をコンピュータに実行させる。
【0016】
また、本発明の識別子発行方法は、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する工程と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定工程と、この生成ルール設定工程により設定した前記生成ルールを記憶する工程と、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理工程と、この辞書情報管理工程により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行工程と、を含む。
【発明の効果】
【0017】
本発明によれば、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0018】
以下に添付図面を参照して、この発明にかかる識別子発行システム、プログラムおよび識別子発行方法の最良な実施の形態を詳細に説明する。
【0019】
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図14に基づいて説明する。
【0020】
[1.階層型辞書について]
最初に、本実施の形態の前提となる、製品情報を電子的に提供する電子カタログシステムに用いられるメタデータを格納する階層型辞書について説明する。メタデータとは、他のデータ(例えばコンテンツデータ)の記述仕様を定義するデータのことである。データベースにおいては、データベース・スキーマに相当する情報(テーブル名、属性名、関連など)が独立してデータとして流通する形態をとったものであり、通常の値データとは区別される。このようなメタデータは、ISO13584規格やIEC61360規格等では、辞書もしくはデータ辞書と呼ばれる。このような辞書は、クラスとそのクラスを特徴付けるプロパティから成る。本実施例では、製品分類をクラス、製品分類を表す属性をプロパティと呼ぶ。クラス間には階層関係があり、上位のクラスで定義されたプロパティを継承する。以下、階層型データベースの一つであるISO13584データモデル(以降、PLIBデータモデル)を例に説明を行う。
【0021】
図1は、PLIBデータモデルの構成の一例を示す説明図である。図1中の四角はクラスを表し、点線で囲まれた角が丸い四角の中には、クラスで定義されたプロパティが列挙されている。図1に示す例の場合、最上位クラス「C001:component」の下位クラスとして「C002:electric products」が定義され、さらにその下位クラスとして「C003:personal computer」「C004:refrigerator」が定義されている。「C001:component」の場合、クラスのIDはC001、クラスの標準名称はcomponentである。クラス「C001:component」には、三つのプロパティ「P001:製造者」、「P002:製品名」、「P003:製造番号」が定義されており、これらのプロパティは下位のクラスで継承される。したがって、例えば「C003:personal computer」では、自クラスで定義した「P005:CPU」のほかに上位から継承した「P001:製造者」、「P002:製品名」、「P003:製造番号」、および「C002:refrigerator」から継承した「P004:電源電圧」の5つのプロパティを利用することができる。
【0022】
このようにして定義された辞書に対して、PLIBデータモデルにおいては、インスタンスが定義される場合がある。クラスで利用できるプロパティの一部或いは全てに対して、値を入れたものをインスタンスという。図1に示すように、インスタンスIはテーブルに格納されることが多く、一行が一製品のデータを表している。なお、図1ではインスタンスIに対するIDは付与されていないが、インスタンスI毎に、あるいはインスタンスIを束ねた塊、すなわちテーブルに対してIDが付与される場合もある。
【0023】
上述したように、PLIBデータモデルの場合、クラスやプロパティのほかにも、IDで識別され、クラスで定義され、下位クラスに継承されるモデル構成要素がある。例えば、データタイプ、ドキュメントなどである。本発明は、これらのデータタイプ、ドキュメントなどに関しても、クラスやプロパティと同様に適用可能である。説明中は簡便のため、クラスとプロパティのみを取り上げるが、本発明は、クラスとプロパティのID自動生成のみに特化するものでなく、IDが必要な辞書内の全てのデータに対して適用可能なものである。
【0024】
[2.システムの構成]
本実施の形態のシステム構成について説明する。図2は、識別子発行システム100のシステム構築例を示す模式図である。識別子発行システム100は、図2に示すように、2つのサーバコンピュータ(以下、サーバという)1にLAN(Local Area Network)等のネットワーク2を介してクライアントコンピュータ(以下、クライアント端末という)3が複数台接続されたサーバクライアントシステムを想定する。クライアント端末3は、一般的なパーソナルコンピュータ等である。
【0025】
図3は、サーバ1およびクライアント端末3のモジュール構成図である。サーバ1およびクライアント端末3は、情報処理を行うCPU(Central Processing Unit)101、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)102、各種データを書換え可能に記憶するRAM(Random Access Memory)103、各種データベースとして機能するとともに各種のプログラムを格納するHDD(Hard Disk Drive)104、記憶媒体110を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ等の媒体駆動装置105、ネットワーク2を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置106、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示部107、並びに操作者がCPU101に命令や情報等を入力するためのキーボードやマウス等のポインティングデバイスである入力部108等から構成されており、これらの各部間で送受信されるデータをバスコントローラ109が調停して動作する。
【0026】
このようなサーバ1およびクライアント端末3では、オペレータが電源を投入するとCPU101がROM102内のローダーというプログラムを起動させ、HDD104よりOS(Operating System)というコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM103に読み込み、このOSを起動させる。このようなOSは、オペレータの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。OSのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのOS上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のOS上で動作するものに限らず、後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【0027】
ここで、一方のサーバ1は、アプリケーションプログラムとして、辞書管理プログラムをHDD104に記憶している。この意味で、HDD104は、辞書管理プログラムを記憶する記憶媒体として機能する。このように辞書管理プログラムをHDD104に記憶しているサーバ1は、OS上で動作する辞書管理プログラムが起動すると、この辞書管理プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御して、辞書サーバ1A(図4参照)として機能することになる。他方のサーバ1は、アプリケーションプログラムとして、ID発行プログラムをHDD104に記憶している。この意味で、HDD104は、ID発行プログラムを記憶する記憶媒体として機能する。このようにID発行プログラムをHDD104に記憶しているサーバ1は、OS上で動作するID発行プログラムが起動すると、このID発行プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御して、ID発行サーバ1B(図4参照)として機能することになる。
【0028】
また、クライアント端末3は、アプリケーションプログラムとして、入出力操作プログラムをHDD104に記憶している。この意味で、HDD104は、入出力操作プログラムを記憶する記憶媒体として機能する。クライアント端末3は、OS上で動作する入出力操作プログラムが起動すると、この入出力操作プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。
【0029】
また、一般的には、サーバ1およびクライアント端末3のHDD104にインストールされるアプリケーションプログラムは、CD−ROMやDVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体110に記録され、この記憶媒体110に記録された動作プログラムがHDD104にインストールされる。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体110も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えば通信制御装置106を介して外部から取り込まれ、HDD104にインストールされても良い。
【0030】
次に、サーバ1およびクライアント端末3のCPU101が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【0031】
図4は、識別子発行システム100の概略構成を示すブロック図である。以下、サーバ1(辞書サーバ1A、ID発行サーバ1B)およびクライアント端末3における各機能について説明する。
【0032】
クライアント端末3は、表示部107や入力部108を制御する制御部31を備えている。クライアント端末3は、辞書の編集や、ユーザ階層、その他システムの設定などを行うための入出力制御部である。クライアント端末3の制御部31は、辞書サーバ1Aから受信したデータを、GUI(Graphic User Interface)を介して表示部107に出力し、表示部107に表示された各画面上でオペレータが入力部108を介して行った作業や設定内容に基づくデータやコマンドを、GUIを介して受け取り、辞書サーバ1Aへ送信する。
【0033】
ID発行サーバ1Bは、識別子発行手段として機能するID発行部21と、発行済みIDデータベース22とを備える。なお、発行済みIDデータベース22は、記憶部であるRAM103またはHDD104に格納されている。ID発行サーバ1Bは、辞書内で一意になるように、定義された生成ルールに従って申請されたIDを発行するサーバである。ID発行サーバ1Bは、複数のサプライヤが持つ複数の辞書を管理する。クラスやプロパティのIDはサプライヤで一意であるため、ID発行サーバ1Bが辞書内のIDをサプライヤ毎に管理することにより、重複を防ぐことができる。
【0034】
ID発行サーバ1BのID発行部21は、辞書サーバ1A内のID生成ルール設定部13で定義されたID生成ルールに従って申請されたクラスやプロパティなどのIDを受け付ける。辞書のサプライヤを特定し、そのサプライヤが発行済みのIDを辞書サーバ1A内の辞書データベース12から検索し、重複がないことを確認し、辞書に対して、申請されたIDを発行する。それと同時に、発行済みIDデータベース22にも登録を行う。発行済みIDデータベース22は、サプライヤごとに、発行されたIDを管理するデータベースである。
【0035】
辞書サーバ1Aは、図4に示すように、辞書管理プログラムに従うことにより、辞書情報管理手段として機能する辞書情報管理部11と、辞書データベース12と、生成ルール設定手段として機能するID生成ルール設定部13と、生成ルールデータベースとして機能するID生成ルールデータベース14と、ユーザ情報管理部15と、ユーザ情報データベース16と、制御部17とを備える。なお、辞書データベース12、ID生成ルールデータベース14およびユーザ情報データベース16は、記憶部であるRAM103またはHDD104に格納されている。なお、ユーザ管理を行わない場合には、ユーザ情報管理部15とユーザ情報データベース16とは不要である。
【0036】
辞書データベース12は、複数の辞書から成る。ID生成ルールデータベース14は、辞書内のクラスごと、或いは、ユーザごとに定義されているID生成ルールを保持しているデータベースである。
【0037】
辞書情報管理部11は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、辞書データベース12にアクセスし、辞書データベース12で管理している複数の辞書をリストで表示し、さらに選択された辞書について、階層的にクラスやプロパティ、及びそれらの詳細な情報、クラスやプロパティに基づいて登録されているコンテンツの情報を表示する。また、辞書情報管理部11は、ID生成ルールデータベース14からID生成ルールを読み込み、辞書情報と同様に、ID生成ルールの内容を表示する。
【0038】
加えて、辞書情報管理部11は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、辞書の編集を行う。新規のクラスやプロパティなどが追加された場合は、ID生成ルールデータベース14で定められているルールに従って、仮のIDを生成し、ID発行サーバ1Bに対して重複がないか確認を行う。重複がある場合には、IDを再度生成し、再確認を行い、重複がないものとして正式にID発行サーバ1Bから発行されたIDを新規クラスやプロパティのIDとして辞書データベース12に登録する。また、ユーザ管理が行われている場合には、ユーザ情報データベース16の情報に従い、辞書データベース12へのアクセスコントロールを行う。
【0039】
ID生成ルール設定部13は、選択したクラス、あるいはユーザツリー上のユーザに対して、そのクラスやユーザ以下のクラスやユーザで継承されるべき、ID生成ルールの設定を行い、ID生成ルールをID生成ルールデータベース14に書き込む。なお、ID生成ルール設定部13において設定されるID生成ルールの詳細については、後述する。
【0040】
ユーザ情報管理部15は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、ユーザ情報データベース16に対するユーザの情報の確認・登録・編集・削除・管理を行う。ユーザ情報データベース16は、ユーザ情報管理部15により管理されるユーザの情報を保持するためのデータベースである。ユーザ情報データベース16は、ユーザ情報が、辞書情報と同様の階層構造で表現されている場合には、辞書データベース12とほぼ同様の形式で保持されることもある。
【0041】
ここで、ユーザ管理について説明する。本実施の形態においては、辞書やID生成ルールの編集・表示に対して、ユーザ管理が行われている。すなわち、ID生成ルールの変更を行うのに、ある権限以上の管理者であることが要件とされている。
【0042】
例えば、クライアント端末3から辞書やID発生ルールの表示・編集のためのアクセス要求が来ると、制御部17は、ユーザ情報管理部15にユーザ情報を問い合わせる。制御部17は、クライアント端末3からの要求を受けて、ユーザ情報管理部15からユーザの情報を取得する。ここで、制御部17は、ユーザの権限にしたがって、辞書の表示を行う。ユーザの権限とは、例えば図5に例示されるような、「辞書閲覧権限」、「辞書編集権限/ID生成ルール閲覧権限」、「ID生成ルール編集権限」である。そして、各権限においては、図6のテーブルに示すような対応付けがなされている。具体的には、一般ユーザは、辞書閲覧のみが許される「辞書閲覧権限」である。そして、「辞書閲覧権限」よりもユーザの権限が高い「辞書編集権限/ID生成ルール閲覧権限」が付与されている者には、辞書の編集及びID生成ルールの閲覧を許し、それ以上の権限である「ID生成ルール編集権限」が付与されている者には、ID発生ルールの編集を許す。
【0043】
次に、ID生成ルール設定部13において設定されるID生成ルールについて詳述する。ここで、図7は設定されたID生成ルールを例示的に示す模式図である。図7に示すように、ID生成ルールはクラスで定義されている。この時点で定義されているのは、C001,C002,A001の三つのクラスにそれぞれ定義されているID生成ルールだけである。このようにしてクラスで定義されたID生成ルールは、該クラス以下のクラスと該クラス以下のクラスで定義されるプロパティ等に対して、適用されるものとする。また、ID生成ルールは適用種類別に定義することができる。この場合においては、適用対象クラスと適用対象プロパティに対して別々に定義している。もちろん、適用対象クラスと適用対象プロパティにおいて同じでも構わない。
【0044】
図7に示すように、C001に定義されているID生成ルールは、該クラス以下のクラスに対するID生成ルール“rule11”「1文字目C、2文字から4文字はシーケンシャルな数字」、該クラス以下のクラスで定義されるプロパティに対するID生成ルール“rule12”「1文字目アルファベット、2文字から4文字はシーケンシャルな数字」が定められている。
【0045】
C002では、クラスに対するID生成ルールはそのまま上位クラスC001から継承し、プロパティに対してはID生成ルール“rule22”「1文字目X」が定義されている。ID生成ルール“rule22”は上位クラスの“rule12”と競合しないため、“rule12”も継承する。したがって、C002以下で定義を行うプロパティに対するID生成ルールは、「1文字目X、2文字から4文字はシーケンシャルな数字」となる。
【0046】
A001では、クラスに対するID生成ルール“rule31”「1文字目A、2文字から4文字はシーケンシャルな数字」が定義されているが、これは上位のルール“rule11”と競合するため、上位ルールは継承せず、このID生成ルール“rule31”を上書きし、以降(A001以下のクラスでは)、ID生成ルール“rule31”が適応されるものとする。
【0047】
また、プロパティに対するID生成ルール“rule32”「定義クラスの標準名称から生成する」も同様に上位のID生成ルール“rule22”と競合するため、上位ルールは継承せず、このID生成ルール“rule32”を上書きする。
【0048】
ここで、図8に示すように、図7に例示した辞書に対してC001,C002,A001に新しいプロパティ(網掛けで示す)を定義するとともに、A001の下に新しいクラス(網掛けで示す)を定義したした場合について説明する。
【0049】
このような場合、C001で定義された新しいプロパティのIDは、ID生成ルール“rule22”に則って「N000」が、C002で定義された新しいプロパティのIDは、ID生成ルール“rule22”とID生成ルール“rule22”に則って「X000」が、A001で定義された新しいプロパティのIDはID生成ルール“rule32”に則って「PC1」がID発行サーバ1Bから発行される。また、A001の下の新しいクラスのIDには、ID生成ルール“rule31”が適用されて「A002」がID発行サーバ1Bから発行される。
【0050】
また、この実施の形態とは別に、クラスにID生成ルールが定義されている場合には、上位のID生成ルールと競合部分をチェックせず、そのまま上書きするものとしても良い。この場合、ID生成ルールが定義されていないクラスは、上位のID生成ルールを継承するものとする。
【0051】
ところで、ISO13584規格では、辞書は辞書サプライヤに定義される。辞書サプライヤは、ICD(International Code Designator)と呼ばれる世界で唯一のIDを持つ団体によって、サプライヤIDを割り振られる。クラスを世界で唯一識別することができるIDは、サプライヤIDとクラスIDから成り、プロパティは、サプライヤIDと、プロパティを定義したクラスID、さらにプロパティIDの三つから成る。
【0052】
図9は、IDの構造を示す模式図である。図9における例では、ICDコード140を持つ団体が、ある辞書サプライヤに対して「TOSHIBA」という組織名を与える。このサプライヤのサプライヤIDは、“140/TOSHIBA//”となる。サプライヤ“140/TOSHIBA//”が定義したクラス「CLS001」は、サプライヤIDと組み合わさって一つのIDを成し、プロパティ「PRP003」は、クラス「CLS001」とサプライヤIDとが組み合わさって一つのIDを成す。これらのことから、クラスIDは少なくともサプライヤ内で一意である必要があり、プロパティIDは少なくとも定義クラスでは一意でなければならない。したがって、ISO13584規格に従った階層型データベースで実現する場合には、前述のルールに従って一意になるように、クラスやプロパティのIDを発行しなければならない。
【0053】
続いて、クライアント端末3側における処理について説明する。
【0054】
下位分類が上位分類の属性を継承するような製品分類体系の表示方式には、本出願人による特開2004−178015号公報に記載されているものがある。この表示方式は、階層構造を成すクラスが定義された階層型データベースの階層構造表示を表示するにあたり、階層構造を成すいずれか一のクラスを識別する第1の表示領域の少なくとも一部が、該クラスから派生した子クラスを識別する第2の表示領域の全てを含むように第1及び第2の表示領域を表示することにより、階層型データベースにおけるクラス間の包含関係を適切かつ効果的に表示することができるGUIを提供するようにしたものである。
【0055】
図10は、階層構造表示に関するGUI画面の構成例を示す正面図である。図10に示すクライアント端末3側の表示部107のGUI画面は、クラスに付与されているID生成ルールの有無あるいは内容を、製品分類体系図上で表示した例である。なお、このクライアント端末3は、「辞書編集権限/ID生成ルール閲覧権限」が付与されている者または「ID生成ルール編集権限」が付与されている者により使用されている。図10に示すように、製品分類を階層的に表している領域(辞書ツリー)41には、クラス階層が表示されており、製品分類「C005:デスクトップPC」を選択すると、その製品分類の情報であるID、名称、定義などが領域43に表示される。本実施の形態においては、これらの製品分類情報と併せて、領域43にID生成ルールを表示することができる。ID生成ルールの表示は、図10に示すように文章で表示しても良いし、ルールを記述するための定められた言語、例えば正規表現やシステムで独自に定めた記述方法を用いることが考えられる。
【0056】
なお、マーク42は、クラスにID生成ルールが定義されていることを示すものである。このマーク42が階層上に表示されていれば、クラスを選択してそのクラス情報を見なくても、一瞥してID生成ルールがあることが分かる。また、ボタン44を押すことにより、上位クラスで定義されているID生成ルールを見ることができるようにしても良い。
【0057】
次に、ID生成ルールの編集について説明する。ID生成ルールの編集には、新たなID生成ルールの開始あるいは変更ポイントの指定も含まれる。図10に示すような製品分類を階層的に表している領域(辞書ツリー)41より、ID生成ルールを定義するクラスをクライアント端末3の入力部108を用いて選択すると、図11に示す辞書を編集するためのフレーム52がクライアント端末3の表示部107に表示される。このクライアント端末3は、「ID生成ルール編集権限」が付与されている者により使用されている。なお、クラスの選択は、辞書ツリーでなくても、クラスを選択できるようなものであればよく、また、ID生成ルールの設定のための画面表示も、メニューから、或いはマウスクリックなどで直接行えても構わない。
【0058】
さらに、図11に示すボタン53を入力部108を用いて操作すると、ID生成ルールを設定するための画面が表示部107に表示される。図12は、ID生成ルールの設定画面を使用したID生成の流れを示す模式図である。図11に示すボタン53が操作されると、図12に示すようなID生成ルール設定の補助を行う画面61が表示部107に表示される。画面61において、「ナビゲータを使ってコードルールを設定する」という生成方法が入力部108を用いてラジオボタンにより選択されて決定されると、図12に示す画面62が表示部107に表示される。画面62では、ID生成ルールを設定する対象(例えば、クラスやプロパティ)をラジオボタンにより選択可能である。例えば、画面62で「プロパティ」が入力部108を用いてラジオボタンにより選択されて決定されると、画面63で予めシステムで用意しているID生成ルールを表示部107に表示し、ユーザに選択させる。
【0059】
例えば、画面63で「作成時間から生成」が入力部108を用いてラジオボタンにより選択されて決定されると、作成時間をシステムから読み取り、例えば2005年12月16日午後14時35分であれば、そのまま「200512161435」というIDを振るなどが考えられる。
【0060】
また、画面63で「定義クラスの名前から生成」が入力部108を用いてラジオボタンにより選択されて決定された場合、例えば「定義クラス名の単語の頭文字を集め、全体が6文字になるように、後ろには数字をシーケンシャルに振る」などと具体的に定義しておいたとすると、定義クラスの標準名称が「personal computer」の場合、「pc000001」等のIDが新規プロパティに対して生成される。
【0061】
さらに、画面63で「定義クラスのIDから生成」が入力部108を用いてラジオボタンにより選択されて決定された場合、例えば「定義クラスID+シーケンシャルな数字3桁」などと具体的に定義しておいたとすると、定義クラスのIDが「C005」の場合、「C005001」等のIDが新規プロパティに対して生成される。
【0062】
なお、上述したようなID生成ルール以外にも、
1.ID中に固定部を持つもの
2.可変部が数字やアルファベットなどを利用したシーケンシャルな(連番)ID
3.可変部が時間・日時、作成順番に基づくID
4.可変部がクラス名あるいはプロパティ名を利用した符号化による一意のID
5.上記の組合せによるID
などの基本オプションが考えられる。
【0063】
また、本出願人による特開2004−118741号公報には、クラスやプロパティの標準名称を用いてその略称を自動生成させる技術が提案されているが、同等のルールをID生成ルールに適用するようにしても良い。
【0064】
このようにID生成ルールの編集を行う際に、予め用意されているいくつかのID生成ルールを選択的に設定可能な態様でユーザに提示することで、生成ルールの編集の補助を行うことができる。
【0065】
一方、図13に示すように、画面61において、「正規表現で記述する」という生成方法が入力部108を用いてラジオボタンにより選択されて決定されると、図13に示すようなID生成ルールの設定画面64が表示部107に表示される。例えば、ID生成ルールの設定画面64において、クラスのID生成ルールを正規表現で「AAA\d{3}」とした場合、該クラス以下のクラスのIDは、「1文字目から3文字目まではアルファベットA、4文字目から6文字目までは数字」という制約がつけられることになり、「AAA001」「AAA120」「AAA809」・・・などのIDが生成されることになる。このような正規表現は、ルールを記述するための表現の一例であり、ルールを記述するための言語であれば他のものでも構わない。
【0066】
また、図14はID生成ルールを設定するための画面の変形例である。図14に示すように、ID生成ルールのナビゲーションは、用意されたID生成ルールを組み合わせて生成するようなインターフェースを設けても構わない。図14に示す例では、画面65でID生成ルールを入力部108を用いてラジオボタンにより指定すると、画面65で指定されたID生成ルールが画面66のカーソルの位置から設定される。
【0067】
このようにしてID生成ルールを設定する際には、デフォルトで上位から継承されたルールを表示しておいてもよい。ユーザは、上位から継承されているID生成ルールをそのまま利用してもよいし、デフォルトで表示されているルールを編集し、再定義を行っても構わない。
【0068】
ところで、辞書は実際のコンテンツを記述するための器であり、辞書はコンテンツを交換・共有するために利用されることが多い。それゆえ、一度公に公開した辞書には、それに基づいたコンテンツが作成されている可能性があるため、辞書の中のクラスやプロパティの削除、また、IDの変更は好ましくない。このようなことから、辞書は公開されるまでに、一定時間検討を行ったり、権限を持つ承認者によって承認される承認ルーチンなどを通ったりすることが多い。すなわち、ある条件下(一定時間内、特定承認者による承認前、開示・発行前など)において、特に指定された承認者や管理者にのみ上書き変更することを許容することとする。これらのタイミングで、承認者や管理者が自動生成されたIDを上書きすることができることにより、辞書編集者による誤定義を防ぐことが可能となる。なお、承認者や管理者によってIDが上書きされる場合には、ID発行サーバ1Bへ問い合わせ、再発行のための手続きが必要となる。ここで再発行のための手続きとは、例えば、発行済みIDからの不要IDの削除、再発行IDの登録のことである。また、承認者や管理者によって書き換えられたIDが、クラスで定義されているID生成ルールと異なる場合には、なんらかのフラグを用意し、発行したIDがID生成ルールに則っていないことを示してもよい。
【0069】
ID生成ルールは製品ツリーにおいては、クラス作成時に設定される。なお、クラス作成後の設定変更は、
1.発行済みIDと生成ルールが異なる場合があるので許さない。
2.発行済みIDには適応せず、新規クラス・プロパティにのみ適応し、さらに必要であれば、発行済みIDには生成ルールと異なることを示すフラグを付与する。
など、該クラス以下の発行済みIDについての対処を定義していれば、可能としても構わない。これにより、自動発生させたIDについて、時間や承認状況などを指定したある条件下において、特に指定された管理者による上書き変更を許容できる。
【0070】
このように本実施の形態によれば、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書内に存在していて対象を一意に示す識別子が必要な構成要素別に定義され、分類の階層構造に従って継承される識別子を一定の規則に則って生成する生成ルールを設定し、階層型辞書の編集により新規の構成要素が追加された場合は、生成ルールに従って識別子を生成し、生成ルールに従って生成された識別子に重複がないことを確認してから当該識別子を発行する。これにより、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる。
【0071】
[第2の実施の形態]
次に、本発明の第2の実施の形態を図15に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。
【0072】
第1の実施の形態においては、製品分類を表す辞書ツリーのクラスに対するID生成ルール設定の例を示したが、本実施の形態は、辞書ツリーの他に、ユーザ階層を表すユーザツリーのクラスに対してもID生成ルール設定を可能にしたものである。
【0073】
図15は、本発明の第2の実施の形態にかかる辞書ツリーおよびユーザツリーの構成を示す模式図である。図15中、楕円はクラスを表し、四角はユーザクラスに定義されているID生成ルールを表す。また、角が丸い四角は、プロパティを表す。
【0074】
図15に示すように、本実施の形態においては、製品分類を表す辞書ツリーのほかに、ユーザ階層を表すユーザツリーを用意している。図15に示す例では、ユーザツリーは、「工業会」が最上位ユーザクラスであり、その下に工業会「AAA」、「BBB」がある。さらに、夫々のユーザクラスの下に「T社」、「T社」と「Y社」がある。「T社」は二つの工業会の下に存在するが、同じ一つの会社である。
【0075】
ユーザツリーには、ユーザクラスに対してID生成ルールが定義されている。このようにしてユーザクラスに定義されているID生成ルールは、そのユーザクラスに所属するユーザが、製品分類を表す辞書ツリー内で申請するクラスやプロパティのIDに対して適応されるものであり、ユーザクラスのIDに対して適応されるものではない。ユーザツリーで定義されているID生成ルールも、辞書ツリーで定義されているID生成ルールと同様に継承される。
【0076】
したがって、ユーザクラス「工業会」で定義されているID生成ルール「プロパティIDは8桁、始めの文字はP」は、ユーザクラス「AAA」「BBB」に継承される。ユーザクラス「AAA」では、ID生成ルール「二文字目以降AAA」が定義されているため、ユーザクラス「AAA」に所属するユーザが、辞書ツリーに対して新規プロパティを追加し、ID申請を行った場合に発行されるプロパティIDは、「PAAAxxxx」(xは任意の文字)となる。
【0077】
すなわち、辞書ツリー上に記述されているクラス「C2」で定義されているプロパティ「PAAAT002」は「AAA」下のユーザクラス「T社」のユーザが申請したプロパティであり、クラス「C5」で定義されているプロパティ「PBBBTsss」は「BBB」下のユーザクラス「T社」のユーザが申請したプロパティであり、プロパティ「PAAAY004」は「AAA」下のユーザクラス「Y社」のユーザが申請したプロパティである。
【0078】
また、ユーザツリーで定義されているID生成ルールも、辞書ツリーで定義されているID生成ルールと同様に、下位クラスで上書きが可能である。
【0079】
なお、ユーザツリーで定義されているID生成ルールと、辞書ツリーで定義されているID生成ルールのどちらを優先させるかは、システムや辞書などで設定するものとする。
【0080】
なお、各実施の形態においては、入出力操作用のクライアント端末3と、辞書サーバ1Aとを別体として設けたが、これらが一体となった構成であって良い。
【0081】
また、各実施の形態においては、辞書データベース12、ID生成ルール設定部13、ID生成ルールデータベース14は全て、辞書サーバ1Aに備えられるようにしたが、ID発行サーバ1Bに備えられるものであっても良い。この場合、辞書データベース12は、辞書サーバ1AとID発行サーバ1Bで二重に持つことになる。このような場合、辞書サーバ1Aで新規のクラスやプロパティの追加が起こると、ID生成ルールを持っているID発行サーバ1Bに問い合わせ、重複のないIDを発行してもらうことが可能である。ID生成ルールや発行済みIDの情報をID発行サーバ1B側で持っていることにより、前述の方式に比べて、重複があるかどうかの問い合わせの回数が減る。
【図面の簡単な説明】
【0082】
【図1】本発明の第1の実施の形態にかかるPLIBデータモデルの構成の一例を示す説明図である。
【図2】識別子発行システムのシステム構築例を示す模式図である。
【図3】サーバおよびクライアント端末のモジュール構成図である。
【図4】識別子発行システムの概略構成を示すブロック図である。
【図5】ユーザの権限の例を示す模式図である。
【図6】ユーザの権限に応じた処理の対応付けを示す模式図である。
【図7】設定されたID生成ルールを例示的に示す模式図である。
【図8】新規にIDを生成した状態を例示的に示す模式図である。
【図9】IDの構造を示す模式図である。
【図10】階層構造表示に関するGUI画面の構成例を示す正面図である。
【図11】辞書を編集するためのフレームを示す正面図である。
【図12】ID生成ルールの設定画面を使用したID生成の流れを示す模式図である。
【図13】「正規表現で記述する」場合のID生成ルールの設定画面を示す正面図である。
【図14】ID生成ルールを設定するための画面の変形例を示す正面図である。
【図15】本発明の第2の実施の形態にかかる辞書ツリーおよびユーザツリーの構成を示す模式図である。
【符号の説明】
【0083】
11 辞書情報管理手段
13 生成ルール設定手段
14 生成ルールデータベース
21 識別子発行手段
100 識別子発行システム
【技術分野】
【0001】
本発明は、XMLスキーマ、RDF、OWL、RQL、OQL、ISO13584/IEC61360、もしくはISO15926規格等に準拠する階層型データ構造の構成要素に付与される識別子を発行する識別子発行システム、プログラムおよび識別子発行方法に関する。
【背景技術】
【0002】
オブジェクト指向データベース(OODB)やオブジェクト・リレーショナル型データベース(ORDB)を代表とする階層型データベースでは、下位が上位分類のプロパティを継承する階層構造を持つ。この階層型データベースにおいては、継承に従って下位の分類ではプロパティが累増する。この上位分類のプロパティを下位に継承することは、通常「インヘリタンス」と呼ばれており、このような技術は多くの文献に記載されている。
【0003】
また、オブジェクト指向データベースにおいては、階層中の分類は「クラス」と呼ばれることが多い。一方、オブジェクト・リレーショナル型データベース(ORDB)においては、継承を許したテーブルがこれに相当し、上下関係を持つテーブル間において、上位のテーブルから下位のテーブルへ属性(プロパティ)、すなわち上位テーブルを構成するコラムのヘッダ情報が下位テーブルへ継承される。各階層の分類に属する同じ属性種を持つデータを「インスタンス」と呼び、その集合をデータの「ポピュレーション」と呼ぶ。データのポピュレーションは、関係データベース(RDB)あるいはORDBにおいては、テーブルと呼ばれる構造に格納されるのが普通である。テーブルにおいてそれを構成する属性の並びをテーブルのヘッダと呼ぶ。
【0004】
階層型データベースの1つとしては、製品情報を電子的に提供する電子カタログシステムを実装するための国際規格であるISO13584 Parts Library規格(以下、PLIB規格という)がある。このPLIB規格は、複数の“Part"(通常、「分冊」と訳される)からなる製品あるいは部品ライブラリデータに関するオブジェクト指向的な記述の方法とその交換ファイル形式のセマンティックス、すなわち、どのような用語や記述方式およびデータ型を用いるかを定める国際規格である。PLIB規格のPart42(分冊第42)はIEC61360-2(分冊第2)と内容が共通している。この規格は、オブジェクト指向的に製品を分類し、個々の分類を特徴付ける属性群を明らかにし、分類に対するコンテンツをファイル交換する仕組みであるので、勿論、属性の継承の概念はこの中に含まれている。また、この規格はISO6523"Structure for Identification of organizations and organization parts"を引用して作られており、特に、ISO6523の定めるICD(International Code Designator)を活用して属性に対して世界的に一意な識別子を割り振ることが可能である。
【0005】
近年においては、PLIB規格に準拠した情報管理システムおよび情報表示装置がいくつか提案されている(例えば、特許文献1,2参照)。
【0006】
ところで、これらの階層型データベース構造を持つ情報管理システムおよび情報表示装置において、クラスやクラスに属するプロパティの名称は通常自然言語を用いて記述されるが、複数の言語が用いられた場合に相互の参照のために、あるいは、同じ言語内においても、利用者グループ間の呼称の違いにより、呼称とは別に対象を一意に示す識別子であるIDを設ける場合がある。
【0007】
特に、データ辞書に関するデータモデルであるISO13584-IEC61360規格においては、クラスのID、クラスに属するプロパティのID、およびクラスやプロパティの定義者を一意に特定するIDは必須のものである。したがって、クラスやプロパティなどの新たなエンティティの生成時には、他のクラスやプロパティと重複しないようなIDを設定する必要があり、既存ID情報の管理が必要である。
【0008】
例えばISO13584-42規格のように、ある分類クラス以下においてサブクラスを大きく、マテリアル、コンポーネント、フィーチャのように大分類し、そのクラス以下では全てのサブクラスが、それぞれマテリアル、コンポーネント、フィーチャの細分化であるように取り決めるものがあり、この場合は、クラスやプロパティあるいはインスタンスのIDから情報が、マテリアル、コンポーネント、フィーチャのいずれに対するものであるかを、瞬時に判断できるようなIDをつけることは情報の管理上非常に有益である。
【0009】
この点、従来においては、ある時点で使用されたIDを保存し、次のクラス、プロパティ、あるいはインスタンスに対してシーケンシャルなIDを振るための方法や装置が開発されている。
【0010】
【特許文献1】特開2005−177996号公報
【特許文献2】特開2005−178015号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、これまで、対象の階層構造に応じて一貫したIDを発生する方法や、申請者の所属するあるいは位置する階層構造に応じてIDを発生する方法は発案されていない。
【0012】
また、計測器に関する製品分類と属性の分類に関する辞書を定めるISO13584-501規格においては、その製品分類クラスのIDの生成において、本来計測器に関するクラスやプロパティの分類と、計測器にも現れるが本来計測器以外の製品、例えばケーブルやコンピュータなど他の分野のクラスやプロパティは、measuring instrumentとauxiliary part と大きな別体系のクラス体系に分けられ、それぞれ別な符号化ルールに基づくIDにより管理識別することが定められているが、これを満たすようなIDの自動生成ルールは存在しない。
【0013】
本発明は、上記に鑑みてなされたものであって、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる識別子発行システム、プログラムおよび識別子発行方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するために、本発明の識別子発行システムは、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定手段と、この生成ルール設定手段により設定した前記生成ルールを保持している生成ルールデータベースと、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールデータベースで定められている前記生成ルールに従って前記識別子を生成する辞書情報管理手段と、この辞書情報管理手段により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行手段と、を備えることを特徴とする。
【0015】
また、本発明のプログラムは、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する機能と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定機能と、この生成ルール設定機能により設定した前記生成ルールを記憶する機能と、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理機能と、この辞書情報管理機能により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行機能と、をコンピュータに実行させる。
【0016】
また、本発明の識別子発行方法は、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する工程と、前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定工程と、この生成ルール設定工程により設定した前記生成ルールを記憶する工程と、ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理工程と、この辞書情報管理工程により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行工程と、を含む。
【発明の効果】
【0017】
本発明によれば、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0018】
以下に添付図面を参照して、この発明にかかる識別子発行システム、プログラムおよび識別子発行方法の最良な実施の形態を詳細に説明する。
【0019】
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図14に基づいて説明する。
【0020】
[1.階層型辞書について]
最初に、本実施の形態の前提となる、製品情報を電子的に提供する電子カタログシステムに用いられるメタデータを格納する階層型辞書について説明する。メタデータとは、他のデータ(例えばコンテンツデータ)の記述仕様を定義するデータのことである。データベースにおいては、データベース・スキーマに相当する情報(テーブル名、属性名、関連など)が独立してデータとして流通する形態をとったものであり、通常の値データとは区別される。このようなメタデータは、ISO13584規格やIEC61360規格等では、辞書もしくはデータ辞書と呼ばれる。このような辞書は、クラスとそのクラスを特徴付けるプロパティから成る。本実施例では、製品分類をクラス、製品分類を表す属性をプロパティと呼ぶ。クラス間には階層関係があり、上位のクラスで定義されたプロパティを継承する。以下、階層型データベースの一つであるISO13584データモデル(以降、PLIBデータモデル)を例に説明を行う。
【0021】
図1は、PLIBデータモデルの構成の一例を示す説明図である。図1中の四角はクラスを表し、点線で囲まれた角が丸い四角の中には、クラスで定義されたプロパティが列挙されている。図1に示す例の場合、最上位クラス「C001:component」の下位クラスとして「C002:electric products」が定義され、さらにその下位クラスとして「C003:personal computer」「C004:refrigerator」が定義されている。「C001:component」の場合、クラスのIDはC001、クラスの標準名称はcomponentである。クラス「C001:component」には、三つのプロパティ「P001:製造者」、「P002:製品名」、「P003:製造番号」が定義されており、これらのプロパティは下位のクラスで継承される。したがって、例えば「C003:personal computer」では、自クラスで定義した「P005:CPU」のほかに上位から継承した「P001:製造者」、「P002:製品名」、「P003:製造番号」、および「C002:refrigerator」から継承した「P004:電源電圧」の5つのプロパティを利用することができる。
【0022】
このようにして定義された辞書に対して、PLIBデータモデルにおいては、インスタンスが定義される場合がある。クラスで利用できるプロパティの一部或いは全てに対して、値を入れたものをインスタンスという。図1に示すように、インスタンスIはテーブルに格納されることが多く、一行が一製品のデータを表している。なお、図1ではインスタンスIに対するIDは付与されていないが、インスタンスI毎に、あるいはインスタンスIを束ねた塊、すなわちテーブルに対してIDが付与される場合もある。
【0023】
上述したように、PLIBデータモデルの場合、クラスやプロパティのほかにも、IDで識別され、クラスで定義され、下位クラスに継承されるモデル構成要素がある。例えば、データタイプ、ドキュメントなどである。本発明は、これらのデータタイプ、ドキュメントなどに関しても、クラスやプロパティと同様に適用可能である。説明中は簡便のため、クラスとプロパティのみを取り上げるが、本発明は、クラスとプロパティのID自動生成のみに特化するものでなく、IDが必要な辞書内の全てのデータに対して適用可能なものである。
【0024】
[2.システムの構成]
本実施の形態のシステム構成について説明する。図2は、識別子発行システム100のシステム構築例を示す模式図である。識別子発行システム100は、図2に示すように、2つのサーバコンピュータ(以下、サーバという)1にLAN(Local Area Network)等のネットワーク2を介してクライアントコンピュータ(以下、クライアント端末という)3が複数台接続されたサーバクライアントシステムを想定する。クライアント端末3は、一般的なパーソナルコンピュータ等である。
【0025】
図3は、サーバ1およびクライアント端末3のモジュール構成図である。サーバ1およびクライアント端末3は、情報処理を行うCPU(Central Processing Unit)101、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)102、各種データを書換え可能に記憶するRAM(Random Access Memory)103、各種データベースとして機能するとともに各種のプログラムを格納するHDD(Hard Disk Drive)104、記憶媒体110を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ等の媒体駆動装置105、ネットワーク2を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置106、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示部107、並びに操作者がCPU101に命令や情報等を入力するためのキーボードやマウス等のポインティングデバイスである入力部108等から構成されており、これらの各部間で送受信されるデータをバスコントローラ109が調停して動作する。
【0026】
このようなサーバ1およびクライアント端末3では、オペレータが電源を投入するとCPU101がROM102内のローダーというプログラムを起動させ、HDD104よりOS(Operating System)というコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM103に読み込み、このOSを起動させる。このようなOSは、オペレータの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。OSのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのOS上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のOS上で動作するものに限らず、後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【0027】
ここで、一方のサーバ1は、アプリケーションプログラムとして、辞書管理プログラムをHDD104に記憶している。この意味で、HDD104は、辞書管理プログラムを記憶する記憶媒体として機能する。このように辞書管理プログラムをHDD104に記憶しているサーバ1は、OS上で動作する辞書管理プログラムが起動すると、この辞書管理プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御して、辞書サーバ1A(図4参照)として機能することになる。他方のサーバ1は、アプリケーションプログラムとして、ID発行プログラムをHDD104に記憶している。この意味で、HDD104は、ID発行プログラムを記憶する記憶媒体として機能する。このようにID発行プログラムをHDD104に記憶しているサーバ1は、OS上で動作するID発行プログラムが起動すると、このID発行プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御して、ID発行サーバ1B(図4参照)として機能することになる。
【0028】
また、クライアント端末3は、アプリケーションプログラムとして、入出力操作プログラムをHDD104に記憶している。この意味で、HDD104は、入出力操作プログラムを記憶する記憶媒体として機能する。クライアント端末3は、OS上で動作する入出力操作プログラムが起動すると、この入出力操作プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。
【0029】
また、一般的には、サーバ1およびクライアント端末3のHDD104にインストールされるアプリケーションプログラムは、CD−ROMやDVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体110に記録され、この記憶媒体110に記録された動作プログラムがHDD104にインストールされる。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体110も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えば通信制御装置106を介して外部から取り込まれ、HDD104にインストールされても良い。
【0030】
次に、サーバ1およびクライアント端末3のCPU101が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【0031】
図4は、識別子発行システム100の概略構成を示すブロック図である。以下、サーバ1(辞書サーバ1A、ID発行サーバ1B)およびクライアント端末3における各機能について説明する。
【0032】
クライアント端末3は、表示部107や入力部108を制御する制御部31を備えている。クライアント端末3は、辞書の編集や、ユーザ階層、その他システムの設定などを行うための入出力制御部である。クライアント端末3の制御部31は、辞書サーバ1Aから受信したデータを、GUI(Graphic User Interface)を介して表示部107に出力し、表示部107に表示された各画面上でオペレータが入力部108を介して行った作業や設定内容に基づくデータやコマンドを、GUIを介して受け取り、辞書サーバ1Aへ送信する。
【0033】
ID発行サーバ1Bは、識別子発行手段として機能するID発行部21と、発行済みIDデータベース22とを備える。なお、発行済みIDデータベース22は、記憶部であるRAM103またはHDD104に格納されている。ID発行サーバ1Bは、辞書内で一意になるように、定義された生成ルールに従って申請されたIDを発行するサーバである。ID発行サーバ1Bは、複数のサプライヤが持つ複数の辞書を管理する。クラスやプロパティのIDはサプライヤで一意であるため、ID発行サーバ1Bが辞書内のIDをサプライヤ毎に管理することにより、重複を防ぐことができる。
【0034】
ID発行サーバ1BのID発行部21は、辞書サーバ1A内のID生成ルール設定部13で定義されたID生成ルールに従って申請されたクラスやプロパティなどのIDを受け付ける。辞書のサプライヤを特定し、そのサプライヤが発行済みのIDを辞書サーバ1A内の辞書データベース12から検索し、重複がないことを確認し、辞書に対して、申請されたIDを発行する。それと同時に、発行済みIDデータベース22にも登録を行う。発行済みIDデータベース22は、サプライヤごとに、発行されたIDを管理するデータベースである。
【0035】
辞書サーバ1Aは、図4に示すように、辞書管理プログラムに従うことにより、辞書情報管理手段として機能する辞書情報管理部11と、辞書データベース12と、生成ルール設定手段として機能するID生成ルール設定部13と、生成ルールデータベースとして機能するID生成ルールデータベース14と、ユーザ情報管理部15と、ユーザ情報データベース16と、制御部17とを備える。なお、辞書データベース12、ID生成ルールデータベース14およびユーザ情報データベース16は、記憶部であるRAM103またはHDD104に格納されている。なお、ユーザ管理を行わない場合には、ユーザ情報管理部15とユーザ情報データベース16とは不要である。
【0036】
辞書データベース12は、複数の辞書から成る。ID生成ルールデータベース14は、辞書内のクラスごと、或いは、ユーザごとに定義されているID生成ルールを保持しているデータベースである。
【0037】
辞書情報管理部11は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、辞書データベース12にアクセスし、辞書データベース12で管理している複数の辞書をリストで表示し、さらに選択された辞書について、階層的にクラスやプロパティ、及びそれらの詳細な情報、クラスやプロパティに基づいて登録されているコンテンツの情報を表示する。また、辞書情報管理部11は、ID生成ルールデータベース14からID生成ルールを読み込み、辞書情報と同様に、ID生成ルールの内容を表示する。
【0038】
加えて、辞書情報管理部11は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、辞書の編集を行う。新規のクラスやプロパティなどが追加された場合は、ID生成ルールデータベース14で定められているルールに従って、仮のIDを生成し、ID発行サーバ1Bに対して重複がないか確認を行う。重複がある場合には、IDを再度生成し、再確認を行い、重複がないものとして正式にID発行サーバ1Bから発行されたIDを新規クラスやプロパティのIDとして辞書データベース12に登録する。また、ユーザ管理が行われている場合には、ユーザ情報データベース16の情報に従い、辞書データベース12へのアクセスコントロールを行う。
【0039】
ID生成ルール設定部13は、選択したクラス、あるいはユーザツリー上のユーザに対して、そのクラスやユーザ以下のクラスやユーザで継承されるべき、ID生成ルールの設定を行い、ID生成ルールをID生成ルールデータベース14に書き込む。なお、ID生成ルール設定部13において設定されるID生成ルールの詳細については、後述する。
【0040】
ユーザ情報管理部15は、クライアント端末3を介して制御部17から入力されるユーザの指示に従って、ユーザ情報データベース16に対するユーザの情報の確認・登録・編集・削除・管理を行う。ユーザ情報データベース16は、ユーザ情報管理部15により管理されるユーザの情報を保持するためのデータベースである。ユーザ情報データベース16は、ユーザ情報が、辞書情報と同様の階層構造で表現されている場合には、辞書データベース12とほぼ同様の形式で保持されることもある。
【0041】
ここで、ユーザ管理について説明する。本実施の形態においては、辞書やID生成ルールの編集・表示に対して、ユーザ管理が行われている。すなわち、ID生成ルールの変更を行うのに、ある権限以上の管理者であることが要件とされている。
【0042】
例えば、クライアント端末3から辞書やID発生ルールの表示・編集のためのアクセス要求が来ると、制御部17は、ユーザ情報管理部15にユーザ情報を問い合わせる。制御部17は、クライアント端末3からの要求を受けて、ユーザ情報管理部15からユーザの情報を取得する。ここで、制御部17は、ユーザの権限にしたがって、辞書の表示を行う。ユーザの権限とは、例えば図5に例示されるような、「辞書閲覧権限」、「辞書編集権限/ID生成ルール閲覧権限」、「ID生成ルール編集権限」である。そして、各権限においては、図6のテーブルに示すような対応付けがなされている。具体的には、一般ユーザは、辞書閲覧のみが許される「辞書閲覧権限」である。そして、「辞書閲覧権限」よりもユーザの権限が高い「辞書編集権限/ID生成ルール閲覧権限」が付与されている者には、辞書の編集及びID生成ルールの閲覧を許し、それ以上の権限である「ID生成ルール編集権限」が付与されている者には、ID発生ルールの編集を許す。
【0043】
次に、ID生成ルール設定部13において設定されるID生成ルールについて詳述する。ここで、図7は設定されたID生成ルールを例示的に示す模式図である。図7に示すように、ID生成ルールはクラスで定義されている。この時点で定義されているのは、C001,C002,A001の三つのクラスにそれぞれ定義されているID生成ルールだけである。このようにしてクラスで定義されたID生成ルールは、該クラス以下のクラスと該クラス以下のクラスで定義されるプロパティ等に対して、適用されるものとする。また、ID生成ルールは適用種類別に定義することができる。この場合においては、適用対象クラスと適用対象プロパティに対して別々に定義している。もちろん、適用対象クラスと適用対象プロパティにおいて同じでも構わない。
【0044】
図7に示すように、C001に定義されているID生成ルールは、該クラス以下のクラスに対するID生成ルール“rule11”「1文字目C、2文字から4文字はシーケンシャルな数字」、該クラス以下のクラスで定義されるプロパティに対するID生成ルール“rule12”「1文字目アルファベット、2文字から4文字はシーケンシャルな数字」が定められている。
【0045】
C002では、クラスに対するID生成ルールはそのまま上位クラスC001から継承し、プロパティに対してはID生成ルール“rule22”「1文字目X」が定義されている。ID生成ルール“rule22”は上位クラスの“rule12”と競合しないため、“rule12”も継承する。したがって、C002以下で定義を行うプロパティに対するID生成ルールは、「1文字目X、2文字から4文字はシーケンシャルな数字」となる。
【0046】
A001では、クラスに対するID生成ルール“rule31”「1文字目A、2文字から4文字はシーケンシャルな数字」が定義されているが、これは上位のルール“rule11”と競合するため、上位ルールは継承せず、このID生成ルール“rule31”を上書きし、以降(A001以下のクラスでは)、ID生成ルール“rule31”が適応されるものとする。
【0047】
また、プロパティに対するID生成ルール“rule32”「定義クラスの標準名称から生成する」も同様に上位のID生成ルール“rule22”と競合するため、上位ルールは継承せず、このID生成ルール“rule32”を上書きする。
【0048】
ここで、図8に示すように、図7に例示した辞書に対してC001,C002,A001に新しいプロパティ(網掛けで示す)を定義するとともに、A001の下に新しいクラス(網掛けで示す)を定義したした場合について説明する。
【0049】
このような場合、C001で定義された新しいプロパティのIDは、ID生成ルール“rule22”に則って「N000」が、C002で定義された新しいプロパティのIDは、ID生成ルール“rule22”とID生成ルール“rule22”に則って「X000」が、A001で定義された新しいプロパティのIDはID生成ルール“rule32”に則って「PC1」がID発行サーバ1Bから発行される。また、A001の下の新しいクラスのIDには、ID生成ルール“rule31”が適用されて「A002」がID発行サーバ1Bから発行される。
【0050】
また、この実施の形態とは別に、クラスにID生成ルールが定義されている場合には、上位のID生成ルールと競合部分をチェックせず、そのまま上書きするものとしても良い。この場合、ID生成ルールが定義されていないクラスは、上位のID生成ルールを継承するものとする。
【0051】
ところで、ISO13584規格では、辞書は辞書サプライヤに定義される。辞書サプライヤは、ICD(International Code Designator)と呼ばれる世界で唯一のIDを持つ団体によって、サプライヤIDを割り振られる。クラスを世界で唯一識別することができるIDは、サプライヤIDとクラスIDから成り、プロパティは、サプライヤIDと、プロパティを定義したクラスID、さらにプロパティIDの三つから成る。
【0052】
図9は、IDの構造を示す模式図である。図9における例では、ICDコード140を持つ団体が、ある辞書サプライヤに対して「TOSHIBA」という組織名を与える。このサプライヤのサプライヤIDは、“140/TOSHIBA//”となる。サプライヤ“140/TOSHIBA//”が定義したクラス「CLS001」は、サプライヤIDと組み合わさって一つのIDを成し、プロパティ「PRP003」は、クラス「CLS001」とサプライヤIDとが組み合わさって一つのIDを成す。これらのことから、クラスIDは少なくともサプライヤ内で一意である必要があり、プロパティIDは少なくとも定義クラスでは一意でなければならない。したがって、ISO13584規格に従った階層型データベースで実現する場合には、前述のルールに従って一意になるように、クラスやプロパティのIDを発行しなければならない。
【0053】
続いて、クライアント端末3側における処理について説明する。
【0054】
下位分類が上位分類の属性を継承するような製品分類体系の表示方式には、本出願人による特開2004−178015号公報に記載されているものがある。この表示方式は、階層構造を成すクラスが定義された階層型データベースの階層構造表示を表示するにあたり、階層構造を成すいずれか一のクラスを識別する第1の表示領域の少なくとも一部が、該クラスから派生した子クラスを識別する第2の表示領域の全てを含むように第1及び第2の表示領域を表示することにより、階層型データベースにおけるクラス間の包含関係を適切かつ効果的に表示することができるGUIを提供するようにしたものである。
【0055】
図10は、階層構造表示に関するGUI画面の構成例を示す正面図である。図10に示すクライアント端末3側の表示部107のGUI画面は、クラスに付与されているID生成ルールの有無あるいは内容を、製品分類体系図上で表示した例である。なお、このクライアント端末3は、「辞書編集権限/ID生成ルール閲覧権限」が付与されている者または「ID生成ルール編集権限」が付与されている者により使用されている。図10に示すように、製品分類を階層的に表している領域(辞書ツリー)41には、クラス階層が表示されており、製品分類「C005:デスクトップPC」を選択すると、その製品分類の情報であるID、名称、定義などが領域43に表示される。本実施の形態においては、これらの製品分類情報と併せて、領域43にID生成ルールを表示することができる。ID生成ルールの表示は、図10に示すように文章で表示しても良いし、ルールを記述するための定められた言語、例えば正規表現やシステムで独自に定めた記述方法を用いることが考えられる。
【0056】
なお、マーク42は、クラスにID生成ルールが定義されていることを示すものである。このマーク42が階層上に表示されていれば、クラスを選択してそのクラス情報を見なくても、一瞥してID生成ルールがあることが分かる。また、ボタン44を押すことにより、上位クラスで定義されているID生成ルールを見ることができるようにしても良い。
【0057】
次に、ID生成ルールの編集について説明する。ID生成ルールの編集には、新たなID生成ルールの開始あるいは変更ポイントの指定も含まれる。図10に示すような製品分類を階層的に表している領域(辞書ツリー)41より、ID生成ルールを定義するクラスをクライアント端末3の入力部108を用いて選択すると、図11に示す辞書を編集するためのフレーム52がクライアント端末3の表示部107に表示される。このクライアント端末3は、「ID生成ルール編集権限」が付与されている者により使用されている。なお、クラスの選択は、辞書ツリーでなくても、クラスを選択できるようなものであればよく、また、ID生成ルールの設定のための画面表示も、メニューから、或いはマウスクリックなどで直接行えても構わない。
【0058】
さらに、図11に示すボタン53を入力部108を用いて操作すると、ID生成ルールを設定するための画面が表示部107に表示される。図12は、ID生成ルールの設定画面を使用したID生成の流れを示す模式図である。図11に示すボタン53が操作されると、図12に示すようなID生成ルール設定の補助を行う画面61が表示部107に表示される。画面61において、「ナビゲータを使ってコードルールを設定する」という生成方法が入力部108を用いてラジオボタンにより選択されて決定されると、図12に示す画面62が表示部107に表示される。画面62では、ID生成ルールを設定する対象(例えば、クラスやプロパティ)をラジオボタンにより選択可能である。例えば、画面62で「プロパティ」が入力部108を用いてラジオボタンにより選択されて決定されると、画面63で予めシステムで用意しているID生成ルールを表示部107に表示し、ユーザに選択させる。
【0059】
例えば、画面63で「作成時間から生成」が入力部108を用いてラジオボタンにより選択されて決定されると、作成時間をシステムから読み取り、例えば2005年12月16日午後14時35分であれば、そのまま「200512161435」というIDを振るなどが考えられる。
【0060】
また、画面63で「定義クラスの名前から生成」が入力部108を用いてラジオボタンにより選択されて決定された場合、例えば「定義クラス名の単語の頭文字を集め、全体が6文字になるように、後ろには数字をシーケンシャルに振る」などと具体的に定義しておいたとすると、定義クラスの標準名称が「personal computer」の場合、「pc000001」等のIDが新規プロパティに対して生成される。
【0061】
さらに、画面63で「定義クラスのIDから生成」が入力部108を用いてラジオボタンにより選択されて決定された場合、例えば「定義クラスID+シーケンシャルな数字3桁」などと具体的に定義しておいたとすると、定義クラスのIDが「C005」の場合、「C005001」等のIDが新規プロパティに対して生成される。
【0062】
なお、上述したようなID生成ルール以外にも、
1.ID中に固定部を持つもの
2.可変部が数字やアルファベットなどを利用したシーケンシャルな(連番)ID
3.可変部が時間・日時、作成順番に基づくID
4.可変部がクラス名あるいはプロパティ名を利用した符号化による一意のID
5.上記の組合せによるID
などの基本オプションが考えられる。
【0063】
また、本出願人による特開2004−118741号公報には、クラスやプロパティの標準名称を用いてその略称を自動生成させる技術が提案されているが、同等のルールをID生成ルールに適用するようにしても良い。
【0064】
このようにID生成ルールの編集を行う際に、予め用意されているいくつかのID生成ルールを選択的に設定可能な態様でユーザに提示することで、生成ルールの編集の補助を行うことができる。
【0065】
一方、図13に示すように、画面61において、「正規表現で記述する」という生成方法が入力部108を用いてラジオボタンにより選択されて決定されると、図13に示すようなID生成ルールの設定画面64が表示部107に表示される。例えば、ID生成ルールの設定画面64において、クラスのID生成ルールを正規表現で「AAA\d{3}」とした場合、該クラス以下のクラスのIDは、「1文字目から3文字目まではアルファベットA、4文字目から6文字目までは数字」という制約がつけられることになり、「AAA001」「AAA120」「AAA809」・・・などのIDが生成されることになる。このような正規表現は、ルールを記述するための表現の一例であり、ルールを記述するための言語であれば他のものでも構わない。
【0066】
また、図14はID生成ルールを設定するための画面の変形例である。図14に示すように、ID生成ルールのナビゲーションは、用意されたID生成ルールを組み合わせて生成するようなインターフェースを設けても構わない。図14に示す例では、画面65でID生成ルールを入力部108を用いてラジオボタンにより指定すると、画面65で指定されたID生成ルールが画面66のカーソルの位置から設定される。
【0067】
このようにしてID生成ルールを設定する際には、デフォルトで上位から継承されたルールを表示しておいてもよい。ユーザは、上位から継承されているID生成ルールをそのまま利用してもよいし、デフォルトで表示されているルールを編集し、再定義を行っても構わない。
【0068】
ところで、辞書は実際のコンテンツを記述するための器であり、辞書はコンテンツを交換・共有するために利用されることが多い。それゆえ、一度公に公開した辞書には、それに基づいたコンテンツが作成されている可能性があるため、辞書の中のクラスやプロパティの削除、また、IDの変更は好ましくない。このようなことから、辞書は公開されるまでに、一定時間検討を行ったり、権限を持つ承認者によって承認される承認ルーチンなどを通ったりすることが多い。すなわち、ある条件下(一定時間内、特定承認者による承認前、開示・発行前など)において、特に指定された承認者や管理者にのみ上書き変更することを許容することとする。これらのタイミングで、承認者や管理者が自動生成されたIDを上書きすることができることにより、辞書編集者による誤定義を防ぐことが可能となる。なお、承認者や管理者によってIDが上書きされる場合には、ID発行サーバ1Bへ問い合わせ、再発行のための手続きが必要となる。ここで再発行のための手続きとは、例えば、発行済みIDからの不要IDの削除、再発行IDの登録のことである。また、承認者や管理者によって書き換えられたIDが、クラスで定義されているID生成ルールと異なる場合には、なんらかのフラグを用意し、発行したIDがID生成ルールに則っていないことを示してもよい。
【0069】
ID生成ルールは製品ツリーにおいては、クラス作成時に設定される。なお、クラス作成後の設定変更は、
1.発行済みIDと生成ルールが異なる場合があるので許さない。
2.発行済みIDには適応せず、新規クラス・プロパティにのみ適応し、さらに必要であれば、発行済みIDには生成ルールと異なることを示すフラグを付与する。
など、該クラス以下の発行済みIDについての対処を定義していれば、可能としても構わない。これにより、自動発生させたIDについて、時間や承認状況などを指定したある条件下において、特に指定された管理者による上書き変更を許容できる。
【0070】
このように本実施の形態によれば、分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書内に存在していて対象を一意に示す識別子が必要な構成要素別に定義され、分類の階層構造に従って継承される識別子を一定の規則に則って生成する生成ルールを設定し、階層型辞書の編集により新規の構成要素が追加された場合は、生成ルールに従って識別子を生成し、生成ルールに従って生成された識別子に重複がないことを確認してから当該識別子を発行する。これにより、階層型辞書の階層構造に従って識別子が必要な構成要素を対象とした識別子の発行が容易になるので、利便性を向上させることができる。
【0071】
[第2の実施の形態]
次に、本発明の第2の実施の形態を図15に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。
【0072】
第1の実施の形態においては、製品分類を表す辞書ツリーのクラスに対するID生成ルール設定の例を示したが、本実施の形態は、辞書ツリーの他に、ユーザ階層を表すユーザツリーのクラスに対してもID生成ルール設定を可能にしたものである。
【0073】
図15は、本発明の第2の実施の形態にかかる辞書ツリーおよびユーザツリーの構成を示す模式図である。図15中、楕円はクラスを表し、四角はユーザクラスに定義されているID生成ルールを表す。また、角が丸い四角は、プロパティを表す。
【0074】
図15に示すように、本実施の形態においては、製品分類を表す辞書ツリーのほかに、ユーザ階層を表すユーザツリーを用意している。図15に示す例では、ユーザツリーは、「工業会」が最上位ユーザクラスであり、その下に工業会「AAA」、「BBB」がある。さらに、夫々のユーザクラスの下に「T社」、「T社」と「Y社」がある。「T社」は二つの工業会の下に存在するが、同じ一つの会社である。
【0075】
ユーザツリーには、ユーザクラスに対してID生成ルールが定義されている。このようにしてユーザクラスに定義されているID生成ルールは、そのユーザクラスに所属するユーザが、製品分類を表す辞書ツリー内で申請するクラスやプロパティのIDに対して適応されるものであり、ユーザクラスのIDに対して適応されるものではない。ユーザツリーで定義されているID生成ルールも、辞書ツリーで定義されているID生成ルールと同様に継承される。
【0076】
したがって、ユーザクラス「工業会」で定義されているID生成ルール「プロパティIDは8桁、始めの文字はP」は、ユーザクラス「AAA」「BBB」に継承される。ユーザクラス「AAA」では、ID生成ルール「二文字目以降AAA」が定義されているため、ユーザクラス「AAA」に所属するユーザが、辞書ツリーに対して新規プロパティを追加し、ID申請を行った場合に発行されるプロパティIDは、「PAAAxxxx」(xは任意の文字)となる。
【0077】
すなわち、辞書ツリー上に記述されているクラス「C2」で定義されているプロパティ「PAAAT002」は「AAA」下のユーザクラス「T社」のユーザが申請したプロパティであり、クラス「C5」で定義されているプロパティ「PBBBTsss」は「BBB」下のユーザクラス「T社」のユーザが申請したプロパティであり、プロパティ「PAAAY004」は「AAA」下のユーザクラス「Y社」のユーザが申請したプロパティである。
【0078】
また、ユーザツリーで定義されているID生成ルールも、辞書ツリーで定義されているID生成ルールと同様に、下位クラスで上書きが可能である。
【0079】
なお、ユーザツリーで定義されているID生成ルールと、辞書ツリーで定義されているID生成ルールのどちらを優先させるかは、システムや辞書などで設定するものとする。
【0080】
なお、各実施の形態においては、入出力操作用のクライアント端末3と、辞書サーバ1Aとを別体として設けたが、これらが一体となった構成であって良い。
【0081】
また、各実施の形態においては、辞書データベース12、ID生成ルール設定部13、ID生成ルールデータベース14は全て、辞書サーバ1Aに備えられるようにしたが、ID発行サーバ1Bに備えられるものであっても良い。この場合、辞書データベース12は、辞書サーバ1AとID発行サーバ1Bで二重に持つことになる。このような場合、辞書サーバ1Aで新規のクラスやプロパティの追加が起こると、ID生成ルールを持っているID発行サーバ1Bに問い合わせ、重複のないIDを発行してもらうことが可能である。ID生成ルールや発行済みIDの情報をID発行サーバ1B側で持っていることにより、前述の方式に比べて、重複があるかどうかの問い合わせの回数が減る。
【図面の簡単な説明】
【0082】
【図1】本発明の第1の実施の形態にかかるPLIBデータモデルの構成の一例を示す説明図である。
【図2】識別子発行システムのシステム構築例を示す模式図である。
【図3】サーバおよびクライアント端末のモジュール構成図である。
【図4】識別子発行システムの概略構成を示すブロック図である。
【図5】ユーザの権限の例を示す模式図である。
【図6】ユーザの権限に応じた処理の対応付けを示す模式図である。
【図7】設定されたID生成ルールを例示的に示す模式図である。
【図8】新規にIDを生成した状態を例示的に示す模式図である。
【図9】IDの構造を示す模式図である。
【図10】階層構造表示に関するGUI画面の構成例を示す正面図である。
【図11】辞書を編集するためのフレームを示す正面図である。
【図12】ID生成ルールの設定画面を使用したID生成の流れを示す模式図である。
【図13】「正規表現で記述する」場合のID生成ルールの設定画面を示す正面図である。
【図14】ID生成ルールを設定するための画面の変形例を示す正面図である。
【図15】本発明の第2の実施の形態にかかる辞書ツリーおよびユーザツリーの構成を示す模式図である。
【符号の説明】
【0083】
11 辞書情報管理手段
13 生成ルール設定手段
14 生成ルールデータベース
21 識別子発行手段
100 識別子発行システム
【特許請求の範囲】
【請求項1】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定手段と、
この生成ルール設定手段により設定した前記生成ルールを保持している生成ルールデータベースと、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールデータベースで定められている前記生成ルールに従って前記識別子を生成する辞書情報管理手段と、
この辞書情報管理手段により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行手段と、
を備えることを特徴とする識別子発行システム。
【請求項2】
前記生成ルール設定手段により前記生成ルールを設定する際には、上位分類から継承されている前記生成ルールを下位分類で再定義することが可能である、
ことを特徴とする請求項1記載の識別子発行システム。
【請求項3】
前記辞書情報管理手段における前記階層型辞書の編集や前記生成ルール設定手段における前記生成ルールの設定について、ユーザ制限を設ける、
ことを特徴とする請求項1記載の識別子発行システム。
【請求項4】
ユーザ分類間に階層関係を有していて上位ユーザ分類から下位ユーザ分類へとプロパティを継承するユーザ辞書を更に備え、
前記生成ルール設定手段は、前記ユーザ分類の階層構造に従って継承され、前記ユーザ辞書内に存在していて対象を一意に示す識別子がユーザ別に定義され、前記ユーザにおける前記識別子を一定の規則に則って生成する生成ルールを設定する、
ことを特徴とする請求項1ないし3のいずれか一記載の識別子発行システム。
【請求項5】
前記構成要素に付与されている前記生成ルールの有無を、GUI(Graphical User Interface)として与える前記構成要素の体系図に関連付けて表示する、
ことを特徴とする請求項1ないし4のいずれか一記載の識別子発行システム。
【請求項6】
前記構成要素に付与されている前記生成ルールの内容を、GUI(Graphical User Interface)として与える前記構成要素の体系図に関連付けて表示する、
ことを特徴とする請求項1ないし4のいずれか一記載の識別子発行システム。
【請求項7】
前記構成要素に付与される前記生成ルールの編集を、GUI(Graphical User Interface)として与える前記構成要素の体系図上から実行可能である、
ことを特徴とする請求項1ないし6のいずれか一記載の識別子発行システム。
【請求項8】
前記生成ルールの編集を行う際に、予め用意された生成ルールを選択的に設定可能な態様で提示する、
ことを特徴とする請求項7記載の識別子発行システム。
【請求項9】
前記識別子発行手段により発行された前記識別子について、所定の条件の下に、上書き変更を許容する、
ことを特徴とする請求項1ないし8のいずれか一記載の識別子発行システム。
【請求項10】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する機能と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定機能と、
この生成ルール設定機能により設定した前記生成ルールを記憶する機能と、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理機能と、
この辞書情報管理機能により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行機能と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項11】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する工程と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定工程と、
この生成ルール設定工程により設定した前記生成ルールを記憶する工程と、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理工程と、
この辞書情報管理工程により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行工程と、
を含むことを特徴とする識別子発行方法。
【請求項1】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定手段と、
この生成ルール設定手段により設定した前記生成ルールを保持している生成ルールデータベースと、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールデータベースで定められている前記生成ルールに従って前記識別子を生成する辞書情報管理手段と、
この辞書情報管理手段により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行手段と、
を備えることを特徴とする識別子発行システム。
【請求項2】
前記生成ルール設定手段により前記生成ルールを設定する際には、上位分類から継承されている前記生成ルールを下位分類で再定義することが可能である、
ことを特徴とする請求項1記載の識別子発行システム。
【請求項3】
前記辞書情報管理手段における前記階層型辞書の編集や前記生成ルール設定手段における前記生成ルールの設定について、ユーザ制限を設ける、
ことを特徴とする請求項1記載の識別子発行システム。
【請求項4】
ユーザ分類間に階層関係を有していて上位ユーザ分類から下位ユーザ分類へとプロパティを継承するユーザ辞書を更に備え、
前記生成ルール設定手段は、前記ユーザ分類の階層構造に従って継承され、前記ユーザ辞書内に存在していて対象を一意に示す識別子がユーザ別に定義され、前記ユーザにおける前記識別子を一定の規則に則って生成する生成ルールを設定する、
ことを特徴とする請求項1ないし3のいずれか一記載の識別子発行システム。
【請求項5】
前記構成要素に付与されている前記生成ルールの有無を、GUI(Graphical User Interface)として与える前記構成要素の体系図に関連付けて表示する、
ことを特徴とする請求項1ないし4のいずれか一記載の識別子発行システム。
【請求項6】
前記構成要素に付与されている前記生成ルールの内容を、GUI(Graphical User Interface)として与える前記構成要素の体系図に関連付けて表示する、
ことを特徴とする請求項1ないし4のいずれか一記載の識別子発行システム。
【請求項7】
前記構成要素に付与される前記生成ルールの編集を、GUI(Graphical User Interface)として与える前記構成要素の体系図上から実行可能である、
ことを特徴とする請求項1ないし6のいずれか一記載の識別子発行システム。
【請求項8】
前記生成ルールの編集を行う際に、予め用意された生成ルールを選択的に設定可能な態様で提示する、
ことを特徴とする請求項7記載の識別子発行システム。
【請求項9】
前記識別子発行手段により発行された前記識別子について、所定の条件の下に、上書き変更を許容する、
ことを特徴とする請求項1ないし8のいずれか一記載の識別子発行システム。
【請求項10】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する機能と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定機能と、
この生成ルール設定機能により設定した前記生成ルールを記憶する機能と、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理機能と、
この辞書情報管理機能により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行機能と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項11】
分類およびその分類に属するインスタンスの属性であるプロパティを定義しているメタデータを格納し、分類間に階層関係を有していて上位分類から下位分類へとプロパティを継承する階層型辞書を記憶する工程と、
前記分類の階層構造に従って継承され、前記階層型辞書内に存在している構成要素別に定義される識別子を一定の規則に則って生成する生成ルールを設定する生成ルール設定工程と、
この生成ルール設定工程により設定した前記生成ルールを記憶する工程と、
ユーザの指示に従って前記階層型辞書の編集を行うとともに、編集により新規の前記構成要素が追加された場合は、前記生成ルールに従って前記識別子を生成する辞書情報管理工程と、
この辞書情報管理工程により前記生成ルールに従って生成された前記識別子に重複がないことを確認してから当該識別子を発行する識別子発行工程と、
を含むことを特徴とする識別子発行方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−265250(P2007−265250A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−91996(P2006−91996)
【出願日】平成18年3月29日(2006.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願日】平成18年3月29日(2006.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]