JP3549608B2 - 識別子による階層構造データの構造判定方法および装置 - Google Patents
識別子による階層構造データの構造判定方法および装置 Download PDFInfo
- Publication number
- JP3549608B2 JP3549608B2 JP07916595A JP7916595A JP3549608B2 JP 3549608 B2 JP3549608 B2 JP 3549608B2 JP 07916595 A JP07916595 A JP 07916595A JP 7916595 A JP7916595 A JP 7916595A JP 3549608 B2 JP3549608 B2 JP 3549608B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- identifier
- hierarchical structure
- infinite
- management information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Description
【産業上の利用分野】
本発明は、チェインによって管理された階層構造データにデータを挿入する際に、階層構造データの構造を判定する判定方法およびその装置に関する。
【0002】
【従来の技術】
情報処理装置において、複数の異なるデータを互いに関連付けて管理する方法の1つに階層構造を用いる方法がある。互いに上下の関係を持ついくつかのデータから成る階層構造データは、例えばポインタ等によりデータを連結したチェインによって管理される。
【0003】
図11は、このような階層構造データの一例を示している。図11の階層構造データは、下位層のデータ構造を持つデータα、β、γ、および下位層のデータ構造を持たないデータA、Bの5つのデータより成っている。このうち、データAはα、βのそれぞれの下位層に存在しているが、階層構造データはチェインによって管理されているため、その実際のデータ(実体データ)は1つである。このように、チェインによって階層を管理する場合、同一のデータを階層構造の複数の箇所から参照できる長所がある。階層構造データにおいてデータ間の新たな上下関係を付加することにより、データを挿入すると、無限階層になる場合とならない場合とがある。
【0004】
図12は、図11の階層構造データにおいて無限階層にならないようなデータ挿入の一例を示している。図12においては、データγの下位層にデータβが挿入され、データγはデータβのみならずその配下のデータ、つまりデータAおよびBをも内包する関係になっている。
【0005】
これに対して、図13は、図11の階層構造データにおいて無限階層になるようなデータ挿入の一例を示している。図13においては、データαの下位層に同じデータαが挿入された結果、上下方向のチェインがループ状に繋がってしまう。このため、データαの下位層にそのデータαを延々と繰り返すような無限階層ができる。
【0006】
【発明が解決しようとする課題】
上述のような従来のデータ操作方法には次のような問題がある。図13に示すような無限階層を持った階層構造データ内の全てのデータの取り出しを試みた場合、データα、β、γ、A、Bから成る同じデータ構造が下位層に何度も現れるため、その都度同じ実体データを取り出さなければならない。したがって、処理が煩雑になり、処理速度の低下を招く結果となる。
【0007】
仮に、同じ名称を持つデータ同士を上下に繋げることが禁止されていたとしても、無限階層が生じる可能性は残されている。例えば、図11において、データγの下にデータαを挿入した場合にも無限階層が生じてしまう。また、あるデータがコピーされて別の名称を付加されている場合、元のデータの下に別の名称を持つそのデータを挿入して、無限階層を生じさせることもあり得る。このような場合には、図13の場合と同様にデータ操作が煩雑になる。
【0008】
本発明は、チェインによって管理された階層構造データのデータ処理が煩雑になるのを防止するために、データ構造を調べて無限階層が生じるかどうかを判定するデータ構造判定方法およびその装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
図1は本発明のデータ構造判定方法の原理図である。
図1において、まず上下の関係を持つ2つ以上のデータから成る階層構造データの各要素となるデータに識別子を付加し(ステップS1)、第1のデータの下に第2のデータを挿入してできる上下方向のデータ列の中に、同一の識別子を持つデータが2つ以上あるかどうかを調べる(ステップS2)。
【0010】
そして、同一の識別子を持つデータが2つ以上あれば、第1のデータの下に第2のデータを挿入すると無限階層構造になると判定し(ステップS3)、同一の識別子を持つデータが2つ以上なければ、第1のデータの下に第2のデータを挿入しても無限階層構造にならないと判定する(ステップS4)。
本発明のデータ構造判定装置は、データ格納手段および処理手段を備え、上下の関係を持つ2つ以上のデータから成る階層構造データを操作する。データ格納手段は、識別子を付加された、階層構造データの各要素となるデータを格納する。処理手段は、第1のデータの下に第2のデータを挿入してできる上下方向のデータ列の中で、第2のデータが下位の第3のデータを所有できるかどうかを調べ、第2のデータが第3のデータを所有できれば、第1のデータの識別子が、第2のデータおよび第2のデータより下位のデータのうちの1つのデータの識別子と一致するかどうかを調べ、第1のデータの識別子がそのデータの識別子と一致すれば、第1のデータの下に第2のデータを挿入すると無限階層構造が生じると判定し、第1のデータの識別子が第2のデータおよび第2のデータより下位のデータのうちのいずれのデータの識別子とも一致しなければ、第1のデータの下に第2のデータを挿入しても無限階層構造は生じないと判定し、第2のデータが第3のデータを所有できなければ、第1のデータの下に第2のデータを挿入しても無限階層構造は生じないと判定する。
【0011】
【作用】
階層構造データの各要素となるデータは他のデータとの間の上下の関係を表す情報を持っており、この情報を操作することによりそのデータと他のデータとの上下関係を定義して、そのデータを階層構造の中に挿入することができる。
【0012】
ここでは、各データにそれらを一意に識別する識別子をさらに付加する(ステップS1)。この識別子を比較することにより、2つのデータが実質的に同じものかどうかを容易に判断できるようになる。
【0013】
第1のデータの下に第2のデータを挿入して、新しく階層構造データを生成するとき、あるいは、第1のデータを含む既存の階層構造データに第2のデータを付加するとき、第1のデータと第2のデータを結ぶ上下方向に位置する複数のデータ(データ列)の識別子を調べる(ステップS2)。そして、これらの中に同一の識別子を持つデータが2つ以上あればデータのチェインにループが生じるので、データ挿入を行うと無限階層構造になると判定する(ステップS3)。もし、同一の識別子を持つデータが2つ以上なければ、データ挿入を行っても無限階層構造にならないと判定する(ステップS4)。
【0014】
この判定結果を利用して、第1のデータの下に第2のデータを挿入すると無限階層構造になる場合は、そのデータ挿入を禁止することができる。したがって、階層構造データの処理の効率化が図られる。
【0015】
【実施例】
以下、図面を参照しながら本発明の実施例について詳細に説明する。
図2は、実施例の情報処理装置のシステム構成図である。図2の情報処理装置は、CPU(中央処理装置)1、データ格納部2、入出力機器3と、それらを結合するバス4より構成される。データ格納部2は、例えば磁気ディスクや光ディスク等を備えるディスク装置であり、階層構造データの各要素となる個別のデータを格納している。これらの各データには、それらを識別するユニークな識別子が付加されている。入出力機器3は、例えばキーボード等の入力装置を備えたディスプレイ装置であり、ユーザからデータ操作の指示を受け取ったり、処理の結果を表示したりする。CPU1は、入出力機器3から渡されるデータ操作の指示コマンドに従って、データ格納部2からデータを取り出し処理を実行する。
【0016】
例えば、ユーザがいくつかの個別のデータ間に上下関係を定義する指示を行うと、CPU1は各データの管理情報に上下関係を表すポインタを格納して、階層構造データを生成する。そして、その階層構造データをデータ格納部2に格納する。
【0017】
CPU1は、データ間に新たな上下関係を設定して階層構造データにデータを挿入するとき、その新たな上下関係により無限階層が生じないかどうかをチェックする。そして、場合によってはそのチェック結果を入出力機器3を介してユーザに提示し、ユーザの指示に従ってデータの挿入を行う。
【0018】
図3は、CPU1が階層構造データを下方に向かって検索してその構造を判定し、データ挿入を行う処理のフローチャートである。図3において処理が開始されると、まずCPU1はユーザから階層構造データを構成する第1のデータの下に第2のデータを挿入する指示を受け取る(ステップS11)。次に、第1のデータの識別子が、第2のデータおよびそれより下位のデータのうちいずれかの識別子と一致するかどうかを調べる(ステップS12)。もしいずれのデータの識別子とも一致しなければ、第1のデータの下に第2のデータを挿入して(ステップS13)、処理を終了する。
【0019】
第2のデータおよびそれより下位のデータの識別子の中に第1のデータの識別子と一致するものがあれば、その旨を入出力機器3を介してユーザに知らせて、データ挿入を行うかどうかを問い合わせる(ステップS14)。そして、ユーザがデータ挿入を許可すれば第1のデータの下に第2のデータを挿入し(ステップS13)、許可しなければそのまま処理を終了する。
【0020】
第2のデータ以下の階層内に第1のデータの識別子と同じ識別子を持つデータがあるとき、データ挿入を行うことにより上下方向に同じデータ構造が繰り返され、無限階層が生じることになる。図3のデータ挿入処理では、このような場合にユーザがデータ挿入を禁止することができる。
【0021】
次に、図4から図8までを参照しながら、データ挿入処理の具体例について説明する。
図4は、データ挿入前の階層構造データの具体例を示している。図4において、グループα、βは下位層を持つデータであり、メンバa、b、cは下位層を持たないデータである。グループβの下にはメンバb、cおよびグループαが存在し、グループαの下にはメンバaが存在している。
【0022】
図5は、図4の各データ毎に設定されている管理情報の形式を示しており、図6は、図4の各データの管理情報の内容を示している。これらのデータの管理情報はデータ格納部2に格納される。
【0023】
図5において、名称はそのデータの名称を表し、識別子はそのデータを一意に識別する番号を表す。また、子ポインタはそのデータの下位階層のデータの管理情報を指すポインタであり、下位階層がないデータの場合は何も指さないように設定される。前ポインタはそのデータと同階層内のデータのうちそのデータの前のデータの管理情報を指すポインタであり、同階層内で先頭に位置するデータの場合は何も指さないように設定される。後ポインタは同階層内のデータのうちそのデータの次のデータの管理情報を指すポインタであり、同階層内で終端に位置するデータの場合は何も指さないように設定される。実ポインタはデータの実体(実体データ)を指すポインタである。
【0024】
図4の各データの場合は図6に示すように、グループαの識別子は1であり、その子ポインタはメンバaの管理情報を指し、前ポインタはメンバcの管理情報を指し、後ポインタは何も指さない。また、グループβの識別子は2であり、その子ポインタはメンバbの管理情報を指し、前ポインタおよび後ポインタは何も指さない。メンバaの識別子は3であり、その子ポインタ、前ポインタ、および後ポインタは何も指さない。メンバbの識別子は4であり、その子ポインタおよび前ポインタは何も指さず、後ポインタはメンバcの管理情報を指す。メンバcの識別子は5であり、その子ポインタは何も指さず、前ポインタはメンバbの管理情報を指し、後ポインタはグループαの管理情報を指す。
【0025】
図7は、CPU1によるデータ挿入処理の詳細なフローチャートであり、図8は、図7のステップS22で呼び出されるサブルーチンの処理のフローチャートである。CPU1は次に示すような順序で処理を行う。
【0026】
まず、挿入するデータ(挿入データ)が下位層を所有できるかどうか、つまり、そのデータの管理情報の子ポインタがいずれかのデータを指しているかどうかを調べる(ステップS21)。挿入データが下位層を所有できる場合は、既に階層構造データ内に存在する挿入を受ける側のデータ(挿入先データ)の管理情報と挿入データの管理情報とを引数として、サブルーチンFindGroup を呼び出す(ステップS22)。
【0027】
例えば、図4においてグループαの下にグループβを挿入する指示があった場合、グループβが下位層を所有できるかどうかを調べる(ステップS21)。図6に示すグループβの管理情報を見ると、その子ポインタはメンバbを指しており、グループβは下位層を所有できるデータであることを示している。そこで、グループαの管理情報とグループβの管理情報を引数として、サブルーチンFindGroup を呼び出す(ステップS22)。
【0028】
サブルーチンFindGroup は、引数として渡された挿入先データおよび挿入データの管理情報をもとに、挿入データ以下の階層内を検索し、挿入先データの識別子と同じ識別子を持つデータの有無を検出する。同じ識別子のデータを検出した場合、その復帰値は1となる。
【0029】
次に、サブルーチンFindGroup の復帰値を検査し(ステップS23)、復帰値が1でなければ挿入データを挿入先データの下に挿入して(ステップS24)終了し、復帰値が1であればそのまま終了する。ここで、復帰値が1の場合は無限階層構造になることを表しており、それが1でない場合は無限階層構造にならないことを表している。
【0030】
ステップS22で挿入データが下位層を所有できない場合は、挿入データの下にデータ構造が繰り返されることがないので、そのまま挿入データを挿入先データの下に挿入して(ステップS24)、終了する。例えば、挿入データがメンバa、b、cのいずれかであれば、これらはともに下位層を所有できないデータなので、直ちに挿入先データの下に挿入される。
【0031】
次に、図7のサブルーチンFindGroup の処理について説明する。
まず、引数として渡された各管理情報からそれぞれの識別子を取り出して、両者を比較する(ステップS31)。両者が等しい場合は復帰値に1を設定して(ステップS39)、終了する。
【0032】
2つの識別子が異なる場合は、次に挿入データの下位層の先頭のデータの管理情報を取り出し(ステップS32)、そのデータが下位層を所有できるかどうかを調べる(ステップS33)。そのデータが下位層を所有できない場合は、挿入データの下位層内のデータを全て調べたかどうか判定する。同じ階層内にまだ調べていない次のデータがあれば、その管理情報を取り出し(ステップS35)、ステップS33以降の処理を繰り返す。挿入データの下位層内の全てのデータが下位層を所有できないことが分かれば、復帰値に0を設定して(ステップS36)、終了する。
【0033】
ステップS33でそのデータが下位層を所有できる場合は、引数として渡された挿入先データの管理情報と、取り出したそのデータの管理情報とを引数として、FindGroup を再帰的に呼び出す(ステップS37)。次に、再帰的に呼び出したFindGroup の復帰値を検査し(ステップS38)、それが1であれば呼出し元のFindGroup の復帰値に1を設定して(ステップS39)、終了する。再帰的に呼び出したFindGroup の復帰値が1でなければ、ステップS34以降の処理を行う。
【0034】
図7のステップS22において、グループαの管理情報とグループβの管理情報を引数として、サブルーチンFindGroup が呼び出された場合は、まずグループαの識別子とグループβの識別子を比較する(ステップS31)。図6よりグループα、βの識別子はそれぞれ1、2であり、両者は異なった値であるため、次に挿入データであるグループβの下位層の先頭にあるメンバbの管理情報を取り出す(ステップS32)。
【0035】
次に、メンバbが下位層を所有できるかどうかを調べる(ステップS33)。メンバbの管理情報には子ポインタが格納されておらず、メンバbは下位層を所有できないことが分かるので、グループβの下位層にある全てのデータを調べてたかどうかを判定する(ステップS34)。この判定は、メンバbの後ポインタがデータを指しているかどうかを調べることにより行われる。メンバbの後ポインタはメンバcを指しているので、グループβの下位層にはまだ調べていないメンバcがあることが分かり、その管理情報を取り出す(ステップS35)。
【0036】
次に、メンバcが下位層を所有できるかどうかを調べる(ステップS33)。しかし、メンバcは下位層を所有できないので、メンバcの後ポインタがデータを指しているかどうかを調べる(ステップS34)。メンバcの後ポインタは次のデータであるグループαを指しているので、その管理情報を取り出す(ステップS35)。
【0037】
次に、グループαは下位層を所有できるかどうかを調べる(ステップS33)。グループαの子ポインタはメンバaを指しており、グループαは下位層を所有できることが分かるので、引数として渡されたグループαの管理情報と、取り出したグループαの管理情報とを引き数として、FindGroup を再帰的に呼び出す(ステップS37)。再帰的に呼び出されたFindGroup は、2つの管理情報からそれぞれの識別子を取り出して比較する(ステップS31)。今の場合は2つの管理情報がともにグループαの管理情報であるため、それらの識別子はともに1である。したがって、2つの識別子は同じ値なので、復帰値1を呼出し元のFindGroup に返す(ステップS39)。
【0038】
一方、呼出し元のFindGroup は、再帰的に呼び出したFindGroup が復帰値1を返してきたので(ステップS38)、復帰値に1を設定して(ステップS39)、制御を呼出し元のデータ挿入処理へ戻す。
【0039】
ここで、最初に呼び出されたFindGroup の復帰値が1なので(ステップS23)、グループαの下にグループβを挿入する処理を行わずに終了する。こうして、グループαを下位層に持つグループβをグループαの下に挿入することが禁止され、無限階層の形成が防止できる。
【0040】
図7では、ステップS23においてFindGroup の復帰値が1のときは、そのデータ挿入を常に禁止するフローとなっているが、図3のステップS14と同様のステップを設けて、データ挿入を行うかどうかをユーザに問い合わせるようにしてもよい。これにより、無限階層のデータ構造を許すかどうかをユーザが指示することが可能になる。
【0041】
以上の実施例では、管理情報の子ポインタを利用して下位層のデータの管理情報を取り出し、識別子の値を調べて、データ構造を判定する方法を用いている。しかし、管理情報がそのデータの上位層にある親を指す情報を持っていれば、親の管理情報を順に取り出して、データ構造を判定することもできる。
【0042】
図9は、CPU1が階層構造データを上方に向かって検索してその構造を判定し、データ挿入を行う処理のフローチャートである。図9において処理が開始されると、まずCPU1はユーザから階層構造データを構成する第1のデータの下に第2のデータを挿入する指示を受け取る(ステップS41)。次に、第2のデータの識別子が、第1のデータおよびそれより上位のデータのうちいずれかの識別子と一致するかどうかを調べる(ステップS42)。もしいずれのデータの識別子とも一致しなければ、第1のデータの下に第2のデータを挿入して(ステップS43)、処理を終了する。
【0043】
第1のデータおよびそれより上位のデータの識別子の中に第2のデータの識別子と一致するものがあれば、その旨を入出力機器3を介してユーザに知らせて、データ挿入を行うかどうかを問い合わせる(ステップS44)。そして、ユーザがデータ挿入を許可すれば第1のデータの下に第2のデータを挿入し(ステップS43)、許可しなければそのまま処理を終了する。
【0044】
挿入先データである第1のデータ以上の階層内に、挿入データである第2のデータの識別子と同じ識別子を持つデータがあるとき、データ挿入を行うことにより上下方向に同じデータ構造が繰り返され、無限階層が生じることになる。図9のデータ挿入処理では、このような場合にユーザがデータ挿入を禁止することができる。
【0045】
図10は、図9のようなデータ挿入処理を行う場合のデータの管理情報の形式を示している。図10において、名称、識別子、子ポインタ、前ポインタ、後ポインタ、および実ポインタについては図5と同様である。親ポインタはそのデータの親データの管理情報を指すポインタであり、階層構造の最上位のデータ(ルート)の場合は何も指さないように設定される。この親ポインタを順に手繰ることにより、挿入先データより上位の階層のデータの管理情報を取り出すことができる。
【0046】
【発明の効果】
本発明によれば、チェインによって管理されたデータの構造を自動的に判定することが可能になる。これにより、階層構造のデータを操作する際に起こり得る無限階層の形成を未然に防ぐことができ、その階層構造が簡略化され、データ処理の高速化に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】実施例のシステム構成図である。
【図3】下方への検索によるデータ挿入処理のフローチャートである。
【図4】実施例の階層構造データを示す図である。
【図5】データの管理情報の形式を示す図である。
【図6】データの管理情報の例を示す図である。
【図7】データ挿入処理の詳細なフローチャートである。
【図8】サブルーチンのフローチャートである。
【図9】上方への検索によるデータ挿入処理のフローチャートである。
【図10】親ポインタを持つデータの管理情報の形式を示す図である。
【図11】階層構造データの例を示す図である。
【図12】無限階層にならないデータ挿入の例を示す図である。
【図13】無限階層になるデータ挿入の例を示す図である。
【符号の説明】
1 CPU
2 データ格納部
3 入出力機器
4 バス
Claims (6)
- 上下の関係を持つ2つ以上のデータから成る階層構造データを操作するデータ構造判定装置であって、
識別子を付加された、前記階層構造データの各要素となるデータを格納するデータ格納手段と、
第1のデータの下に第2のデータを挿入してできる上下方向のデータ列の中で、前記第2のデータが下位の第3のデータを所有できるかどうかを調べ、該第2のデータが該第3のデータを所有できれば、該第1のデータの識別子が、該第2のデータおよび該第2のデータより下位のデータのうちの1つのデータの識別子と一致するかどうかを調べ、該第1のデータの識別子が該1つのデータの識別子と一致すれば、該第1のデータの下に該第2のデータを挿入すると無限階層構造が生じると判定し、該第1のデータの識別子が該第2のデータおよび該第2のデータより下位のデータのうちのいずれのデータの識別子とも一致しなければ、該第1のデータの下に該第2のデータを挿入しても無限階層構造は生じないと判定し、該第2のデータが該第3のデータを所有できなければ、該第1のデータの下に該第2のデータを挿入しても無限階層構造は生じないと判定する処理手段と
を備えることを特徴とするデータ構造判定装置。 - 前記データ格納手段は、子ポインタを含む管理情報を前記階層構造データの各要素となるデータと関連付けて格納し、
前記処理手段は、前記管理情報を参照して、前記第2のデータが前記第3のデータを所有できるかどうかと、前記第1のデータの識別子が、該第2のデータおよび該第2のデータより下位のデータのうちの1つのデータの識別子と一致するかどうかを調べることを特徴とする請求項1記載のデータ構造判定装置。 - 前記処理手段は、無限階層構造が生じると判定したとき、前記第1のデータの下に前記第2のデータを挿入せず、無限階層構造が生じないと判定したとき、前記第1のデータの下に前記第2のデータを挿入するように構成されることを特徴とする請求項1記載のデータ構造判定装置。
- 前記処理手段は、前記第1のデータの識別子が前記第2のデータの識別子と一致しないとき、前記第3のデータが下位の第4のデータを所有できるかどうかを調べ、該第3のデータが該第4のデータを所有できれば、該第1のデータの識別子が、該第3のデータおよび該第3のデータより下位のデータのうちの1つのデータの識別子と一致するかどうかを調べ、該第1のデータの識別子が、該第3のデータおよび該第3のデータより下位のデータのうちの1つのデータの識別子と一致すれば、無限階層構造が生じると判定することを特徴とする請求項1記載のデータ構造判定装置。
- 前記処理手段は、前記第3のデータが前記第4のデータを所有できないとき、該第3のデータと同じ階層に下位のデータを所有できるデータがあるかどうかを調べ、該下位のデータを所有できるデータがなければ、無限階層構造は生じないと判定することを特徴とする請求項4記載のデータ構造判定装置。
- 前記処理手段が無限階層構造が生じると判定したとき、前記第1のデータの下に前記第2のデータを挿入するかどうかをユーザに問い合わせて、問い合わせに対する回答を受け取る入出力手段をさらに備え、
前記処理手段は、前記入出力手段がデータ挿入を行わない旨の回答を受け取ったとき、前記第1のデータの下に前記第2のデータを挿入せず、前記入出力手段がデータ挿入を行う旨の回答を受け取ったとき、前記第1のデータの下に前記第2のデータを挿入することを特徴とする請求項1記載のデータ構造判定装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07916595A JP3549608B2 (ja) | 1995-04-04 | 1995-04-04 | 識別子による階層構造データの構造判定方法および装置 |
US08/593,821 US5819280A (en) | 1995-04-04 | 1996-01-30 | Data structure determining method for hierarchically structured data corresponding to identifiers and apparatus thereof |
GB9602197A GB2299692B (en) | 1995-04-04 | 1996-02-02 | Data structuring of hierarchically structured data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07916595A JP3549608B2 (ja) | 1995-04-04 | 1995-04-04 | 識別子による階層構造データの構造判定方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08278974A JPH08278974A (ja) | 1996-10-22 |
JP3549608B2 true JP3549608B2 (ja) | 2004-08-04 |
Family
ID=13682360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07916595A Expired - Fee Related JP3549608B2 (ja) | 1995-04-04 | 1995-04-04 | 識別子による階層構造データの構造判定方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5819280A (ja) |
JP (1) | JP3549608B2 (ja) |
GB (1) | GB2299692B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2213371C (en) * | 1996-08-28 | 2003-01-28 | Hitachi, Ltd. | Process executing method and resource accessing method in computer system |
US6952705B2 (en) * | 1997-03-25 | 2005-10-04 | Mci, Inc. | Method, system and program product that utilize a hierarchical conceptual framework to model an environment containing a collection of items |
JP3912895B2 (ja) * | 1998-04-15 | 2007-05-09 | 富士通株式会社 | 構造化データ管理システム、構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び構造化データ管理方法 |
US6460028B1 (en) | 1999-12-03 | 2002-10-01 | T4Mupj2, Llc | System and method for data organization |
US6862566B2 (en) | 2000-03-10 | 2005-03-01 | Matushita Electric Industrial Co., Ltd. | Method and apparatus for converting an expression using key words |
US6910045B2 (en) | 2000-11-01 | 2005-06-21 | Collegenet, Inc. | Automatic data transmission in response to content of electronic forms satisfying criteria |
US7404121B2 (en) * | 2006-01-31 | 2008-07-22 | Verigy (Singapore) Pte. Ltd. | Method and machine-readable media for inferring relationships between test results |
WO2008085989A1 (en) | 2007-01-10 | 2008-07-17 | Richard Garfinkle | A software method for data storage and retrieval |
US20090150355A1 (en) * | 2007-11-28 | 2009-06-11 | Norton Garfinkle | Software method for data storage and retrieval |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4468728A (en) * | 1981-06-25 | 1984-08-28 | At&T Bell Laboratories | Data structure and search method for a data base management system |
US4611272A (en) * | 1983-02-03 | 1986-09-09 | International Business Machines Corporation | Key-accessed file organization |
US4606002A (en) * | 1983-05-02 | 1986-08-12 | Wang Laboratories, Inc. | B-tree structured data base using sparse array bit maps to store inverted lists |
US4554631A (en) * | 1983-07-13 | 1985-11-19 | At&T Bell Laboratories | Keyword search automatic limiting method |
JPH0646414B2 (ja) * | 1987-10-20 | 1994-06-15 | シャープ株式会社 | 情報処理装置 |
CA2001390C (en) * | 1988-12-19 | 1997-12-30 | Ming-Chien Shan | View composition in a data-base management system |
US5497344A (en) * | 1989-01-26 | 1996-03-05 | Sharp Kabushiki Kaisha | Data flow type information processor |
US5257365A (en) * | 1990-03-16 | 1993-10-26 | Powers Frederick A | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records |
JP2964831B2 (ja) * | 1993-03-31 | 1999-10-18 | 富士ゼロックス株式会社 | 構造データ処理装置 |
-
1995
- 1995-04-04 JP JP07916595A patent/JP3549608B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-30 US US08/593,821 patent/US5819280A/en not_active Expired - Fee Related
- 1996-02-02 GB GB9602197A patent/GB2299692B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5819280A (en) | 1998-10-06 |
JPH08278974A (ja) | 1996-10-22 |
GB9602197D0 (en) | 1996-04-03 |
GB2299692B (en) | 1999-10-06 |
GB2299692A (en) | 1996-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5499365A (en) | System and method for controlling versions of objects in an object oriented computing environment | |
US6094654A (en) | Data management system for file and database management | |
US5920867A (en) | Data management system having data management configuration | |
JP5735448B2 (ja) | コンピュータ支援による計算グラフの並列化 | |
US5594792A (en) | Methods and apparatus for modeling and emulating devices in a network of telecommunication systems | |
US6035297A (en) | Data management system for concurrent engineering | |
JP5042315B2 (ja) | ソースコード内のセキュリティ脆弱性の検出 | |
US7296297B2 (en) | System and method for using web-based applications to validate data with validation functions | |
US7363312B2 (en) | Combining data descriptions | |
US8370808B2 (en) | Apparatus and a method for generating a test case | |
WO1999046689A9 (en) | Execution of extended activity diagrams by code generation | |
US20060085461A1 (en) | System & method for using web based applications to manipulate data with manipulation functions | |
Atkinson | Core PHP Programming: using PHP to build dynamic Web sites | |
EP2126777A1 (en) | Data triple user access | |
JP3549608B2 (ja) | 識別子による階層構造データの構造判定方法および装置 | |
US7210126B2 (en) | Using identifiers and counters for controlled optimization compilation | |
US20060075013A1 (en) | System and method for relating computing systems | |
WO2002082260A2 (en) | Method and apparatus for building algorithms | |
JP2000029674A (ja) | アプリケ―ションソフトウェア構成方法 | |
US20060053106A1 (en) | Use of generated SQL for evaluation of decision point rules in a workflow system | |
US7373355B2 (en) | System and method for relating applications in a computing system | |
US6442572B2 (en) | Method of and computer system for performing a transaction on a database | |
US6842892B1 (en) | Automatic generation of an optimized API | |
JP3489216B2 (ja) | ファイルシステム | |
US20020019824A1 (en) | Method to generically describe and manipulate arbitrary data structures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040421 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080430 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |