JP2003157249A - 文書の圧縮格納方法 - Google Patents

文書の圧縮格納方法

Info

Publication number
JP2003157249A
JP2003157249A JP2001356456A JP2001356456A JP2003157249A JP 2003157249 A JP2003157249 A JP 2003157249A JP 2001356456 A JP2001356456 A JP 2001356456A JP 2001356456 A JP2001356456 A JP 2001356456A JP 2003157249 A JP2003157249 A JP 2003157249A
Authority
JP
Japan
Prior art keywords
document
identifier
node
schema
well
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.)
Pending
Application number
JP2001356456A
Other languages
English (en)
Inventor
Koji Ito
宏二 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DEGITAL WORKS KK
Original Assignee
DEGITAL WORKS KK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DEGITAL WORKS KK filed Critical DEGITAL WORKS KK
Priority to JP2001356456A priority Critical patent/JP2003157249A/ja
Publication of JP2003157249A publication Critical patent/JP2003157249A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 XML文書のように多様性のある文書を扱うの
に適しており、文書構造の変化ににも柔軟に対応でき、
比較的複雑な統計や分析処理の遂行も容易に可能となる
文書の圧縮格納方法を提供すること。 【解決手段】 文書構造の実データノードから実データ
を削除し要素識別子ノードとした整形式スキーマを生成
する。そして、整形式スキーマのそれぞれのノードに対
応する文書構造の各部分に、ノード識別子及び独自の要
素識別子を与え、該文書構造の上記部分の実データを、
ノード識別子及び独自の要素識別子に対応させて文書識
別子を付してメモリに格納する。整形式スキーマは、文
書構造の上記部分の各々の情報を、実データを除いた形
でノード識別子と独自の要素識別子によって表すデータ
構造の形で格納する。要素識別子、ノード識別子、文書
識別子の関連を規定する圧縮結果インデックスCRXを生
成してメモリに格納し、整形式スキーマの要素識別子と
該圧縮結果インデックスCRXの対応する組の集合を圧縮
結果セットCRSとしてメモリに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文書データをデー
タベースに格納するための方法に関する。特に本発明
は、拡張可能なマークアップ言語(XML)による文書の
処理に適した格納方法に関する。
【0002】
【従来の技術】XMLにより作成されたデータのデータベ
ースへの格納については、従来から種々の方法が提案さ
れている。その代表的な例としては、リレーショナルデ
ータベースマッピング型がある。この方式は、XMLの階
層構造をリレーショナルデータベースのリレーションで
表現し、XML要素の値や属性をテーブルのフィールドに
マッピングするものである。この方式は、データ構造が
固定的な場合に向いている、といわれており、データ構
造に変更があるときは、テーブルの再定義が必要にな
る。また、XML文書の階層構造が複雑になると、リレー
ショナルテーブルとの対応付けが困難になる。
【0003】他の方式としてオブジェクト指向データベ
ース型と呼ばれる方式がある。この方式は、XML文書をD
OMツリーとして管理するものであり、可変的な階層構造
をもつXML文書に対する操作性に優れている。しかし、
データアクセスのためにはDOMオブジェクトをメモリに
展開しなければならず、特に大量のXML文書を扱う場合
には、メモリに対する負荷が大きく、パフォーマンス及
びメモリソース管理の面で問題がある。
【0004】この他に、階層データベース型と呼ばれ
る、XML文書の階層構造を階層構造型のデータベースで
管理する方式がある。しかし、この方式は、XML文書の
階層構造の変化に対応することが困難である、という問
題を有する。すなわち、この方式は、リレーショナルデ
ータベースマッピング型と同様に、XML文書集合の構造
変化に伴ってデータベースへのデータ格納構造の変更を
余儀なくされるために、多様な構造のデータを扱うには
問題がある。
【0005】さらに、リレーショナルデータベースマッ
ピング型以外の方式は、複雑な統計や分析のための処理
が難しいという問題を有する。
【0006】
【発明が解決しようとする課題】本発明は、XML文書の
ように多様性のある文書を扱うのに適しており、文書構
造の変化ににも柔軟に対応でき、比較的複雑な統計や分
析処理の遂行も容易に可能となる文書の圧縮格納方法を
提供することを解決すべき課題とする。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明による文書の圧縮格納方法においては、最初
のステップとして、文書構造の実データノードから実デ
ータを削除し要素識別子ノードとした整形式スキーマを
生成する。そして、整形式スキーマのそれぞれのノード
に対応する文書構造の各部分に、ノード識別子及び独自
の要素識別子を与え、該文書構造の上記部分の実データ
を、上記ノード識別子及び上記独自の要素識別子に対応
させて文書識別子を付してメモリに格納する。また、整
形式スキーマにおいては、文書構造の上記部分の各々に
ついての情報を、実データを除いた形でノード識別子と
独自の要素識別子によって表すデータ構造の形で格納す
る。さらに、要素識別子、ノード識別子及び文書識別子
の関連を規定する圧縮結果インデックス(CRX)を生成
してメモリに格納し、整形式スキーマの要素識別子と該
圧縮結果インデックス(CRX)の対応する組の集合を圧
縮結果セット(CRS)としてメモリに格納する。上記の
過程において、文書構造の部分のうち、複数の文書に共
通する部分について、要素識別子、ノード識別子、及び
文書識別子の各々に関し共通の識別子を付与する。
【0008】本発明においては、文書構造の実データノ
ードから実データを削除し、要素識別子ノードとした整
形式スキーマを文書構造に対応して生成する。したがっ
て、文書構造に変化があっても、変化した文書構造に対
応した整形式スキーマを常時準備することができる。整
形式スキーマのそれぞれのノードに対応する文書構造の
各部分には、ノード識別子と独自の要素識別子を与え、
文書構造の各部分の実データには文書識別子を付し、ノ
ード識別子と独自の要素識別子に対応させてメモリに格
納する。ノード識別子、独自の要素識別子及び文書識別
子は、格納データの検索に際してのキーとなる。他の格
納されるデータ構造は、文書構造の各部分についての情
報を、実データを除いた形で、ノード識別子と同時の要
素識別子によって表すデータ構造の形で格納する整形式
スキーマと、要素識別子、ノード識別子及び文書識別子
の関連を規定する圧縮結果インデックス(CRX)と、整
形式スキーマの要素識別子と圧縮結果インデックス(CR
X)の対応する組の集合を表す圧縮結果セット(CRS)で
ある。これらの格納データ構造を使用して、文書の復
元、データの検索、集計などを支障なく、高速に達成す
ることができる。
【0009】文書が複数の文書単位を含む文書集合であ
る場合における本発明の方法は、複数の文書を含む文書
集合から単一文書を切り出して単位文書とし、該単位文
書の実データノードから実データを削除し要素識別子ノ
ードとした文書単位整形式スキーマを生成するステップ
を含む。そして、複数の単位文書についての文書単位整
形式スキーマを併合して文書集合整形式スキーマを生成
し、該文書集合整形式スキーマのそれぞれのノードに対
応する文書構造の各部分に、ノードのオブジェクト識別
子及び独自の要素識別子を与える。さらに、該文書構造
の各部分の実データを、ノード識別子及び独自の要素識
別子に対応させて文書識別子を付してメモリに格納す
る。また、文書集合整形式スキーマにおいては、文書構
造の各部分についての情報を、実データを除いた形でノ
ード識別子と独自の要素識別子によって表すデータ構造
の形で格納する。さらに、要素識別子、ノード識別子及
び文書識別子の関連を規定する圧縮結果インデックス
(CRX)を生成してメモリに格納し、整形式スキーマの
要素識別子と圧縮結果インデックス(CRX)の対応する
組の集合を圧縮結果セット(CRS)としてメモリに格納
する。この場合も、文書構造の各部分のうち、複数の文
書に共通する部分については、要素識別子、ノード識別
子及び文書識別子の各々に関し共通の識別子を付与す
る。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を図に
ついて詳細に説明する。
【0011】図1は、本発明の方法を実施した文書の圧
縮格納システムの全体を示すブロック図である。格納さ
れるデータとして、該システムの入力部INには、複数の
単位文書dを含む文書集合Dがある。本件例では、文書
dはXMLランゲージによりデジタル化されたXML文書であ
る。
【0012】図2に、2つの単位文書からなるXML文書
集合の例を示す。この例は、文書1及び文書2からなる
2通の発注書の例であり、それぞれの単位文書に発注書
番号として、ID=1及びID=2の標識がつけられる。この標
識が文書の開始タグとなる。また、文書の内容を示すも
のとして、発注書綴という見出しがあり、これがルート
タグになる。
【0013】図2に示すXML文書集合は、図3に示すよ
うな文書集合DOMに変換される。この文書集合DOMは、タ
グノードT、属性ノードATTR、テキストノードCDATAを備
え、図2に示す情報をすべて含む。図3に示す文書集合
DOMから、単位文書DOMが切り出される。文書1について
の単位文書DOMは図4(a)に示すものとなり、文書2につ
いての単位文書DOMは図4(b)に示すものとなる。
【0014】図4に示す単位文書DOMに基づいて、単位
文書整形式スキーマが生成される。文書1についての整
形式スキーマは、図5(a)に示すものとなり、文書2に
ついての整形式スキーマは、図5(b)に示すものとな
る。ここで、IDは識別子の略称であり、EIDは要素識別
子を表す。図5(a)及び図5(b)から分かるように、整形
式スキーマは、図4(a)及び図4(b)に示す単位文書DOM
の書くノードに対応するノードを備え、単位文書DOMか
ら、社名、住所についての各データ、電話番号、発注
日、担当者、発注内容などの実データを削除し、その位
置に要素識別子のノードEIDを設けたものである。
【0015】このようにして作成された単位文書整形式
スキーマは、XMLデータベースから読み出される文書集
合整形式スキーマと併合される。文書集合整形式スキー
マが最初の状態において空である場合には、文書1の整
形式スキーマを併合した後の文書集合整形式スキーマ
は、文書1についての単位文書整形式スキーマと同じ構
造になる。同様に、文書集合整形式スキーマが最初の状
態において空である場合には、文書2の整形式スキーマ
を併合した後の文書集合整形式スキーマは、文書2につ
いての単位文書整形式スキーマと同じ構造になる。相違
点は、文書集合整形式スキーマにおいては、各要素識別
子ノードに識別子として識別番号が付されることであ
る。文書1の単位文書整形式スキーマを併合した後の文
書集合整形式スキーマを図6(a)に、文書2の単位文書
整形式スキーマを併合した後の文書集合整形式スキーマ
を図6(b)に、それぞれ示す。この処理は、図1に示す
変換過程TRにおいて行われる。このようにして生成され
た文書集合整形式スキーマは、図1に示すようにXMLデ
ータベースとしてメモリに格納される。
【0016】次に、単位文書整形式スキーマに参照識別
子が記録される。この処理は、単位文書整形式スキーマ
のノードを順に参照し、対応する文書集合整形式スキー
マのノードから要素識別子を取得し、単位文書整形式ス
キーマの該当するノードにその要素識別子を書き込むこ
とにより行う。文書集合整形式スキーマが最初の状態に
おいて空である場合には、要素識別子が記録された後の
単位文書整形式スキーマの構造は、文書1についても、
文書2についても、文書集合整形式スキーマと同じ構造
になる。したがって、この処理後における単位整形式ス
キーマの図示は省略する。
【0017】図1に示すように、本発明のシステムにお
いては、XMLデータベースに、圧縮結果インデックスCRX
が格納されている。圧縮結果インデックスCRXは、ノー
ド識別子(ID)リストとノード構造体とで構成される。
ノード識別子は、原則として単位文書ごとに付与される
が、複数の単位文書間で共通する部分については、後の
単位文書においては先の単位文書において付与されたノ
ード識別子が共通して使用される。圧縮結果インデック
スCRXは、要素識別子ごとに生成される。すなわち、図
6(a)の文書集合整形式スキーマに対応する単位整形式
スキーマにおいては、要素識別子0が付与される発注書
属性IDの区域に1つのインデックスCRXが、要素識別子
1が付与される社名CDATAの区域に対して別の1つのイ
ンデックスCRXが、というように、作成される。
【0018】図7(a)は、文書1の登録後における要素
識別子0の区域、すなわちEID=0の区域におけるインデ
ックスCRXの例を示すものである。登録された文書は文
書1のみであるから、登録件数は1であり、ノードへの
ポインタは
〔0〕のみとなる。この場合におけるノード
識別子は0のみであるから、ノード構造体にはノードID
=0が示されることになる。ノード構造体は、キー値へ
のポインタ、文書識別子へのポインタ、左ノードへのポ
インタ、及び右ノードへのポインタを含む。文書1のみ
が登録されているから、キー値へのポインタを操作する
ことにより得られるキー値は「1」である。図7(b)は
要素識別子1、すなわちEID=1の区域における圧縮結果
インデックスCRXを示す。この区域では、キー値は発注
者名を示すものとなる。同様に、図7(c)ないし図7(n)
は、EID=2からEID=13までの区域に対応するインデッ
クスCRXを示す。
【0019】図8(a)は、文書1及び文書2の登録後に
おける要素識別子0の区域、すなわちEID=0の区域にお
けるインデックスCRXの例を示すものである。登録され
た文書は文書1及び文書2であるから、登録件数は2で
あり、ノードへのポインタは、
〔0〕及び〔1〕とな
る。この場合には、ノード識別子は0及び1であるか
ら、ノード構造体としては、ノードID=0の構造体とノ
ードID=1の構造体の2つが生成されることになる。文
書1のみの登録時と同様に、ノード構造体の各々は、キ
ー値へのポインタ、文書識別子へのポインタ、左ノード
へのポインタ、及び右ノードへのポインタを含む。文書
1及び文書2が登録されているから、キー値へのポイン
タを操作することにより得られるキー値は、いずれのノ
ード構造体からキー値を求めるかに応じて「1」又は
「2」となる。
【0020】文書2においては、発注者名、郵便番号そ
の他の発注者に関連するデータは文書1におけるものと
共通であるから、EID=1からEID=6までに対応するイン
デックスCRXは、図7(b)から図7(g)に示すものと同一
でよい。また、発注日も両文書において同一であるか
ら、文書2におけるEID=7に対応するインデックスCRX
も文書1のものと同一である。したがって、文書2につ
いては、図7(h)に対応するインデックスCRXは、文書1
についてのものを共用できる。
【0021】図8(b)は、要素識別子EID=8に対応する
担当者データを示す区域についてのインデックスCRXを
示すものである。図8(c)ないし図8(e)は、それぞれ要
素識別子EID=10ないしEID=12の区域におけるインデ
ックスCRXを示す。EID=9の区域においては、文書2の
インデックスCRXは、文書1のものと同一でよい。図8
(f)ないし図8(j)は、文書2により追加されたデータの
区域に対応するインデックスCRXを示す。
【0022】図8に示す例において、ノード構造体及び
ノードの成長の仕方は、2分木の手法に従っている。し
かし、圧縮結果インデックスCRXを構成する手法は2分
木に限定されるものではなく、その構成手法としては、
B木、B+木、PAT木、ハッシュテーブルなど、任意の
探索アルゴリズムを使用することができる。
【0023】圧縮結果インデックスCRXを更新する場合
には、文書DOMのノードと単位文書整形式スキーマのノ
ードとを対応させながら順に参照し、文書DOMのノード
に記録されたXML要素の属性値すなわちATTRの実データ
若しくは要素値すなわちCDATAの実データを取得し、こ
れをキー値としてCRXを検索する。検索の結果、キー値
が存在しない場合には新たなノード識別子を付してノー
ドを作成し、そのノードに該キー値を登録する。検索の
結果、キー値が存在する場合には、そのキー値のノード
を参照し、ノード識別子を取得する。このノード識別子
は、そのキー値の参照識別子となる。このようにして、
単位文書整形式スキーマの要素識別子EIDと圧縮結果イ
ンデックスCRXのノード識別子NIDの組(EID、NID)の集
合が取得される。
【0024】図示例における要素識別子EIDとノード識
別子NIDの組を要素識別子ごとに示すと図9、図10の
ようになる。図9は、文書1が登録された段階での上述
の組を示すものであり、図10は、文書2が登録された
段階での同様な組を示すものである。このようにして得
られた要素識別子EIDとノード識別子NIDの組は、要素識
別子EIDをソートキーとして昇順ソートした後、図1に
示すメモリ内の圧縮結果セットCRSに格納する。図11
及び図12に格納後の圧縮結果セットCRSの構成を示
す。図11は文書1が登録された段階における圧縮結果
セットCRSを、図12は文書2が登録された段階におけ
る圧縮結果セットCRSをそれぞれ示す。
【0025】要素識別子EIDとノード識別子NIDの組を上
述のように圧縮結果セットCRSに格納する際に、この組
に文書識別子DIDを割り当てる。割り当てられた文書識
別子DIDは、文書識別子管理ファイルに収められる。図
11及び図12に、文書識別子DIDを含む文書管理ファ
イルと圧縮結果セットCRSとの関係を示す。文書管理フ
ァイルにおいて、文書識別子DIDを参照する要素には、
圧縮結果セットCRSに格納した要素識別子EIDとノード識
別子NIDの組(EID、NID)の集合領域の先頭アドレスを
格納する。圧縮結果セットCRSにおけるデータの格納方
法としては、要素識別子EIDとノード識別子NIDの組(EI
D、NID)ごとにファイルを垂直分割する方法とすべての
組集合を一つのファイルに格納する方法とがある。前者
は、要素識別子EIDとノード識別子NIDの特定の組(EI
D、NID)だけを高速に抽出する検索に適しており、応用
面では多次元集計を高速化するのに効果的である。これ
に対して後者は、常に記録全体を参照するので、文書単
位の処理に適している。本件例においては、文書単位の
高速な登録と、更新、検索及び集計を行うトランザクシ
ョン型データベース管理システムに重点を置くために、
後者の手法を採用している。
【0026】上述した文書識別子DIDは、高速な検索を
実現するために、文書識別子リストファイルに格納され
る。この格納は、要素識別子ごとに文書識別子リストと
して文書識別子を文書識別子リストファイルに格納する
ことによって行われる。圧縮結果インデックスCRXにお
けるノード構造体には、図7及び図8に示すように、文
書識別子へのポインタが設けられ、文書識別子リストの
格納領域の先頭アドレスを該圧縮結果インデックスにお
ける文書識別子へのポインタにセットする。
【0027】図13(a)に、文書2の登録された後の段
階における発注者名に対応する要素識別子EID=1の区域
の圧縮結果インデックスCRX格納データと文書識別子リ
ストファイルとの関連を示す。ノード構造体の文書識別
子へのポインタに文書識別子リストファイルがリンクさ
れる。図13(b)は、要素識別子EID=8の区域に対応す
る同様な図である。ここでは、圧縮結果インデックスCR
Xの格納データは、2人の発注者に対応するように、2
つのノード構造体を有する。各ノード構造体の文書識別
子へのポインタは、文書識別子リストファイルのそれぞ
れ対応する文書識別子リストにリンクされている。図1
3(c)は、要素識別子EID=11の区域に対応する図であ
る。各ノード構造体のキー値へのポインタは、発注内容
を示す実データの格納個所にリンクされている。図13
(d)及び図13(e)は、それぞれ要素識別子EID=15及び
EID=16の区域に対応する同様な図である。
【0028】以上述べた手順で格納されたデータを有す
るXML文書データベースからXML文書を検索し再現する手
順を、種々の検索条件について以下に述べる。 (1) 検索条件なし(すべてのXML文書を出力する場合) 出力条件:発注書 意味:ルートノード(発注書以下のXML文書を出力す
る) 処理手順: (a) 図6に示す文書集合整形式スキーマをメモリに取
得し、その写像を生成する。 (b) 図12に示す文書識別子管理ファイルにおける文
書識別子DIDの組集合へのポインタを順に参照して、圧
縮結果セットCRSから組み集合を順に取得する。 (c) 文書集合整形式スキーマのノードをルートノード
(T:発注書)から順にたどり、各ノードの要素識別子EI
Dを取得する。 (d) 取得した要素識別子EIDを検索条件として、組集合
を検索する。検索が成功した場合には、自分が所属する
すべての親ノードを自分の位置から上位に戻りながら、
文書整形式スキーマの写像のノードに該当マークとノー
ド識別子NIDを付ける。この時、親ノードに既に該当マ
ークがついている場合には、必然的にそれよりも上位の
親ノードは該当マーク付きであるので、次の処理に移行
する。検索が失敗した場合には何もしない。 (e) 上記(b)(c)の手順を、文書集合整形式スキーマの
すべてのノードについて行う。 (f) 文書整形式スキーマのノードをルートノードから
順にたどり、ノードに該当マークが付いている場合に
は、ノードの階層と種別に応じて該当するデータを出力
する。例えば、Tの場合にはタグを、ATTRの場合には属
性値を、CDATAの場合には文字データを出力する。ATTR
及びCDATAに関しては、圧縮結果インデックスCRXの該当
する要素識別子EIDの区域におけるノード識別子NIDから
オリジナルのデータを取得して出力する。 (g) すべての文書識別子DIDについて同様の処理を行
う。文書1及び文書2の登録後の文書整形式スキーマの
写像に対して文書構造を再現した状態を図14(a)(b)に
示す。この文書構造に対応して再現された文書集合を図
15に示す。
【0029】(2) CDATAに検索条件を指定して部分文書
を出力する(単一条件の場合) 検索条件:/発注書/発注企業/社名="デジタル商店" 出力条件:/発注書/発注企業 意味:社名のCDATAが"デジタル商店"のXML文書を、
〔T:発注企業〕をルートタグとして出力する。
【0030】処理手順: (a) 文書集合整形式スキーマ(図8参照)をメモリに
取得し、写像を作る。 (b) 文書集合整形式スキーマを検索し/発注書/発注
企業/社名のノードのEID集合を取得する。ノードが存
在しない場合は、EID集合={}(空集合)となり該当文書
は無し。 (c) ノードのEID集合={1}なので、EID集合からEID=1を
取得し、CRXのEID=1の区域のノードを"デジタル商店"を
検索キーとして検索し、該当するノードが存在した場合
はノードの文書IDへのポインタを参照し文書IDリストフ
ァイル内のアドレスを取得し、文書IDリストファイルか
ら文書IDリストを取得する(図17 EID=1の区域を参
照のこと)。該当するノードが存在しない場合は文書ID
リスト=空集合とする。EID集合の要素数が2以上の場合
は、同様に繰り返して文書IDリストを取得し、全ての文
書IDリストの論理和集合を求め、最終的なDID集合を得
る。 (d) 文書集合整形式スキーマの写像の該当マーク=該当
無し、NID=値無しに設定する。 (e) DID集合の各々について順に文書集合整形式スキー
マの写像に該当マークとNIDの値を付加する。この処理
は、上記(1)の(b)から(e)までにおける処理と同じであ
る。 (f) 該当マークとNIDの値が付加された文書集合整形式
スキーマの写像の/発注書/発注企業のノードに位置付
ける。該ノードから下位のノードを順に辿り、ノードに
該当マークが付いているなら階層とノード種別に応じ
て、Tならタグ、ATTRなら"属性名=属性値"、CDATAなら
文字データを出力する。この時、ATTR とCDATAについて
はCRXのEID区域のNIDからオリジナルデータ値を取得し
出力する。
【0031】以上のように文書集合整形式スキーマの写
像を/発注書/発注企業のノードから下位に順にノード
をたどることでXML文書を復元できる。復元したXML文書
集合を図16に示す。 (3) CDATAに検索条件を指定して部分文書を出力する
(複数条件の場合) 検索条件:/発注書/発注企業/社名="デジタル商店"
AND /発注書/発注/発注内容/@CLASS="1" 出力条件:/発注書/発注/発注内容 意味:社名のCDATAが"デジタル商店"で、かつ発注内容
のATTR:CLASSが"1"のXML文書を、〔T:発注内容〕をル
ートタグとして出力する。
【0032】処理手順: (a) (2)と同様の手順にて第1の検索条件のDID集合=S1
={1, 2}を取得する(図17 EID=1の区域を参照のこ
と)。 (b) (2)と同様の手順にて第2の検索条件のDID集合=S2
={1, 2}を取得する(図17 EID=10の区域を参照のこ
と)。 (c) S1とS2論理積を求め、最終的なDID集合={1, 2}を
得る。 (d) 2個以上の検索条件式の場合も上記(a)から(c)ま
でと同様の手順を繰り返し、最終的な文書識別子DID集
合を得る。 (e) (2)と同様の手順で文書集合整形式スキーマの写像
に該当マークとNIDの値を付加する。 (f) 該当マークとNIDの値が付加された文書集合整形式
スキーマの写像の/発注書/発注/発注内容のノードに
位置付ける。該ノードから下位のノードを順に辿り、ノ
ードに該当マークが付いているなら階層とノード種別に
応じて、Tならタグ、ATTRなら"属性名=属性値"、CDATA
なら文字データを出力する。この時、ATTR とCDATAにつ
いてはCRXのEID区域のNIDからオリジナルデータ値を取
得し出力する。
【0033】以上のように文書集合整形式スキーマの写
像を/発注書/発注/発注内容のノードから下位に順に
ノードを辿ることでXML文書を復元できる。復元したXML
文書集合を図17に示す。
【0034】なお、論理演算子としては、論理積(AN
D)、論理和(OR)、論理差(NOT)および論理演算の優
先順位を制御する括弧「(」「」)を適用することがで
きる。上記の説明で明らかのように、如何なる複雑な検
索条件であってもCRXと文書IDリストファイルの組合せ
によって高速にDID集合を取得することができる。一旦D
ID集合が取得できれば文書集合整形式スキーマ、CRS、C
RXの組合せによって、任意の階層以下のXML文書を再現
できる。次に、XML文書データベースからXML文書を検索
し集計する処理手順について述べる。
【0035】集計は、検索によるDID集合取得、該当文
書集合の集約キー項目値の組集合及び集計対象項目値の
組集合の取得、集計処理の3段階の処理によって最終結
果を得る。以下の例では、検索処理の手順は省略し、後
段の処理に絞って説明する。用いる記号は前述したもの
と同じである。 (1) 全てのXML文書を集計する場合 検索条件:なし 集約キー項目:/発注書/発注企業/社名 集計対象項目:/発注書/発注/数量 出力条件:一覧表形式 /発注書/発注企業/社名, /発注書/発注/数量 意味:〔T:社名〕を集約キーとして〔T:数量〕を集計
し、XML文書を出力する。
【0036】処理手順: (a) 前述の手法と同様の手順により、文書識別子DID集
合を取得する。今回の場合は、DID集合=全件={1, 2}と
なる。 (b) /発注書/発注企業/社名と/発注書/発注/数
量のEIDの集合を取得する。/発注書/発注企業/社名
のEID={1}、/発注書/発注/数量のEID={13, 18}とな
る。 (c) 文書識別子DID集合の各々について、文書集合整形
式スキーマの写像から(EID, NID)の組の集合を取得す
る。DID=1のとき、/発注書/発注企業/社名の組集合
{(EID, NID)}={(1, 0)}、/発注書/発注/数量の組集
合{(EID, NID)}={(13, 0)}となる。DID=2のときは、/
発注書/発注企業/社名の組集合{(EID, NID)}={(1,
0)}、/発注書/発注/数量の組集合{(EID, NID)}={(1
3, 0), (18, 0)}となる。 (d) /発注書/発注企業/社名の組集合のNIDを集約キ
ー、/発注書/発注/数量の組集合{(EID, NID)}をCRX
を用いてオリジナルデータに変換後バイナリ数値に変換
する。多次元集計処理に入力するための{集約キー値の
組, 集計対象項目値の組}が取得できた場合には、任意
のアルゴリズムに基づく多次元集計処理によって{集約
キー値の組, 加算値の組, データ件数の組, 最大値の
組, 最小値の組}を計算することができる。多次元集計
処理は、入力された{集約キー値の組, 集計対象項目値
の組}において、集約キー値の組毎に集計対象項目値の
組毎の加算、最大値の入替え、最小値の入替えを行い、
加算値、トータル入力データ件数、最大値、最小値を集
計対象項目値の組毎に記録する。DID=1の場合、{集約キ
ー値の組, 集計対象項目値の組}={(0), (1)}となり、こ
の結果、{集約キー値の組, 加算値の組, データ件数の
組, 最大値の組, 最小値の組}={(0), (1), (1),(1),
(1)}となる。DID=2の場合、{集約キー値の組, 集計対象
項目値の組}={(0),({1, 1}) }となり、この結果、{集約
キー値の組, 加算値の組, データ件数の組, 最大値の
組, 最小値の組}={(0), (2), (2), (1), (1)}となる。 (e) 多次元集計処理によって記録されたデータ={集約
キー値の組, 加算値の組, データ件数の組, 最大値の
組, 最小値の組}={(0), (2), (2), (1), (1)}から集約
キー値、加算値を順に取得し、集約キー値(未だNIDの
ままである)を、CRXを利用してオリジナルデータに復
元し、加算値を十進数テキストデータに変換しXML文書
集合として出力する。
【0037】以上のように任意のノードのデータを集約
キーおよび集計対象項目に指定して多次元集計処理を効
率的に実行できる。出力したXML文書集合のイメージを
図18に示す。 (2) CDATAに検索条件を指定して集計する場合 検索条件:/発注書/発注/発注内容/@CLASS="1" 集約キー項目:/発注書/発注企業/社名 集計対象項目:/発注書/発注/数量 出力条件:一覧表形式/発注書/発注企業/社名, /発
注書/発注/数量 意味:T:発注内容のATTR:CLASS="2"を検索条件に該当
したDID集合に対し、"T:社名を集約キーとしてT:数量
を集計し、XML文書を出力する。
【0038】処理手順: (a) 前述の手法と同様の手順にてDID集合を取得する。
検索の処理手順は前述したものと全く同じである。今回
の場合はDID集合={2}となる。 (b) 後の処理は、(1)と全く同じである。出力したXML
文書集合のイメージを図19に示す。集約キーの組要素
が2個以上の場合及び集計対象項目の組要素が2個以上
の場合も全く同様に処理することができる。 次に、XML文書構造の変更の手順を説明する。
【0039】上述したことから明らかなように、XML文
書構造は、文書集合整形式スキーマ構造に併合して写像
され、要素毎に分解された要素値は、EIDとNIDがCRSに
格納されるとともにオリジナルデータ値がCRXに格納さ
れ、文書IDによって索引される構造をもっている。
【0040】実体データは、圧縮結果セットCRSと圧縮
結果インデックスCRXによって格納管理されるが、これ
ら実体データ内にはXML文書の階層構造情報は持たず、X
ML文書の階層構造情報は、専ら文書集合整形式スキーマ
構造によって保持される。
【0041】このような構造を使用すれば、XML文書デ
ータベースに格納されたXML文書集合に対するXML文書構
造の変更は、文書集合整形式スキーマ構造の変更によっ
て完了する。したがって、XML-DBに格納されたXML文書
集合に対する構造の変更は、極めて容易になる。
【0042】以上述べたように、本発明により、構造が
可変で不確定要素の多い、例えばXML文書のような文書
を扱うに際し、その文書構造が変化するばあいでも、実
データの格納構造を変更することなくXMLドキュメント
を管理することができ、しかも、高速な検索や複雑な統
計・分析を可能とするXMLデータベースを得ることが可
能になる。
【図面の簡単な説明】
【図1】本発明の方法の具体例をブロックにより示す系
統図である。
【図2a】本発明の方法を実施することができるXML文
書集合の一例を示す発注書の図である。
【図2b】本発明の方法を実施することができるXML文
書集合の一例を示す発注書の図である。
【図3a】図2の文書集合から生成された文書集合DOM
の例を示す概念図である。
【図3b】図2の文書集合から生成された文書集合DOM
の例を示す概念図である。
【図4a】図3に示す文書集合DOMから切り出された文
書1に関する単位文書DOMの概念図である。
【図4b】図3に示す文書集合DOMから切り出された文
書2に関する単位文書DOMの概念図である。
【図5a】図4aに示す文書集合DOMから生成された文
書1に関する単位文書整形式スキーマの概念図である。
【図5b】図4bに示す文書集合DOMから生成された文
書2に関する単位文書整形式スキーマの概念図である。
【図6a】文書1の単位整形式スキーマを併合した状態
における文書集合整形式スキーマの概念図である。
【図6b】文書2の単位整形式スキーマを併合した状態
における文書集合整形式スキーマの概念図である。
【図7a】文書1の登録後における要素識別子EID=0区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7b】文書1の登録後における要素識別子EID=1区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7c】文書1の登録後における要素識別子EID=2区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7d】文書1の登録後における要素識別子EID=3区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7e】文書1の登録後における要素識別子EID=4区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7f】文書1の登録後における要素識別子EID=5区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7g】文書1の登録後における要素識別子EID=6区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7h】文書1の登録後における要素識別子EID=7区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7i】文書1の登録後における要素識別子EID=8区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7j】文書1の登録後における要素識別子EID=9区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7k】文書1の登録後における要素識別子EID=10
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7l】文書1の登録後における要素識別子EID=11
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7m】文書1の登録後における要素識別子EID=12
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図7n】文書1の登録後における要素識別子EID=13
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8a】文書2の登録後における要素識別子EID=0区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8b】文書2の登録後における要素識別子EID=8区
域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8c】文書2の登録後における要素識別子EID=10
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8d】文書2の登録後における要素識別子EID=11
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8e】文書2の登録後における要素識別子EID=12
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8f】文書2の登録後における要素識別子EID=14
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8g】文書2の登録後における要素識別子EID=15
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8h】文書2の登録後における要素識別子EID=16
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8i】文書2の登録後における要素識別子EID=17
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図8j】文書2の登録後における要素識別子EID=18
区域に対応する圧縮結果インデックスCRXの概念図であ
る。
【図9】文書1の登録後における要素識別子EIDとノー
ド識別子NIDの組を各要素識別子EIDの区域について示す
概念図である。
【図10a】文書2の登録後における要素識別子EIDと
ノード識別子NIDの組を各要素識別子EIDの区域について
示す概念図である。
【図10b】文書2の登録後における要素識別子EIDと
ノード識別子NIDの組を各要素識別子EIDの区域について
示す概念図である。
【図11】文書1の登録後における圧縮結果セットCRS
を示す概念図である。
【図12】文書1の登録後における圧縮結果セットCRS
を示す概念図である。
【図13a】文書2の登録後における圧縮結果インデッ
クスCRXと文書識別子リストファイルを要素識別子EID=
1の区域について示す概念図である。
【図13b】文書2の登録後における圧縮結果インデッ
クスCRXと文書識別子リストファイルを要素識別子EID=
8の区域について示す概念図である。
【図13c】文書2の登録後における圧縮結果インデッ
クスCRXと文書識別子リストファイルを要素識別子EID=
11の区域について示す概念図である。
【図13d】文書2の登録後における圧縮結果インデッ
クスCRXと文書識別子リストファイルを要素識別子EID=
15の区域について示す概念図である。
【図13e】文書2の登録後における圧縮結果インデッ
クスCRXと文書識別子リストファイルを要素識別子EID=
16の区域について示す概念図である。
【図14a】文書1について文書集合整形式スキーマの
写像に対するXML文書の構造を再構成した状態を示す図
である。
【図14b】文書2について文書集合整形式スキーマの
写像に対するXML文書の構造を再構成した状態を示す図
である。
【図15a】再現したXML文書集合を示す図である。
【図15b】再現したXML文書集合を示す図である。
【図16】部分的に復元したXML文書を示す図である。
【図17】部分的に復元したXML文書の他の例を示す図
である。
【図18】項目指定して出力した文書の例を示す図であ
る。
【図19】条件指定して出力した文書の例を示す図であ
る。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 文書構造の実データノードから実データ
    を削除し要素識別子ノードとした整形式スキーマを生成
    し、 前記整形式スキーマのそれぞれのノードに対応する文書
    構造の各部分に、ノード識別子及び各部分独自の要素識
    別子を与え、 該文書構造の前記部分の実データを、前記ノード識別子
    及び前記独自の要素識別子に対応させてメモリに格納
    し、 前記整形式スキーマにおいては、前記文書構造の前記部
    分の各々についての情報を、実データを除いた形でノー
    ド識別子と独自の要素識別子によって表すデータ構造の
    形で格納し、 要素識別子及びノード識別子の関連を規定する圧縮結果
    インデックス(CRX)を生成してメモリに格納し、 前記整形式スキーマの要素識別子と前記圧縮結果インデ
    ックス(CRX)の対応する組の集合を圧縮結果セット(C
    RS)としてメモリに格納し、 文書構造の前記部分のうち、複数の文書に共通する部分
    については、前記要素識別子及び前記ノード識別子の各
    々に関し共通の識別子を付与する、ことを特徴とする文
    書の圧縮格納方法。
  2. 【請求項2】 複数の文書を含む文書集合から単一文書
    を切り出して単位文書とし、 前記単位文書の実データノードから実データを削除し要
    素識別子ノードとした文書単位整形式スキーマを生成
    し、 複数の単位文書についての文書単位整形式スキーマを併
    合して文書集合整形式スキーマを生成し、 前記文書集合整形式スキーマのそれぞれのノードに対応
    する文書構造の各部分に、ノード識別子及び各部分独自
    の要素識別子を与え、 該文書構造の前記部分の実データを、前記ノード識別子
    及び前記独自の要素識別子に対応させてメモリに格納
    し、 前記文書集合整形式スキーマにおいては、前記文書構造
    の前記部分の各々についての情報を、実データを除いた
    形でノード識別子と独自の要素識別子によって表すデー
    タ構造の形で格納し、 要素識別子及びノード識別子の関連を規定する圧縮結果
    インデックス(CRX)を生成してメモリに格納し、 前記整形式スキーマの要素識別子と前記圧縮結果インデ
    ックス(CRX)の対応する組の集合を圧縮結果セット(C
    RS)としてメモリに格納し、 文書構造の前記部分のうち、複数の文書に共通する部分
    については、前記要素識別子及び前記ノード識別子の各
    々に関し共通の識別子を付与する、ことを特徴とする文
    書の圧縮格納方法。
  3. 【請求項3】 請求項2に記載した方法であって、前記
    単位文書ごとに文書識別子を付与し、前記文書識別子の
    リストを含む文書管理ファイルを設け、文書識別子に基
    づいてデータの検索を行うことができるようにしたこと
    を特徴とする文書の圧縮格納方法。
  4. 【請求項4】 請求項1から請求項3までのいずれか1
    項2に記載した方法であって、前記文書はXML文書であ
    ることを特徴とする文書の圧縮格納方法。
JP2001356456A 2001-11-21 2001-11-21 文書の圧縮格納方法 Pending JP2003157249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001356456A JP2003157249A (ja) 2001-11-21 2001-11-21 文書の圧縮格納方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001356456A JP2003157249A (ja) 2001-11-21 2001-11-21 文書の圧縮格納方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007132482A Division JP4562749B2 (ja) 2007-05-18 2007-05-18 文書の圧縮格納方法及び装置

Publications (1)

Publication Number Publication Date
JP2003157249A true JP2003157249A (ja) 2003-05-30

Family

ID=19167971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001356456A Pending JP2003157249A (ja) 2001-11-21 2001-11-21 文書の圧縮格納方法

Country Status (1)

Country Link
JP (1) JP2003157249A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457812B2 (en) 2004-10-29 2008-11-25 Kabushiki Kaisha Toshiba System and method for managing structured document
WO2012115194A1 (ja) * 2011-02-25 2012-08-30 ディジタル・ワークス株式会社 分散型データベースシステムおよび分散型データベースのデータ構造
US8954400B2 (en) 2004-09-13 2015-02-10 International Business Machines Corporation Method, system and program product for managing structured data
JP2016519810A (ja) * 2013-03-15 2016-07-07 アマゾン・テクノロジーズ・インコーポレーテッド 半構造データのためのスケーラブルな分析プラットフォーム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223750U (ja) * 1988-07-26 1990-02-16
JPH0744563A (ja) * 1993-07-30 1995-02-14 Hitachi Ltd 多重文書処理システム及び方法
JPH08249338A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース概念スキーマ統合支援装置
JPH11110384A (ja) * 1997-07-01 1999-04-23 Hitachi Ltd 構造化文書検索表示方法及び装置
JP2001217720A (ja) * 2000-02-04 2001-08-10 Internatl Business Mach Corp <Ibm> データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223750U (ja) * 1988-07-26 1990-02-16
JPH0744563A (ja) * 1993-07-30 1995-02-14 Hitachi Ltd 多重文書処理システム及び方法
JPH08249338A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース概念スキーマ統合支援装置
JPH11110384A (ja) * 1997-07-01 1999-04-23 Hitachi Ltd 構造化文書検索表示方法及び装置
JP2001217720A (ja) * 2000-02-04 2001-08-10 Internatl Business Mach Corp <Ibm> データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徳永 健伸, 言語と計算5 情報検索と言語処理, vol. 初版, CSNB200100266001, 25 November 1999 (1999-11-25), pages 39 - 41, ISSN: 0000829980 *
鬼沢友和,外2名: "XML文書の統一化手法", 第62回全国大会講演論文集(3), CSNJ200200009001, 13 March 2001 (2001-03-13), pages 101 - 102, ISSN: 0000780916 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954400B2 (en) 2004-09-13 2015-02-10 International Business Machines Corporation Method, system and program product for managing structured data
US7457812B2 (en) 2004-10-29 2008-11-25 Kabushiki Kaisha Toshiba System and method for managing structured document
WO2012115194A1 (ja) * 2011-02-25 2012-08-30 ディジタル・ワークス株式会社 分散型データベースシステムおよび分散型データベースのデータ構造
JP2012178025A (ja) * 2011-02-25 2012-09-13 Degital Works Kk 分散型データベースシステムおよび分散型データベースのデータ構造
CN103384878A (zh) * 2011-02-25 2013-11-06 数创株式会社 分布式数据库系统和分布式数据库的数据结构
JP2016519810A (ja) * 2013-03-15 2016-07-07 アマゾン・テクノロジーズ・インコーポレーテッド 半構造データのためのスケーラブルな分析プラットフォーム
US10275475B2 (en) 2013-03-15 2019-04-30 Amazon Technologies, Inc. Scalable analysis platform for semi-structured data
US10983967B2 (en) 2013-03-15 2021-04-20 Amazon Technologies, Inc. Creation of a cumulative schema based on an inferred schema and statistics

Similar Documents

Publication Publication Date Title
US6970882B2 (en) Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table
JP4045399B2 (ja) 構造化文書管理装置及び構造化文書管理方法
US8356029B2 (en) Method and system for reconstruction of object model data in a relational database
US6665677B1 (en) System and method for transforming a relational database to a hierarchical database
US5909570A (en) Template mapping system for data translation
US8429519B2 (en) Presentation generator
US8161004B2 (en) XML sub-document versioning method in XML databases using record storages
US6925462B2 (en) Database management system, and query method and query execution program in the database management system
US20090043796A1 (en) Method and system for compressing a tree
US20020143742A1 (en) Apparatus, method, and program for retrieving structured documents
JPH0934763A (ja) ファイル管理装置およびファイル管理方法
US7668888B2 (en) Converting object structures for search engines
US7159171B2 (en) Structured document management system, structured document management method, search device and search method
JP4562749B2 (ja) 文書の圧縮格納方法及び装置
US7287216B1 (en) Dynamic XML processing system
CN112800143A (zh) 一种数据对象的结构和数据对象动态管理的方法
JP2003157249A (ja) 文書の圧縮格納方法
US7433882B2 (en) Data management system and computer program
JP3655177B2 (ja) 商品情報データベースシステム
JP2007310845A (ja) データ処理システム
JP2000113007A (ja) Cad/pdm連携システム、cad/pdm連携方法、cad/pdm連携プログラムが記録されたコンピュータ読み取り可能な記録媒体
JPH0934906A (ja) 図書管理装置
JP3980326B2 (ja) データ管理方法およびコンピュータ読み取り可能な記録媒体
JPH0285963A (ja) 地図データ属性データ一元管理方式
JP3498926B2 (ja) 文書データベース管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070727

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130