JP2005149249A - Instruction generator, database system, instruction generation method, and program thereof - Google Patents

Instruction generator, database system, instruction generation method, and program thereof Download PDF

Info

Publication number
JP2005149249A
JP2005149249A JP2003387393A JP2003387393A JP2005149249A JP 2005149249 A JP2005149249 A JP 2005149249A JP 2003387393 A JP2003387393 A JP 2003387393A JP 2003387393 A JP2003387393 A JP 2003387393A JP 2005149249 A JP2005149249 A JP 2005149249A
Authority
JP
Japan
Prior art keywords
node
data
hierarchical structure
attribute label
attribute
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
JP2003387393A
Other languages
Japanese (ja)
Inventor
Atsushi Sakakibara
淳 榊原
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.)
Media Fusion Co Ltd
Original Assignee
Media Fusion Co 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 Media Fusion Co Ltd filed Critical Media Fusion Co Ltd
Priority to JP2003387393A priority Critical patent/JP2005149249A/en
Publication of JP2005149249A publication Critical patent/JP2005149249A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide an instruction generator for automatically generates an Xpath. <P>SOLUTION: When definition data are given, a hierarchical structure acquisition means 6 traces lower nodes of a root node up to a terminal node to store their arrangement relation and determines whether an undetected younger brother node linked to a node in a hierarchy one higher than that of the terminal node exists or not and traces lower-hierarchy nodes of the younger brother node up to a terminal node to store their arrangement relation in the case of the existence of the undetected younger brother node and traces lower-hierarchy nodes of a node in a hierarchy one higher than that of this terminal node up to a terminal node to store their arrangement relation in the case of the existence of a younger brother node. This processing is repeated. A transmission means 7 extracts a tag having no child nodes and generates an input area for the tag as well as a control button for inputting an instruction to input data. They are transmitted to a terminal 1. An Xpath is generated from reply data. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、階層構造自己記述型文書のデータベースへの命令を生成する装置に関し、特に、階層構造自己記述型文書の持つ自動度に応じた入力を容易とする入力画面の生成に関する。   The present invention relates to an apparatus for generating an instruction to a database of a hierarchical self-describing document, and more particularly, to generation of an input screen that facilitates input according to the degree of automation of the hierarchical self-descripting document.

今日、構造化文書を扱うことができるXMLデータベースシステム(以下XMLDBという)が注目されている。   Today, an XML database system (hereinafter referred to as XMLDB) that can handle structured documents is attracting attention.

特開2001−34619号JP 2001-34619 A

かかるXMLDBにおいて、図9に示すような入力画面を予め準備しておき、端末からのデータ登録などを簡易にするシステムが提案されている。   In such an XML DB, a system has been proposed in which an input screen as shown in FIG. 9 is prepared in advance to simplify data registration from a terminal.

一方、本来、XMLデータはタグを自由につけることにより柔軟な入力形式が可能である。たとえば、メールアドレスを3つにしたり、連絡先として、実家の住所を指定するなどである。   On the other hand, XML data can be in a flexible input format by freely attaching tags. For example, the number of e-mail addresses is set to three, or the address of the parents' home is designated as a contact address.

すなわち、このようなXMLデータが持つ柔軟性と簡易なデータ登録という課題は相反するものである。   In other words, the flexibility and simple data registration of such XML data conflict with each other.

かかる問題を解決するために、最大公約数的な項目を全て表示することも考えられるが、これは非現実的である。   In order to solve such a problem, it may be possible to display all items of the greatest common divisor, but this is unrealistic.

この発明は、柔軟な入力形式が可能なXMLデータの自由度を制限することなく、データベースに簡易にデータ登録ができる命令生成装置を提供することを目的とする。さらに、階層構造自己記述型文書について、その自由度を制限することなく、データベースに簡易にデータ登録ができる命令生成装置またはその方法を提供することを目的とする。   An object of the present invention is to provide an instruction generation device that can easily register data in a database without restricting the degree of freedom of XML data capable of a flexible input format. It is another object of the present invention to provide an instruction generation device or method for easily registering data in a database without limiting the degree of freedom of a hierarchical self-describing document.

1)本発明にかかる命令生成装置は、各要素データに当該要素データの属性を表すタグが付加されており、文書内における他のタグに対する配置位置関係によって各タグが付加された要素データが階層構造で定義されるXMLデータを管理するXMLデータベースにデータベース処理命令を与える命令生成装置であって、A)前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、B)当該定義データにおけるタグの配置位置関係によって、各タグの階層構造を取得する階層構造取得手段、C)前記階層構造の末端に位置するタグを抽出して、当該タグについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、D)前記端末コンピュータから返信データを受け取ると、前記XMLデータベースに前記端末コンピュータにて入力されたデータベース処理命令を与える処理命令手段を備え、E)前記階層構造取得手段は、以下の処理により、前記タグの階層構造を取得すること、1)前記階層構造の最上位ノードのタグを注目ノードとして、下位の階層のタグのノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、2)前記末端ノードの1つ上の階層のノードを注目ノードとしてこれにつながる、前記末端ノードの未検出弟ノードが存在するか否か判断し、3)未検出弟ノードが存在する場合には、当該弟ノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、4)前記末端ノードの弟ノードが存在しない場合には、当該末端ノードの1つ上の階層のノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶する、5)上記2)〜4)を繰り返す。   1) In the instruction generation apparatus according to the present invention, a tag representing an attribute of the element data is added to each element data, and the element data to which each tag is added is arranged according to the arrangement positional relationship with respect to other tags in the document. An instruction generation device for giving a database processing instruction to an XML database that manages XML data defined by a structure, A) definition data storage means for storing definition data including the tag arrangement positional relationship, and B) in the definition data Hierarchical structure acquisition means for acquiring the hierarchical structure of each tag according to the arrangement position relationship of the tags, C) A tag located at the end of the hierarchical structure is extracted, together with an input area for inputting element data for the tag, Input screen data that can display a command input section for inputting an instruction for the input data by an operator of the terminal computer is displayed. A transmission means for transmitting to the computer; D) a processing instruction means for giving a database processing instruction inputted by the terminal computer to the XML database upon receipt of reply data from the terminal computer; E) the hierarchical structure acquisition means; 1) Acquiring the hierarchical structure of the tag by the following processing: 1) Tracing the tag of the highest node in the hierarchical structure as the node of interest, and the node of the tag in the lower hierarchy to the lower hierarchy sequentially 2) determine whether there is an undetected younger brother node of the terminal node that is connected to this node as a node of interest in the hierarchy one level above the terminal node, and 3) If an undetected younger brother node exists, the younger brother node is regarded as the node of interest, and the nodes in the lower hierarchy are sequentially moved down to the lower hierarchy. 4) When there is no sibling node of the end node, 4) If there is no sibling node of the end node, the node in the hierarchy one level higher than the end node is set as the target node, and the node in the lower hierarchy is set as the end node. Store the arrangement relationship of each node while sequentially tracing down to the lower level of the node. 5) Repeat the above 2) to 4).

このように、前記定義データから全体の階層構造を決定し、かかる階層構造のうち、階層構造の末端に位置するタグを抽出して、当該タグについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データを生成することにより、柔軟な入力形式が可能なXMLデータの自由度を制限することなく、データベースに簡易にデータ登録ができる命令生成装置を提供することができる。   In this way, the entire hierarchical structure is determined from the definition data, a tag located at the end of the hierarchical structure is extracted from the hierarchical structure, and an input area for inputting element data for the tag is included, By generating input screen data that can display a command input unit for inputting commands for input data, data can be easily registered in the database without limiting the degree of freedom of XML data that allows a flexible input format. An instruction generation device can be provided.

2)本発明にかかる命令生成装置は、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースにデータベース処理命令を与える命令生成装置であって、A)前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、B)当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段、C)前記階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、D)前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与える処理命令手段を備えている。   2) In the instruction generation device according to the present invention, an attribute label indicating an attribute of the element data is added to each element data, and each attribute label is added according to an arrangement positional relationship with respect to other attribute labels in the document. A command generation device that gives a database processing command to a database that manages a hierarchical self-describing document in which data is defined in a hierarchical structure, and A) definition data storage means for storing definition data including the tag arrangement positional relationship, B) Hierarchical structure acquisition means for acquiring the hierarchical structure of each attribute label according to the arrangement position relation of the attribute label in the definition data, C) Extracting the attribute label located at the end of the hierarchical structure, In addition to the input area for entering data, the operator of the terminal computer enters instructions for the input data. A transmission means for transmitting input screen data capable of displaying an instruction input unit to the terminal computer; D) a processing instruction means for giving a database processing instruction inputted by the terminal computer to the database when receiving reply data from the terminal computer It has.

このように、前記定義データから全体の階層構造を決定し、かかる階層構造のうち、階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データを生成することにより、柔軟な入力形式が可能な階層構造自己記述型文書の自由度を制限することなく、データベースに簡易にデータベース処理命令が可能な命令生成装置を提供することができる。   In this way, the entire hierarchical structure is determined from the definition data, and an attribute label located at the end of the hierarchical structure is extracted from the hierarchical structure, together with an input area for inputting element data for the attribute label. By generating input screen data that can display an instruction input unit for inputting instructions for the input data, it is possible to store in a database without restricting the degree of freedom of a hierarchical self-describing document capable of flexible input formats. It is possible to provide an instruction generation device capable of easily executing database processing instructions.

3)本発明にかかる命令生成装置においては、前記階層構造取得手段は、以下の処理により、前記属性ラベルの階層構造を取得する。1)前記階層構造の最上位ノードの属性ラベルを注目ノードとして、下位の階層の属性ラベルのノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、2)前記末端ノードの1つ上の階層のノードを注目ノードとしてこれにつながる、前記末端ノードの未検出弟ノードが存在するか否か判断し、3)未検出弟ノードが存在する場合には、当該弟ノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、4)前記末端ノードの弟ノードが存在しない場合には、当該末端ノードの1つ上の階層のノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶する、5)上記2)〜4)を繰り返す。したがって、前記属性ラベルの階層構造を確実に取得することができる。   3) In the instruction generation device according to the present invention, the hierarchical structure acquisition means acquires the hierarchical structure of the attribute label by the following processing. 1) Using the attribute label of the highest node of the hierarchical structure as a target node, sequentially storing the nodes of the attribute labels of the lower hierarchy up to the lower hierarchy, storing the arrangement relationship of each node, and 2) the terminal Determine whether there is an undetected younger brother node of the end node connected to this node as a node of the hierarchy one level higher than the node, and 3) if there is an undetected younger brother node, the younger brother node , With the nodes in the lower hierarchy being sequentially traced to the lower hierarchy, storing the positional relationship of each node, and 4) if there is no brother node of the end node, Using the node one level higher as the node of interest, the nodes in the lower layer are sequentially traced to the lower layer until the end node, and the arrangement relationship of each node is stored. 5) Repeat the above 2) to 4)Therefore, the hierarchical structure of the attribute label can be acquired with certainty.

4)本発明にかかるデータベースシステムにおいては、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースシステムであって、1)前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、2)当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段、3)前記階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、4)前記端末コンピュータから返信データを受け取ると、前記端末コンピュータにて入力されたデータベース処理命令に基づいて、データベース処理を実行する実行手段を備えている。このように、前記定義データから全体の階層構造を決定し、かかる階層構造のうち、階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データを生成することにより、柔軟な入力形式が可能な階層構造自己記述型文書の自由度を制限することなく、簡易にデータベース処理命令が可能なデータベースシステムを提供することができる。   4) In the database system according to the present invention, an attribute label representing an attribute of the element data is added to each element data, and each attribute label is added according to the arrangement positional relationship with respect to other attribute labels in the document. A database system for managing a hierarchical self-describing document in which data is defined in a hierarchical structure, wherein 1) definition data storage means for storing definition data including the tag arrangement position relationship, 2) attribute labels in the definition data 3) Hierarchical structure acquisition means for acquiring the hierarchical structure of each attribute label according to the arrangement positional relationship of 3), and 3) an input area for extracting the attribute label located at the end of the hierarchical structure and inputting element data for the attribute label In addition, an instruction input unit for inputting an instruction for the input data by an operator of the terminal computer can be displayed. Transmitting means for transmitting input screen data to the terminal computer, 4) When receiving reply data from the terminal computer, it comprises execution means for executing database processing based on the database processing command input by the terminal computer. . In this way, the entire hierarchical structure is determined from the definition data, and an attribute label located at the end of the hierarchical structure is extracted from the hierarchical structure, together with an input area for inputting element data for the attribute label. By generating input screen data that can display a command input unit for inputting commands for the input data, it is easy to limit the flexibility of hierarchical self-describing documents that allow flexible input formats. A database system capable of database processing instructions can be provided.

5)本発明にかかる命令生成装置は、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースにデータベース処理命令を与える命令生成装置であって、1)前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、2)当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段を備えている。このように、前記定義データから全体の階層構造を決定し、かかる階層構造のうち、階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データを生成することにより、柔軟な入力形式が可能な階層構造自己記述型文書の自由度を制限することなく、データベース処理命令を生成することができる命令生成装置を提供することができる。   5) In the instruction generating device according to the present invention, an attribute label representing an attribute of the element data is added to each element data, and each attribute label is added according to the arrangement positional relationship with respect to other attribute labels in the document. An instruction generation device that gives a database processing instruction to a database that manages a hierarchical self-describing document in which data is defined in a hierarchical structure, and 1) definition data storage means for storing definition data including the tag arrangement positional relationship, 2) A hierarchical structure acquisition unit is provided for acquiring the hierarchical structure of each attribute label according to the positional relationship of the attribute labels in the definition data. In this way, the entire hierarchical structure is determined from the definition data, and an attribute label located at the end of the hierarchical structure is extracted from the hierarchical structure, together with an input area for inputting element data for the attribute label. Database processing without restricting the degree of freedom of hierarchical self-describing documents that allow flexible input formats by generating input screen data that can display an instruction input unit for inputting instructions for the input data An instruction generation device capable of generating an instruction can be provided.

6)本発明にかかる命令生成方法は、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースに対して、データベース処理命令を与えるコンピュータの使用方法であって、以下の処理をコンピュータに実行させること、1)前記タグ配置位置関係を含む定義データを定義データ記憶部に記憶させておき、2)当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得させ、3)前記階層構造の末端に位置する属性ラベルを抽出させて、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信させ、4)前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与えさせる。   6) In the instruction generation method according to the present invention, an attribute label indicating an attribute of the element data is added to each element data, and each attribute label is added according to the arrangement positional relationship with respect to other attribute labels in the document. A method of using a computer that gives a database processing instruction to a database that manages a hierarchical self-describing document in which data is defined in a hierarchical structure, wherein the computer executes the following processing: 1) the tag arrangement Definition data including a positional relationship is stored in the definition data storage unit, 2) the hierarchical structure of each attribute label is acquired according to the positional relationship of the attribute label in the definition data, and 3) positioned at the end of the hierarchical structure. The attribute label to be extracted is extracted, and the input data is input together with an input area for inputting element data for the attribute label. Input screen data that can display a command input unit for an operator of the terminal computer to input a command to the terminal computer. 4) When reply data is received from the terminal computer, the database is input to the database. Give database processing instructions.

このように、前記定義データから全体の階層構造を決定させ、かかる階層構造のうち、階層構造の末端に位置する属性ラベルを抽出させ、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データをコンピュータに生成させることにより、柔軟な入力形式が可能な階層構造自己記述型文書の自由度を制限することなく、データベースに簡易にデータベース処理命令が可能な命令生成方法を提供することができる。   In this way, the entire hierarchical structure is determined from the definition data, an attribute label located at the end of the hierarchical structure is extracted from the hierarchical structure, and an input area for inputting element data for the attribute label, A database is generated without restricting the degree of freedom of a hierarchical self-describing document capable of a flexible input format by causing a computer to generate input screen data that can display an instruction input unit for inputting an instruction for the input data. In addition, it is possible to provide an instruction generation method capable of easily executing a database processing instruction.

7)本発明にかかるプログラムは、コンピュータを、データベースに対してデータベース処理命令を与える命令生成装置として機能させるためのプログラムであって、以下の処理をコンピュータに実行させるためのプログラム。1)前記タグ配置位置関係を含む定義データを記憶させ、2)当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得させ、3)前記階層構造の末端に位置する属性ラベルを抽出させて、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信させ、4)前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与える。   7) A program according to the present invention is a program for causing a computer to function as an instruction generation device that gives a database processing instruction to a database, and for causing the computer to execute the following processing. 1) store definition data including the tag placement position relationship, 2) obtain the hierarchical structure of each attribute label according to the placement position relation of the attribute label in the definition data, and 3) attributes located at the end of the hierarchical structure The input screen data which can display the command input part which the operator of a terminal computer inputs the instruction | indication with respect to the input data with the input area for extracting a label and inputting element data about the said attribute label is transmitted to a terminal computer 4) When the reply data is received from the terminal computer, the database processing instruction inputted by the terminal computer is given to the database.

このように、前記定義データから全体の階層構造を決定させ、かかる階層構造のうち、階層構造の末端に位置する属性ラベルを抽出させ、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を入力するための命令入力部を表示できる入力画面データをコンピュータに生成させることにより、柔軟な入力形式が可能な階層構造自己記述型文書の自由度を制限することなく、データベースに簡易にデータベース処理命令が可能な命令生成方法を提供することができる。   In this way, the entire hierarchical structure is determined from the definition data, an attribute label located at the end of the hierarchical structure is extracted from the hierarchical structure, and an input area for inputting element data for the attribute label, A database can be generated without restricting the degree of freedom of a hierarchical self-describing document capable of a flexible input format by causing a computer to generate input screen data that can display an instruction input unit for inputting an instruction for the input data. In addition, it is possible to provide an instruction generation method capable of easily executing a database processing instruction.

8)本発明にかかるデータベースシステムにおいては、A)前記実行手段は、a1)階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、a2)複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、a3)前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、a4)前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段を備え、B)前記検索手段は、b1)前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第1ステップ、b2)前記対応テーブルを参照して、前記注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得て、前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得て、前記次階層ノードのアドレスと、前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとする第2ステップ、b3)前記検索式について最下位階層まで前記第2ステップを実行したかを判断し、実行している場合には、現在の検出アドレスを前記合致するデータを検索結果のアドレスとし、実行していない場合には前記第2ステップを繰り返す第3ステップを実行する。このように、各ノードについて、格納位置と各ノードの属性ラベルとを分けて検索することにより、高速検索が可能となる。   8) In the database system according to the present invention, A) the execution means is: a1) hierarchical self-describing document storage means for storing a hierarchical self-describing document; a2) names of a plurality of attribute labels having a hierarchical structure; Given a specified search expression, search means for searching for data that matches the hierarchical self-describing document, a3) Correspondence table between each attribute label and its address in the hierarchical self-describing document Correspondence table storage means for storing a4) Hierarchical structure notation data storage for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical self-describing document is represented by an address at which each attribute label is stored B) The search means, when given the search expression, b1) a first step with the highest node in the search expression as the node of interest, b2) before The address of the node of interest is obtained by referring to the correspondence table, the address of the node of the next layer of the node of interest is obtained by referring to the hierarchical structure notation data, and the next node of the node of interest in the search formula For the attribute label of the hierarchy, the address is obtained by referring to the correspondence table, and an address in which the address of the next hierarchy node, the address of the next hierarchy node, and the address of the attribute label of the next hierarchy match is detected. B3) It is determined whether the second step has been executed up to the lowest hierarchy for the search expression. If it is executed, the current detection address is used as the search result. If not, the third step is repeated to repeat the second step. In this way, for each node, a search can be performed at high speed by separately searching the storage position and the attribute label of each node.

9)本発明にかかるデータベースシステムにおいては、A)前記実行手段は、a1)階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、a2)複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、a3)前記階層構造自己記述型文書における各属性ラベルとそのハッシュ値の対応テーブルを記憶する対応テーブル記憶手段、a4)前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルのハッシュ値にて表した階層構造表記データを記憶する階層構造表記データ記憶手段を備え、B)前記検索手段は、b1)前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第1ステップ、b2)前記対応テーブルを参照して、前記注目ノードのハッシュ値を得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのハッシュ値を得て、前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのハッシュ値を得て、前記2つのハッシュ値とが一致するものを検出する第2ステップ、b3)前記検索式について最下位階層まで前記第2ステップを実行したかを判断し、実行している場合には、現在の検出したハッシュ値を前記合致するデータを検索結果のアドレスとし、実行していない場合には前記第2ステップを繰り返す第3ステップを実行する。このように、各ノードについて、ハッシュ法を用いて格納位置と各ノードの属性ラベルとを分けて検索することにより、高速検索が可能となる。   9) In the database system according to the present invention, A) the execution means includes: a1) hierarchical self-describing document storage means for storing a hierarchical self-describing document; a2) names of a plurality of attribute labels having a hierarchical structure; Given a specified search expression, search means for searching for data matching the hierarchical self-describing document, a3) Correspondence between each attribute label in the hierarchical self-describing document and its hash value Corresponding table storage means for storing a table, a4) Hierarchical structure notation data storage means for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical structure self-describing document is represented by a hash value of each attribute label B) The search means, when given the search formula, b1) a first step in which the highest node in the search formula is the node of interest, b2) the pair A hash value of the node of interest is obtained by referring to the table, a hash value of a node of the next layer of the node of interest is obtained by referring to the hierarchical structure notation data, and the next node of the node of interest for the search expression The second step of obtaining the hash value of the attribute label of the hierarchy by referring to the correspondence table and detecting the matching of the two hash values, b3) The second of the search expression up to the lowest hierarchy It is determined whether or not the step has been executed. If it is executed, the current detected hash value is used as the address of the search result, and if it is not executed, the second step is repeated. Perform steps. As described above, for each node, a high-speed search can be performed by separately searching the storage position and the attribute label of each node using the hash method.

10)本発明にかかるデータベースシステムにおいては、A)前記実行手段は、a1)階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、a2)複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、a3)前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、a4) 前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段を備え、B)前記検索手段は、b1)前記対応テーブルを参照して、注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得るステップ、b2)前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得るステップ、b3)前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとするステップを実行することにより、前記合致するデータのアドレスを検索する。このように、各ノードについて、格納位置と各ノードの属性ラベルとを分けて検索することにより、高速検索が可能となる。   10) In the database system according to the present invention, A) the execution means includes: a1) hierarchical self-describing document storage means for storing a hierarchical self-describing document; a2) names of a plurality of attribute labels having a hierarchical structure; Given a specified search expression, search means for searching for data that matches the hierarchical self-describing document, a3) Correspondence table between each attribute label and its address in the hierarchical self-describing document Correspondence table storage means for storing, a4) hierarchical structure notation data storage for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical self-describing document is represented by an address at which each attribute label is stored B) The search means refers to the correspondence table, obtains the address of the node of interest, refers to the hierarchical structure notation data, and Obtaining the address of the next layer node of the node of interest; b2) obtaining the address of the attribute label of the next layer of the node of interest with reference to the search formula; b3) obtaining the address of the next layer node; The address of the matching data is searched by executing the step of setting the address and the address of the attribute label of the next layer as the detection address. In this way, for each node, a search can be performed at high speed by separately searching the storage position and the attribute label of each node.

なお、本明細書において「Xpath」とは、XML文書の特定の要素を指定するための言語であり、本実施形態においては、XMLデータベースに記憶されたXMLデータの要素位置を指定する。また、「属性ラベル」とは、実施形態ではタグに該当する。「データベース処理」とは、データベースへのデータの「追加」、「更新」、「削除」、「検索」の処理をいう。   In this specification, “Xpath” is a language for designating a specific element of an XML document, and in this embodiment, designates an element position of XML data stored in an XML database. Further, the “attribute label” corresponds to a tag in the embodiment. “Database processing” refers to “addition”, “update”, “deletion”, and “search” processing of data in the database.

1.機能ブロック図の説明
本発明の一実施形態を図面に基づいて説明する。
図1に示すデータベースシステム1は、命令生成装置であるWebサーバ2およびデータベース3を有している。データベース3は、階層構造自己記述型文書を管理する。階層構造自己記述型文書とは、各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義されるデータをいう。
1. Description of Functional Block Diagram One embodiment of the present invention will be described with reference to the drawings.
A database system 1 shown in FIG. 1 includes a Web server 2 and a database 3 which are instruction generation devices. The database 3 manages hierarchical self-describing documents. In a hierarchical self-describing type document, an attribute label representing an attribute of the element data is added to each element data, and the element data to which each attribute label is added according to the arrangement positional relationship with respect to other attribute labels in the document. Data defined in a hierarchical structure.

Webサーバ2は、受信手段3,定義データ記憶手段4、階層構造取得手段6、送信手段7、処理命令手段8を備えている。   The Web server 2 includes a receiving unit 3, a definition data storage unit 4, a hierarchical structure acquisition unit 6, a transmission unit 7, and a processing instruction unit 8.

ユーザ端末1aからタグ配置位置関係を含む定義データが与えられると、受信手段3はこれを定義データ記憶手段に記憶する。階層構造取得手段6は、当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得する。本実施形態においては、以下のような処理により、各属性ラベルの階層構造を取得した。1)前記定義データにおける、階層構造の最上位ノードの属性ラベルを注目ノードとして、下位の階層の属性ラベルのノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、2)前記末端ノードの1つ上の階層のノードを注目ノードとしてこれにつながる、前記末端ノードの未検出弟ノードが存在するか否か判断し、3)未検出弟ノードが存在する場合には、当該弟ノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、4)前記末端ノードの弟ノードが存在しない場合には、当該末端ノードの1つ上の階層のノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶する。5)上記2)〜4)を繰り返す。   When the definition data including the tag arrangement positional relationship is given from the user terminal 1a, the receiving means 3 stores this in the definition data storage means. The hierarchical structure acquisition unit 6 acquires the hierarchical structure of each attribute label according to the arrangement position relationship of the attribute labels in the definition data. In the present embodiment, the hierarchical structure of each attribute label is acquired by the following processing. 1) In the definition data, the attribute label of the highest node in the hierarchical structure is used as a node of interest, the node of the attribute label of the lower hierarchy is sequentially traced to the lower hierarchy, and the arrangement relationship of each node is stored. 2) Determine whether there is an undetected younger brother node that is connected to this node as a node of interest that is one node above the last node. 3) If there is an undetected younger brother node , With the younger brother node as the node of interest, the nodes in the lower hierarchy are sequentially traced to the lower hierarchy, storing the arrangement relationship of each node, and 4) if the younger brother node of the end node does not exist, An arrangement relationship of each node is stored while a node in a hierarchy one level higher than the terminal node is set as a target node, and a node in a lower hierarchy is sequentially traced to a lower hierarchy up to the terminal node. 5) Repeat 2) to 4) above.

送信手段7は、前記階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する。処理命令手段8は前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与える。   The transmission means 7 extracts an attribute label located at the end of the hierarchical structure, and inputs an instruction for the input data together with an input area for inputting element data for the attribute label. Input screen data capable of displaying the input unit is transmitted to the terminal computer. When receiving the reply data from the terminal computer, the processing command means 8 gives the database processing command input by the terminal computer to the database.

2.ハードウェア構成
図1に示すWebサーバ2のハードウェア構成について、図2を用いて説明する。図2は、CPUを用いて構成したハードウェア構成の一例である。
Webサーバ2は、CPU23、メモリ27、ハードディスク26、モニタ30、CDD(CDROMドライブ)25、入力デバイス28、通信ボード32およびバスライン29を備えている。CPU23は、ハードディスク26に記憶された各プログラムにしたがいバスライン29を介して、各部を制御する。
2. Hardware Configuration The hardware configuration of the Web server 2 shown in FIG. 1 will be described with reference to FIG. FIG. 2 is an example of a hardware configuration configured using a CPU.
The Web server 2 includes a CPU 23, a memory 27, a hard disk 26, a monitor 30, a CDD (CDROM drive) 25, an input device 28, a communication board 32, and a bus line 29. The CPU 23 controls each unit via the bus line 29 according to each program stored in the hard disk 26.

ハードディスク26は、オペレーティングシステムプログラム(以下OSと略す)記憶部26o、自動生成プログラム記憶部26aを有する。   The hard disk 26 includes an operating system program (hereinafter abbreviated as OS) storage unit 26o and an automatically generated program storage unit 26a.

オペレーティングシステムプログラム(OS)26oは、本実施形態においては、Linux(商標)を採用したがこれに限定されるものではない。   The operating system program (OS) 26o employs Linux (trademark) in this embodiment, but is not limited to this.

自動生成プログラム26aは、後述するように、ユーザ端末または他のコンピュータから受け取った定義データに基づいて、端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを生成し、端末コンピュータに送信する。端末コンピュータから返信を受け取ると、これをデータベース3に渡す。詳しくは後述する。   As will be described later, the automatic generation program 26a generates input screen data that can display a command input unit input by an operator of the terminal computer based on definition data received from the user terminal or another computer, and stores it in the terminal computer. Send. When a reply is received from the terminal computer, it is passed to the database 3. Details will be described later.

なお、上記プログラムは、CDD25を介して、プログラムが記憶されたCDROM25aから読み出されてハードディスク26にインストールされたものである。なお、CDROM以外に、フレキシブルディスク(FD)、ICカード等のプログラムをコンピュータ可読の記録媒体から、ハードディスクにインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。   The program is read from the CDROM 25a storing the program via the CDD 25 and installed in the hard disk 26. In addition to the CDROM, a program such as a flexible disk (FD) or an IC card may be installed on a hard disk from a computer-readable recording medium. Furthermore, it may be downloaded using a communication line.

本実施形態においては、プログラムをCDROMからハードディスク26にインストールさせることにより、CDROMに記憶させたプログラムを間接的にコンピュータに実行させるようにしている。しかし、これに限定されることなく、CDROMに記憶させたプログラムをCDD25から直接的に実行するようにしてもよい。なお、コンピュータによって、実行可能なプログラムとしては、そのままインストールするだけで直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの(例えば、データ圧縮されているものを、解凍する等)、さらには、他のモジュール部分と組合して実行可能なものも含む。   In the present embodiment, the program stored in the CDROM is indirectly executed by the computer by installing the program from the CDROM into the hard disk 26. However, the present invention is not limited to this, and the program stored in the CDROM may be directly executed from the CDD 25. Note that programs that can be executed by a computer are not only programs that can be directly executed by being installed as they are, but also programs that need to be converted into other forms (for example, those that have been compressed) In addition, those that can be executed in combination with other module parts are also included.

ユーザ端末2は、図3に示すように、ハードディスク126にブラウザプログラムを記憶するブラウザプログラム記憶部126bがある点以外は、ハード構成はほぼ同様であるので説明は省略する。また、データベース3は、図4に示すように、通常のXMLデータのデータベースシステムであり、データ記憶部226dにかかるXMLデータが記憶される。データ管理プログラム記憶部226aに記憶されるプログラムも通常のデータベース処理をおこなうプログラムである。   As shown in FIG. 3, the user terminal 2 has substantially the same hardware configuration except that the hard disk 126 has a browser program storage unit 126 b that stores the browser program, and a description thereof will be omitted. As shown in FIG. 4, the database 3 is a normal database system for XML data, and stores XML data related to the data storage unit 226d. The program stored in the data management program storage unit 226a is also a program that performs normal database processing.

3.フローチャート
つぎに、本システムにおける処理について図5を用いて説明する。以下では、本実施形態においては、ユーザ端末から定義データが与えられて、この定義データを用いてユーザが望む階層構造のXMLデータをデータベース3に追加登録する場合を例として説明する。
ユーザ端末1の操作者は、入力を希望するXMLデータのデータ構造を定めた定義データをWebサーバ2に送信する(ステップS1)。図6にその一例を示す。このデータでは、データベース3にて、〈ns:record〉〈/ns:record〉で囲まれたデータが一のレコードとしてデータベース3に追加される。なお、〈ns:origin〉〈/ns:origin〉は、各レコードとしての入出力位置を特定する情報である。
3. Flowchart Next, processing in this system will be described with reference to FIG. Hereinafter, in the present embodiment, an example will be described in which definition data is given from a user terminal, and XML data having a hierarchical structure desired by the user is additionally registered in the database 3 using the definition data.
The operator of the user terminal 1 transmits definition data defining the data structure of XML data desired to be input to the Web server 2 (step S1). An example is shown in FIG. In this data, data surrounded by <ns: record></ ns: record> is added to the database 3 as one record in the database 3. Note that <ns: origin></ ns: origin> is information for specifying an input / output position as each record.

Webサーバ2のCPU23は、この定義データを受け取ると、XHTMLの自動生成処理をおこなう。自動生成プログラムによるXHTMLの自動生成処理の詳細について、図7を用いて説明する。まず、CPU23は、ルートノードとなるタグを取得する〈図7ステップS31)。ルートノードは1レコード内のうち最上位に位置するノードであるので、この場合、ルートノードとなるタグは、〈連絡先〉である。CPU23は、ルートノードとして当該タグをメモリ27に記憶する。   When the CPU 23 of the Web server 2 receives this definition data, it performs an XHTML automatic generation process. Details of XHTML automatic generation processing by the automatic generation program will be described with reference to FIG. First, CPU23 acquires the tag used as a root node <step S31 of FIG. 7]. Since the root node is the node located at the top of one record, in this case, the tag serving as the root node is <Contact>. The CPU 23 stores the tag in the memory 27 as a root node.

つぎにCPU23は、XHTMLデータのヘッダ部を出力する(ステップS32)。かかるヘッダ部はあらかじめ記憶しておけばよい。本実施形態においては、図8Aに示すようなデータを記憶しておき、変数%1にルートノードのタグ(この場合”連絡先”)を入力して、出力するようにした。   Next, the CPU 23 outputs the header part of the XHTML data (step S32). Such a header part may be stored in advance. In this embodiment, data as shown in FIG. 8A is stored, and the tag of the root node (in this case, “contact”) is input to the variable% 1 and output.

つぎに、CPU23は、ルートノードの子ノード(複数ある場合は最兄を)を取得し(ステップS33〉、当該ノード〈連絡先〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、ルートノード〈連絡先〉には、子ノードのうち、長兄ノードとしてノード〈氏名〉が存在する。したがって、CPU23は、ステップS34にて、子ノードを取得できたと判断し、あらかじめ記憶しているXHTMLテキストデータを読み出して出力する(ステップS36)。本実施形態においては、図8Cに示すようなXHTMLテキストデータを記憶しておき、変数%3に当該ノード名をそのまま(この場合”氏名”)、変数%3に当該ノード名を上位のノードも含めて(パス名として)挿入するようにした(この場合”連絡先/氏名”)。   Next, the CPU 23 acquires a child node (the eldest brother if there are a plurality of nodes) of the root node (step S33), and determines whether or not a child node has been acquired for the node <contact address> (step S34). In this case, the node <name> as the elder brother node among the child nodes exists in the root node <contact address> Therefore, the CPU 23 determines in step S34 that the child node has been acquired and stores it in advance. In this embodiment, the XHTML text data as shown in FIG.8C is stored, and the node name is directly stored in the variable% 3 (in this case). Name "), and the variable% 3 is inserted with the node name including the upper node (as a path name) (in this case," contact ") / Name ").

つぎに、CPU23は、ノード〈氏名〉の弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。弟ノードとは、同じ親にぶら下がっているノードのうち、位置的に後ろに存在するノードをいう。この場合、ノード〈氏名〉の弟ノード〈電話〉が存在するので、CPU23は、弟ノードを取得できたとして、ノード〈電話〉の子ノード(長兄)を取得し(ステップS33)、当該ノード〈電話〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、子ノードは存在しないので、CPU23は、子ノードが取得できなかったと判断し、XHTMLテキストボックスを出力する(ステップS36)。すなわち、図8Cに示すようなXHTMLテキストデータの変数%3に当該ノード名(この場合”電話”)が、変数%3に当該ノード名が上位のノードも含めて(パス名として)挿入される(この場合”連絡先/電話”)。   Next, the CPU 23 acquires the younger brother node of the node <name> (step S37), and determines whether the younger brother node has been acquired (step S39). The younger brother node is a node that is located behind the node hanging from the same parent. In this case, since there is a younger brother node <telephone> of the node <name>, the CPU 23 obtains a child node (elder brother) of the node <telephone> (step S33), assuming that the younger brother node can be obtained. It is determined whether or not a child node has been acquired for (telephone) (step S34). In this case, since there is no child node, the CPU 23 determines that the child node could not be acquired, and outputs an XHTML text box (step S36). That is, the node name (in this case, “telephone”) is inserted into the variable% 3 of the XHTML text data as shown in FIG. 8C, and the node name is inserted into the variable% 3 including the upper node (as a path name). (In this case “Contact / Phone”).

つぎに、CPU23は、ノード〈電話〉の弟ノードを取得し(ステップS37)、弟ノ
ードを取得できたか否か判断する(ステップS39)。この場合、ノード〈電話〉の弟ノード〈住所〉が存在するので、CPU23は、ステップS33に進み、ノード〈住所〉の子ノードを取得し(ステップS33)、当該ノード〈住所〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、ノード〈住所〉には、子ノードのうち長兄ノードのノード〈住所1〉が存在するので、CPU23は、ステップS34にて、子ノードを取得できたと判断し、XHTMLフレームヘッダデータを出力する(ステップS35)。本実施形態においては、図8Bに記憶したXHTMLフレームヘッダデータの変数%2に子ノードが取得できたノードであるノード〈住所〉を挿入して、出力するようにした。
つぎに、CPU23は、ノード〈住所1〉の子ノードを取得し(ステップS33)、当該ノード〈住所1〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、子ノードは存在しないので、CPU23は、XHTMLテキストボックスを出力する(ステップS36)。この場合、変数%3に”住所1”が、変数%4に”連絡先/住所/住所1”が挿入されたXHTMLテキストデータが出力される。
Next, the CPU 23 acquires the younger brother node of the node <telephone> (step S37), and determines whether or not the younger brother node has been acquired (step S39). In this case, since there is a younger brother node <address> of the node <phone>, the CPU 23 proceeds to step S33 to acquire a child node of the node <address> (step S33), and for the node <address>, the child node It is determined whether or not can be acquired (step S34). In this case, since the node <address> includes the elder brother node <address 1> among the child nodes, the CPU 23 determines in step S34 that the child node has been acquired, and outputs the XHTML frame header data. (Step S35). In the present embodiment, the node <address>, which is the node from which the child node can be acquired, is inserted into the variable% 2 of the XHTML frame header data stored in FIG. 8B and output.
Next, the CPU 23 acquires a child node of the node <address 1> (step S33), and determines whether or not a child node has been acquired for the node <address 1> (step S34). In this case, since there is no child node, the CPU 23 outputs an XHTML text box (step S36). In this case, XHTML text data in which “address 1” is inserted in variable% 3 and “contact / address / address 1” is inserted in variable% 4 is output.

つぎに、CPU23は、弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。この場合、ノード〈住所1〉の弟ノード〈住所2〉が存在するので、CPU23は、ステップS33に進み、この取得したノード〈住所2〉について、子ノードを取得し(ステップS33)、当該ノード〈住所2〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、当該ノード〈住所2〉の子ノードは存在しないので、CPU23は、XHTMLテキストデータを出力する(ステップS36)。この場合、変数%3に”住所2”が、変数%4に”連絡先/住所/住所2”が挿入されたXHTMLテキストデータが出力される。   Next, the CPU 23 acquires a younger brother node (step S37), and determines whether or not a younger brother node has been acquired (step S39). In this case, since there is a younger brother node <address 2> of the node <address 1>, the CPU 23 proceeds to step S33 and acquires a child node for the acquired node <address 2> (step S33). It is determined whether or not a child node has been acquired for <address 2> (step S34). In this case, since there is no child node of the node <address 2>, the CPU 23 outputs XHTML text data (step S36). In this case, XHTML text data in which “address 2” is inserted into variable% 3 and “contact / address / address 2” is inserted into variable% 4 is output.

つぎに、CPU23は、ノード〈住所2〉の弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。この場合、CPU23は、ステップS41に進み、親ノードを取得し(ステップS41)、取得したノードがルートノードか否か判断する(ステップS43)。この場合、ノード〈住所〉はルートノードでないので、フレームフッタ部を出力する(ステップS45)。本実施形態においては、図8Dに示すようなデータを記憶しておき、出力するようにした。   Next, the CPU 23 acquires the younger brother node of the node <address 2> (step S37), and determines whether the younger brother node has been acquired (step S39). In this case, the CPU 23 proceeds to step S41, acquires a parent node (step S41), and determines whether the acquired node is a root node (step S43). In this case, since the node <address> is not the root node, the frame footer part is output (step S45). In the present embodiment, data as shown in FIG. 8D is stored and output.

CPU23は、弟ノードを取得し(図7ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。この場合、CPU23は、弟ノードが取得できないので、ステップS41に進み、その親ノードを取得し(ステップS41)、取得したノードがルートノードか否か判断する(ステップS43)。   CPU23 acquires a younger brother node (step S37 of FIG. 7), and judges whether the younger brother node was able to be acquired (step S39). In this case, since the younger brother node cannot be acquired, the CPU 23 proceeds to step S41, acquires the parent node (step S41), and determines whether the acquired node is the root node (step S43).

この場合、ノード〈連絡先〉は親ノードであるので、CPU23は、フッタ部を出力する(ステップS47)。本実施形態においては、図8Eに示すようなXHTMLフッタデータを記憶しておき、これを出力するようにした。なお、フッタ部は、後述するように、データベース3への処理命令をユーザ端末の操作者に指定させるためのコントロールボタン(命令入力部)を表示するデータである。この例では、「追加」、「更新」、「削除」、「検索」の4つのコントロールボタンが表示される。   In this case, since the node <contact address> is the parent node, the CPU 23 outputs the footer part (step S47). In the present embodiment, XHTML footer data as shown in FIG. 8E is stored and output. As will be described later, the footer portion is data for displaying a control button (command input portion) for allowing the operator of the user terminal to specify a processing command for the database 3. In this example, four control buttons “add”, “update”, “delete”, and “search” are displayed.

このようにして、図9a,図9bに示すようなXHTMLデータが自動生成される。   In this way, XHTML data as shown in FIGS. 9a and 9b is automatically generated.

生成されたXHTMLデータは、ユーザ端末1aに送信される(図5ステップS5)。ユーザ端末1aはブラウザプログラムによりこれを読み取り、表示する(ステップS7)。ユーザ端末1aには、画像については図9a,図9bに示すXHTMLデータ基づいて、図10に示すような階層構造の入力ボックスと、コントロールボタン55〜58が表示される。   The generated XHTML data is transmitted to the user terminal 1a (step S5 in FIG. 5). The user terminal 1a reads and displays it by the browser program (step S7). On the user terminal 1a, an input box having a hierarchical structure as shown in FIG. 10 and control buttons 55 to 58 are displayed based on the XHTML data shown in FIGS. 9a and 9b.

ユーザ端末1aの操作者は、入力ボックス50、51,53,54にデータを入力するとともに、いずれかのコントロールボタンを入力デバイスで選択する(図5ステップS9)。この場合、追加処理なので、ユーザ端末1aの操作者は、コントロールボタン55を選択する。ユーザ端末1aは、いずれかのコントロールボタンが選択されると、ブラウザプログラムによって、入力ボックスのIDとその入力ボックスへの入力値が、追加処理をおこなう命令特定情報とともに、Webサーバ2に送信する(ステップS11)。本実施形態においては、命令特定情報"insert"である。たとえば、図10に示す入力ボックス50から54にそれぞれ、”山田太郎”、”090−xxxx−xxxx”、”大阪府大阪市xxx−xxx”、”兵庫県神戸市xxx−xxx”と入力されて、ボタン”挿入”が選択された場合、ユーザ端末1aは、insert”連絡先/名前”=山田太郎、”連絡先/電話”=090−xxxx−xxxx,”連絡先/住所/住所1”=大阪府大阪市xxx−xxx,”連絡先/住所/住所2”=兵庫県神戸市xxx−xxxを送信する。   The operator of the user terminal 1a inputs data in the input boxes 50, 51, 53, and 54, and selects one of the control buttons with the input device (step S9 in FIG. 5). In this case, since it is an additional process, the operator of the user terminal 1a selects the control button 55. When any one of the control buttons is selected, the user terminal 1a transmits the ID of the input box and the input value to the input box to the Web server 2 by the browser program together with the command specifying information for performing additional processing ( Step S11). In the present embodiment, the instruction specifying information “insert”. For example, “Taro Yamada”, “090-xxxx-xxxx”, “Osaka City Osaka xxx-xxx”, “Kobe City Hyogo xxx-xxx” are entered in the input boxes 50 to 54 shown in FIG. , When the button “insert” is selected, the user terminal 1a inserts “contact / name” = Taro Yamada, “contact / phone” = 090-xxxx-xxxx, “contact / address / address 1” = Send Osaka city xxx-xxx, “contact / address / address 2” = Kobe city xxx-xxx, Hyogo prefecture.

Webサーバ2は、受け取ったデータから、処理内容を特定した命令文(Xpathを含む)を生成して、データベース3に送信する(ステップS13)。この場合であれば、命令特定情報は、"insert"に対応する命令”insertflagment”を生成する。命令特定情報から生成する命令は、出力先のデータベースにおいて定められた毎に処理内容が定められているので、これをWebサーバ2に登録しておけばよい。また、Xpathとしては、入力ボックスのIDとその値(たとえば、”連絡先/名前”=山田太郎、・・・)が生成され、データベース3に送信される。   The Web server 2 generates a command statement (including Xpath) specifying the processing content from the received data, and transmits it to the database 3 (step S13). In this case, the instruction specifying information generates an instruction “insertflagment” corresponding to “insert”. Since the processing content of the command generated from the command specifying information is determined every time it is determined in the output destination database, it may be registered in the Web server 2. Further, as the Xpath, an input box ID and its value (for example, “contact / name” = Taro Yamada,...) Are generated and transmitted to the database 3.

データベース3は、Webサーバ2から処理命令が与えられるか否か判断しており(ステップS15)、命令が与えられると、指定された命令を実行する(ステップS17)。かかる処理については従来と同様であるが、図11を用いて簡単に説明する。   The database 3 determines whether or not a processing instruction is given from the Web server 2 (step S15). When the instruction is given, the designated instruction is executed (step S17). Such processing is the same as in the prior art, but will be briefly described with reference to FIG.

データベース3のCPU223は、命令の種類が、「追加」、「更新」、「削除」、「検索」のいずれであるかを判断する(ステップS81)。この場合、与えられたのは、命令”insertflagment”であるので、追加位置の決定処理をおこなう(ステップS83)。追加位置は全く任意でもよいが(たとえば常に一番最後など)、本実施形態においては、検索速度向上のために、共通のノードを有するレコードがあれば、その次に追加するようにした。したがって、この場合、Xpathで指定されたノード〈連絡先〉の下位ノードとして〈氏名〉、〈電話〉、〈住所〉という階層構造を有するレコードを検索して、その次のレコードを追加位置とする。   The CPU 223 of the database 3 determines whether the instruction type is “add”, “update”, “delete”, or “search” (step S81). In this case, since the instruction “insertflagment” is given, an additional position determination process is performed (step S83). Although the addition position may be arbitrary (for example, always at the very end), in the present embodiment, if there is a record having a common node, it is added next to improve the search speed. Therefore, in this case, a record having a hierarchical structure of <name>, <telephone>, and <address> is searched as a lower node of the node <contact address> specified by Xpath, and the next record is set as an additional position. .

CPU223は、決定された追加位置にレコードを追加する(ステップS85)。これで、Xpathを用いた処理を終了し、結果を送信する(ステップS19)。Webサーバ2がこれを受けとることにより、処理は終了する。   The CPU 223 adds a record at the determined additional position (step S85). This terminates the process using Xpath and transmits the result (step S19). When the Web server 2 receives this, the process ends.

なお、「更新」、「削除」の処理については、追加位置の決定に変えて、対象レコードを特定する(図11ステップS93,ステップS103)が異なる。また、「検索」の処理については、与えられた検索条件に従って検索をおこない(ステップS115)、結果を送信する(ステップS117)。   Note that the “update” and “deletion” processes differ from the determination of the additional position in that the target record is specified (steps S93 and S103 in FIG. 11). For the “search” process, a search is performed according to the given search condition (step S115), and the result is transmitted (step S117).

このように、ユーザ端末から、インスタンス定義データが与えられると、この定義データを自動解析し、その定義データの階層構造を決定して、末端ノードについて入力ボックスを対応づけた画面を自動生成する。この画面には、XMLデータを管理するデータベースへの処理命令の種類を入力する指示ボックスが表示される。かかる画面データは、前記ユーザ端末に送信され、端末から入力データおよびその指示データが与えられると、これに基づき、データベースに命令文を与える。これにより、ユーザの望む木構造のXMLデータをデータベースにデータベース処理することができる。   As described above, when the instance definition data is given from the user terminal, the definition data is automatically analyzed, the hierarchical structure of the definition data is determined, and a screen in which the input box is associated with the terminal node is automatically generated. On this screen, an instruction box for inputting the type of processing instruction to the database that manages the XML data is displayed. Such screen data is transmitted to the user terminal, and when input data and instruction data are given from the terminal, a command statement is given to the database based on the input data. Thereby, the XML data of the tree structure desired by the user can be database processed in the database.

なお、本件とは異なり、全てのユーザが希望するであろう入力ボックスの木構造を予め全て用意することも理論的には可能である。しかし、現実的には膨大な組合せを用意する必要があり、多数の候補が必要となるという問題がある。これに対して、本システムのように、ユーザから与えられた定義データを解析して動的に入力画面を生成することにより、そのような候補を登録しておく必要がなく、柔軟な対応が可能となる。   Unlike this case, it is theoretically possible to prepare all the tree structures of input boxes that all users would like in advance. However, in reality, it is necessary to prepare a huge number of combinations, and there is a problem that a large number of candidates are required. On the other hand, like this system, by analyzing the definition data given by the user and dynamically generating the input screen, there is no need to register such candidates and flexible handling is possible. It becomes possible.

4.他の実施形態
なお、本実施形態においては、前記定義データは、ユーザ端末から与えるようにしたが、予めハードディスクに1または2以上記憶しておき、いずれかをユーザに選択させるようにしてもよい。また、ノードの階層構造だけを記憶しておき、これにノード名を入力すると、前記定義データをウェブサーバが生成するようにしてもよい。
また、上記実施形態においては、ユーザ端末から定義データを与えるようにしたが、予めWebサーバ2に登録していた定義データについて、ユーザ属性ごとに自動判別するして、XHTMLデータを生成することも可能である。なお、生成されるのは、XHTMLに限らず、HTMLやXMLなど、規則性のあるデータフォーマットであればどのようなものであってもよい。
4). Other Embodiments In this embodiment, the definition data is given from the user terminal. However, one or more of the definition data may be stored in the hard disk in advance, and the user may select one of them. . Alternatively, only the hierarchical structure of the nodes may be stored, and the definition data may be generated by the web server when a node name is input thereto.
In the above embodiment, the definition data is given from the user terminal. However, the definition data registered in the Web server 2 in advance may be automatically determined for each user attribute to generate the XHTML data. Is possible. The generated data is not limited to XHTML, and any data format having regularity such as HTML or XML may be used.

なお、上記実施形態においては、各ノード毎に、子ノードが存在しない場合に入力ボックスを配置したXHTMLデータを生成するようにしたが、取得したノードの階層構造を決定しておき,まとめてXHTMLデータを生成するようにしてもよい。この場合、たとえば、ステップS43にて、取得したノードがルートノードである場合には、取得したノードのうち、各ノードの階層構造を決定させ、子ノードが存在すると上記フレームヘッダデータを出力し、子ノードの存在しないノードについては、XMLテキストデータを生成するようにしてもよい。   In the above embodiment, the XHTML data in which the input box is arranged is generated for each node when there is no child node. However, the hierarchical structure of the acquired nodes is determined, and the XHTML is collectively collected. Data may be generated. In this case, for example, when the acquired node is a root node in step S43, the hierarchical structure of each node is determined among the acquired nodes, and the frame header data is output when a child node exists, XML text data may be generated for a node having no child node.

なお、命令生成装置ではなく、階層構造判断装置として把握することもできる。   In addition, it can be grasped not as an instruction generation device but as a hierarchical structure determination device.

5.データベース3における検索手法について
5.1 データベース3における検索手法の問題点
上記実施形態においては、データベース3におけるレコード抽出について従来と同様の検索手法を用いた。しかしながら、かかるやり方では全てのレコードの全てのノードについて一致するか否かを判断する必要があり、レコード数が増えたり、または1レコードの階層構造が複雑になると、検索速度が低下するという問題がある。たとえば、データベースに図14に示すような階層構造のXMLデータが記憶されていたとする。この場合に、ノード〈名簿/連絡先/会社/住所〉を検索する場合、通常は、検索式の先頭のノード〈名簿〉を検索する。この場合、ノード305、405が一致する。つぎに、ノード305の1つ下位のノードの属性名が〈名前〉であるかを判断する。この場合、ノード307の属性名は〈名前〉であるので検索式に合致しない。つぎのノード309の属性名は〈会社〉であるので検索式に合致する。つぎに、ノード309の1つ下位のノードの属性名が〈住所〉であるかを判断する。この場合、ノード311の属性名は〈郵便番号〉であるので検索式に合致しない。つぎのノード313の属性名は〈住所〉であるので検索式に合致する。ノード313の属性名は〈電話番号〉であるので検索式に合致しない。以下ノード405についても同様に検索をおこなう。このように全てのノードを1つ1つ合致するか否か判断する必要がある。
5). Regarding the search method in the database 3 5.1 Problems of the search method in the database 3 In the above embodiment, the same search method as the conventional one is used for the record extraction in the database 3. However, in such a method, it is necessary to determine whether or not all nodes of all records match, and if the number of records increases or the hierarchical structure of one record becomes complicated, the search speed decreases. is there. For example, assume that XML data having a hierarchical structure as shown in FIG. 14 is stored in the database. In this case, when searching for the node <name list / contact / company / address>, the first node <name list> in the search formula is usually searched. In this case, the nodes 305 and 405 match. Next, it is determined whether or not the attribute name of the node immediately below the node 305 is <name>. In this case, since the attribute name of the node 307 is <name>, it does not match the search expression. Since the attribute name of the next node 309 is <company>, it matches the search formula. Next, it is determined whether or not the attribute name of the node immediately below the node 309 is <address>. In this case, since the attribute name of the node 311 is <zip code>, it does not match the search expression. Since the attribute name of the next node 313 is <address>, it matches the search expression. Since the attribute name of the node 313 is <telephone number>, it does not match the search expression. The same search is performed for the node 405. In this way, it is necessary to determine whether or not all the nodes match one by one.

しかしこれでは、蓄積するデータ量が増えれば増えるほど、検索時間が必要となる。なお、データの位置検索を高速化する技術として、ハッシュ法が知られている。ハッシュ法とは、データの検索を高速におこなうための方法の1つであり、キー値に一定の関数(ハッシュ関数)による演算をおこない、得られた値(ハッシュ値)からハッシュテーブルを参照して格納場所を特定して検索する方法をいう。   However, this requires more search time as the amount of accumulated data increases. A hash method is known as a technique for speeding up the data location search. The hash method is one of the methods for performing high-speed data retrieval. The key value is calculated by a certain function (hash function), and the hash value is referenced from the obtained value (hash value). The method of searching by specifying the storage location.

たとえばノード〈名簿/連絡先/会社/住所〉は33,45,67・・・、〈名簿/連絡先/自宅/住所〉は、55,86・・・というように、各データが記憶されているアドレスとの対応テーブルを記憶しておき、検索式が与えられると、このハッシュテーブルを参照して対応先のアドレスのデータを読み出せば、一発で検索が可能である。しかしながら、階層構造の自己記述型言語で定義されたデータ群においては、検索命令が、必ずしもすべてのノードが指定されるのではなく、ノード〈名簿/連絡先/???/住所〉というように、一部がワイルドカードで指定されたり、また、〈名簿/連絡先〉のように中途レベルで指定される場合がある。したがって、全ての組合せをハッシュ値として予め記憶しておくことは非現実的である。特に、データベースにおいては、一部のデータが更新、追加、削除されることを考慮すると、かかる問題はより深刻になる。   For example, the node <name list / contact / company / address> is 33, 45, 67..., <Name list / contact / home / address> is 55, 86. If a correspondence table is stored and a search expression is given, it is possible to perform a search in one shot by referring to this hash table and reading the data of the corresponding address. However, in a data group defined in a self-describing language having a hierarchical structure, not all nodes are designated by a search command, but a node <name list / contact /? ? ? / Address> may be partially specified by a wild card, or may be specified at an intermediate level such as <name list / contact address>. Therefore, it is unrealistic to store all combinations as hash values in advance. In particular, in a database, such a problem becomes more serious considering that some data is updated, added, or deleted.

そこで、発明者は、上記問題を解決するために、新たな検索手法を発明した。以下の発明は、階層構造の自己記述型言語で定義されたデータ群における高速検索を可能とする検索方法および、かかる方法を実現するための装置を提供することを目的とする。   Therefore, the inventor has invented a new search method in order to solve the above problem. An object of the following invention is to provide a search method that enables high-speed search in a data group defined by a self-describing language having a hierarchical structure, and an apparatus for realizing the method.

5.2 解決するための手段の機能ブロック
図12に、かかる検索装置の機能ブロック図を示す。データ検索装置500は、階層構造自己記述型文書記憶手段501、検索手段503、変更手段504、対応テーブル記憶手段505、および階層構造表記データ記憶手段507を備えている。階層構造自己記述型文書記憶手段501は、階層構造自己記述型文書を記憶する。検索手段503は、複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する。対応テーブル記憶手段505は、前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する。階層構造表記データ記憶手段507は、前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する。
検索手段503は、1)前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第1ステップ、2)前記対応テーブルを参照して、前記注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得て、前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得て、前記次階層ノードのアドレスと、前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとする第2ステップ、3)前記検索式について最下位階層まで前記第2ステップを実行したかを判断し、実行している場合には、現在の検出アドレスを前記合致するデータを検索結果のアドレスとし、実行していない場合には前記第2ステップを繰り返す第3ステップを実行する。
5.2 Functional Blocks of Means for Solving FIG. 12 shows a functional block diagram of such a search device. The data search apparatus 500 includes a hierarchical self-describing document storage unit 501, a search unit 503, a change unit 504, a correspondence table storage unit 505, and a hierarchical structure notation data storage unit 507. The hierarchical self-describing document storage unit 501 stores a hierarchical self-describing document. Retrieval means 503, when given a retrieval formula in which the names of a plurality of attribute labels are specified in a hierarchical structure, retrieves data matching the hierarchical structure self-describing document. The correspondence table storage unit 505 stores a correspondence table of each attribute label and its address in the hierarchical self-describing document. The hierarchical structure notation data storage means 507 stores hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical structure self-describing document is represented by an address at which each attribute label is stored.
The search means 503 receives 1) the first step when the search expression is given, and 2) obtains the address of the target node by referring to the correspondence table. , Referring to the hierarchical structure notation data, obtaining the address of the node next to the node of interest, and referring to the correspondence table for the attribute label of the next layer of the node of interest for the search expression And a second step in which an address where the address of the next hierarchy node, the address of the next hierarchy node and the address of the attribute label of the next hierarchy match is used as a detection address, and 3) the lowest hierarchy for the search expression Whether or not the second step has been executed, and if so, the current detection address is used as the search result address with the matching data as the search result address. When to not to perform the third step of repeating the second step.

変更手段504は、階層構造自己記述型文書記憶手段501に記憶された階層構造自己記述型文書について、追加や変更や削除命令が与えられると、これを実行するとともに、対応テーブル記憶手段505および階層構造表記データ記憶手段507の対応データを変更する。たとえば、追加があった場合には、対応テーブル記憶手段505および階層構造表記データ記憶手段507にこれを追加する。変更、削除の場合も同様である。   The change unit 504 executes an add, change, or delete instruction when given to the hierarchical self-describing document stored in the hierarchical self-describing document storage unit 501, and also executes the corresponding table storage unit 505 and the hierarchical table. Corresponding data in the structure notation data storage means 507 is changed. For example, when there is an addition, it is added to the correspondence table storage unit 505 and the hierarchical structure notation data storage unit 507. The same applies to changes and deletions.

5.3 発明の詳細な説明
かかる発明を実現するハードウェア構成については、上記と同様であるので説明は省略する。
図4に示すデータベース3と異なる点について説明する。本実施形態においては、上記問題を解決するために、ツリー構造記憶部226tおよびハッシュテーブル記憶部226hを備え、さらに、これらを用いてデータ検索をおこなうデータ管理プログラムを備えている。
5.3 Detailed Description of the Invention Since the hardware configuration for realizing the invention is the same as described above, the description thereof is omitted.
Differences from the database 3 shown in FIG. 4 will be described. In the present embodiment, in order to solve the above problem, a tree structure storage unit 226t and a hash table storage unit 226h are provided, and further, a data management program for performing data search using these is provided.

5.4 概要
つぎに、本装置における処理の概要について説明する。この実施例では、以下のようにして高速検索を可能とした。ハードディスク226に、予め、図15のツリー構造テーブルおよび図16のハッシュテーブルを用意しておく。かかるツリー構造テーブルおよびハッシュテーブルは、以下のようにして生成される。まず、追加するデータの各ノードについて、そのハッシュ値を演算する。ハッシュ値の決定は、たとえば、一般的なハッシュ値と同様に、予め定めたハッシュ関数を用いればよい。そして、各ノードについて、既に同じノードが存在する場合には、図16に示すハッシュテーブルに、これに追加し、同じノードがなければ新たにノード名およびそのハッシュ値をそのハッシュテーブルに追加記憶すればよい。さらに、追加したXMLデータのツリー構造における各ノードをそのハッシュ値に置き換えて、図15に示すツリー構造テーブルに追記する。
そして、検索式として、ノードとしてA/B/Cという相対パスで特定されたノードが指定されれば、まず最初のノードAのハッシュ値を、ハッシュテーブルから取得する。取得したハッシュ値について、前記ツリー構造テーブルから、ノードAの子供のノードのハッシュ値を取得する。また、検索式を参照して、ノードAの子ノードがノードBであることを把握する。ノードBのハッシュ値を、ハッシュテーブルから取得する。このノードBのハッシュ値と、前記ツリー構造テーブルから得たノードAの子供のノードのハッシュ値とを比較して、一致するハッシュ値を取得する。これ(これら)について、同様に子供のノードをツリー構造から取得する。そして検索式を参照して、ノードBの子ノードがノードCであることを把握し、ノードCのハッシュ値を、ハッシュテーブルから取得する。両者の一致するハッシュ値を取得する。これを繰り返すことにより、ノードの名前と配置位置を別々に検索して、最終的には前記検索式に合致するノードのアドレスを取得することができる。
5.4 Outline Next, an outline of processing in this apparatus will be described. In this embodiment, high-speed search is possible as follows. A tree structure table in FIG. 15 and a hash table in FIG. 16 are prepared in advance on the hard disk 226. Such a tree structure table and a hash table are generated as follows. First, the hash value is calculated for each node of data to be added. For example, the hash value may be determined using a predetermined hash function in the same manner as a general hash value. If the same node already exists for each node, it is added to the hash table shown in FIG. 16, and if there is no same node, a new node name and its hash value are additionally stored in the hash table. That's fine. Further, each node in the tree structure of the added XML data is replaced with the hash value and added to the tree structure table shown in FIG.
Then, if a node specified by a relative path of A / B / C is specified as a node as a search expression, the hash value of the first node A is first acquired from the hash table. For the acquired hash value, the hash value of the child node of node A is acquired from the tree structure table. Further, with reference to the search expression, it is understood that the child node of node A is node B. The hash value of node B is acquired from the hash table. The hash value of the node B is compared with the hash value of the child node of the node A obtained from the tree structure table to obtain a matching hash value. For these (these), the child nodes are similarly acquired from the tree structure. Then, referring to the search formula, it is understood that the child node of node B is node C, and the hash value of node C is acquired from the hash table. Get the hash value that matches the two. By repeating this, it is possible to retrieve the node name and the arrangement position separately, and finally obtain the address of the node that matches the retrieval formula.

5.5 フローチャート
つぎに、本装置における処理について図17を用いて説明する。以下では、検索対象ノードとして、ノード”名簿/連絡先/名前/会社/住所”が与えられた場合を例として、データ管理プログラム記憶部426sによるCPU423の処理について説明する。
まず、CPU423は、注目ノードNiを初期化する(図17ステップS61)。これによりXpathにおける0番目のノードが注目ノードとなる。この場合、”名簿”が注目ノードとなる。
5.5 Flowchart Next, processing in this apparatus will be described with reference to FIG. Hereinafter, the processing of the CPU 423 by the data management program storage unit 426s will be described by taking as an example the case where the node “name list / contact / name / company / address” is given as the search target node.
First, the CPU 423 initializes the node of interest Ni (step S61 in FIG. 17). As a result, the 0th node in the Xpath becomes the target node. In this case, the “name list” becomes the attention node.

CPU423は、注目ノードNiのハッシュ値を図15に示すハッシュテーブルから得る(ステップS65)。この場合、ハッシュ値”2”が得られる。CPU423は、ハッシュテーブルから得られたハッシュ値について、ツリー構造テーブルを用いて、注目ノードのハッシュ値に対する子ノードのハッシュ値を全て抽出する(ステップS67)。この場合、ハッシュ値”3”,”13”,”23”,”43”が得られる。CPU423は、検索対象ノード”名簿/連絡先/名前/会社/住所”における注目ノードの子ノードについて、ハッシュテーブルからそのハッシュ値を得る(ステップS69)。この場合、注目ノードの子ノードは”連絡先”であるので、ハッシュテーブルを参照して、ハッシュ値”3”,”13”,”23”,”43”が得られる。CPU423は、抽出した子ノードのハッシュ値と、ハッシュテーブルから得られたハッシュ値との一致するノードを記憶する(ステップS71)。この場合、4つのノード全てが一致する。   The CPU 423 obtains the hash value of the node of interest Ni from the hash table shown in FIG. 15 (step S65). In this case, the hash value “2” is obtained. The CPU 423 extracts all the hash values of the child nodes for the hash value of the node of interest using the tree structure table for the hash values obtained from the hash table (step S67). In this case, hash values “3”, “13”, “23”, and “43” are obtained. The CPU 423 obtains the hash value from the hash table for the child node of the node of interest in the search target node “name list / contact address / name / company / address” (step S69). In this case, since the child node of the node of interest is “contact”, the hash values “3”, “13”, “23”, and “43” are obtained by referring to the hash table. The CPU 423 stores a node where the hash value of the extracted child node matches the hash value obtained from the hash table (step S71). In this case, all four nodes match.

つぎに、CPU423は、Xpathにおける全ノードについて処理終了したか否か判断する(ステップS73)。この場合、全ノードについて処理終了していないので、ステップS75に進み、注目ノードNiをインクリメントする。これにより、Ni=1となり、注目ノードは”連絡先”となる。   Next, the CPU 423 determines whether or not processing has been completed for all nodes in the Xpath (step S73). In this case, since processing has not been completed for all nodes, the process proceeds to step S75, and the node of interest Ni is incremented. As a result, Ni = 1, and the node of interest becomes “contact”.

つぎに、CPU423は、ハッシュテーブルから得られたハッシュ値について、ツリー構造テーブルを用いて、注目ノードのハッシュ値に対する子ノードのハッシュ値を全て抽出する(ステップS67)。この場合、ハッシュ値”4,5,14,15,24,25,29,44,45”が得られる。CPU423は、注目ノードの子ノードについて、ハッシュテーブルからそのハッシュ値を得る(ステップS69)。この場合、注目ノードの子ノードは”名前”であるので、ハッシュテーブルを参照して、ハッシュ値4,14,24,44”が得られる。CPU423は、抽出した子ノードのハッシュ値と、ハッシュテーブルから得られたハッシュ値との一致するノードを記憶する(ステップS71)。この場合、ノード4,14,24,44”が一致する。   Next, the CPU 423 extracts all the hash values of the child nodes for the hash value of the node of interest using the tree structure table for the hash values obtained from the hash table (step S67). In this case, hash values “4, 5, 14, 15, 24, 25, 29, 44, 45” are obtained. The CPU 423 obtains the hash value from the hash table for the child node of the node of interest (step S69). In this case, since the child node of the node of interest is “name”, the hash value 4, 14, 24, 44 ”is obtained by referring to the hash table. The CPU 423 obtains the hash value of the extracted child node and the hash value. The node that matches the hash value obtained from the table is stored (step S71). In this case, the nodes 4, 14, 24, and 44 ″ match.

以下同様にして、名前/会社/住所まで特定すると、ステップS73からステップS77に進み、候補を処理対象ノードとして特定する。この場合、最終的には、ノード7,17,27が特定される。   Similarly, when the name / company / address is specified, the process proceeds from step S73 to step S77, and the candidate is specified as a processing target node. In this case, finally, the nodes 7, 17, and 27 are specified.

このように、予め、ノード名をハッシュ値で表したハッシュテーブルと、ノード間のハッシュ値の階層構造関係とを、分けて記憶しておき、検索対象階層構造データが与えられると、両者から各ノードについて順次、子ノードを探すことにより、階層構造データについてもハッシュ値を用いた検索が可能となる。   As described above, when the hash table in which the node name is represented by the hash value and the hierarchical structure relation of the hash value between the nodes are separately stored and given the search target hierarchical structure data, By sequentially searching child nodes for nodes, it is possible to search for hierarchical structure data using hash values.

なお、データベースに記憶しているXMLデータについて、当該レコードの変更命令が与えられると、構造自体が変更される場合には、図15に示すツリー構造および,図16に示す対応テーブルが変更がなされる。たとえば、図14において、新たに、図18Aから図18Bに示すように変更せよとの命令が与えられた場合、該当するレコードを検索して、データベースに記憶されるレコードが図18Bに示すように変更される。そして、ノード〈会社〉が〈自宅〉に変更されたので、ツリー構造テーブルは図19に示すように、ハッシュテーブルは図20に示すように変更される。他の修正についても同様である。なお、レコードのデータ構造が変更されない場合には、ツリー構造テーブル、ハッシュテーブルの変更はされない。   Note that when the record change instruction is given to the XML data stored in the database, when the structure itself is changed, the tree structure shown in FIG. 15 and the correspondence table shown in FIG. 16 are changed. The For example, in FIG. 14, when an instruction to change as shown in FIG. 18A to FIG. 18B is newly given, the corresponding record is searched, and the record stored in the database is as shown in FIG. 18B. Be changed. Since the node <company> is changed to <home>, the tree structure table is changed as shown in FIG. 19, and the hash table is changed as shown in FIG. The same applies to other modifications. When the data structure of the record is not changed, the tree structure table and the hash table are not changed.

5.6 その他
なお、上記実施形態においては、前記Xpathの自動生成した場合におこなう検索手法として説明したが、かかる自動生成をおこなわない場合も当然検索手法として採用することができる。
また、上記実施形態においては、ハッシュ値を記憶するようにしたが、必ずしもハッシュ値である必要はなく、XMLデータにおける各ノードのアドレスと各ノード名との対応テーブルでもよい。
5.6 Others Although the above embodiment has been described as a search method performed when the Xpath is automatically generated, the search method can naturally be adopted even when such automatic generation is not performed.
In the above embodiment, the hash value is stored. However, the hash value is not necessarily stored, and a correspondence table between each node address and each node name in the XML data may be used.

上記実施形態においては、図1に示す機能を実現する為に、CPUを用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。   In the above embodiment, the CPU is used to realize the function shown in FIG. 1, and this is realized by software. However, some or all of them may be realized by hardware such as a logic circuit.

なお、上記プログラムの一部の処理をオペレーティングシステム(OS)にさせるようにしてもよい。   In addition, you may make it make an operating system (OS) process a part of said program.

本発明にかかるデータベースシステム10の機能ブロック図である。It is a functional block diagram of database system 10 concerning the present invention. 図1に示すWebサーバ2をCPUを用いて実現したハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware constitution which implement | achieved Web server 2 shown in FIG. 1 using CPU. 図1に示すユーザ端末1をCPUを用いて実現したハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware constitution which implement | achieved the user terminal 1 shown in FIG. 1 using CPU. 図1に示すデータベース3をCPUを用いて実現したハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware constitution which implement | achieved the database 3 shown in FIG. 1 using CPU. 全体のフローチャートである。It is the whole flowchart. 定義データの一例を示す図である。It is a figure which shows an example of definition data. XHTMLによる画面データ作成の詳細フローチャートである。It is a detailed flowchart of screen data creation by XHTML. 予め記憶するXHTML基礎データを示す図である。It is a figure which shows the XHTML basic data memorize | stored beforehand. 生成されたXHTMLデータを示す図である。It is a figure which shows the produced | generated XHTML data. 生成されたXHTMLデータを示す図である。It is a figure which shows the produced | generated XHTML data. 図9a,図9bのXHTMLデータを表示した画面を示す図である。It is a figure which shows the screen which displayed the XHTML data of FIG. 9a, FIG. 9b. データベースにおけるデータベース処理を示すフローチャートである。It is a flowchart which shows the database process in a database. 検索速度を向上させたデータベース400の機能ブロック図である。It is a functional block diagram of database 400 which improved search speed. 図12に示すデータベース400をCPUを用いて実現したハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions which implement | achieved the database 400 shown in FIG. 12 using CPU. データベースに記憶されているXMLデータの一例を示す図である。It is a figure which shows an example of the XML data memorize | stored in the database. ツリー構造記憶部のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a tree structure memory | storage part. ハッシュテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a hash table. データベース500の検索処理のフローチャートである。It is a flowchart of the search process of the database. 変更前後のレコードデータである。The record data before and after the change. 変更後のツリー構造記憶部のデータ構造を示す図である。It is a figure which shows the data structure of the tree structure memory | storage part after a change. 変更後のハッシュテーブルのデータ構造を示す図である。It is a figure which shows the data structure of the hash table after a change.

符号の説明Explanation of symbols

23・・・CPU
27・・・メモリ
23 ... CPU
27 ... Memory

Claims (10)

各要素データに当該要素データの属性を表すタグが付加されており、文書内における他のタグに対する配置位置関係によって各タグが付加された要素データが階層構造で定義されるXMLデータを管理するXMLデータベースにデータベース処理命令を与える命令生成装置であって、
前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、
当該定義データにおけるタグの配置位置関係によって、各タグの階層構造を取得する階層構造取得手段、
前記階層構造の末端に位置するタグを抽出して、当該タグについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、
前記端末コンピュータから返信データを受け取ると、前記XMLデータベースに前記端末コンピュータにて入力されたデータベース処理命令を与える処理命令手段、
を備え、
前記階層構造取得手段は、以下の処理により、前記タグの階層構造を取得すること、
1)前記階層構造の最上位ノードのタグを注目ノードとして、下位の階層のタグのノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、
2)前記末端ノードの1つ上の階層のノードを注目ノードとしてこれにつながる、前記末端ノードの未検出弟ノードが存在するか否か判断し、
3)未検出弟ノードが存在する場合には、当該弟ノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、
4)前記末端ノードの弟ノードが存在しない場合には、当該末端ノードの1つ上の階層のノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶する、
5)上記2)〜4)を繰り返す、
を特徴とする命令生成装置。
A tag that represents an attribute of the element data is added to each element data, and XML that manages the XML data in which the element data to which each tag is added is defined in a hierarchical structure according to the arrangement positional relationship with respect to other tags in the document. An instruction generation device for giving a database processing instruction to a database,
Definition data storage means for storing definition data including the tag arrangement positional relationship;
Hierarchical structure acquisition means for acquiring the hierarchical structure of each tag according to the tag placement position relationship in the definition data,
An input screen for extracting a tag located at the end of the hierarchical structure and displaying an instruction input unit for an operator of the terminal computer to input an instruction for the input data together with an input area for inputting element data for the tag Transmitting means for transmitting data to the terminal computer;
Processing instruction means for giving a database processing instruction inputted at the terminal computer to the XML database upon receiving reply data from the terminal computer;
With
The hierarchical structure acquisition means acquires the hierarchical structure of the tag by the following processing;
1) Using the tag of the highest node in the hierarchical structure as a target node, sequentially storing the tags of the lower hierarchy tags to the lower hierarchy, storing the arrangement relationship of each node,
2) Determine whether there is an undetected younger brother node of the terminal node that is connected to the node in the hierarchy one level higher than the terminal node,
3) If there is an undetected younger brother node, the younger brother node is the node of interest, the lower layer nodes are sequentially traced to the lower layer, and the arrangement relationship of each node is stored.
4) If there is no younger brother node of the end node, each node is traced down to the end node sequentially from the node in the lower hierarchy to the end node with the node in the hierarchy one level higher than the end node as the target node. Memorize the arrangement of
5) Repeat 2) to 4) above,
An instruction generation device characterized by the above.
各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースにデータベース処理命令を与える命令生成装置であって、
前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、
当該定義データにおける属性ラベル間の配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段、
前記階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、
前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与える処理命令手段、
を備えたことを特徴とする命令生成装置。
An attribute label representing the attribute of the element data is added to each element data, and the element data to which each attribute label is added is defined in a hierarchical structure according to the arrangement positional relationship with respect to other attribute labels in the document. An instruction generation device for giving a database processing instruction to a database for managing a descriptive document,
Definition data storage means for storing definition data including the tag arrangement positional relationship;
Hierarchical structure acquisition means for acquiring the hierarchical structure of each attribute label according to the positional relationship between the attribute labels in the definition data,
An attribute label located at the end of the hierarchical structure is extracted, and an instruction input unit for inputting an instruction for the input data together with an input area for inputting element data for the attribute label can be displayed. Transmitting means for transmitting input screen data to a terminal computer;
Processing instruction means for receiving a reply processing data from the terminal computer and giving a database processing instruction input by the terminal computer to the database;
An instruction generation device comprising:
請求項2の命令生成装置において、
前記階層構造取得手段は、以下の処理により、前記属性ラベルの階層構造を取得すること、
1)前記階層構造の最上位ノードの属性ラベルを注目ノードとして、下位の階層の属性ラベルのノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、
2)前記末端ノードの1つ上の階層のノードを注目ノードとしてこれにつながる、前記末端ノードの未検出弟ノードが存在するか否か判断し、
3)未検出弟ノードが存在する場合には、当該弟ノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶し、
4)前記末端ノードの弟ノードが存在しない場合には、当該末端ノードの1つ上の階層のノードを注目ノードとして、下位の階層のノードを末端ノードまで順次下位の階層までたどりつつ、各ノードの配置関係を記憶する、
5)上記2)〜4)を繰り返す、
を特徴とするもの。
The instruction generation device according to claim 2,
The hierarchical structure acquisition means acquires the hierarchical structure of the attribute label by the following processing;
1) Using the attribute label of the highest node of the hierarchical structure as a target node, sequentially storing the node of the attribute label of the lower hierarchy to the lower hierarchy, storing the arrangement relationship of each node,
2) Determine whether there is an undetected younger brother node of the terminal node that is connected to the node in the hierarchy one level higher than the terminal node,
3) If there is an undetected younger brother node, the younger brother node is the node of interest, the lower layer nodes are sequentially traced to the lower layer, and the arrangement relationship of each node is stored.
4) If there is no younger brother node of the end node, each node is traced down to the end node sequentially from the node in the lower hierarchy to the end node with the node in the hierarchy one level higher than the end node as the target node. Memorize the arrangement of
5) Repeat 2) to 4) above,
It is characterized by.
各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースシステムであって、
前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、
当該定義データにおける属性ラベル間の配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段、
前記階層構造の末端に位置する属性ラベルを抽出して、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、
前記端末コンピュータから返信データを受け取ると、前記端末コンピュータにて入力されたデータベース処理命令に基づいて、データベース処理を実行する実行手段、
を備えたことを特徴とするデータベースシステム。
An attribute label representing the attribute of the element data is added to each element data, and the element data to which each attribute label is added is defined in a hierarchical structure according to the arrangement positional relationship with respect to other attribute labels in the document. A database system for managing descriptive documents,
Definition data storage means for storing definition data including the tag arrangement positional relationship;
Hierarchical structure acquisition means for acquiring the hierarchical structure of each attribute label according to the positional relationship between the attribute labels in the definition data,
An attribute label located at the end of the hierarchical structure is extracted, and an instruction input unit for inputting an instruction for the input data together with an input area for inputting element data for the attribute label can be displayed. Transmitting means for transmitting input screen data to a terminal computer;
Execution means for executing database processing based on a database processing command input by the terminal computer upon receiving reply data from the terminal computer;
A database system characterized by comprising:
各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースにデータベース処理命令を与える命令生成装置であって、
前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、
当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得する階層構造取得手段、
を備えたことを特徴とする命令生成装置。
An attribute label representing the attribute of the element data is added to each element data, and the element data to which each attribute label is added is defined in a hierarchical structure according to the arrangement positional relationship with respect to other attribute labels in the document. An instruction generation device for giving a database processing instruction to a database for managing a descriptive document,
Definition data storage means for storing definition data including the tag arrangement positional relationship;
Hierarchical structure acquisition means for acquiring the hierarchical structure of each attribute label according to the positional relationship of the attribute labels in the definition data,
An instruction generation device comprising:
各要素データに当該要素データの属性を表す属性ラベルが付加されており、文書内における他の属性ラベルに対する配置位置関係によって各属性ラベルが付加された要素データが階層構造で定義される階層構造自己記述型文書を管理するデータベースに対して、データベース処理命令を与えるコンピュータの使用方法であって、以下の処理をコンピュータに実行させること、
前記タグ配置位置関係を含む定義データを定義データ記憶部に記憶させておき、
当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得させ、
前記階層構造の末端に位置する属性ラベルを抽出させて、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信させ、
前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与えさせる、
を特徴とする命令生成方法。
An attribute label representing the attribute of the element data is added to each element data, and the element data to which each attribute label is added is defined in a hierarchical structure according to the arrangement positional relationship with respect to other attribute labels in the document. A method of using a computer that gives a database processing instruction to a database managing a descriptive document, causing the computer to execute the following processing:
Definition data including the tag arrangement positional relationship is stored in a definition data storage unit,
The hierarchical structure of each attribute label is acquired according to the arrangement position relationship of the attribute label in the definition data,
An attribute label located at the end of the hierarchical structure can be extracted, and an instruction input unit for inputting an instruction for the input data together with an input area for inputting element data for the attribute label can be displayed. Send input screen data to the terminal computer,
When receiving reply data from the terminal computer, the database processing instruction input in the terminal computer is given to the database.
An instruction generation method characterized by the above.
コンピュータを、データベースに対してデータベース処理命令を与える命令生成装置として機能させるためのプログラムであって、以下の処理をコンピュータに実行させるためのプログラム。
前記タグ配置位置関係を含む定義データを記憶させ、
当該定義データにおける属性ラベルの配置位置関係によって、各属性ラベルの階層構造を取得させ、
前記階層構造の末端に位置する属性ラベルを抽出させて、当該属性ラベルについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信させ、
前記端末コンピュータから返信データを受け取ると、前記データベースに前記端末コンピュータにて入力されたデータベース処理命令を与える。
A program for causing a computer to function as an instruction generation device that gives a database processing instruction to a database, and causing the computer to execute the following processing.
Storing definition data including the tag placement positional relationship;
The hierarchical structure of each attribute label is acquired according to the arrangement position relationship of the attribute label in the definition data,
An attribute label located at the end of the hierarchical structure can be extracted, and an instruction input unit for inputting an instruction for the input data together with an input area for inputting element data for the attribute label can be displayed. Send input screen data to the terminal computer,
When the reply data is received from the terminal computer, the database processing instruction inputted by the terminal computer is given to the database.
請求項4のデータベースシステムにおいて、
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第1ステップ、
前記対応テーブルを参照して、前記注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得て、前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得て、前記次階層ノードのアドレスと、前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとする第2ステップ、
前記検索式について最下位階層まで前記第2ステップを実行したかを判断し、実行している場合には、現在の検出アドレスを前記合致するデータを検索結果のアドレスとし、実行していない場合には前記第2ステップを繰り返す第3ステップ、
を実行することを特徴とするもの。
The database system of claim 4,
The execution means includes
Hierarchical self-describing document storage means for storing a hierarchical self-describing document;
Search means for searching for data matching the hierarchical structure self-describing document when given a search expression in which names of a plurality of attribute labels are specified in a hierarchical structure;
Correspondence table storage means for storing a correspondence table between each attribute label and its address in the hierarchical self-describing document;
Hierarchical structure notation data storage means for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical structure self-describing document is represented by an address storing each attribute label;
With
The search means includes
Given the search expression, a first step in which the highest node in the search expression is the node of interest;
The address of the node of interest is obtained by referring to the correspondence table, the address of the node of the next layer of the node of interest is obtained by referring to the hierarchical structure notation data, and the next of the node of interest for the search expression For the attribute label of the hierarchy, the address is obtained by referring to the correspondence table, and an address in which the address of the next hierarchy node, the address of the next hierarchy node, and the address of the attribute label of the next hierarchy match is detected. The second step of addressing,
It is determined whether or not the second step has been executed up to the lowest hierarchy for the search formula. If it is executed, the current detection address is used as the search result address and the search result is not executed. Is a third step that repeats the second step,
It is characterized by executing.
請求項4のデータベースシステムにおいて、
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのハッシュ値の対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルのハッシュ値にて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第1ステップ、
前記対応テーブルを参照して、前記注目ノードのハッシュ値を得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのハッシュ値を得て、前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのハッシュ値を得て、前記2つのハッシュ値とが一致するものを検出する第2ステップ、
前記検索式について最下位階層まで前記第2ステップを実行したかを判断し、実行している場合には、現在の検出したハッシュ値を前記合致するデータを検索結果のアドレスとし、実行していない場合には前記第2ステップを繰り返す第3ステップ、
を実行することを特徴とするもの。
The database system of claim 4,
The execution means includes
Hierarchical self-describing document storage means for storing a hierarchical self-describing document;
Search means for searching for data matching the hierarchical structure self-describing document when given a search expression in which names of a plurality of attribute labels are specified in a hierarchical structure;
Correspondence table storage means for storing a correspondence table of each attribute label and its hash value in the hierarchical self-describing document;
Hierarchical structure notation data storage means for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical structure self-describing document is represented by a hash value of each attribute label;
With
The search means includes
Given the search expression, a first step in which the highest node in the search expression is the node of interest;
The hash value of the node of interest is obtained by referring to the correspondence table, the hash value of the node of the next layer of the node of interest is obtained by referring to the hierarchical structure notation data, and the node of interest for the search expression A second step of obtaining the hash value of the attribute label of the next layer by referring to the correspondence table and detecting a match between the two hash values;
It is determined whether or not the second step has been executed up to the lowest hierarchy for the search expression, and if it is executed, the currently detected hash value is used as the address of the search result and is not executed. In this case, a third step that repeats the second step,
It is characterized by executing.
請求項4のデータベースシステムにおいて、
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記対応テーブルを参照して、注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得るステップ、
前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得るステップ、
前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとするステップ、
を実行することにより、前記合致するデータのアドレスを検索すること、
を特徴とするもの。
The database system of claim 4,
The execution means includes
Hierarchical self-describing document storage means for storing a hierarchical self-describing document;
Search means for searching for data matching the hierarchical structure self-describing document when given a search expression in which names of a plurality of attribute labels are specified in a hierarchical structure;
Correspondence table storage means for storing a correspondence table between each attribute label and its address in the hierarchical self-describing document;
Hierarchical structure notation data storage means for storing hierarchical structure notation data in which the hierarchical structure of each attribute label in the hierarchical structure self-describing document is represented by an address storing each attribute label;
With
The search means includes
Obtaining an address of a node of interest by referring to the correspondence table, obtaining an address of a node of the next layer of the node of interest by referring to the hierarchical structure notation data;
For the attribute label of the next layer of the node of interest with respect to the search expression, referring to the correspondence table, obtaining the address;
The detection address is an address where the address of the next layer node and the address of the attribute label of the next layer match,
To retrieve the address of the matching data by executing
It is characterized by.
JP2003387393A 2003-11-18 2003-11-18 Instruction generator, database system, instruction generation method, and program thereof Pending JP2005149249A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003387393A JP2005149249A (en) 2003-11-18 2003-11-18 Instruction generator, database system, instruction generation method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003387393A JP2005149249A (en) 2003-11-18 2003-11-18 Instruction generator, database system, instruction generation method, and program thereof

Publications (1)

Publication Number Publication Date
JP2005149249A true JP2005149249A (en) 2005-06-09

Family

ID=34694756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003387393A Pending JP2005149249A (en) 2003-11-18 2003-11-18 Instruction generator, database system, instruction generation method, and program thereof

Country Status (1)

Country Link
JP (1) JP2005149249A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522692A (en) * 2006-01-04 2009-06-11 マイクロソフト コーポレーション Structured data storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522692A (en) * 2006-01-04 2009-06-11 マイクロソフト コーポレーション Structured data storage

Similar Documents

Publication Publication Date Title
US7730104B2 (en) Extraction of information from structured documents
US6848078B1 (en) Comparison of hierarchical structures and merging of differences
KR101120301B1 (en) Persistent saving portal
US7519903B2 (en) Converting a structured document using a hash value, and generating a new text element for a tree structure
CN103635897B (en) The method that dynamic update is carried out to the operation page
US8762834B2 (en) User interface for defining a text file transformation
US20090210780A1 (en) Document processing and management approach to creating a new document in a mark up language environment using new fragment and new scheme
JP4860416B2 (en) Document search apparatus, document search method, and document search program
US20070179996A1 (en) Structured data storage device and structured data storage method
US20170351656A1 (en) Method of preparing documents in markup languages
US20070245198A1 (en) Method and apparatus for interactive generation of device response templates and analysis
US7143086B2 (en) File search method and apparatus, and index file creation method and device
US8302075B1 (en) Methods and systems for selective code collapse
CN111198852A (en) Knowledge graph driven metadata relation reasoning method under micro-service architecture
JPWO2009066762A1 (en) User interface recognition apparatus and user interface recognition method
JP3914081B2 (en) Access authority setting method and structured document management system
JP2006065467A (en) Device for creating data extraction definition information and method for creating data extraction definition information
US7936356B2 (en) Information processing method for information registration, and information processing method for information retrieval
JP5380874B2 (en) Information retrieval method, program and apparatus
JPH1115724A (en) Method and device for managing document
JP2005149249A (en) Instruction generator, database system, instruction generation method, and program thereof
JPH11306187A (en) Method and device for presenting retrieval result of document with category
JP5230193B2 (en) Data search apparatus, data search method, and computer program
JP4951407B2 (en) Content parts retrieval method and apparatus
JPH10162011A (en) Information retrieval method, information retrieval system, information retrieval terminal equipment, and information retrieval device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091109