JP2005149249A - Instruction generator, database system, instruction generation method, and program thereof - Google Patents
Instruction generator, database system, instruction generation method, and program thereof Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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.
かかる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
Webサーバ2は、受信手段3,定義データ記憶手段4、階層構造取得手段6、送信手段7、処理命令手段8を備えている。
The
ユーザ端末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
送信手段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
The
ハードディスク26は、オペレーティングシステムプログラム(以下OSと略す)記憶部26o、自動生成プログラム記憶部26aを有する。
The
オペレーティングシステムプログラム(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
なお、上記プログラムは、CDD25を介して、プログラムが記憶されたCDROM25aから読み出されてハードディスク26にインストールされたものである。なお、CDROM以外に、フレキシブルディスク(FD)、ICカード等のプログラムをコンピュータ可読の記録媒体から、ハードディスクにインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。
The program is read from the
本実施形態においては、プログラムを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
ユーザ端末2は、図3に示すように、ハードディスク126にブラウザプログラムを記憶するブラウザプログラム記憶部126bがある点以外は、ハード構成はほぼ同様であるので説明は省略する。また、データベース3は、図4に示すように、通常のXMLデータのデータベースシステムであり、データ記憶部226dにかかるXMLデータが記憶される。データ管理プログラム記憶部226aに記憶されるプログラムも通常のデータベース処理をおこなうプログラムである。
As shown in FIG. 3, the
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
The operator of the
Webサーバ2のCPU23は、この定義データを受け取ると、XHTMLの自動生成処理をおこなう。自動生成プログラムによるXHTMLの自動生成処理の詳細について、図7を用いて説明する。まず、CPU23は、ルートノードとなるタグを取得する〈図7ステップS31)。ルートノードは1レコード内のうち最上位に位置するノードであるので、この場合、ルートノードとなるタグは、〈連絡先〉である。CPU23は、ルートノードとして当該タグをメモリ27に記憶する。
When the
つぎにCPU23は、XHTMLデータのヘッダ部を出力する(ステップS32)。かかるヘッダ部はあらかじめ記憶しておけばよい。本実施形態においては、図8Aに示すようなデータを記憶しておき、変数%1にルートノードのタグ(この場合”連絡先”)を入力して、出力するようにした。
Next, the
つぎに、CPU23は、ルートノードの子ノード(複数ある場合は最兄を)を取得し(ステップS33〉、当該ノード〈連絡先〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、ルートノード〈連絡先〉には、子ノードのうち、長兄ノードとしてノード〈氏名〉が存在する。したがって、CPU23は、ステップS34にて、子ノードを取得できたと判断し、あらかじめ記憶しているXHTMLテキストデータを読み出して出力する(ステップS36)。本実施形態においては、図8Cに示すようなXHTMLテキストデータを記憶しておき、変数%3に当該ノード名をそのまま(この場合”氏名”)、変数%3に当該ノード名を上位のノードも含めて(パス名として)挿入するようにした(この場合”連絡先/氏名”)。
Next, the
つぎに、CPU23は、ノード〈氏名〉の弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。弟ノードとは、同じ親にぶら下がっているノードのうち、位置的に後ろに存在するノードをいう。この場合、ノード〈氏名〉の弟ノード〈電話〉が存在するので、CPU23は、弟ノードを取得できたとして、ノード〈電話〉の子ノード(長兄)を取得し(ステップS33)、当該ノード〈電話〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、子ノードは存在しないので、CPU23は、子ノードが取得できなかったと判断し、XHTMLテキストボックスを出力する(ステップS36)。すなわち、図8Cに示すようなXHTMLテキストデータの変数%3に当該ノード名(この場合”電話”)が、変数%3に当該ノード名が上位のノードも含めて(パス名として)挿入される(この場合”連絡先/電話”)。
Next, the
つぎに、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
Next, the
つぎに、CPU23は、弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。この場合、ノード〈住所1〉の弟ノード〈住所2〉が存在するので、CPU23は、ステップS33に進み、この取得したノード〈住所2〉について、子ノードを取得し(ステップS33)、当該ノード〈住所2〉について、子ノードが取得できたか否か判断する(ステップS34)。この場合、当該ノード〈住所2〉の子ノードは存在しないので、CPU23は、XHTMLテキストデータを出力する(ステップS36)。この場合、変数%3に”住所2”が、変数%4に”連絡先/住所/住所2”が挿入されたXHTMLテキストデータが出力される。
Next, the
つぎに、CPU23は、ノード〈住所2〉の弟ノードを取得し(ステップS37)、弟ノードを取得できたか否か判断する(ステップS39)。この場合、CPU23は、ステップS41に進み、親ノードを取得し(ステップS41)、取得したノードがルートノードか否か判断する(ステップS43)。この場合、ノード〈住所〉はルートノードでないので、フレームフッタ部を出力する(ステップS45)。本実施形態においては、図8Dに示すようなデータを記憶しておき、出力するようにした。
Next, the
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
この場合、ノード〈連絡先〉は親ノードであるので、CPU23は、フッタ部を出力する(ステップS47)。本実施形態においては、図8Eに示すようなXHTMLフッタデータを記憶しておき、これを出力するようにした。なお、フッタ部は、後述するように、データベース3への処理命令をユーザ端末の操作者に指定させるためのコントロールボタン(命令入力部)を表示するデータである。この例では、「追加」、「更新」、「削除」、「検索」の4つのコントロールボタンが表示される。
In this case, since the node <contact address> is the parent node, the
このようにして、図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
ユーザ端末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
Webサーバ2は、受け取ったデータから、処理内容を特定した命令文(Xpathを含む)を生成して、データベース3に送信する(ステップS13)。この場合であれば、命令特定情報は、"insert"に対応する命令”insertflagment”を生成する。命令特定情報から生成する命令は、出力先のデータベースにおいて定められた毎に処理内容が定められているので、これをWebサーバ2に登録しておけばよい。また、Xpathとしては、入力ボックスのIDとその値(たとえば、”連絡先/名前”=山田太郎、・・・)が生成され、データベース3に送信される。
The
データベース3は、Webサーバ2から処理命令が与えられるか否か判断しており(ステップS15)、命令が与えられると、指定された命令を実行する(ステップS17)。かかる処理については従来と同様であるが、図11を用いて簡単に説明する。
The
データベース3のCPU223は、命令の種類が、「追加」、「更新」、「削除」、「検索」のいずれであるかを判断する(ステップS81)。この場合、与えられたのは、命令”insertflagment”であるので、追加位置の決定処理をおこなう(ステップS83)。追加位置は全く任意でもよいが(たとえば常に一番最後など)、本実施形態においては、検索速度向上のために、共通のノードを有するレコードがあれば、その次に追加するようにした。したがって、この場合、Xpathで指定されたノード〈連絡先〉の下位ノードとして〈氏名〉、〈電話〉、〈住所〉という階層構造を有するレコードを検索して、その次のレコードを追加位置とする。
The
CPU223は、決定された追加位置にレコードを追加する(ステップS85)。これで、Xpathを用いた処理を終了し、結果を送信する(ステップS19)。Webサーバ2がこれを受けとることにより、処理は終了する。
The
なお、「更新」、「削除」の処理については、追加位置の決定に変えて、対象レコードを特定する(図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
なお、上記実施形態においては、各ノード毎に、子ノードが存在しない場合に入力ボックスを配置した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
しかしこれでは、蓄積するデータ量が増えれば増えるほど、検索時間が必要となる。なお、データの位置検索を高速化する技術として、ハッシュ法が知られている。ハッシュ法とは、データの検索を高速におこなうための方法の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
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
First, the
CPU423は、注目ノードNiのハッシュ値を図15に示すハッシュテーブルから得る(ステップS65)。この場合、ハッシュ値”2”が得られる。CPU423は、ハッシュテーブルから得られたハッシュ値について、ツリー構造テーブルを用いて、注目ノードのハッシュ値に対する子ノードのハッシュ値を全て抽出する(ステップS67)。この場合、ハッシュ値”3”,”13”,”23”,”43”が得られる。CPU423は、検索対象ノード”名簿/連絡先/名前/会社/住所”における注目ノードの子ノードについて、ハッシュテーブルからそのハッシュ値を得る(ステップS69)。この場合、注目ノードの子ノードは”連絡先”であるので、ハッシュテーブルを参照して、ハッシュ値”3”,”13”,”23”,”43”が得られる。CPU423は、抽出した子ノードのハッシュ値と、ハッシュテーブルから得られたハッシュ値との一致するノードを記憶する(ステップS71)。この場合、4つのノード全てが一致する。
The
つぎに、CPU423は、Xpathにおける全ノードについて処理終了したか否か判断する(ステップS73)。この場合、全ノードについて処理終了していないので、ステップS75に進み、注目ノードNiをインクリメントする。これにより、Ni=1となり、注目ノードは”連絡先”となる。
Next, the
つぎに、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
以下同様にして、名前/会社/住所まで特定すると、ステップ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
このように、予め、ノード名をハッシュ値で表したハッシュテーブルと、ノード間のハッシュ値の階層構造関係とを、分けて記憶しておき、検索対象階層構造データが与えられると、両者から各ノードについて順次、子ノードを探すことにより、階層構造データについてもハッシュ値を用いた検索が可能となる。 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.
23・・・CPU
27・・・メモリ
23 ... CPU
27 ... Memory
Claims (10)
前記タグ配置位置関係を含む定義データを記憶する定義データ記憶手段、
当該定義データにおけるタグの配置位置関係によって、各タグの階層構造を取得する階層構造取得手段、
前記階層構造の末端に位置するタグを抽出して、当該タグについて要素データを入力するための入力領域とともに、その入力データに対する命令を端末コンピュータの操作者が入力する命令入力部を表示できる入力画面データを端末コンピュータに送信する送信手段、
前記端末コンピュータから返信データを受け取ると、前記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:
前記階層構造取得手段は、以下の処理により、前記属性ラベルの階層構造を取得すること、
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.
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第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.
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのハッシュ値の対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルのハッシュ値にて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記検索式が与えられると、当該検索式における最上位のノードを注目ノードとする第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.
前記実行手段は、
階層構造自己記述型文書を記憶する階層構造自己記述型文書記憶手段、
複数の属性ラベルの名称が階層構造で特定された検索式が与えられると、前記階層構造自己記述型文書のうち、これに合致するデータを検索する検索手段、
前記階層構造自己記述型文書における各属性ラベルとそのアドレスの対応テーブルを記憶する対応テーブル記憶手段、
前記階層構造自己記述型文書における各属性ラベルの階層構造を、各属性ラベルが記憶されたアドレスにて表した階層構造表記データを記憶する階層構造表記データ記憶手段、
を備え、
前記検索手段は、
前記対応テーブルを参照して、注目ノードのアドレスを得て、前記階層構造表記データを参照して、前記注目ノードの次階層のノードのアドレスを得るステップ、
前記検索式について前記注目ノードの次階層の属性ラベルについて、前記対応テーブルを参照してそのアドレスを得るステップ、
前記次階層ノードのアドレスと、前記次階層の属性ラベルのアドレスとが一致するアドレスを検出アドレスとするステップ、
を実行することにより、前記合致するデータのアドレスを検索すること、
を特徴とするもの。 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009522692A (en) * | 2006-01-04 | 2009-06-11 | マイクロソフト コーポレーション | Structured data storage |
-
2003
- 2003-11-18 JP JP2003387393A patent/JP2005149249A/en active Pending
Cited By (1)
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 |