[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000348038A - Device and method for storing data for semi-structured database - Google Patents

Device and method for storing data for semi-structured database

Info

Publication number
JP2000348038A
JP2000348038A JP11154783A JP15478399A JP2000348038A JP 2000348038 A JP2000348038 A JP 2000348038A JP 11154783 A JP11154783 A JP 11154783A JP 15478399 A JP15478399 A JP 15478399A JP 2000348038 A JP2000348038 A JP 2000348038A
Authority
JP
Japan
Prior art keywords
data
subtree
node
information
tree
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.)
Withdrawn
Application number
JP11154783A
Other languages
Japanese (ja)
Inventor
Hiroshi Ishikawa
博 石川
Yasuhiko Kanemasa
泰彦 金政
Kazumi Kubota
和己 久保田
Yasuo Noguchi
泰生 野口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11154783A priority Critical patent/JP2000348038A/en
Publication of JP2000348038A publication Critical patent/JP2000348038A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently retrieve large-scale data in a semi-structured database. SOLUTION: A designating means 1 designates the structure of a partial tree which can be a retrieving object by using the label, etc., of an edge in tree structure data. An extraction means 2 extracts information of at least one partial tree suited to the designated structure and a storing means 3 gathers information of a node, edge, etc., included in the extracted tree by each partial tree to store in a physical storing area.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、半構造データベー
スを構成するために用いられるデータ格納装置およびそ
の方法に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a data storage device and a method for constructing a semi-structured database.

【0002】[0002]

【従来の技術】従来のリレーショナルデータベースやオ
ブジェクト指向データベース等においては、あらかじめ
データ構造を定義するスキーマとスキーマに従うデータ
の集まりとが管理される。
2. Description of the Related Art In a conventional relational database, object-oriented database, or the like, a schema defining a data structure and a group of data according to the schema are managed in advance.

【0003】例えば、リレーショナルデータベースを用
いて蔵書目録等を作るときは、書籍のスキーマを作る際
に、著者、書籍名、出版社等の属性を定義する。しか
し、著者の人数は事前に決定できないため、通常は著者
の人数の上限を仮定して、スキーマではその上限の人数
までの繰り返しを定義する。このため、上限を超える数
の著者により執筆された書籍が出現した場合には、その
情報を格納することができない。
For example, when creating a book catalog or the like using a relational database, attributes such as an author, a book name, and a publisher are defined when a book schema is created. However, since the number of authors cannot be determined in advance, the schema usually defines an upper limit for the number of authors, and the schema defines repetitions up to the upper limit. For this reason, if a book written by more authors than the upper limit appears, that information cannot be stored.

【0004】これに対して、オブジェクト指向データベ
ースでは、スキーマにより任意数の繰り返しを記述でき
るので、このような問題は解決できる。しかし、あらか
じめ想定していた属性と全く異なるものを格納する必要
があるときには、やはり対応することができない。例え
ば、蔵書目録のスキーマに著者の所属組織の属性が定義
されていない場合、研究レポートの研究機関の名前等を
格納することができない。
On the other hand, in an object-oriented database, an arbitrary number of repetitions can be described by a schema, so that such a problem can be solved. However, when it is necessary to store an attribute that is completely different from the attribute assumed in advance, it cannot be handled. For example, if the attribute of the organization to which the author belongs is not defined in the collection catalog schema, the name of the research institution of the research report cannot be stored.

【0005】このように、リレーショナルデータベース
やオブジェクト指向データベースを利用できる分野は、
あらかじめ業務の分析ができ、扱うデータの構造を限定
できるような分野である。したがって、外部から新規の
構造のデータを収集して格納する用途には、これらのデ
ータベースは適していない。例えば、小説等を想定した
蔵書目録のスキーマでは、研究レポートのような文献が
飛び込んできた場合に、著者の人数や所属組織等の属性
を格納できずに困ることになる。
As described above, fields in which a relational database or an object-oriented database can be used are as follows.
This is an area where the business can be analyzed in advance and the structure of the data to be handled can be limited. Therefore, these databases are not suitable for the purpose of collecting and storing data of a new structure from the outside. For example, in a schema of a collection catalog assuming a novel or the like, when a document such as a research report jumps in, it becomes difficult to store attributes such as the number of authors and the organization to which the author belongs.

【0006】これに対して、半構造(semi-structured
)データベースでは、リレーショナルデータベースや
オブジェクト指向データベースとは異なり、データ構造
を規定するスキーマがなく、データの中に構造情報が一
緒に管理される。このため、半構造データベースは、あ
らかじめ想定していない新規の構造を持つ未知データ
を、通信ネットワークや外部のソースから収集して格納
していくことが可能である。
On the other hand, semi-structured
2.) In a database, unlike a relational database or an object-oriented database, there is no schema for defining a data structure, and structural information is managed together in data. For this reason, the semi-structure database can collect and store unknown data having a new structure that is not assumed in advance from a communication network or an external source.

【0007】近年のネットワークの発達により、様々な
業務分野で外部から新規の構造のデータを収集して管理
するシステムが必要になっている。これらの分野におい
ては、新規の構造のデータを格納するために半構造デー
タベースが利用されるようになるだろうと期待される。
With the development of networks in recent years, a system for collecting and managing data of a new structure from outside in various business fields is required. In these areas, it is expected that semi-structured databases will be used to store new structured data.

【0008】最近では、半構造データベースが、特に、
XML(extensible markup language)等で記述された
構造化文書のデータベース化に利用できるとして注目を
集めている。XMLは、電子商取引等で使われるデータ
構造で、その需要は急激に増加しており、これを取り扱
うデータベースやそのデータベースを核としたインフラ
ストラクチャが望まれている。すでに、半構造データベ
ースに格納されることを前提にしたXMLデータに関す
る問い合わせ言語が、W3C(The World WideWeb Cons
ortium )により提案されている。
More recently, semi-structured databases, in particular,
Attention has been drawn to its use as a database of structured documents described in extensible markup language (XML) or the like. XML is a data structure used in electronic commerce and the like, and its demand is rapidly increasing. A database that handles the XML and an infrastructure centered on the database are desired. A query language for XML data that is presumed to be stored in a semi-structured database is already W3C (The World Wide Web Constraint).
ortium).

【0009】そこで、半構造データベースにおけるデー
タモデルと格納形式について説明する。半構造データベ
ースはスキーマを持たず、データの中に構造情報を持っ
ている。半構造データベースとして提案されているシス
テムはいくつかあるが、そのデータモデルは、おおむね
図37に示すようなものである。
Therefore, a data model and a storage format in the semi-structured database will be described. Semistructured databases do not have schemas, but have structural information in the data. Some systems have been proposed as semi-structured databases, but their data models are generally as shown in FIG.

【0010】図37のデータモデルは、ノードとエッジ
(リンク)からなる木構造で表現され、複数の論文に関
するデータを表している。エッジにはデータの属性を表
現するラベルが付けられ、末端のノードには値が格納さ
れる。ラベル“paper”、“id”、“titl
e”、“author”、“name”、“posit
ion”、“page”、“firstpage”、お
よび“lastpage”は、それぞれ、論文、論文I
D(識別子)、タイトル、著者、著者名、著者の所属組
織、ページ情報、最初のページ、および最後のページを
表している。
The data model of FIG. 37 is represented by a tree structure composed of nodes and edges (links), and represents data on a plurality of papers. A label representing the attribute of the data is attached to the edge, and a value is stored in the terminal node. Labels “paper”, “id”, “titl
e "," author "," name "," post "
, “page”, “firstpage”, and “lastpage” are a dissertation and a dissertation I, respectively.
D (identifier), title, author, author name, author's organization, page information, first page, and last page.

【0011】このような木構造モデルを表現するため
に、半構造データベースでは、エッジ情報とノード情報
が分離して記憶装置上に格納される。エッジは、その両
端のノードのノードIDとエッジのラベルからなるテー
ブル形式で格納され、ノードは、ノードIDとノードの
値を納めたレコードからなるテーブル形式で格納され
る。このようなデータモデルと格納形式により、半構造
データベースでは、外部から取得した新規の構造のデー
タを自由に追加することが可能である。
In order to express such a tree structure model, in a semi-structure database, edge information and node information are separately stored in a storage device. The edge is stored in a table format including the node IDs of the nodes at both ends thereof and the label of the edge, and the node is stored in a table format including records in which the node IDs and the values of the nodes are stored. With such a data model and storage format, it is possible to freely add externally acquired data of a new structure in the semi-structured database.

【0012】また、半構造データベースでは、一般的
に、以下のようなインデックスを用いてデータ検索の高
速化が図られている。 (1)値インデックス 値からノードIDを求める値インデックスを使って、検
索条件の値や範囲から、それに適合するノードIDを検
索することができる。 (2)構造(パス)インデックス パスからノードIDを求める構造インデックスを使っ
て、検索条件のパスからノードIDを検索することがで
きる。パスは木構造モデルの枝を指定する情報であり、
通常、1つ以上のエッジのラベルを用いて表される。図
37のデータモデルの場合は、例えば、“/paper
/author/name”というパスと2つのノード
ID“3”、“6”の対応関係が構造インデックスに登
録され、このパスからノードID“3”、“6”を検索
できる。 (3)エッジインデックス エッジの両端のノードのノードIDに対するエッジイン
デックスを使って、ノードIDからそのノードに隣接す
るエッジを求めることができる。これにより、エッジを
辿る(トラバースする)処理が高速化される。
[0012] In a semi-structured database, data retrieval is generally speeded up using the following indexes. (1) Value index Using a value index for obtaining a node ID from a value, a node ID that matches the value can be searched from the value or range of the search condition. (2) Structure (Path) Index The node ID can be searched from the path of the search condition using the structure index for obtaining the node ID from the path. The path is information that specifies the branch of the tree structure model.
Usually represented using one or more edge labels. In the case of the data model of FIG. 37, for example, “/ paper
The correspondence between the path "/ author / name" and the two node IDs "3" and "6" is registered in the structure index, and the node IDs "3" and "6" can be searched from this path. The edge adjacent to the node can be obtained from the node ID using the edge index for the node ID of the node at both ends of the edge, thereby speeding up the process of traversing the edge.

【0013】[0013]

【発明が解決しようとする課題】しかしながら、上述し
た従来の半構造データベースに大規模なデータを格納し
てデータ検索を行う場合、以下の理由により、十分な性
能が得られない可能性がある。 (1)検索対象の部分木に含まれるデータが物理記憶領
域に分散する。
However, when large-scale data is stored in the above-described conventional semi-structured database for data search, sufficient performance may not be obtained for the following reasons. (1) Data included in a subtree to be searched is distributed to physical storage areas.

【0014】ノードおよびエッジの各テーブル内ではレ
コードの並び順に特に制限がないので、図37の“pa
per”以下の部分木のような単一の部分木に属するノ
ードやエッジが、物理記憶領域に分散して格納される可
能性がある。このため、この部分木を検索する際に記憶
装置へのアクセスに膨大な時間を要し、検索対象を1つ
のレコードとして格納できるリレーショナルデータベー
スに比べて不利となる。 (2)検索対象の部分木内のトラバースが必要である。
In each of the node and edge tables, there is no particular limitation on the order of records.
Nodes and edges belonging to a single subtree such as a subtree below “per” may be distributed and stored in the physical storage area. Therefore, when searching for this subtree, It takes an enormous amount of time to access the file, which is disadvantageous compared to a relational database that can store a search target as one record. (2) A traversal in a subtree to be searched is required.

【0015】例えば、著者名が“金政泰彦”でタイトル
が“xxxx”の“paper”というような検索の場
合、木構造モデルではエッジを辿る処理、すなわち、部
分木内のトラバースが必要になる。エッジインデックス
を用いてトラバースを高速化したとしても、検索対象を
1つのレコードとして格納できるリレーショナルデータ
ベースに比べて不利となる。 (3)構造インデックスは必ずしも効果的ではない。
For example, in the case of a search such as “paper” with the author name “Yasuhiko Kinmasa” and the title “xxxx”, the tree structure model requires processing for tracing edges, ie, traversal in a subtree. Even if the speed of the traverse is increased by using the edge index, it is disadvantageous compared to a relational database that can store a search target as one record. (3) The structure index is not always effective.

【0016】構造インデックスは、データの構造(パ
ス)が多種なわりには同じ構造のデータの数が少ないと
きに、効果の大きな技術である。これに対して、同じ構
造のデータが大量にある場合は、絞り込みがきかず、効
果が小さい。
The structure index is a technique effective when the data structure (path) is various but the number of data having the same structure is small. On the other hand, when there is a large amount of data having the same structure, it is difficult to narrow down and the effect is small.

【0017】本発明の課題は、半構造データベースにお
いて、大規模なデータの検索を効率化するデータ格納装
置およびその方法を提供することである。
It is an object of the present invention to provide a data storage device and a method for efficiently searching large-scale data in a semi-structured database.

【0018】[0018]

【課題を解決するための手段】図1は、本発明のデータ
格納装置の原理図である。図1のデータ格納装置は、指
定手段1、抽出手段2、および格納手段3を備える。
FIG. 1 is a diagram showing the principle of a data storage device according to the present invention. The data storage device of FIG. 1 includes a designation unit 1, an extraction unit 2, and a storage unit 3.

【0019】指定手段1は、木構造データにおいて、検
索対象となる可能性のある部分木の構造を指定し、抽出
手段2は、その木構造データから、指定された構造に適
合する部分木を抽出する。そして、格納手段3は、抽出
された部分木の情報をまとめて格納する。
The specifying means 1 specifies a partial tree structure which may be a search target in the tree structure data, and the extracting means 2 extracts a partial tree conforming to the specified structure from the tree structure data. Extract. Then, the storage unit 3 collectively stores the information of the extracted partial trees.

【0020】検索対象となる可能性のある部分木の構造
とは、木構造データ内でデータ検索の対象となることが
予想されるような部分木を定義する情報である。指定手
段1は、例えば、特定のラベルを指定情報として入力す
ることで、そのラベルを持つエッジの下に接続された部
分木を指定することができる。このような指定情報は、
例えば、ユーザが入力したり、システムが自動的に生成
して入力したりする。
The structure of a subtree that may be a search target is information that defines a subtree that is expected to be a data search target in tree structure data. For example, by inputting a specific label as specification information, the specifying unit 1 can specify a subtree connected below an edge having the label. Such designation information,
For example, the input is made by the user, or the system automatically generates and inputs.

【0021】抽出手段2は、木構造データを走査して、
指定された構造に適合する1つ以上の部分木の情報を抽
出し、格納手段3は、抽出された部分木に含まれるノー
ド、エッジ等の情報をまとめて格納する。このとき、格
納手段3は、例えば、1つの部分木の情報を物理的に近
接した連続領域にまとめて格納する。したがって、複数
の部分木が抽出された場合には、部分木毎に情報がまと
められて格納される。
The extracting means 2 scans the tree structure data,
The storage unit 3 extracts information of one or more subtrees conforming to the specified structure, and collectively stores information on nodes, edges, and the like included in the extracted subtree. At this time, the storage unit 3 collectively stores, for example, information of one partial tree in a physically adjacent continuous area. Therefore, when a plurality of subtrees are extracted, information is grouped and stored for each subtree.

【0022】このようなデータ格納装置によれば、指定
された構造の部分木の情報が分散することなくまとめて
格納されるため、その部分木を検索対象としてデータ検
索が行われたとき、必要な情報に効率良くアクセスする
ことができる。したがって、大規模な半構造データベー
スにおいても、データ検索が効率化される。
According to such a data storage device, information on subtrees having a specified structure is stored together without being dispersed, so that when a data search is performed on the subtree as a search target, Information can be accessed efficiently. Therefore, even in a large-scale semi-structured database, data retrieval is made more efficient.

【0023】また、指定手段1は、検索対象となる可能
性のある部分木内の1つ以上のパスを個別に指定して、
それらのパスにより構成される構造を指定することもで
きる。この場合、抽出手段2は、木構造データから、指
定されたパスの末端にあるノードを抽出し、格納手段3
は、抽出されたノードの情報をまとめて格納する。
The specifying means 1 individually specifies one or more paths in a subtree which may be a search target,
It is also possible to specify a structure consisting of those paths. In this case, the extracting means 2 extracts the node at the end of the designated path from the tree structure data,
Collectively stores information on the extracted nodes.

【0024】このようなデータ格納装置によれば、1つ
以上のパス上に格納された情報が分散することなくまと
めて格納されるため、それらの情報を検索対象としてデ
ータ検索が行われたとき、必要な情報に効率良くアクセ
スすることができる。
According to such a data storage device, information stored on one or more paths is stored collectively without being dispersed, so that when such data is searched for, a data search is performed. , And necessary information can be efficiently accessed.

【0025】例えば、図1の指定手段1は、後述する図
35の入力装置23に対応し、図1の抽出手段2は、図
35のCPU(中央処理装置)21とメモリ22に対応
する。また、図1の格納手段3は、例えば、図35のメ
モリ22、外部記憶装置25、または可搬記録媒体2
9、あるいは、後述する図36のデータベース30に対
応する。
For example, the designation means 1 in FIG. 1 corresponds to the input device 23 in FIG. 35 described later, and the extraction means 2 in FIG. 1 corresponds to the CPU (central processing unit) 21 and the memory 22 in FIG. The storage unit 3 in FIG. 1 is, for example, the memory 22, the external storage device 25, or the portable recording medium 2 in FIG.
9 or the database 30 of FIG. 36 described later.

【0026】[0026]

【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を詳細に説明する。本実施形態のデータ
格納装置では、半構造データベースの中に存在している
複数の類似の構造を指定して、データアクセスを効率化
するような格納形式を採用する。これにより、リレーシ
ョナルデータベースやオブジェクト指向データベースに
おけるスキーマに基づく最適化と同等の効果が得られ
る。また、既存のリレーショナルデータベースやオブジ
ェクト指向データベースを補助的に用いることで、半構
造データベースにおけるデータ検索が高速化される。
Embodiments of the present invention will be described below in detail with reference to the drawings. In the data storage device of the present embodiment, a plurality of similar structures existing in the semi-structured database are designated to adopt a storage format that makes data access more efficient. As a result, an effect equivalent to the optimization based on the schema in the relational database or the object-oriented database can be obtained. In addition, by using an existing relational database or object-oriented database as an auxiliary, data retrieval in a semi-structured database is speeded up.

【0027】まず、木構造モデルの部分木のクラスタリ
ングを行って、木構造モデルをノード毎に分割してデー
タベースに格納することで、検索を高速化することを考
える。データを格納する際に、検索対象となることが予
想される部分木をあらかじめ指定して、その部分木内の
情報を物理的に近接する格納領域(近傍領域)にまとめ
て格納することで、検索を高速化することができる。
First, it is considered that the retrieval is speeded up by clustering a partial tree of the tree structure model, dividing the tree structure model for each node, and storing the divided nodes in a database. When storing data, a subtree that is expected to be a search target is specified in advance, and information in the subtree is collectively stored in a physically adjacent storage area (neighboring area), thereby performing a search. Can be speeded up.

【0028】例えば、図37の木構造モデルにおいて、
“paper”以下の部分木を検索対象として指定し、
データベースの更新時に、その部分木内の情報をノード
およびエッジの各テーブル内でなるべく連続領域に配置
する。これにより、図2のようなノードテーブルと図3
のようなエッジテーブルが得られる。リレーショナルデ
ータベースの場合は、ノードテーブルとエッジテーブル
がそれぞれ異なるリレーションとして実装される。
For example, in the tree structure model of FIG.
Specify the subtree under “paper” as a search target,
When the database is updated, the information in the subtree is arranged in a continuous area as much as possible in each node and edge table. Thereby, the node table as shown in FIG.
Is obtained. In the case of a relational database, the node table and the edge table are implemented as different relations.

【0029】図2において、“ID”はノードIDを表
し、“VALUE”はそのノードの値を表す。ここで
は、ノード“1”、“2”、“3”、“4”、“6”、
“7”、“8”、および“9”に対して、それぞれ、値
“12”、“○○に関する研究”、“金政泰彦”、“富
士通研究所”、“久保田和己”、“富士通研究所”、
“58”、および“63”が格納されている。
In FIG. 2, "ID" represents a node ID, and "VALUE" represents a value of the node. Here, nodes “1”, “2”, “3”, “4”, “6”,
For “7”, “8”, and “9”, the values “12”, “Research on XX”, “Yasuhiko Kanasa”, “Fujitsu Laboratories”, “Kazuki Kubota”, “Fujitsu Research” Place ",
“58” and “63” are stored.

【0030】また、図3において、“LABEL”はエ
ッジのラベルを表し、“ID”はそのエッジの両端のノ
ードのノードIDを表す。ここでは、指定された部分木
内の12個のエッジのラベルと、各エッジの両端のノー
ドのノードIDが格納されている。これらのテーブルを
用いれば、1つの“paper”に属する様々な属性デ
ータを、1回のアクセスで記憶装置から主記憶に読み出
すことが可能になる。
In FIG. 3, "LABEL" indicates a label of an edge, and "ID" indicates a node ID of a node at both ends of the edge. Here, labels of 12 edges in the specified subtree and node IDs of nodes at both ends of each edge are stored. By using these tables, various attribute data belonging to one “paper” can be read from the storage device to the main storage by one access.

【0031】このように、検索対象となる可能性のある
部分木のノードやエッジを記録媒体の物理的な近傍領域
にまとめて格納することにより、記録媒体アクセスの頻
度が減少し、検索の高速化が図られる。
As described above, by storing nodes and edges of a partial tree which may be a search target in a physically neighboring area of the recording medium, the frequency of access to the recording medium is reduced, and the search speed is reduced. Is achieved.

【0032】次に、部分木をレコード化して、検索を高
速化することを考える。部分木の一部の情報を1つのレ
コードとして集めることにより、部分木内のトラバース
を軽減して、検索をさらに高速化することができる。部
分木のレコード化は、次のようにして行われる。
Next, consider the case where the subtree is converted into a record to speed up the retrieval. By collecting information of a part of the subtree as one record, the traversal in the subtree can be reduced, and the search can be further speeded up. The recording of the partial tree is performed as follows.

【0033】まず、部分木に選択規則を作用させること
で、レコードを生成する。選択規則は、部分木内の1つ
以上のパスを個別に数え上げて指定する指定情報であ
り、部分木内のパス群を外延的に記述している。この選
択規則は、ユーザまたは外部のシステムから与えられる
か、またはシステムにより自動的に生成される。
First, a record is generated by applying a selection rule to a subtree. The selection rule is specification information for individually enumerating and specifying one or more paths in the subtree, and describes the path group in the subtree in an extensible manner. This selection rule is provided by the user or an external system, or is automatically generated by the system.

【0034】例えば、図4の部分木T1は、ノード“n
1”、“n2”、“n3”、“n4”、“n5”、およ
び“n6”と、エッジ“e1”、“e2”、“e3”、
“e4”、“e5”、および“e6”からなっている。
For example, the subtree T1 in FIG.
1, "n2", "n3", "n4", "n5", and "n6", and edges "e1", "e2", "e3",
It consists of “e4”, “e5”, and “e6”.

【0035】部分木T1に属するパスは、{e1/e
2,e1/e2,e1/e2,e3,e4/e5,e
6}の6つである。このうち、5つのパスの末端のノー
ド“n1”、“n2”、“n3”、“n4”、および
“n6”には、それぞれ、値“abc”、“xyz”、
“ijk”、“100”、および“300”が格納され
ている。
The path belonging to the subtree T1 is represented by {e1 / e
2, e1 / e2, e1 / e2, e3, e4 / e5, e
It is six of 6}. Of these, the nodes “n1”, “n2”, “n3”, “n4”, and “n6” at the end of the five paths have values “abc”, “xyz”,
“Ijk”, “100”, and “300” are stored.

【0036】ここで、パス“e1/e2”を出現順に2
つ選択し、パス“e3”および“e6”を出現順に1つ
ずつ選択して、それらの4つのパスを1つのレコードに
まとめることを意味する選択規則{e1/e2,e1/
e2,e3,e6}を適用する。この場合、パス“e4
/e5”は選択されない。
Here, the paths "e1 / e2" are set in the order of appearance by 2
And selecting the paths “e3” and “e6” one by one in the order of appearance, and selecting those four paths into one record, a selection rule {e1 / e2, e1 /
e2, e3, e6} are applied. In this case, the path “e4
/ E5 "is not selected.

【0037】この選択規則により生成されたレコードr
1は、選択されたパスに対応する4つのフィールドf
1、f2、f3、およびf4を含む。そして、これらの
フィールドには、それぞれ、値“abc”、“xy
z”、“100”、および“300”が格納される。こ
のように、各フィールドには、対応するパスにより指定
されるノードの値が格納される。
Record r generated by this selection rule
1 is the four fields f corresponding to the selected path
1, f2, f3, and f4. The values “abc” and “xy” are stored in these fields, respectively.
"z", "100", and "300" are stored in each field as described above, and the value of the node specified by the corresponding path is stored in each field.

【0038】また、図5の部分木T2は、ノード“n
7”、“n8”、“n9”、“n10”、および“n1
1”と、エッジ“e1”、“e2”、“e3”、“e
4”、“e5”、“e6”、および“e7”からなって
いる。部分木T2に属するパスは、{e1/e2,e
3,e4/e5,e6,e7}の5つである。このう
ち、3つのパスの末端のノード“n7”、“n8”、お
よび“n10”には、それぞれ、値“lmn”、“40
0”、および“500”が格納されている。
Further, the subtree T2 in FIG.
7, "n8", "n9", "n10", and "n1"
1 "and edges" e1 "," e2 "," e3 "," e
4 ”,“ e5 ”,“ e6 ”, and“ e7. ”The paths belonging to the subtree T2 are {e1 / e2, e
3, e4 / e5, e6, e7}. Of these, the nodes “n7”, “n8”, and “n10” at the terminal of the three paths have values “lmn”, “40”, respectively.
"0" and "500" are stored.

【0039】部分木T2に、上述の選択規則{e1/e
2,e1/e2,e3,e6}を適用すると、レコード
r2が生成される。この場合、フィールドf1、f2、
f3、およびf4には、それぞれ、値“lmn”、“N
ULL”、“400”、および“500”が格納され
る。フィールドf2の“NULL”は、選択規則の2番
目のパス“e1/e2”に対応するパスが部分木T2に
存在しないことを表している。
In the subtree T2, the above selection rule {e1 / e
2, e1 / e2, e3, e6}, a record r2 is generated. In this case, the fields f1, f2,
f3 and f4 have values “lmn” and “N”, respectively.
“NULL” in the field f2 indicates that a path corresponding to the second path “e1 / e2” of the selection rule does not exist in the subtree T2. ing.

【0040】次に、生成されたレコードへのポインタを
部分木に付加する。このとき、部分木のルートに新たな
エッジ“er”を付加し、このエッジ“er”の先に新
たなノードを生成して、そのノードにレコードへのポイ
ンタを格納する。これにより、部分木のルートとレコー
ドがエッジ“er”を介して結合される。そして、レコ
ードに集められたパス群に含まれるエッジとノードを部
分木から削除し、レコードには、新たに生成されたノー
ドへのポインタを格納する。
Next, a pointer to the generated record is added to the subtree. At this time, a new edge “er” is added to the root of the subtree, a new node is generated ahead of the edge “er”, and a pointer to a record is stored in that node. As a result, the root of the subtree and the record are connected via the edge “er”. Then, edges and nodes included in the path group collected in the record are deleted from the subtree, and a pointer to the newly generated node is stored in the record.

【0041】図4および図5のデータにこのような操作
を施すと、図6のようなデータ表現が得られる。図6に
おいては、修正された部分木T1′およびT2′と、選
択規則{e1/e2,e1/e2,e3,e6}と、レ
コードr1およびr2とにより、データ表現が最適化さ
れている。
When such operations are performed on the data shown in FIGS. 4 and 5, a data representation as shown in FIG. 6 is obtained. In FIG. 6, the data representation is optimized by the modified partial trees T1 'and T2', the selection rule {e1 / e2, e1 / e2, e3, e6}, and the records r1 and r2.

【0042】部分木T1′のルートにはエッジ“er”
を介してノード“n12”が付加され、このノードには
レコードr1へのポインタ“p−r1”が格納される。
また、レコードr1のフィールドf0には、ノード“n
12”へのポインタ“p−n12”が格納される。
The root of the subtree T1 'has an edge "er"
, A node "n12" is added, and a pointer "p-r1" to the record r1 is stored in this node.
The field f0 of the record r1 contains the node “n”.
12 "is stored.

【0043】部分木T2′のルートにはエッジ“er”
を介してノード“n13”が付加され、このノードには
レコードr2へのポインタ“p−r2”が格納される。
また、レコードr2のフィールドf0には、ノード“n
13”へのポインタ“p−n13”が格納される。
The root of the subtree T2 'has an edge "er"
, A node "n13" is added, and a pointer "pr-2" to the record r2 is stored in this node.
In the field f0 of the record r2, the node "n"
13 "is stored.

【0044】図7は、このようにして最適化された部分
木を繋ぎ合わせた全体木のデータ表現を示している。一
般には、複数の選択規則を用いて部分木の構造を定義す
ることにより、様々な部分木をレコード化することがで
きる。ここでは、2つの選択規則S1={s1,s2,
s3}、S2={s4,s5,s6,s7}を用いて、
それぞれ異なる部分木群に対応するレコード群R1、R
2を生成している。
FIG. 7 shows a data representation of the whole tree obtained by joining the subtrees thus optimized. In general, various subtrees can be recorded by defining the structure of the subtree using a plurality of selection rules. Here, two selection rules S1 = {s1, s2,
s3}, S2 = {s4, s5, s6, s7},
Record groups R1 and R respectively corresponding to different subtree groups
2 has been generated.

【0045】修正された全体木に格納されたポインタp
−r1,p−r2,...,p−rnは、それぞれ、レ
コード群R1のレコードr1,r2,...,rnを指
し、ポインタp−r(n+1),p−r(n+
2),...,p−rmは、それぞれ、レコード群R2
のレコードr(n+1),r(n+2),...,rm
を指している。
Pointer p stored in the modified whole tree
-R1, p-r2,. . . , P-rn are records r1, r2,. . . , Rn, and pointers pr (n + 1), pr (n +
2),. . . , P-rm are respectively the record group R2
Records r (n + 1), r (n + 2),. . . , Rm
Pointing to.

【0046】リレーショナルデータベースとのアナロジ
ーでとらえれば、選択規則がスキーマに対応し、レコー
ド群がリレーションに対応し、レコードがタプルに対応
する。また、修正された全体木にレコードへのポインタ
が存在している点が、リレーショナルデータベースとは
異なっている。
In terms of analogy with a relational database, selection rules correspond to schemas, records correspond to relations, and records correspond to tuples. Further, the point that a pointer to a record exists in the corrected whole tree is different from the relational database.

【0047】このような修正された全体木のノードとエ
ッジをテーブル形式で格納すると、図8のようなデータ
ベースが得られる。図8では、ノードテーブルおよびエ
ッジテーブルが、修正された全体木の情報に対応し、選
択規則S1、S2とレコード群R1、R2に対応する2
つのレコードテーブルが、全体木から削除された情報に
対応する。
When the nodes and edges of such a modified whole tree are stored in a table format, a database as shown in FIG. 8 is obtained. In FIG. 8, the node table and the edge table correspond to the information of the corrected whole tree, and correspond to the selection rules S1 and S2 and the record groups R1 and R2.
One record table corresponds to information deleted from the entire tree.

【0048】リレーショナルデータベースの場合は、こ
れらのテーブルがそれぞれ異なるリレーションとして実
装され、選択規則は部分木内のパス群の指定情報として
保存される。こうしてレコード化された部分木に関して
も、レコード用のインデックス等を用いて検索の高速化
を図ることが可能である。
In the case of a relational database, these tables are implemented as different relations, and the selection rules are stored as path group designation information in the subtree. Even for the subtrees that have been recorded in this way, it is possible to speed up the search by using a record index or the like.

【0049】次に、このようにして格納されたデータを
検索する手順について説明する。例えば、図37のよう
な木構造モデルにおいて、選択規則を{/paper/
id/,/paper/title/,/paper/
author/name/}として、部分木をレコード
化する。
Next, a procedure for retrieving data stored in this manner will be described. For example, in a tree structure model as shown in FIG. 37, the selection rule is set to {/ paper /
id /, / paper / title /, / paper /
Record the subtree as author / name /}.

【0050】これにより、各論文の論文ID、タイト
ル、および第1著者名の情報が全体木から削除されて、
それらの値が、それぞれ、レコードのフィールドf1、
f2、およびf3に格納される。第1著者の所属組織、
第2著者以降の著者名および所属組織、ページ情報等は
全体木に残される。
As a result, information on the article ID, title, and first author of each article is deleted from the entire tree.
These values are the fields f1,
stored in f2 and f3. Organization of the first author,
The names of authors, affiliations, page information, etc. after the second author remain in the entire tree.

【0051】こうして生成された最適化データベースに
おいて、タイトルが“xxxx”で著者名が“yyy
y”の論文をデータ検索装置が検索する場合の手順は、
以下のようになる。 [P1]まず、データ検索装置は、図9に示すように、
部分木のレコード群において、f2(title)およ
びf3(name)のインデックスを順に使って、与え
られた検索条件“f2:xxxx AND f3:yy
yy”を満たすレコードを検索する。そして、得られた
レコードを結果A1として保持する。また、タイトルに
対する検索条件“f2:xxxx”のみを用いて絞り込
みを行い、得られたレコードを中間結果B1として保持
する。 [P2]次に、図10に示すように、全体木においてパ
ス“/paper/author/name/”を用い
て第2著者以降の著者名を検索し、著者名に対する検索
条件“yyyy”を満たすノード“6”を求める。そし
て、そのノードからエッジを辿ってその部分木に含まれ
るエッジ“er”を求め、そのエッジの先のノード“1
4”に格納されたレコードへのポインタ“p−ri”を
取り出す。このような処理を繰り返して、得られたポイ
ンタの集合{p−ri,p−rj,...}を中間結果
B2として保持する。 [P3]次に、中間結果B1と中間結果B2をジョイン
して、中間結果B2の各ポインタが指すレコードを中間
結果B1から抽出し、得られたレコードを結果A2とし
て保持する。 [P4]結果A1は、タイトルが“xxxx”で第1著
者名が“yyyy”の論文のレコードに対応し、結果A
2は、タイトルが“xxxx”で第2著者以降の著者名
が“yyyy”の論文のレコードに対応する。そこで、
結果A1と結果A2のユニオン(和集合)を求めて、検
索結果とする。
In the generated optimization database, the title is “xxxx” and the author is “yyy”.
The procedure when the data retrieval device retrieves the article "y" is as follows:
It looks like this: [P1] First, as shown in FIG.
In the record group of the subtree, the given search condition “f2: xxxx AND f3: yy” is sequentially used using the indexes of f2 (title) and f3 (name).
yy ”is retrieved, and the obtained record is stored as the result A1. Also, the search is performed using only the search condition“ f2: xxxx ”for the title, and the obtained record is used as the intermediate result B1. [P2] Next, as shown in Fig. 10, the entire tree is searched for the author names of the second and subsequent authors using the path "/ paper / author / name /", and the search condition "yyyy" for the author name is obtained. Then, an edge “er” included in the subtree is obtained by tracing an edge from the node, and a node “1” ahead of the edge is obtained.
4 ". The pointer" p-ri "to the record stored in the record No. 4 is taken out. By repeating such processing, the obtained set of pointers {p-ri, p-rj, ...} is set as the intermediate result B2. [P3] Next, the intermediate result B1 and the intermediate result B2 are joined, a record indicated by each pointer of the intermediate result B2 is extracted from the intermediate result B1, and the obtained record is stored as the result A2. P4] The result A1 corresponds to the record of the dissertation whose title is “xxxx” and whose first author is “yyyy”.
Reference numeral 2 corresponds to a record of a dissertation whose title is "xxxx" and whose second and subsequent author names are "yyyy". Therefore,
A union (union) of the result A1 and the result A2 is obtained and set as a search result.

【0052】これらのレコードのフィールドf1の論文
IDを用いれば、論文のテキストや添付図等の情報を得
ることができる。また、ページ情報等の全体木に残って
いる属性データを求める場合は、レコードのフィールド
f0のポインタを用いて、全体木に残された部分木を辿
ればよい。
By using the article ID in the field f1 of these records, information such as the text of the article and attached drawings can be obtained. When the attribute data remaining in the entire tree such as page information is obtained, the partial tree left in the entire tree may be traced using the pointer of the field f0 of the record.

【0053】この検索方法の特徴は、[P1]のレコー
ド群の検索にあり、レコード化された部分木を用いるこ
とで、部分木内のトラバースを抑制することができる。
したがって、検索対象のレコード化率を上げれば、検索
速度をリレーショナルデータベースに近づけることが可
能である。また、[P1]と[P2]の処理を並列に行
えば、検索速度はさらに向上する。
The feature of this search method lies in the search for the record group of [P1]. Traversal in the subtree can be suppressed by using the recorded subtree.
Therefore, if the record conversion rate of the search target is increased, the search speed can be made closer to the relational database. If the processes of [P1] and [P2] are performed in parallel, the search speed is further improved.

【0054】次に、上述した部分木のクラスタリングと
選択的レコード化の処理について、より詳細に説明す
る。まず、図37の部分木のクラスタリングにおいて、
図2のノードテーブルと図3のエッジテーブルをリレー
ショナルデータベースのテーブルとして格納する場合を
考える。この場合、データベースへのアクセスには、S
QL(structured query language )等のインタフェー
スが用いられる。ここでは、高速化のため、図3のエッ
ジテーブルを図11、12、13に示す3つのテーブル
に分割して格納し、さらに、図14のパステーブルを追
加している。これらのテーブルは、それぞれ、リレーシ
ョナルデータベースの異なるリレーションとして実装さ
れる。
Next, the processing of the above-described clustering of subtrees and selective recording will be described in more detail. First, in the clustering of the subtree in FIG.
Consider a case where the node table of FIG. 2 and the edge table of FIG. 3 are stored as tables of a relational database. In this case, to access the database, S
An interface such as QL (structured query language) is used. Here, in order to increase the speed, the edge table of FIG. 3 is divided into three tables shown in FIGS. 11, 12 and 13 and stored, and the path table of FIG. 14 is further added. Each of these tables is implemented as a different relation in a relational database.

【0055】図11のラベルテーブルは、ラベルID
(LABELID)とラベル(LABEL)の対応関係
を格納し、図12の親ノードテーブルは、ノードID
(ID)、そのノードの親ノードのノードID(PAR
ENT)、およびそれらのノードを結ぶエッジのラベル
のラベルID(LABELID)の対応関係を格納す
る。
The label table shown in FIG.
(LABELID) and a label (LABEL) are stored, and the parent node table of FIG.
(ID), the node ID of the parent node of the node (PAR
ENT) and a label ID (LABELID) of an edge label connecting these nodes is stored.

【0056】また、図13の子ノードテーブルは、ノー
ドID(ID)、そのノードの子ノードのノードID
(CHILD)、およびそれらのノードを結ぶエッジの
ラベルのラベルID(LABELID)の対応関係を格
納し、図14のパステーブルは、ノードID(ID)と
ルートノードからそのノードに至るパス(PATH)の
対応関係を格納する。
The child node table shown in FIG. 13 includes a node ID (ID) and a node ID of a child node of the node.
(CHILD) and a label ID (LABELID) of an edge label connecting those nodes are stored. The path table in FIG. 14 shows the node ID (ID) and the path from the root node to the node (PATH). Store the correspondence of

【0057】ノードテーブルは、値インデックスとして
用いることができ、親ノードテーブルと子ノードテーブ
ルは、エッジインデックスとして用いることができ、パ
ステーブルは、構造インデックスとして用いることがで
きる。
The node table can be used as a value index, the parent node table and the child node table can be used as edge indexes, and the path table can be used as a structure index.

【0058】これらのテーブルで用いられる属性データ
のデータ型と長さは、例えば、図15に示すようにな
る。図15において、データ型“NUMBER”は数を
表し、データ型“VARCHAR2”は可変長文字列を
表す。また、図2のノードテーブルと図11のラベルテ
ーブルは、それぞれ、深さ優先(depth-first traversa
l )アルゴリズムによりクラスタリングされている。
The data types and lengths of the attribute data used in these tables are as shown in FIG. 15, for example. In FIG. 15, the data type “NUMBER” represents a number, and the data type “VARCHAR2” represents a variable-length character string. Further, the node table of FIG. 2 and the label table of FIG. 11 are respectively depth-first traversa.
l) Clustered by algorithm.

【0059】明示的に検索対象の部分木を指定しないで
クラスタリングを行う場合は、全体木に対してクラスタ
リングのアルゴリズムを指定することにより、階層的に
部分木がクラスタリングされる。したがって、図37に
示されていない他の論文の部分木についても、同様のク
ラスタリングが行われ、その結果が各テーブルに追加さ
れる。このようなクラスタリングによれば、木構造モデ
ルの各階層において、1つの部分木に属するノードやエ
ッジの情報が近傍領域にまとめて格納され、検索が高速
化される。
When clustering is performed without explicitly specifying a subtree to be searched, the subtree is hierarchically clustered by specifying a clustering algorithm for the entire tree. Therefore, the same clustering is performed on the subtrees of other papers not shown in FIG. 37, and the result is added to each table. According to such clustering, information on nodes and edges belonging to one subtree is collectively stored in a neighboring area in each hierarchy of the tree structure model, and the search is speeded up.

【0060】図16は、このようなクラスタリングに基
づくデータ格納処理のフローチャートである。データ格
納装置は、まず、ルートノードを現在ノードとしてセッ
トし(ステップST1)、現在ノードをデータベースに
格納する(ステップST2)。
FIG. 16 is a flowchart of data storage processing based on such clustering. First, the data storage device sets the root node as the current node (step ST1), and stores the current node in the database (step ST2).

【0061】次に、現在ノードが終端ノードか否かをチ
ェックする(ステップST3)。終端ノードとは、図3
7のノード“3”等のように、それより下にエッジが存
在しないノードを意味する。現在ノードが終端ノードで
なければ、まだトラバースされていないエッジの1つを
選択し、現在エッジとしてセットする(ステップST
7)。そして、現在エッジを下方向にトラバースして、
子ノードを現在ノードにセットし(ステップST8)、
ステップST2以降の処理を繰り返す。ステップST2
では、現在ノードと現在エッジがデータベースに格納さ
れる。
Next, it is checked whether or not the current node is a terminal node (step ST3). The terminating node is shown in FIG.
It means a node having no edge below it, such as node “3” of No. 7. If the current node is not the terminal node, one of the edges that have not been traversed is selected and set as the current edge (step ST
7). And traverse the current edge downward,
Set the child node as the current node (step ST8)
The processing after step ST2 is repeated. Step ST2
Now, the current node and the current edge are stored in the database.

【0062】ステップST3において、現在ノードが終
端ノードであれば、現在エッジを上方向にトラバースし
て、親ノードを現在ノードにセットする(ステップST
4)。そして、現在ノードのすべてのエッジについて、
下方向のトラバースが終了したか否かをチェックし(ス
テップST5)、トラバースされていないエッジがあれ
ば、ステップST2以降の処理を繰り返す。
In step ST3, if the current node is the terminal node, the current edge is traversed upward and the parent node is set as the current node (step ST3).
4). And for all edges of the current node,
It is checked whether or not the downward traverse has been completed (step ST5), and if there is an edge that has not been traversed, the processing from step ST2 is repeated.

【0063】ステップST5において、すべてのエッジ
が下方向にトラバースされていれば、現在ノードがルー
トノードか否かをチェックする(ステップST6)。現
在ノードがルートノードでなければ、ステップST4以
降の処理を繰り返し、現在ノードがルートノードであれ
ば、処理を終了する。
In step ST5, if all edges have been traversed downward, it is checked whether the current node is the root node (step ST6). If the current node is not the root node, the process from step ST4 is repeated, and if the current node is the root node, the process ends.

【0064】図17は、図16のステップST2におけ
る現在ノードと現在エッジの格納処理のフローチャート
である。データ格納装置は、まず、現在ノードをノード
テーブルに追加する(ステップST11)。次に、現在
エッジが選択されていれば、そのラベルが新規のラベル
か否かをチェックする(ステップST12)。ここで、
ラベルテーブルに存在しないラベルは、新規のラベルと
みなされる。
FIG. 17 is a flowchart of the storing process of the current node and the current edge in step ST2 of FIG. The data storage device first adds the current node to the node table (step ST11). Next, if an edge is currently selected, it is checked whether the label is a new label (step ST12). here,
Labels that do not exist in the label table are considered as new labels.

【0065】現在エッジのラベルが新規のラベルでなけ
れば、現在ノードに関する情報を親ノードテーブルに追
加し(ステップST13)、現在ノードのパスをパステ
ーブルに追加して(ステップST14)、図16の処理
に復帰する。また、ステップST12において、現在エ
ッジのラベルが新規のラベルであれば、そのラベルをラ
ベルテーブルに追加して(ステップST15)、ステッ
プST13以降の処理を行う。
If the label of the current edge is not a new label, information on the current node is added to the parent node table (step ST13), and the path of the current node is added to the path table (step ST14). Return to processing. In step ST12, if the label of the current edge is a new label, the label is added to the label table (step ST15), and the processes after step ST13 are performed.

【0066】また、図18は、図16のステップST8
における下方向のトラバース処理のフローチャートであ
る。データ格納装置は、まず、現在エッジに関する情報
を子ノードテーブルに追加する(ステップST21)。
そして、現在エッジの先の子ノードを現在ノードにセッ
トして(ステップST22)、図16の処理に復帰す
る。
FIG. 18 is a flowchart showing the operation of step ST8 in FIG.
5 is a flowchart of a downward traverse process in FIG. First, the data storage device adds information on the current edge to the child node table (step ST21).
Then, the child node ahead of the current edge is set as the current node (step ST22), and the process returns to the processing in FIG.

【0067】このようなデータ格納処理により、半構造
データベースの木構造モデルがリレーショナルデータベ
ースに格納される。ラベルテーブル、親ノードテーブ
ル、および子ノードテーブルの代わりに、図3のような
エッジテーブルを用いる場合も同様である。また、リレ
ーショナルデータベースの代わりにオブジェクト指向デ
ータベースを利用する場合は、各テーブルのレコードに
対応するオブジェクトを生成して、オブジェクト指向デ
ータベースに格納すればよい。
By such data storage processing, the tree structure model of the semi-structure database is stored in the relational database. The same applies when an edge table as shown in FIG. 3 is used instead of the label table, the parent node table, and the child node table. When an object-oriented database is used instead of a relational database, objects corresponding to records in each table may be generated and stored in the object-oriented database.

【0068】また、ノードテーブル、ラベルテーブル、
親ノードテーブル、子ノードテーブル、およびパステー
ブルをリレーショナルデータベースに格納する代わり
に、直接、ページ管理機構上に実装することも可能であ
る。ページとは、あらかじめ決められた固定長の格納領
域(ブロック)に格納された情報に対応する。ページ管
理機構上に実装する場合、5つのテーブルのそれぞれに
対応するページが用意される。
Further, a node table, a label table,
Instead of storing the parent node table, the child node table, and the path table in the relational database, they can be directly implemented on the page management mechanism. A page corresponds to information stored in a predetermined fixed-length storage area (block). When implemented on a page management mechanism, pages corresponding to each of the five tables are prepared.

【0069】この場合のデータ格納処理は、基本的に図
16と同様であるが、ステップST2における現在ノー
ドと現在エッジの格納処理は、図19に示すようにな
る。データ格納装置は、まず、現在ノードをノードのペ
ージに追加し(ステップST31)。現在エッジのラベ
ルが新規のラベルか否かをチェックする(ステップST
32)。
The data storing process in this case is basically the same as that of FIG. 16, but the storing process of the current node and the current edge in step ST2 is as shown in FIG. The data storage device first adds the current node to the page of the node (step ST31). Check whether the label of the current edge is a new label (step ST
32).

【0070】現在エッジのラベルが新規のラベルでなけ
れば、現在ノードに関する情報を親ノードのページに追
加し(ステップST33)、現在ノードのパスをパスの
ページに追加して(ステップST34)、図16の処理
に復帰する。また、ステップST32において、現在エ
ッジのラベルが新規のラベルであれば、そのラベルをラ
ベルのページに追加して(ステップST35)、ステッ
プST33以降の処理を行う。
If the label of the current edge is not a new label, information about the current node is added to the page of the parent node (step ST33), and the path of the current node is added to the page of the path (step ST34). It returns to the process of step 16. In step ST32, if the label of the current edge is a new label, the label is added to the page of the label (step ST35), and the processing after step ST33 is performed.

【0071】ステップST31、ST33、ST34、
およびST35において、格納領域が不足する場合は、
データ格納装置は、新たなページを確保する。また、情
報を追加する毎に、アクセスのためのインデックスを更
新する。
Steps ST31, ST33, ST34,
If the storage area is insufficient in ST35 and ST35,
The data storage device secures a new page. Also, every time information is added, the index for access is updated.

【0072】また、図16のステップST8における下
方向のトラバース処理は、図20に示すようになる。デ
ータ格納装置は、まず、現在エッジに関する情報を子ノ
ードのページに追加し、インデックスを更新する(ステ
ップST41)。このとき、格納領域が不足する場合
は、新たなページを確保する。そして、現在エッジの先
の子ノードを現在ノードにセットして(ステップST4
2)、図16の処理に復帰する。
The downward traverse process in step ST8 of FIG. 16 is as shown in FIG. First, the data storage device adds information on the current edge to the page of the child node and updates the index (step ST41). At this time, if the storage area is insufficient, a new page is reserved. Then, the child node ahead of the current edge is set as the current node (step ST4).
2) Return to the process of FIG.

【0073】ところで、リレーショナルデータベースに
は、複数のテーブルを共通属性でクラスタリングする機
能を持つものがある。このクラスタリング機能を利用し
て、ノードテーブル、親ノードテーブル、および子ノー
ドテーブルをノードIDでクラスタリングすることがで
きる。この場合のデータ格納処理は、図16、17、1
8の処理と同様である。このようなクラスタリングによ
り、記憶装置アクセスをさらに削減することができる。
Incidentally, some relational databases have a function of clustering a plurality of tables with a common attribute. Using this clustering function, the node table, parent node table, and child node table can be clustered by node ID. The data storage process in this case is described in FIGS.
8 is the same as the processing in FIG. Such clustering can further reduce storage device access.

【0074】また、共通属性によるクラスタリングをペ
ージ管理機構上で実現する場合は、ノードテーブル、親
ノードテーブル、および子ノードテーブルに対応する共
通のページと、ラベルテーブルおよびパステーブルのそ
れぞれに対応するページが用意される。
When clustering based on the common attribute is realized on the page management mechanism, a common page corresponding to the node table, the parent node table, and the child node table, and a page corresponding to the label table and the path table, respectively. Is prepared.

【0075】この場合のデータ格納処理は、基本的に図
16と同様であるが、ステップST2における現在ノー
ドと現在エッジの格納処理は、図21に示すようにな
る。図21のステップST51〜ST55の処理は、基
本的に図19のステップST31〜ST35と同様であ
る。ただし、ステップST51、ST53、およびST
54においては、ノードテーブル、親ノードテーブル、
および子ノードテーブルに対応する共通のページに情報
が追加される。
The data storing process in this case is basically the same as that of FIG. 16, but the storing process of the current node and the current edge in step ST2 is as shown in FIG. The processing in steps ST51 to ST55 in FIG. 21 is basically the same as the processing in steps ST31 to ST35 in FIG. However, steps ST51, ST53, and ST
At 54, a node table, a parent node table,
And information is added to a common page corresponding to the child node table.

【0076】また、図16のステップST8における下
方向のトラバース処理は、図22に示すようになる。図
22のステップST61、ST62の処理は、基本的に
図20のステップST41、ST42と同様である。た
だし、ステップST61においては、ノードテーブル、
親ノードテーブル、および子ノードテーブルに対応する
共通のページが新たに作成され、そのページに情報が追
加される。
The downward traversing process in step ST8 in FIG. 16 is as shown in FIG. The processing in steps ST61 and ST62 in FIG. 22 is basically the same as the processing in steps ST41 and ST42 in FIG. However, in step ST61, the node table,
A common page corresponding to the parent node table and the child node table is newly created, and information is added to the page.

【0077】次に、部分木内のパス群を記述する選択規
則を用いて、部分木の選択的レコード化を行う場合を考
える。例えば、図23のような木構造のデータモデルが
与えられたとき、検索対象として“paper”以下の
部分木を指定し、その部分木に選択規則を作用させて、
全体木を最適化する。
Next, consider a case where selective recording of a subtree is performed using a selection rule that describes a path group in the subtree. For example, when a tree-structured data model as shown in FIG. 23 is given, a subtree under “paper” is specified as a search target, and a selection rule is applied to the subtree,
Optimize the whole tree.

【0078】図23において、ラベル“pos.”、
“first.”、および“last.”は、それぞ
れ、“position”、“firstpage”、
および“lastpage”と等価であるものとする。
また、選択規則としては、s={id,title,a
uthor/name,author/positio
n,author/name,author/posi
tion}が用いられる。
In FIG. 23, the labels “pos.”,
“First.” And “last.” Are “position”, “firstpage”,
And "lastpage".
As a selection rule, s = sid, title, a
uthor / name, author / position
n, author / name, author / posi
} is used.

【0079】このとき、選択規則sにより最適化された
全体木とレコード群は、図24のようになる。ここで
は、選択規則sにより、2つの論文の部分木に対応する
2つのレコードr1およびr2が生成され、レコードテ
ーブルに格納されている。また、全体木において、ラベ
ル“s”を有するエッジの先のノードには、生成された
レコードのIDがそのレコードへのポインタとして格納
されている。ノード“29”は、レコードr1のID
“1”を格納し、ノード“30”は、レコードr2のI
D“2”を格納する。
At this time, the entire tree and the record group optimized by the selection rule s are as shown in FIG. Here, two records r1 and r2 corresponding to the subtrees of the two papers are generated according to the selection rule s and stored in the record table. In the whole tree, the node of the edge having the label “s” stores the ID of the generated record as a pointer to the record. Node “29” is the ID of record r1
“1” is stored, and the node “30” stores the I
D “2” is stored.

【0080】また、レコードテーブルのレコードr1お
よびr2の先頭のフィールドfidには、レコードID
が格納され、2番目のフィールドf0には、全体木の対
応するノードのノードIDがポインタとして格納され
る。3番目以降のフィールドf1〜f6は、選択規則s
の6つのパスに対応し、それぞれ、対応するパスの末端
のノードの値を格納している。
In the record field, the first field fid of the records r1 and r2 has a record ID.
Is stored, and the node ID of the corresponding node in the entire tree is stored as a pointer in the second field f0. The third and subsequent fields f1 to f6 correspond to the selection rule s
, Respectively, and stores the value of the terminal node of the corresponding path.

【0081】例えば、レコードr1のフィールドf1、
f2、f3、f4、f5、およびf6には、それぞれ、
値“id1”、“xxxx”、“name1”、“po
s1”、“name2”、および“pos2”が格納さ
れている。
For example, the field f1 of the record r1,
f2, f3, f4, f5, and f6 respectively
The values “id1”, “xxxx”, “name1”, “po”
"s1", "name2", and "pos2" are stored.

【0082】図24のデータ構造をリレーショナルデー
タベースに格納する場合は、全体木に対応して図25か
ら図29までに示すような5つのテーブルが生成され
る。図25はノードテーブルを表し、図26はラベルテ
ーブルを表し、図27は親ノードテーブルを表し、図2
8は子ノードテーブルを表し、図29はパステーブルを
表す。これらの5つのテーブルと図24のレコードテー
ブルとを合わせて、合計6つのテーブルが格納される。
When the data structure of FIG. 24 is stored in the relational database, five tables as shown in FIGS. 25 to 29 are generated corresponding to the entire tree. FIG. 25 shows a node table, FIG. 26 shows a label table, FIG. 27 shows a parent node table, and FIG.
8 shows a child node table, and FIG. 29 shows a path table. A total of six tables are stored by combining these five tables and the record table of FIG.

【0083】このように、検索対象の部分木に選択規則
を適用してレコード化を行う場合も、深さ優先アルゴリ
ズムのような適当なアルゴリズムを用いてクラスタリン
グを行うことができる。この場合のデータ格納処理は、
基本的に図16と同様であるが、ステップST2におけ
る現在ノードと現在エッジの格納処理は、図30に示す
ようになる。
As described above, even when a record is formed by applying a selection rule to a subtree to be searched, clustering can be performed using an appropriate algorithm such as a depth-first algorithm. The data storage process in this case is
Basically, it is the same as FIG. 16, but the process of storing the current node and the current edge in step ST2 is as shown in FIG.

【0084】データ格納装置は、まず、現在ノードが選
択規則を満たすか否かをチェックする(ステップST7
1)。現在ノードが選択規則を満たさなければ、現在ノ
ードをノードテーブルに追加する(ステップST7
2)。次に、現在エッジが選択されていれば、そのラベ
ルが新規のラベルか否かをチェックする(ステップST
73)。
The data storage device first checks whether the current node satisfies the selection rule (step ST7).
1). If the current node does not satisfy the selection rule, the current node is added to the node table (step ST7).
2). Next, if an edge is currently selected, it is checked whether the label is a new label (step ST).
73).

【0085】現在エッジのラベルが新規のラベルでなけ
れば、現在ノードを親ノードテーブルに追加し、現在ノ
ードのパスをパステーブルに追加して(ステップST7
4)、現在エッジが指定された部分木の先頭に対応する
か否かをチェックする(ステップST75)。そして、
現在エッジが部分木の先頭に対応しなければ、図16の
処理に復帰する。
If the label of the current edge is not a new label, the current node is added to the parent node table, and the path of the current node is added to the path table (step ST7).
4) It is checked whether or not the current edge corresponds to the head of the specified subtree (step ST75). And
If the current edge does not correspond to the head of the subtree, the process returns to the processing in FIG.

【0086】また、ステップST71において、現在ノ
ードが選択規則を満たせば、現在ノードの値をレコード
の対応するフィールドに格納し(ステップST76)、
ステップST73以降の処理を行う。
If the current node satisfies the selection rule in step ST71, the value of the current node is stored in the corresponding field of the record (step ST76).
The processing after step ST73 is performed.

【0087】また、ステップST73において、現在エ
ッジのラベルが新規のラベルであれば、そのラベルをラ
ベルテーブルに追加して(ステップST77)、ステッ
プST74以降の処理を行う。
In step ST73, if the label of the current edge is a new label, the label is added to the label table (step ST77), and the processing after step ST74 is performed.

【0088】また、ステップST75において、現在エ
ッジが部分木の先頭に対応していれば、その部分木の情
報を格納するレコードを生成し、各フィールドに“NU
LL”を格納して、レコードを初期化する(ステップS
T78)。次に、現在ノードとレコードの間のエッジを
生成し、そのエッジのラベルが新規のラベルか否かをチ
ェックする(ステップST79)。
In step ST75, if the current edge corresponds to the head of the subtree, a record for storing the information of the subtree is generated, and “NU” is stored in each field.
LL ”is stored and the record is initialized (step S
T78). Next, an edge between the current node and the record is generated, and it is checked whether or not the label of the edge is a new label (step ST79).

【0089】生成されたエッジのラベルが新規のラベル
でなければ、そのエッジを親ノードテーブルと子ノード
テーブルに追加し(ステップST80)、図16の処理
に復帰する。生成されたエッジのラベルが新規のラベル
であれば、そのエッジのラベルをラベルテーブルに追加
し(ステップST81)、ステップST80以降の処理
を行う。
If the label of the generated edge is not a new label, the edge is added to the parent node table and the child node table (step ST80), and the process returns to FIG. If the label of the generated edge is a new label, the label of the edge is added to the label table (step ST81), and the processing from step ST80 is performed.

【0090】例えば、図23において、現在ノードがノ
ード“12”であり、現在エッジが“paper”であ
る場合、現在エッジは指定された部分木の先頭に対応す
ることになる。そこで、図24に示すように、この部分
木に対応するレコードr1が生成される(ステップST
78)。また、ノード“12”とレコードr1の間のエ
ッジ“s”が生成され、このエッジの情報が図27の親
ノードテーブルと図28の子ノードテーブルに追加され
る(ステップST80)。
For example, in FIG. 23, if the current node is node “12” and the current edge is “paper”, the current edge corresponds to the head of the specified subtree. Therefore, as shown in FIG. 24, a record r1 corresponding to this subtree is generated.
78). Further, an edge "s" between the node "12" and the record r1 is generated, and information on this edge is added to the parent node table of FIG. 27 and the child node table of FIG. 28 (step ST80).

【0091】図24ではラベル“s”を持つ2つのエッ
ジが生成されているが、最初のエッジ“s”が生成され
たときに、ラベル“s”がラベルテーブルに追加され
(ステップST81)、2番目のエッジ“s”が生成さ
れたときは、ラベルの追加は行われない。
In FIG. 24, two edges having the label "s" are generated. When the first edge "s" is generated, the label "s" is added to the label table (step ST81). When the second edge “s” is generated, no label is added.

【0092】また、図23において、現在ノードがノー
ド“1”であり、現在エッジが“id”である場合、ノ
ード“1”は、選択規則sに含まれる最初のパス“i
d”に対応するため、選択規則sを満たしていることが
分かる。そこで、このノードの値“id1”が、図24
のレコードr1のフィールドf1に格納される(ステッ
プST76)。ノード“2”、“3”、“4”、
“6”、“7”の値についても、同様にしてレコードr
1に格納される。
In FIG. 23, when the current node is the node “1” and the current edge is “id”, the node “1” is the first path “i” included in the selection rule s.
24, the selection rule s is satisfied. Therefore, the value of this node "id1" is
Is stored in the field f1 of the record r1 (step ST76). Nodes “2”, “3”, “4”,
Similarly, for the values of “6” and “7”, the record r
1 is stored.

【0093】また、図16のステップST8における下
方向トラバース処理は、図18と同様であるが、現在エ
ッジがレコードへのエッジである場合は、そのレコード
のレコードIDを格納するノードが現在ノードにセット
される。
The downward traversal process in step ST8 of FIG. 16 is the same as that of FIG. 18, except that if the current edge is an edge to a record, the node storing the record ID of that record becomes the current node. Set.

【0094】例えば、図24において、現在エッジがノ
ード“12”とノード“29”の間のエッジ“s”であ
る場合、ノード“29”が新たな現在ノードとなる。こ
のとき、図30のステップST72においては、ノード
“29”に対応するレコードr1のID“1”が図25
のノードテーブルに格納される。現在エッジがノード
“27”とノード“30”の間のエッジ“s”である場
合も、同様にして、レコードr2のID“2”がノード
テーブルに格納される。
For example, in FIG. 24, when the current edge is the edge “s” between the node “12” and the node “29”, the node “29” becomes a new current node. At this time, in step ST72 of FIG. 30, ID “1” of record r1 corresponding to node “29” is
Is stored in the node table. Similarly, when the current edge is the edge “s” between the nodes “27” and “30”, the ID “2” of the record r2 is stored in the node table.

【0095】また、これらのテーブルをリレーショナル
データベースに格納する代わりに、直接、ページ管理機
構上に実装することも可能である。この場合のデータ格
納処理も、基本的に図16と同様であるが、ステップS
T2における現在ノードと現在エッジの格納処理は、図
31に示すようになる。
Instead of storing these tables in a relational database, it is also possible to implement them directly on a page management mechanism. The data storage process in this case is basically the same as that in FIG.
The process of storing the current node and the current edge at T2 is as shown in FIG.

【0096】データ格納装置は、まず、現在ノードが選
択規則を満たすか否かをチェックする(ステップST9
1)。現在ノードが選択規則を満たさなければ、現在ノ
ードをノードのページに追加する(ステップST9
2)。次に、現在エッジが選択されていれば、そのラベ
ルが新規のラベルか否かをチェックする(ステップST
93)。
The data storage device first checks whether the current node satisfies the selection rule (step ST9).
1). If the current node does not satisfy the selection rule, the current node is added to the page of the node (step ST9).
2). Next, if an edge is currently selected, it is checked whether the label is a new label (step ST).
93).

【0097】現在エッジのラベルが新規のラベルでなけ
れば、現在ノードを親ノードのページに追加し、現在ノ
ードのパスをパスのページに追加して(ステップST9
4)、現在エッジが指定された部分木の先頭に対応する
か否かをチェックする(ステップST95)。そして、
現在エッジが部分木の先頭に対応しなければ、図16の
処理に復帰する。
If the label of the current edge is not a new label, the current node is added to the page of the parent node, and the path of the current node is added to the page of the path (step ST9).
4) It is checked whether or not the current edge corresponds to the head of the specified subtree (step ST95). And
If the current edge does not correspond to the head of the subtree, the process returns to the processing in FIG.

【0098】また、ステップST91において、現在ノ
ードが選択規則を満たせば、現在ノードの値をレコード
の対応するフィールドに格納し(ステップST96)、
ステップST93以降の処理を行う。
If the current node satisfies the selection rule in step ST91, the value of the current node is stored in the corresponding field of the record (step ST96).
The processing after step ST93 is performed.

【0099】また、ステップST93において、現在エ
ッジのラベルが新規のラベルであれば、そのラベルをラ
ベルのページに追加して(ステップST97)、ステッ
プST94以降の処理を行う。
In step ST93, if the label of the current edge is a new label, the label is added to the label page (step ST97), and the processing after step ST94 is performed.

【0100】また、ステップST95において、現在エ
ッジが部分木の先頭に対応していれば、その部分木の情
報を格納するレコードを生成し、そのレコードを初期化
する(ステップST98)。次に、現在ノードとレコー
ドの間のエッジを生成し、そのエッジのラベルが新規の
ラベルか否かをチェックする(ステップST99)。
If the current edge corresponds to the head of the subtree in step ST95, a record for storing the information of the subtree is generated, and the record is initialized (step ST98). Next, an edge between the current node and the record is generated, and it is checked whether or not the label of the edge is a new label (step ST99).

【0101】生成されたエッジのラベルが新規のラベル
でなければ、そのエッジを親ノードのページと子ノード
のページに追加し(ステップST100)、図16の処
理に復帰する。生成されたエッジのラベルが新規のラベ
ルであれば、そのエッジのラベルをラベルのページに追
加し(ステップST101)、ステップST100以降
の処理を行う。
If the label of the generated edge is not a new label, the edge is added to the page of the parent node and the page of the child node (step ST100), and the process returns to FIG. If the generated edge label is a new label, the edge label is added to the label page (step ST101), and the processes from step ST100 are performed.

【0102】ステップST92、ST94、ST97、
ST100、およびST101において、格納領域が不
足する場合は、データ格納装置は、新たなページを確保
する。また、情報を追加する毎に、アクセスのためのイ
ンデックスを更新する。
Steps ST92, ST94, ST97,
If the storage area is insufficient in ST100 and ST101, the data storage device secures a new page. Also, every time information is added, the index for access is updated.

【0103】また、図16のステップST8における下
方向トラバース処理は、図20と同様であるが、現在エ
ッジがレコードへのエッジである場合は、そのレコード
のレコードIDを格納するノードが現在ノードにセット
される。
The downward traversing process in step ST8 of FIG. 16 is the same as that of FIG. 20, but if the current edge is an edge to a record, the node storing the record ID of the record is set to the current node. Set.

【0104】また、前述したように、リレーショナルデ
ータベースにおいて、複数のテーブルを共通属性でクラ
スタリングする機能を利用して、ノードテーブル、親ノ
ードテーブル、および子ノードテーブルをノードIDで
クラスタリングしてもよい。さらに、共通属性によるク
ラスタリングをページ管理機構上で実現することも可能
である。
As described above, in the relational database, the node table, the parent node table, and the child node table may be clustered by the node ID by using a function of clustering a plurality of tables with a common attribute. Further, it is also possible to realize clustering based on a common attribute on a page management mechanism.

【0105】次に、本実施形態のデータ格納方法を、X
MLで記述された構造化文書に適用した例について説明
する。図32は、XML文書のデータの例を示してい
る。図32において、例えば、最も外側のタグ<pap
er>と</paper>の間には、1つの論文に関す
る情報が記述されている。また、その内側のタグ<id
>と</id>の間には、その論文のIDが記述され、
タグ<title>と</title>の間には、その
論文のタイトルが記述されている。一般には、多数の論
文がデータベースに登録されるため、各論文について同
様のXMLデータが作成される。
Next, the data storage method of this embodiment is described as X
An example applied to a structured document described in ML will be described. FIG. 32 shows an example of data of an XML document. In FIG. 32, for example, the outermost tag <pap
er> and </ paper>, information on one paper is described. Also, the tag <id inside
> And </ id> describe the ID of the paper,
The title of the paper is described between the tags <title> and </ title>. Generally, since many articles are registered in the database, similar XML data is created for each article.

【0106】このように、XMLデータでは、複数のタ
グの包含関係が階層的なデータ構造を表しており、対応
する2つのタグの間のデータを階層的な部分木とみなせ
ば、XMLデータを木構造データに置き換えることがで
きる。例えば、図32のXMLデータを木構造で表す
と、図37に示したデータが得られる。ここでは、タグ
の名称をエッジのラベルとして用いており、ルートノー
ド“13”には、図32の論文以外の論文の部分木も接
続されている。
As described above, in the XML data, the inclusion relation of a plurality of tags represents a hierarchical data structure. If the data between two corresponding tags is regarded as a hierarchical subtree, the XML data is It can be replaced with tree structure data. For example, if the XML data of FIG. 32 is represented by a tree structure, the data shown in FIG. 37 is obtained. Here, the tag name is used as the label of the edge, and the root node “13” is also connected to a partial tree of a paper other than the paper shown in FIG.

【0107】このようにして、XMLデータを木構造デ
ータとみなすことにより、検索対象となる可能性のある
部分木の構造を指定したり、その部分木内のパス群を指
定したりすることができ、XMLデータをリレーショナ
ルデータベースに格納したり、ページに格納したりする
ことができる。図37の木構造データの格納処理および
クラスタリング方法については、上述した通りである。
As described above, by regarding the XML data as tree-structured data, it is possible to specify the structure of a subtree that may be a search target and to specify a path group in the subtree. , XML data can be stored in a relational database or stored on a page. The storage processing and the clustering method of the tree structure data in FIG. 37 are as described above.

【0108】図32のXMLデータを図2、図11〜図
14のようなテーブル形式でリレーショナルデータベー
スに格納した場合、テーブルへのアクセスはSQL等を
用いて行われる。例えば、‘著者名が“○△◇☆”であ
る論文のタイトルをselectせよ’という問い合わ
せを行う場合のSQL文は、図33に示すようになる。
When the XML data of FIG. 32 is stored in a relational database in a table format as shown in FIGS. 2, 11 to 14, access to the table is performed using SQL or the like. For example, an SQL sentence for making an inquiry of “select the title of a paper whose author name is“ ○ △ ◇ ☆ ”” is as shown in FIG.

【0109】さらに、XMLデータを選択的にレコード
化する場合、データ格納装置は、対話的に選択規則を生
成する。このとき、文書型定義(document type defini
tion,DTD)やXMLデータを解析して、図34のよ
うなダイアログ画面をディスプレイに表示する。文書型
定義は、XML文書のタグ構造を定義するスキーマに対
応し、これを解析することで、木構造データにおけるパ
スを抽出することができる。
Further, when the XML data is selectively recorded, the data storage device interactively generates a selection rule. At this time, the document type definition (document type defini
, DTD) and XML data, and a dialog screen as shown in FIG. 34 is displayed on the display. The document type definition corresponds to a schema that defines the tag structure of the XML document, and by analyzing this, a path in the tree structure data can be extracted.

【0110】図34において、ユーザは、ボックス11
に選択規則の名称を入力し、ボックス12に適当なエッ
ジのラベルを入力すると、そのラベルを持つエッジ以下
の部分木がレコード化の対象として指定される。そし
て、その部分木に含まれるすべてのパスが、自動的にボ
ックス13内に表示される。
Referring to FIG. 34, the user
When the name of the selection rule is input to the box and an appropriate edge label is input to the box 12, a subtree below the edge having the label is designated as a record target. Then, all the paths included in the subtree are automatically displayed in the box 13.

【0111】次に、ユーザが表示されたパスのうち所望
のものを選択すると、選択されたパスが選択規則として
登録される。このような処理を対話的に繰り返すことに
より、複数の選択規則を生成することができる。そし
て、データ格納装置は、図7に示したように、生成され
た選択規則毎にレコード化を行い、レコードテーブルを
生成する。
Next, when the user selects a desired path from the displayed paths, the selected path is registered as a selection rule. By repeating such processing interactively, a plurality of selection rules can be generated. Then, as illustrated in FIG. 7, the data storage device records each of the generated selection rules to generate a record table.

【0112】また、データ格納装置は、XMLデータ以
外にも、任意のSGML(standardgeneralized markup
language)で記述された構造化文書を、同様にして格
納することができる。例えば、HTML(hypertext ma
rkup language )データの場合も、同様にして、タグ構
造が木構造に置き換えられる。
Further, the data storage device can store any SGML (standard generalized markup) in addition to the XML data.
language) can be stored in a similar manner. For example, HTML (hypertext ma
Similarly, in the case of rkup language) data, the tag structure is replaced with a tree structure.

【0113】ところで、本実施形態のデータ格納装置
は、図35に示すような情報処理装置(コンピュータ)
を用いて構成することができる。図35の情報処理装置
は、CPU(中央処理装置)21、メモリ22、入力装
置23、出力装置24、外部記憶装置25、媒体駆動装
置26、およびネットワーク接続装置27を備え、それ
らはバス28により互いに接続されている。
Incidentally, the data storage device of this embodiment is an information processing device (computer) as shown in FIG.
Can be used. 35 includes a CPU (central processing unit) 21, a memory 22, an input device 23, an output device 24, an external storage device 25, a medium drive device 26, and a network connection device 27. Connected to each other.

【0114】メモリ22は、例えば、ROM(read onl
y memory)、RAM(random access memory)等を含
み、処理に用いられるプログラムとデータを格納する。
CPU21は、メモリ22を利用してプログラムを実行
することにより、必要な処理を行う。
The memory 22 is, for example, a ROM (read onl
y memory), RAM (random access memory), etc., and stores programs and data used for processing.
The CPU 21 performs necessary processing by executing a program using the memory 22.

【0115】入力装置23は、例えば、キーボード、ポ
インティングデバイス、タッチパネル等であり、ユーザ
からの指示や情報の入力に用いられる。出力装置24
は、例えば、ディスプレイ、プリンタ、スピーカ等であ
り、ユーザへのメッセージや処理結果の出力に用いられ
る。
The input device 23 is, for example, a keyboard, a pointing device, a touch panel or the like, and is used for inputting an instruction or information from a user. Output device 24
Is, for example, a display, a printer, a speaker, and the like, and is used for outputting a message or a processing result to a user.

【0116】外部記憶装置25は、例えば、磁気ディス
ク装置、光ディスク装置、光磁気ディスク(magneto-op
tical disk)装置等であり、上述した様々なテーブル等
を格納するデータベースとして用いられる。また、情報
処理装置は、この外部記憶装置25に、上述のプログラ
ムとデータを保存しておき、必要に応じて、それらをメ
モリ22にロードして使用することができる。
The external storage device 25 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk (magneto-op).
tical disk) device, and is used as a database for storing the various tables described above. Further, the information processing apparatus can store the above-described program and data in the external storage device 25, and can load and use them in the memory 22 as needed.

【0117】媒体駆動装置26は、可搬記録媒体29を
駆動し、その記録内容にアクセスする。可搬記録媒体2
9としては、メモリカード、フロッピーディスク、CD
−ROM(compact disk read only memory )、光ディ
スク、光磁気ディスク等、任意のコンピュータ読み取り
可能な記録媒体が用いられる。ユーザは、この可搬記録
媒体29に上述のプログラムとデータを格納しておき、
必要に応じて、それらをメモリ22にロードして使用す
ることができる。
The medium driving device 26 drives the portable recording medium 29 and accesses the recorded contents. Portable recording medium 2
9 is a memory card, floppy disk, CD
An arbitrary computer-readable recording medium such as a ROM (compact disk read only memory), an optical disk, and a magneto-optical disk is used. The user stores the above-described program and data in the portable recording medium 29,
If necessary, they can be loaded into the memory 22 and used.

【0118】ネットワーク接続装置27は、任意のネッ
トワーク(回線)を介して外部の装置と通信し、通信に
伴うデータ変換を行う。情報処理装置は、必要に応じ
て、ネットワーク接続装置27を介して上述のプログラ
ムとデータを外部の装置から受け取り、それらをメモリ
22にロードして使用することができる。
The network connection device 27 communicates with an external device via an arbitrary network (line) and performs data conversion accompanying the communication. The information processing device can receive the above-described program and data from an external device via the network connection device 27 as needed, and can use them by loading them into the memory 22.

【0119】図36は、図35の情報処理装置にプログ
ラムとデータを供給することのできるコンピュータ読み
取り可能な記録媒体を示している。可搬記録媒体29や
外部のデータベース30に保存されたプログラムとデー
タは、メモリ22にロードされる。そして、CPU21
は、そのデータを用いてそのプログラムを実行し、必要
な処理を行う。
FIG. 36 shows a computer-readable recording medium capable of supplying a program and data to the information processing apparatus shown in FIG. The programs and data stored in the portable recording medium 29 and the external database 30 are loaded into the memory 22. And the CPU 21
Executes the program using the data and performs necessary processing.

【0120】[0120]

【発明の効果】本発明によれば、半構造データベース等
において、木構造データの部分木を対象とするデータ検
索が行われたとき、その部分木のデータをまとめて読み
出すことができ、検索が高速化される。また、部分木の
データの一部をレコード化することにより、検索がさら
に高速化される。
According to the present invention, when a data search is performed on a partial tree of tree structure data in a semi-structured database or the like, the data of the partial tree can be read out collectively, and the search can be performed. Speed up. Further, by converting a part of the data of the subtree into a record, the search is further speeded up.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のデータ格納装置の原理図である。FIG. 1 is a principle diagram of a data storage device of the present invention.

【図2】第1のノードテーブルを示す図である。FIG. 2 is a diagram showing a first node table.

【図3】エッジテーブルを示す図である。FIG. 3 is a diagram showing an edge table.

【図4】第1の部分木のレコード化を示す図である。FIG. 4 is a diagram showing recording of a first partial tree.

【図5】第2の部分木のレコード化を示す図である。FIG. 5 is a diagram showing recording of a second partial tree.

【図6】最適化された部分木を示す図である。FIG. 6 is a diagram showing an optimized subtree.

【図7】第1の最適化された全体木を示す図である。FIG. 7 is a diagram showing a first optimized whole tree;

【図8】全体木の格納形式を示す図である。FIG. 8 is a diagram illustrating a storage format of an entire tree.

【図9】第1のデータ検索を示す図である。FIG. 9 is a diagram showing a first data search.

【図10】第2のデータ検索を示す図である。FIG. 10 is a diagram showing a second data search.

【図11】第1のラベルテーブルを示す図である。FIG. 11 is a diagram showing a first label table.

【図12】第1の親ノードテーブルを示す図である。FIG. 12 is a diagram showing a first parent node table.

【図13】第1の子ノードテーブルを示す図である。FIG. 13 is a diagram showing a first child node table.

【図14】第1のパステーブルを示す図である。FIG. 14 is a diagram showing a first path table.

【図15】各属性のデータ型と長さを示す図である。FIG. 15 is a diagram showing the data type and length of each attribute.

【図16】データ格納処理のフローチャートである。FIG. 16 is a flowchart of a data storage process.

【図17】第1のノード/エッジ格納処理のフローチャ
ートである。
FIG. 17 is a flowchart of a first node / edge storage process.

【図18】第1の下方向トラバース処理のフローチャー
トである。
FIG. 18 is a flowchart of a first downward traverse process.

【図19】第2のノード/エッジ格納処理のフローチャ
ートである。
FIG. 19 is a flowchart of a second node / edge storage process.

【図20】第2の下方向トラバース処理のフローチャー
トである。
FIG. 20 is a flowchart of a second downward traverse process.

【図21】第3のノード/エッジ格納処理のフローチャ
ートである。
FIG. 21 is a flowchart of a third node / edge storing process.

【図22】第3の下方向トラバース処理のフローチャー
トである。
FIG. 22 is a flowchart of a third downward traverse process.

【図23】2つの論文に関する木構造データを示す図で
ある。
FIG. 23 is a diagram showing tree structure data for two papers.

【図24】第2の最適化された全体木を示す図である。FIG. 24 is a diagram showing a second optimized whole tree.

【図25】第2のノードテーブルを示す図である。FIG. 25 is a diagram showing a second node table.

【図26】第2のラベルテーブルを示す図である。FIG. 26 is a diagram showing a second label table.

【図27】第2の親ノードテーブルを示す図である。FIG. 27 is a diagram showing a second parent node table.

【図28】第2の子ノードテーブルを示す図である。FIG. 28 is a diagram showing a second child node table.

【図29】第2のパステーブルを示す図である。FIG. 29 is a diagram showing a second path table.

【図30】第4のノード/エッジ格納処理のフローチャ
ートである。
FIG. 30 is a flowchart of a fourth node / edge storage process.

【図31】第5のノード/エッジ格納処理のフローチャ
ートである。
FIG. 31 is a flowchart of a fifth node / edge storage process.

【図32】XMLデータを示す図である。FIG. 32 is a diagram showing XML data.

【図33】SQL文を示す図である。FIG. 33 is a diagram showing an SQL sentence.

【図34】ダイアログ画面を示す図である。FIG. 34 is a diagram showing a dialog screen.

【図35】情報処理装置の構成図である。FIG. 35 is a configuration diagram of an information processing apparatus.

【図36】記録媒体を示す図である。FIG. 36 is a diagram showing a recording medium.

【図37】複数の論文に関する木構造データを示す図で
ある。
FIG. 37 is a diagram showing tree structure data for a plurality of papers.

【符号の説明】[Explanation of symbols]

1 指定手段 2 抽出手段 3 格納手段 11、12、13 ボックス 21 CPU 22 メモリ 23 入力装置 24 出力装置 25 外部記憶装置 26 媒体駆動装置 27 ネットワーク接続装置 28 バス 29 可搬記録媒体 30 データベース DESCRIPTION OF SYMBOLS 1 Designation means 2 Extraction means 3 Storage means 11, 12, 13 Box 21 CPU 22 Memory 23 Input device 24 Output device 25 External storage device 26 Medium drive device 27 Network connection device 28 Bus 29 Portable recording medium 30 Database

フロントページの続き (72)発明者 久保田 和己 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 野口 泰生 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B075 NK04 NK44 NK46 NR06 QT06 QT10 5B082 BA09 GA02 Continued on the front page (72) Inventor Kazumi Kubota 4-1-1, Kamidadanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Yasuo Noguchi 4-1-1, Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa F-term in Fujitsu Limited (Reference) 5B075 NK04 NK44 NK46 NR06 QT06 QT10 5B082 BA09 GA02

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 木構造データにおいて、検索対象となる
可能性のある部分木の構造を指定する指定手段と、 前記木構造データから、指定された構造に適合する部分
木を抽出する抽出手段と、 抽出された部分木の情報をまとめて格納する格納手段と
を備えることを特徴とするデータ格納装置。
1. A designating means for designating a subtree structure which may be a search target in tree structure data, and an extracting means for extracting a subtree conforming to a designated structure from the tree structure data. A data storage device, comprising: storage means for collectively storing information of the extracted partial trees.
【請求項2】 前記指定手段は、前記検索対象となる可
能性のある部分木内の1つ以上のパスを個別に指定し、
前記抽出手段は、前記木構造データから、指定されたパ
スの末端にあるノードを抽出し、前記格納手段は、抽出
されたノードの情報をまとめて格納することを特徴とす
る請求項1記載のデータ格納装置。
2. The method according to claim 1, wherein the specifying unit individually specifies one or more paths in the subtree that may be the search target,
2. The method according to claim 1, wherein the extraction unit extracts a node at a terminal of a designated path from the tree structure data, and the storage unit collectively stores information of the extracted nodes. Data storage device.
【請求項3】 木構造データをノードとエッジに分離し
て格納するデータ格納装置であって、 前記木構造データにおいて、検索対象となる可能性のあ
る部分木の構造を指定する指定手段と、 前記木構造データから、指定された構造に適合する部分
木を抽出する抽出手段と、 抽出された部分木のノードの情報をまとめて格納するノ
ード格納手段と、 抽出された部分木のエッジの情報をまとめて格納するエ
ッジ格納手段とを備えることを特徴とするデータ格納装
置。
3. A data storage device for storing tree-structured data separated into nodes and edges, wherein a designation unit that designates a structure of a subtree that may be a search target in the tree-structured data; Extraction means for extracting a subtree conforming to a specified structure from the tree structure data; node storage means for collectively storing node information of the extracted subtree; and information on edges of the extracted subtree. And an edge storage means for storing the data collectively.
【請求項4】 前記ノード格納手段の格納領域は、リレ
ーショナルデータベースの1つのリレーションとして実
装され、前記エッジ格納手段の格納領域は、該リレーシ
ョナルデータベースの1つ以上のリレーションとして実
装されることを特徴とする請求項3記載のデータ格納装
置。
4. The storage area of the node storage means is implemented as one relation of a relational database, and the storage area of the edge storage means is implemented as one or more relations of the relational database. 4. The data storage device according to claim 3, wherein:
【請求項5】 前記指定手段は、タグで構造化された文
書データを前記木構造データとみなし、該文書データ内
の2つのタグの間の情報を部分木とみなして、前記検索
対象となる可能性のある部分木の構造を指定することを
特徴とする請求項3記載のデータ格納装置。
5. The specifying means regards the document data structured by tags as the tree structure data, and regards information between two tags in the document data as a subtree and serves as the search target. 4. The data storage device according to claim 3, wherein a structure of a possible partial tree is specified.
【請求項6】 前記検索対象となる可能性のある部分木
の一部の情報をレコードとして格納するレコード格納手
段をさらに備え、前記指定手段は、前記検索対象となる
可能性のある部分木内の1つ以上のパスをパス群として
指定し、前記抽出手段は、前記木構造データから、指定
されたパスの末端にあるノードを抽出し、前記レコード
格納手段は、抽出されたノードの情報をレコードとして
まとめて格納し、前記エッジ格納手段は、該レコード格
納手段内のレコードに対応するパスを構成するエッジの
情報の格納を省略することを特徴とする請求項3記載の
データ格納装置。
6. A record storing means for storing, as a record, a part of information of a partial tree which may be a search target, wherein the specifying means comprises a sub-tree in the partial tree which may be a search target. One or more paths are designated as a path group, the extraction means extracts a node at the end of the specified path from the tree structure data, and the record storage means records information of the extracted nodes as a record. 4. The data storage device according to claim 3, wherein the edge storage unit omits storage of information on edges forming a path corresponding to a record in the record storage unit.
【請求項7】 前記レコード格納手段の格納領域は、リ
レーショナルデータベースの1つのリレーションとして
実装されることを特徴とする請求項6記載のデータ格納
装置。
7. The data storage device according to claim 6, wherein a storage area of said record storage means is implemented as one relation of a relational database.
【請求項8】 前記ノード格納手段の格納領域は、リレ
ーショナルデータベースの1つのリレーションとして実
装され、前記エッジ格納手段の格納領域は、該リレーシ
ョナルデータベースの1つ以上のリレーションとして実
装され、前記レコード格納手段の格納領域は、該リレー
ショナルデータベースの1つのリレーションとして実装
されることを特徴とする請求項6記載のデータ格納装
置。
8. The storage area of the node storage means is implemented as one relation of a relational database. The storage area of the edge storage means is implemented as one or more relations of the relational database. 7. The data storage device according to claim 6, wherein the storage area is mounted as one relation of the relational database.
【請求項9】 前記指定手段が複数のパス群を指定した
とき、該複数のパス群の指定情報を格納する指定情報格
納手段をさらに備え、前記レコード格納手段は、前記複
数のパス群のそれぞれに対応するレコードを格納するこ
とを特徴とする請求項6記載のデータ格納装置。
9. When the specifying unit specifies a plurality of path groups, the information processing apparatus further includes designation information storage means for storing designation information of the plurality of path groups. 7. The data storage device according to claim 6, wherein a record corresponding to the data is stored.
【請求項10】 前記指定手段は、タグで構造化された
文書データを前記木構造データとみなし、該文書データ
内の2つのタグの間の情報を部分木とみなして、前記検
索対象となる可能性のある部分木内の前記パス群を指定
することを特徴とする請求項6記載のデータ格納装置。
10. The designating means considers document data structured by tags as the tree structure data, and regards information between two tags in the document data as a subtree and serves as the search target. 7. The data storage device according to claim 6, wherein the path group in a possible partial tree is specified.
【請求項11】 木構造データの各階層から部分木を抽
出する抽出手段と、 抽出された部分木の情報をまとめて格納する格納手段と
を備えることを特徴とするデータ格納装置。
11. A data storage device comprising: extraction means for extracting a partial tree from each layer of tree structure data; and storage means for collectively storing information of the extracted partial trees.
【請求項12】 コンピュータのためのプログラムを記
録した記録媒体であって、 木構造データにおいて、検索対象となる可能性のある部
分木の構造を指定するステップと、 前記木構造データから、指定された構造に適合する部分
木を抽出するステップと、 抽出された部分木の情報をまとめて格納するステップと
を含む処理を前記コンピュータに実行させるためのプロ
グラムを記録したコンピュータ読み取り可能な記録媒
体。
12. A recording medium on which a program for a computer is recorded, wherein in the tree structure data, a step of specifying a structure of a subtree that may be a search target is specified. A computer-readable recording medium which stores a program for causing the computer to execute a process including a step of extracting a subtree conforming to the extracted structure, and a step of collectively storing information of the extracted subtree.
【請求項13】 コンピュータのための木構造データを
記録した記録媒体であって、 前記木構造データにおいて、前記コンピュータが検索対
象とする可能性のある部分木の構造が指定されたとき、
指定された構造に適合する部分木の情報を、該コンピュ
ータがアクセスできるようにまとめて記録したことを特
徴とするコンピュータ読み取り可能な記録媒体。
13. A recording medium for recording tree structure data for a computer, wherein when the tree structure data specifies a structure of a subtree that may be a search target of the computer,
A computer-readable recording medium in which information of a subtree conforming to a specified structure is collectively recorded so that the computer can access it.
【請求項14】 木構造データにおいて、検索対象とな
る可能性のある部分木の構造を指定し、 前記木構造データから、指定された構造に適合する部分
木を抽出し、 抽出された部分木の情報をまとめて格納することを特徴
とするデータ格納方法。
14. In the tree structure data, a structure of a subtree that may be a search target is specified, and a subtree conforming to the specified structure is extracted from the tree structure data. A data storage method characterized by storing the above information collectively.
JP11154783A 1999-06-02 1999-06-02 Device and method for storing data for semi-structured database Withdrawn JP2000348038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11154783A JP2000348038A (en) 1999-06-02 1999-06-02 Device and method for storing data for semi-structured database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11154783A JP2000348038A (en) 1999-06-02 1999-06-02 Device and method for storing data for semi-structured database

Publications (1)

Publication Number Publication Date
JP2000348038A true JP2000348038A (en) 2000-12-15

Family

ID=15591810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11154783A Withdrawn JP2000348038A (en) 1999-06-02 1999-06-02 Device and method for storing data for semi-structured database

Country Status (1)

Country Link
JP (1) JP2000348038A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183182A (en) * 2000-12-19 2002-06-28 Toshiba Corp Document diversion method, decision-making support system and document management system
JP2003030227A (en) * 2001-07-18 2003-01-31 Hitachi Ltd Preprocessing method and system in data mining
JP2003271668A (en) * 2002-03-15 2003-09-26 Toshiba Corp Structured data management program, method and device
WO2006038498A1 (en) * 2004-10-01 2006-04-13 Turbo Data Laboratories Inc. Arrangement generation method and arrangement generation program
US7069505B2 (en) 2001-11-21 2006-06-27 Nec Corporation Document management system, method thereof, and program thereof
WO2006080268A1 (en) * 2005-01-25 2006-08-03 Turbo Data Laboratories Inc. Tree search, totalizing, sort method, information processing device, and tree search, totalizing, and sort program
WO2007020850A1 (en) * 2005-08-12 2007-02-22 Turbo Data Laboratories Inc. Information processing method, information processing device, and information processing program
JP2010129001A (en) * 2008-11-28 2010-06-10 Internatl Business Mach Corp <Ibm> Information processor, database system, information processing method and program
JP2013008295A (en) * 2011-06-27 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Information recording apparatus, information recording method and program
JP2013016112A (en) * 2011-07-06 2013-01-24 Nippon Telegr & Teleph Corp <Ntt> Chunk generating device, chunk reading device, chunk generating method, and program
US8554780B2 (en) 2010-03-31 2013-10-08 Fujitsu Limited Search apparatus and search method
JP2019194882A (en) * 2014-02-19 2019-11-07 スノーフレーク インク. Mounting of semi-structure data as first class database element

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183182A (en) * 2000-12-19 2002-06-28 Toshiba Corp Document diversion method, decision-making support system and document management system
JP2003030227A (en) * 2001-07-18 2003-01-31 Hitachi Ltd Preprocessing method and system in data mining
US7069505B2 (en) 2001-11-21 2006-06-27 Nec Corporation Document management system, method thereof, and program thereof
JP2003271668A (en) * 2002-03-15 2003-09-26 Toshiba Corp Structured data management program, method and device
JP4712718B2 (en) * 2004-10-01 2011-06-29 株式会社ターボデータラボラトリー Array generation method and array generation program
WO2006038498A1 (en) * 2004-10-01 2006-04-13 Turbo Data Laboratories Inc. Arrangement generation method and arrangement generation program
JPWO2006080268A1 (en) * 2005-01-25 2008-08-07 株式会社ターボデータラボラトリー Tree search, aggregation, and sorting method, information processing device, and tree search, aggregation, and sorting program
JP4653157B2 (en) * 2005-01-25 2011-03-16 株式会社ターボデータラボラトリー Tree search, aggregation, sorting method, information processing apparatus, and tree search, aggregation, sorting program
US7937399B2 (en) 2005-01-25 2011-05-03 Turbo Data Laboratories, Inc. Method, information processing apparatus, and program of searching for, aggregating and sorting trees
WO2006080268A1 (en) * 2005-01-25 2006-08-03 Turbo Data Laboratories Inc. Tree search, totalizing, sort method, information processing device, and tree search, totalizing, and sort program
WO2007020850A1 (en) * 2005-08-12 2007-02-22 Turbo Data Laboratories Inc. Information processing method, information processing device, and information processing program
JP4886693B2 (en) * 2005-08-12 2012-02-29 株式会社ターボデータラボラトリー Information processing method, information processing apparatus, and information processing program
JP4688111B2 (en) * 2008-11-28 2011-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing apparatus, database system, information processing method, and program
JP2010129001A (en) * 2008-11-28 2010-06-10 Internatl Business Mach Corp <Ibm> Information processor, database system, information processing method and program
US8554780B2 (en) 2010-03-31 2013-10-08 Fujitsu Limited Search apparatus and search method
JP2013008295A (en) * 2011-06-27 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Information recording apparatus, information recording method and program
JP2013016112A (en) * 2011-07-06 2013-01-24 Nippon Telegr & Teleph Corp <Ntt> Chunk generating device, chunk reading device, chunk generating method, and program
JP2019194882A (en) * 2014-02-19 2019-11-07 スノーフレーク インク. Mounting of semi-structure data as first class database element
JP7130600B2 (en) 2014-02-19 2022-09-05 スノーフレーク インク. Implementing semi-structured data as first-class database elements

Similar Documents

Publication Publication Date Title
US7581170B2 (en) Visual and interactive wrapper generation, automated information extraction from Web pages, and translation into XML
US7386567B2 (en) Techniques for changing XML content in a relational database
US7353222B2 (en) System and method for the storage, indexing and retrieval of XML documents using relational databases
Abiteboul Querying semi-structured data
JP3842577B2 (en) Structured document search method, structured document search apparatus and program
US8065308B2 (en) Encoding semi-structured data for efficient search and browsing
JP3492247B2 (en) XML data search system
US20020143742A1 (en) Apparatus, method, and program for retrieving structured documents
CN112000725B (en) Ontology fusion preprocessing method for multi-source heterogeneous resources
JPH11242676A (en) Method for registering structured document, method for retrieving structured document, and portable medium used in these methods
US20090106286A1 (en) Method of Hybrid Searching for Extensible Markup Language (XML) Documents
WO2002031625A2 (en) A system and method of translating a universal query language to sql
JP3492246B2 (en) XML data search processing method and search processing system
JP2000348038A (en) Device and method for storing data for semi-structured database
US6282509B1 (en) Thesaurus retrieval and synthesis system
Alghamdi et al. Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories
US20090307187A1 (en) Tree automata based methods for obtaining answers to queries of semi-structured data stored in a database environment
Yu et al. Metadata management system: design and implementation
JP3632643B2 (en) Structured document management device
Boussaid et al. Integration and dimensional modeling approaches for complex data warehousing
JP2000003366A (en) Document registration method, document retrieval method, execution device therefor and medium having recorded its processing program thereon
US7487439B1 (en) Method and apparatus for converting between data sets and XML documents
Rizzolo ToXin, an indexing scheme for XML data
JP2002297662A (en) Method and device for editing structured document, terminal, and program
JP3842574B2 (en) Information extraction method, structured document management apparatus and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905