JP2012194950A - Structured document management device, method, and program - Google Patents

Structured document management device, method, and program Download PDF

Info

Publication number
JP2012194950A
JP2012194950A JP2011060371A JP2011060371A JP2012194950A JP 2012194950 A JP2012194950 A JP 2012194950A JP 2011060371 A JP2011060371 A JP 2011060371A JP 2011060371 A JP2011060371 A JP 2011060371A JP 2012194950 A JP2012194950 A JP 2012194950A
Authority
JP
Japan
Prior art keywords
data
structured document
query data
condition
document data
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.)
Granted
Application number
JP2011060371A
Other languages
Japanese (ja)
Other versions
JP5296128B2 (en
Inventor
Minoru Inada
稔 稲田
Masakazu Hattori
雅一 服部
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2011060371A priority Critical patent/JP5296128B2/en
Publication of JP2012194950A publication Critical patent/JP2012194950A/en
Application granted granted Critical
Publication of JP5296128B2 publication Critical patent/JP5296128B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a structured document management device capable of performing structure collation processing at high speed, a method, and a program.SOLUTION: In an inventive structured document management device, when inputted query data includes a first condition designating a hierarchical relation of layers of the logical structure of structured document data and a second condition designating an order relation of elements specified by element IDs, query data decomposition means decomposes the query data into first partial query data including only the first condition and second partial query data including means for performing joint operation of a collation result by the first partial query data according to the second condition. Structure collation processing means collates a data set of the structured document data with the first partial query data and outputs a collation result. Joint operation processing means performs joint operation processing of the collation result outputted from the structure collation processing means according to a procedure of joint operation included in the second partial query data.

Description

本発明の実施形態は、構造化文書管理装置、方法およびプログラムに関する。   Embodiments described herein relate generally to a structured document management apparatus, method, and program.

従来、XML(Extensible Markup Language)などで記述された構造化文書データを記憶・検索するための構造化文書管理装置が知られている。構造化文書管理装置における構造化文書データの検索のために、RDBMS(Relational Database Managemant System)における問い合わせ言語SQLのように、XMLデータに対する問い合わせ言語XQuery(XML Query Language)が策定されており、多くの構造化文書管理装置でサポートされている。   Conventionally, a structured document management apparatus for storing / retrieving structured document data described in XML (Extensible Markup Language) or the like is known. In order to search for structured document data in the structured document management apparatus, a query language XQuery (XML Query Language) for XML data has been formulated, such as the query language SQL in RDBMS (Relational Database Management System). Supported by structured document management devices.

XQueryは、XMLデータ集合をデータベースのように扱うための言語であり、条件に合致するデータ集合の取り出しや集計・分析を行うための手段が提供されている。XMLデータは親子や兄弟などの要素が組み合わさった階層化された論理構造(階層構造)を持つため、条件にはこの階層構造に関する条件(構造条件)を指定することができる。   XQuery is a language for handling an XML data set like a database, and provides means for extracting, summing up, and analyzing a data set that matches a condition. Since XML data has a hierarchical logical structure (hierarchical structure) in which elements such as parents and siblings are combined, a condition (structural condition) relating to this hierarchical structure can be specified as a condition.

構造条件の処理には、構造化文書管理装置が記憶している構造化文書データが条件に合致する構造を持つかを照合する構造照合処理を行う必要がある。この構造照合処理は、構造条件が階層の上下関係を指定する条件のみであれば比較的高速に処理することが可能であるが、構造条件の中にXMLデータに含まれる要素の順序関係を指定する条件が含まれる場合は、高速に処理することが難しい。   In the process of the structure condition, it is necessary to perform a structure matching process for checking whether the structured document data stored in the structured document management apparatus has a structure that matches the condition. This structure matching process can be processed at relatively high speed if the structure condition is only a condition that specifies the hierarchical relationship of the hierarchy, but the order relation of the elements included in the XML data is specified in the structure condition. If the conditions to be included are included, it is difficult to process at high speed.

特開2007−226452号公報JP 2007-226452 A

本発明が解決しようとする課題は、構造照合処理を高速に行うことができる構造化文書管理装置、方法およびプログラムを提供することである。   The problem to be solved by the present invention is to provide a structured document management apparatus, method, and program capable of performing structure collation processing at high speed.

実施形態の構造化文書管理装置は、構造化文書データ受付手段と、識別子付与手段と、構造化文書データ記憶手段と、クエリデータ受付手段と、クエリデータ分解手段と、構造照合処理手段と、結合演算処理手段と、を備える。構造化文書データ受付手段は、階層化された論理構造を有する構造化文書データの入力を受け付ける。識別子付与手段は、入力された前記構造化文書データに出現する要素に該構造化文書データ内での出現順序が要素間で比較可能な識別子を付与する。構造化文書データ記憶手段は、前記要素に前記識別子が付与された前記構造化文書データを記憶する。クエリデータ受付手段は、クエリデータの入力を受け付ける。クエリデータ分解手段は、入力されたクエリデータが、前記構造化文書データの論理構造における階層の上下関係を指定する第1条件と、前記識別子で特定される前記要素の順序関係を指定する第2条件とを含む場合に、該クエリデータを、前記第1条件のみを含む第1の部分クエリデータと、前記第1の部分クエリデータによる照合結果を前記第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解する。構造照合処理手段は、前記構造化文書データ記憶手段が記憶する前記構造化文書データのデータ集合に対して、前記第1の部分クエリデータによる照合を行い、照合結果を出力する。結合演算処理手段は、前記照合結果を、前記第2の部分クエリデータに含まれる結合演算の手順に従って結合演算処理する。   The structured document management apparatus according to the embodiment includes a structured document data receiving unit, an identifier assigning unit, a structured document data storage unit, a query data receiving unit, a query data decomposing unit, a structure matching processing unit, Arithmetic processing means. The structured document data accepting unit accepts input of structured document data having a hierarchical logical structure. The identifier assigning means assigns an identifier whose appearance order in the structured document data can be compared between the elements to the element appearing in the input structured document data. The structured document data storage unit stores the structured document data in which the identifier is assigned to the element. The query data accepting unit accepts input of query data. The query data decomposing means has a second condition in which the input query data specifies a first condition specifying the hierarchical relationship in the logical structure of the structured document data and an order relationship of the elements specified by the identifier. Including a condition, the query data is combined with the first partial query data including only the first condition and the collation result of the first partial query data according to the second condition. It decomposes | disassembles into the 2nd partial query data containing. The structure matching processing means performs matching with the first partial query data against the data set of the structured document data stored in the structured document data storage means, and outputs a matching result. The join operation processing means performs a join operation process on the collation result according to a join operation procedure included in the second partial query data.

構造化文書管理システムのシステム構築例を示す模式図。The schematic diagram which shows the system construction example of a structured document management system. サーバおよびクライアント端末のモジュール構成図。The module block diagram of a server and a client terminal. 第1の実施形態におけるサーバおよびクライアント端末の概略構成を示すブロック図。The block diagram which shows schematic structure of the server and client terminal in 1st Embodiment. 構造化文書データの一例を示す説明図。Explanatory drawing which shows an example of structured document data. 図4に例示した構造化文書データに対して要素IDを付与した要素ID付与済み構造化文書データの一例を示す説明図。FIG. 5 is an explanatory diagram illustrating an example of structured document data with an element ID assigned to the structured document data illustrated in FIG. 4. クエリデータの一例を示す説明図。Explanatory drawing which shows an example of query data. 検索処理部による検索処理の流れを示すフローチャート。The flowchart which shows the flow of the search process by a search process part. クエリデータ解析処理の流れを示すフローチャート。The flowchart which shows the flow of a query data analysis process. 図6に例示したクエリデータについてクエリデータ解析処理を行った結果である第1の部分クエリデータと第2の部分クエリデータの一例を示す説明図。Explanatory drawing which shows an example of the 1st partial query data and 2nd partial query data which are the result of having performed the query data analysis process about the query data illustrated in FIG. 構造照合処理の概略を示す説明図。Explanatory drawing which shows the outline of a structure collation process. 図9に例示した第1の部分クエリデータを用いて図5に例示した要素ID付与済み構造化文書データについて構造照合処理を行った結果である構造照合処理結果データの一例を示す説明図。FIG. 10 is an explanatory diagram illustrating an example of structure matching processing result data that is a result of performing structure matching processing on the structured document data with element IDs exemplified in FIG. 5 using the first partial query data illustrated in FIG. 9; 図9に例示した第2の部分クエリデータを用いて図11に例示した構造照合処理結果データについて結合演算処理を行う場合の説明図。Explanatory drawing in the case of performing a joint calculation process about the structure collation process result data illustrated in FIG. 11 using the 2nd partial query data illustrated in FIG. 図9に例示したクエリデータの結果データを示す説明図。Explanatory drawing which shows the result data of the query data illustrated in FIG. 第2の実施形態におけるサーバおよびクライアント端末の概略構成を示すブロック図。The block diagram which shows schematic structure of the server and client terminal in 2nd Embodiment. 構造ガイドデータの一例を示す説明図。Explanatory drawing which shows an example of structure guide data. クエリデータの一例を示す説明図。Explanatory drawing which shows an example of query data. 第2の実施形態におけるクエリデータ解析処理の流れを示すフローチャート。The flowchart which shows the flow of the query data analysis process in 2nd Embodiment. 図16に例示したクエリデータについて図17のステップS215までの処理を行った結果である第1の部分クエリデータと第2の部分クエリデータの一例を示す説明図。Explanatory drawing which shows an example of the 1st partial query data and 2nd partial query data which are the result of having performed the process to step S215 of FIG. 17 about the query data illustrated in FIG. 構造条件書き換え処理の流れを示すフローチャート。The flowchart which shows the flow of a structural condition rewriting process. 図18に例示した第1の部分クエリデータについて構造条件書き換え処理を行った結果を示す説明図。FIG. 19 is an explanatory diagram illustrating a result of the structural condition rewriting process performed on the first partial query data illustrated in FIG. 18. 図20に例示した構造条件書き換え処理後の第1の部分クエリデータを用いて図5に例示した要素ID付与済み構造化文書データについて構造照合処理を行った結果である構造照合処理結果データの一例を示す説明図。An example of structure matching process result data that is a result of performing structure matching processing on the structured document data with element IDs exemplified in FIG. 5 using the first partial query data after the structure condition rewriting process exemplified in FIG. FIG. 図20に例示した第2の部分クエリデータを用いて図21に例示した構造照合処理結果データについて結合演算処理を行う場合の説明図。FIG. 22 is an explanatory diagram in a case where a join operation process is performed on the structure matching process result data illustrated in FIG. 21 using the second partial query data illustrated in FIG. 20. 図16に例示したクエリデータの結果データを示す説明図。Explanatory drawing which shows the result data of the query data illustrated in FIG. クエリデータの一例を示す説明図。Explanatory drawing which shows an example of query data. 第3の実施形態におけるクエリデータ解析処理の流れを示すフローチャート。The flowchart which shows the flow of the query data analysis process in 3rd Embodiment. 図24に例示したposition関数を含むクエリデータについてクエリデータ解析処理を行った結果である第1の部分クエリデータと第2の部分クエリデータの一例を示す説明図。FIG. 25 is an explanatory diagram illustrating an example of first partial query data and second partial query data, which is a result of performing query data analysis processing on query data including the position function illustrated in FIG. 24. 図24に例示したlast関数を含むクエリデータについてクエリデータ解析処理を行った結果である第1の部分クエリデータと第2の部分クエリデータの一例を示す説明図。FIG. 25 is an explanatory diagram illustrating an example of first partial query data and second partial query data, which is a result of query data analysis processing performed on query data including the last function illustrated in FIG. 24. 図26に例示した第1のクエリデータを用いて図5に例示した要素ID付与済み構造化文書データについて構造照合処理を行った結果である構造照合処理結果データの一例を示す説明図。FIG. 27 is an explanatory diagram illustrating an example of structure matching processing result data that is a result of performing a structure matching process on the structured document data with element IDs exemplified in FIG. 5 using the first query data exemplified in FIG. 26; 図26に例示した第2の部分クエリデータを用いて図28に例示した構造照合処理結果データについて結合演算処理を行う場合の説明図。FIG. 28 is an explanatory diagram in a case where a join operation process is performed on the structure matching process result data illustrated in FIG. 28 using the second partial query data illustrated in FIG. 図27に例示した第1のクエリデータを用いて図5に例示した要素ID付与済み構造化文書データについて構造照合処理を行った結果である構造照合処理結果データの一例を示す説明図。FIG. 28 is an explanatory diagram illustrating an example of structure matching processing result data that is a result of performing structure matching processing on the structured document data with element IDs exemplified in FIG. 5 using the first query data illustrated in FIG. 27; 図27に例示した第2の部分クエリデータを用いて図30に例示した構造照合処理結果データについて結合演算処理を行う場合の説明図。FIG. 28 is an explanatory diagram in a case where a join operation process is performed on the structure matching process result data illustrated in FIG. 30 using the second partial query data illustrated in FIG. 27; 図24に例示したposition関数を含むクエリデータの結果データを示す説明図。FIG. 25 is an explanatory diagram illustrating result data of query data including the position function illustrated in FIG. 24. 図24に例示したlast関数を含むクエリデータの結果データを示す説明図。FIG. 25 is an explanatory diagram illustrating result data of query data including the last function illustrated in FIG. 24. 第4の実施形態におけるサーバおよびクライアント端末の概略構成を示すブロック図。The block diagram which shows schematic structure of the server and client terminal in 4th Embodiment. クエリデータの一例を示す説明図。Explanatory drawing which shows an example of query data. 第4の実施形態における検索処理の流れを示すフローチャート。The flowchart which shows the flow of the search process in 4th Embodiment. 第4の実施形態におけるクエリデータ解析処理の流れを示すフローチャート。The flowchart which shows the flow of the query data analysis process in 4th Embodiment. 図35に例示したクエリデータについてクエリデータ解析処理を行った結果である第1の部分クエリデータの一例を示す説明図。Explanatory drawing which shows an example of the 1st partial query data which are the results of having performed the query data analysis process about the query data illustrated in FIG. 図38に例示した第1の部分クエリデータを用いて図5に例示した要素ID付与済み構造化文書データについて構造照合処理を行った結果である構造照合処理結果データの一例を示す説明図。FIG. 40 is an explanatory diagram illustrating an example of structure matching processing result data that is a result of performing structure matching processing on the structured document data with element IDs illustrated in FIG. 5 using the first partial query data illustrated in FIG. 38; 図35に例示したクエリデータの結果データを示す説明図。Explanatory drawing which shows the result data of the query data illustrated in FIG.

以下、実施形態の構造化文書管理装置、方法およびプログラムを、図面を参照して説明する。   Hereinafter, a structured document management apparatus, method, and program according to embodiments will be described with reference to the drawings.

[第1の実施形態]
まず、第1の実施形態について、図1乃至図13を参照して説明する。図1は、第1の実施形態にかかる構造化文書管理システムのシステム構築例を示す模式図である。ここでは、実施形態の構造化文書管理システムとして、図1に示すように、構造化文書管理装置であるサーバコンピュータ(以下、サーバという。)1に、LAN(Local Area Network)等のネットワーク2を介して、クライアントコンピュータ(以下、クライアント端末という。)3が複数台接続されたサーバクライアントシステムを想定する。
[First Embodiment]
First, a first embodiment will be described with reference to FIGS. FIG. 1 is a schematic diagram illustrating a system construction example of the structured document management system according to the first embodiment. Here, as a structured document management system of the embodiment, as shown in FIG. 1, a network 2 such as a LAN (Local Area Network) is connected to a server computer (hereinafter referred to as a server) 1 which is a structured document management apparatus. A server client system to which a plurality of client computers (hereinafter referred to as client terminals) 3 are connected is assumed.

図2は、サーバ1およびクライアント端末3のモジュール構成図である。サーバ1およびクライアント端末3は、例えば、通常のコンピュータを利用したハードウェア構成を有している。すなわち、サーバ1およびクライアント端末3は、情報処理を行うCPU(Central Processing Unit)101、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)102、各種データを書き換え可能に記憶するRAM(Random Access Memory)103、各種データベースとして機能するとともに各種のプログラムを格納するHDD(Hard Disc Drive)104、記憶媒体110を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ等の媒体駆動装置105、ネットワーク2を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置106、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示部107、並びに操作者がCPU101に命令や情報等を入力するためのキーボードやマウス等の入力部108等を備えた構成であり、これらの各部間で送受信されるデータをバスコントローラ109が調停して動作する。   FIG. 2 is a module configuration diagram of the server 1 and the client terminal 3. The server 1 and the client terminal 3 have a hardware configuration using, for example, a normal computer. That is, the server 1 and the client terminal 3 include a CPU (Central Processing Unit) 101 that performs information processing, a ROM (Read Only Memory) 102 that is a read-only memory storing BIOS, and a RAM (RAM) that stores various data in a rewritable manner. Random Access Memory (103), HDD (Hard Disc Drive) 104 that functions as various databases and stores various programs, and storage medium 110 for storing information, distributing information outside, and obtaining information from outside Medium drive device 105 such as a CD-ROM drive for communication, communication control device 106 for communicating information with other external computers via network 2, processing progress and results, etc. A display unit 107 such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) to be displayed to a user, and an input unit 108 such as a keyboard and a mouse for an operator to input commands and information to the CPU 101 In this configuration, the bus controller 109 operates by arbitrating data transmitted and received between these units.

このようなサーバ1およびクライアント端末3では、ユーザが電源を投入するとCPU101がROM102内のローダーというプログラムを起動させ、HDD104よりOS(Operating System)というコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM103に読み込み、このOSを起動させる。このようなOSは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。OSのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのOS上で動作するプログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のOS上で動作するものに限らず、後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。   In the server 1 and the client terminal 3, when the user turns on the power, the CPU 101 activates a program called a loader in the ROM 102, and a program for managing the hardware and software of the computer called OS (Operating System) from the HDD 104 is stored in the RAM 103. To start this OS. Such an OS activates a program, reads information, and stores information in accordance with a user operation. As typical OSes, Windows (registered trademark), UNIX (registered trademark), and the like are known. Programs that run on these OSs are called application programs. The application program is not limited to one that runs on a predetermined OS, and may be one that causes the OS to execute some of the various processes described below, or constitutes predetermined application software, an OS, or the like. It may be included as part of a group of program files.

ここで、サーバ1は、アプリケーションプログラムとして、構造化文書管理プログラムをHDD104に記憶している。この意味で、HDD104は、構造化文書管理プログラムを記憶する記憶媒体として機能する。また、一般的には、サーバ1のHDD104にインストールされるアプリケーションプログラムは、CD−ROMやDVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体110に記録されて提供される。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体110も、構造化文書管理プログラムを記憶する記憶媒体となり得る。さらには、構造化文書管理プログラムは、例えば通信制御装置106を介して外部から取り込まれ、HDD104にインストールされてもよい。   Here, the server 1 stores a structured document management program in the HDD 104 as an application program. In this sense, the HDD 104 functions as a storage medium that stores the structured document management program. In general, application programs installed in the HDD 104 of the server 1 are various systems such as various optical disks such as CD-ROM and DVD, various magnetic disks such as various magneto-optical disks and flexible disks, and semiconductor memories. It is recorded on a storage medium 110 such as a medium and provided. Therefore, the portable storage medium 110 such as an optical information recording medium such as a CD-ROM or a magnetic medium such as an FD can also be a storage medium that stores the structured document management program. Further, the structured document management program may be imported from the outside via the communication control device 106 and installed in the HDD 104, for example.

サーバ1は、OS上で動作する構造化文書管理プログラムが起動すると、この構造化文書管理プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。一方、クライアント端末3は、OS上で動作するアプリケーションプログラムが起動すると、このアプリケーションプログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。サーバ1およびクライアント端末3のCPU101が実行する各種の演算処理のうち、実施形態の構造化文書管理システムにおいて特徴的な処理について、以下に説明する。   In the server 1, when a structured document management program operating on the OS is started, the CPU 101 executes various arithmetic processes according to the structured document management program and centrally controls each unit. On the other hand, in the client terminal 3, when an application program operating on the OS is activated, the CPU 101 executes various arithmetic processes according to the application program, and controls each unit intensively. Of various types of arithmetic processing executed by the CPU 101 of the server 1 and the client terminal 3, processing characteristic in the structured document management system of the embodiment will be described below.

図3は、第1の実施形態におけるサーバ1およびクライアント端末3の概略構成を示すブロック図である。図3に示すように、クライアント端末3は、アプリケーションプログラムにより実現される機能構成として、構造化文書登録部11と、検索部12とを備える。   FIG. 3 is a block diagram showing a schematic configuration of the server 1 and the client terminal 3 in the first embodiment. As illustrated in FIG. 3, the client terminal 3 includes a structured document registration unit 11 and a search unit 12 as a functional configuration realized by an application program.

構造化文書登録部11は、入力部108から入力された構造化文書データやクライアント端末3のHDD104に予め記憶された構造化文書データを、後述するサーバ1の構造化文書データベース(構造化文書DB)21に登録するためのものである。この構造化文書登録部11は、登録すべき構造化文書データとともに格納要求をサーバ1に送信する。   The structured document registration unit 11 stores the structured document data input from the input unit 108 and the structured document data stored in advance in the HDD 104 of the client terminal 3 into a structured document database (structured document DB) of the server 1 described later. ) 21 for registration. The structured document registration unit 11 transmits a storage request to the server 1 together with the structured document data to be registered.

図4は、構造化文書データの一例を示したものである。構造化文書データを記述するための代表的な言語としてXML(Extensible Markup Language)が挙げられる。図4に示す構造化文書データは、XMLで記述されたものである。XMLでは、文書構造を構成する個々のパーツを「要素」(エレメント:Element)と呼び、要素はタグ(tag)を使って記述する。具体的には、要素の始まりを示すタグ(開始タグ)と、終わりを示すタグ(終了タグ)の2つのタグでデータを挟み込んで、1つの要素を表現している。なお、開始タグと終了タグで挟み込まれたテキストデータは、当該開始タグと終了タグで表された1つの要素に含まれるテキスト要素である。   FIG. 4 shows an example of structured document data. XML (Extensible Markup Language) is a typical language for describing structured document data. The structured document data shown in FIG. 4 is described in XML. In XML, individual parts constituting a document structure are called “elements” (elements), and elements are described using tags. Specifically, one element is expressed by sandwiching data between two tags, a tag indicating the start of an element (start tag) and a tag indicating the end (end tag). Note that the text data sandwiched between the start tag and the end tag is a text element included in one element represented by the start tag and the end tag.

図4に示す例では、<books>というタグで囲まれたルート要素が存在する。この<books>要素は、<book>のタグで囲まれた3つの子要素を包含する。<book>要素は、<title>、<author>の各タグで囲まれた複数の子要素を包含する。<title>要素は、「XMLデータベース」などのテキスト要素をもつ。   In the example shown in FIG. 4, there is a root element surrounded by a tag <books>. The <books> element includes three child elements surrounded by <book> tags. The <book> element includes a plurality of child elements surrounded by <title> and <author> tags. The <title> element has a text element such as “XML database”.

1番目の<book>要素は、2つの<author>要素を持ち、これら2つの<author>要素が<title>要素の後に出現する順序であるが、2,3番目の<book>要素は、1つの<author>要素のみを持ち、<author>要素の後に<title>要素が出現している。   The first <book> element has two <author> elements, and these two <author> elements are in the order in which they appear after the <title> element, but the second and third <book> elements are: It has only one <author> element, and a <title> element appears after the <author> element.

検索部12は、ユーザにより入力部108から入力された指示に従って、構造化文書DB21から所望のデータを検索するための検索条件などが記述されたクエリデータを作成し、当該クエリデータを含む検索要求をサーバ1へ送信する。また、検索部12は、サーバ1から送信された当該検索要求に対応する結果データを受け取り、これを表示部107に表示する。   The search unit 12 creates query data describing a search condition for searching for desired data from the structured document DB 21 according to an instruction input from the input unit 108 by the user, and a search request including the query data. Is transmitted to the server 1. In addition, the search unit 12 receives result data corresponding to the search request transmitted from the server 1 and displays the result data on the display unit 107.

一方、サーバ1は、構造化文書管理プログラムにより実現される機能構成として、格納処理部22と、検索処理部23とを備える。また、サーバ1は、HDD104などの記憶装置を利用した構造化文書DB21を備える。   On the other hand, the server 1 includes a storage processing unit 22 and a search processing unit 23 as functional configurations realized by the structured document management program. The server 1 also includes a structured document DB 21 that uses a storage device such as the HDD 104.

格納処理部22は、クライアント端末3からの格納要求を受けて、クライアント端末3から送信された構造化文書データを構造化文書DB21に格納する処理を行う。この格納処理部22は、格納インタフェース部24と、要素ID付与部25とを備えている。   Upon receiving a storage request from the client terminal 3, the storage processing unit 22 performs a process of storing the structured document data transmitted from the client terminal 3 in the structured document DB 21. The storage processing unit 22 includes a storage interface unit 24 and an element ID assigning unit 25.

格納インタフェース部24は、構造化文書データの入力を受け付けて(構造化文書データ受付手段)、構造化文書データを構造化文書DB21に格納するために要素ID付与部25を呼び出す。   The storage interface unit 24 receives the input of structured document data (structured document data receiving unit) and calls the element ID adding unit 25 to store the structured document data in the structured document DB 21.

要素ID付与部25は、識別子付与手段として機能するものであって、クライアント端末3から送信された構造化文書データを構文解析し、そこに出現する要素に要素間で出現順序が比較可能な識別子(以下、要素IDという。)を付与した上で、要素IDが付与された構造化文書データ(以下、要素ID付与済み構造化文書データという。)を構造化文書DB21(構造化文書データ記憶手段)に格納する。   The element ID assigning unit 25 functions as an identifier assigning unit, and parses the structured document data transmitted from the client terminal 3 and can compare the appearance order between the elements appearing there. (Hereinafter referred to as element ID), and the structured document data to which the element ID has been assigned (hereinafter referred to as element ID-added structured document data) is designated as the structured document DB 21 (structured document data storage means). ).

ここで、要素IDは、その大小で構造化文書データ中での要素の出現順序が判定できるように付与される。図4に例示した構造化文書データに対して要素IDを付与した要素ID付与済み構造化文書データの例を図5に示す。図5では、要素IDを付与する方法の一例として、ルート要素より要素の出現順に従ってE1、E2、E3、・・・と付与している。このように付与すれば、要素間の出現順序を要素IDの比較で判定することができる。   Here, the element ID is assigned so that the appearance order of the elements in the structured document data can be determined based on the size of the element ID. FIG. 5 shows an example of structured document data with an element ID assigned to the structured document data illustrated in FIG. In FIG. 5, as an example of a method for assigning element IDs, E1, E2, E3,... If given in this way, the appearance order between elements can be determined by comparing element IDs.

例えば、図4に例示した構造化文書データにおける<books>の1番目の<book>要素は、その中に2つの<author>要素を持ち、これら2つの<author>要素の出現順序は、子に<first>要素を持つ<author>要素が先に出現し、子に<last>要素を持つ<author>要素が後に出現する順となっている。ここで、図5でそれぞれに付与された要素IDを比較すると、E5<E8であり、要素IDとしてE8を付与された要素である、子に<last>要素を持つ<author>要素が、要素IDとしてE8を付与された要素である、子に<first>要素を持つ<author>要素よりも後に出現することが判定できる。また、図5では、要素ID付与済み構造化文書データの形式が図4の構造化文書データとほぼ同一であるが、先に述べたように、その大小で要素の出現順序が判定できるように要素IDが付与されていれば、要素ID付与済み構造化文書データの形式は特に限定されるものではない。   For example, the first <book> element of <books> in the structured document data illustrated in FIG. 4 has two <author> elements therein, and the appearance order of these two <author> elements is a child. The <author> element having the <first> element appears first, and the <author> element having the <last> element as a child appears later. Here, when comparing the element IDs assigned to each in FIG. 5, an <author> element having a <last> element as a child, which is an element to which E5 <E8 and E8 is assigned as an element ID, It can be determined that the element appears after the <author> element having a <first> element as a child, which is an element assigned E8 as an ID. In FIG. 5, the format of the structured document data with element IDs assigned is almost the same as the structured document data of FIG. 4, but as described above, the appearance order of the elements can be determined based on the size. If the element ID is assigned, the format of the structured document data with the element ID assigned is not particularly limited.

検索処理部23は、クライアント端末3からの検索要求を受けて、クエリデータにより指定された条件に合致するデータを構造化文書DB21から探し出し、この探し出したデータを結果データとして返す処理を行う。この検索処理部23は、検索インタフェース部26と、クエリデータ分解部27と、構造照合処理部28と、結合演算処理部29とを備えている。   Upon receiving a search request from the client terminal 3, the search processing unit 23 searches the structured document DB 21 for data that matches the condition specified by the query data, and returns the found data as result data. The search processing unit 23 includes a search interface unit 26, a query data decomposition unit 27, a structure matching processing unit 28, and a join operation processing unit 29.

検索インタフェース部26は、クエリデータの入力を受け付けて(クエリデータ受付手段)、受け付けたクエリデータにより指定された条件を満足する結果データを得るためにクエリデータ分解部27を呼び出す。   The search interface unit 26 receives input of query data (query data receiving unit) and calls the query data decomposition unit 27 to obtain result data that satisfies the conditions specified by the received query data.

クエリデータ分解部27は、クエリデータ分解手段として機能するものであって、クライアント端末3から送信され、検索インタフェース部26を介して入力されたクエリデータ(以下、入力クエリデータという。)を構文解析し、この入力クエリデータが、構造化文書データの論理構造における階層の上下関係を指定する条件(第1条件)と、要素IDで特定される要素の順序関係を指定する条件(第2条件)とを含む場合に、入力クエリデータを、第1条件のみを含む第1の部分クエリデータと、第1の部分クエリデータによる照合結果を第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解する。   The query data decomposition unit 27 functions as query data decomposition means, and parses query data (hereinafter referred to as input query data) transmitted from the client terminal 3 and input via the search interface unit 26. The input query data includes a condition (first condition) for specifying the hierarchical relationship in the logical structure of the structured document data (first condition) and a condition (second condition) for specifying the order relation of the elements specified by the element ID. Including a procedure of combining the input query data with the first partial query data including only the first condition and the collation result based on the first partial query data according to the second condition. Break it down into partial query data.

構造照合処理部28は、構造照合処理手段として機能するものであって、構造化文書DB21に格納されている要素ID付与済み構造化文書データのデータ集合に対して、第1の部分クエリデータによる構造条件の照合処理を行い、その照合結果を構造照合処理結果データとして出力する。   The structure collation processing unit 28 functions as a structure collation processing unit, and uses the first partial query data for the data set of the structured document data with element IDs stored in the structured document DB 21. A structure condition matching process is performed, and the matching result is output as structure matching process result data.

結合演算処理部29は、結合演算処理手段として機能するものであって、構造照合処理部28から出力された第1の部分クエリデータによる照合結果である構造照合処理結果データに対して、第2のクエリデータに含まれる結合演算の手順に従って結合演算を行い、結合演算結果データを出力する。なお、結合演算処理部29は、第2の部分クエリデータが空ならば、構造照合処理部28から出力された構造照合処理結果データをそのまま出力するか、または自身の処理を省略する。   The join operation processing unit 29 functions as a join operation processing means, and applies a second to the structure matching processing result data that is the matching result by the first partial query data output from the structure matching processing unit 28. The join operation is performed according to the join operation procedure included in the query data, and the join operation result data is output. If the second partial query data is empty, the join operation processing unit 29 outputs the structure matching processing result data output from the structure matching processing unit 28 as it is or omits its own processing.

検索インタフェース部26は、結合演算処理部29から出力された結合演算処理結果データを、検索の結果データとしてクライアント端末3へ返却する。   The search interface unit 26 returns the join operation processing result data output from the join operation processing unit 29 to the client terminal 3 as search result data.

図6は、クエリデータの一例を示す説明図である。XMLでは、W3Cで提案されているXQueryという問合せ言語があり、図6に示すクエリデータは、このXQueryに基づいた問合せ記述方法に則っている。図6には、下記のような意味の複雑な階層構造に関する条件(構造条件)を含むクエリデータQ1が示されている。
Q1:構造化文書DB21の各構造化文書データについて、階層のどこかに「book」という要素があり、その「book」という要素は、その中に「author」という要素を持ち、さらにこの「author」という要素の中に、「first」と「last」という2つの要素を持つような「book」要素であり、さらにその「book」要素よりも後に出現する「book」要素について、その中にある「title」の一覧を返す。
FIG. 6 is an explanatory diagram illustrating an example of query data. In XML, there is a query language called XQuery proposed by W3C, and the query data shown in FIG. 6 conforms to a query description method based on this XQuery. FIG. 6 shows query data Q1 including conditions (structure conditions) regarding a complex hierarchical structure having the following meanings.
Q1: For each structured document data in the structured document DB 21, there is an element “book” somewhere in the hierarchy, the element “book” has an element “author” in the element, and this “author” Is a “book” element that has two elements “first” and “last”, and a “book” element that appears after the “book” element. Returns a list of “titles”.

図7は、サーバ1の検索処理部23による検索処理の流れを示すフローチャートである。まず、検索インタフェース部26により、クライアント端末3からネットワーク2経由で送信されたクエリデータの入力が受け付けられる(ステップS1)。   FIG. 7 is a flowchart showing the flow of search processing by the search processing unit 23 of the server 1. First, the search interface unit 26 accepts input of query data transmitted from the client terminal 3 via the network 2 (step S1).

次に、クエリデータ分解部27により、入力クエリデータについてのクエリデータ解析処理が行われる(ステップS2)。クエリデータ分解部27によるクエリデータ解析処理の一例を、図8を参照して説明する。   Next, the query data analysis unit 27 performs query data analysis processing on the input query data (step S2). An example of the query data analysis process by the query data decomposition unit 27 will be described with reference to FIG.

図8は、クエリデータ解析処理の流れを示すフローチャートである。クエリデータ分解部27は、はじめに、入力クエリデータのすべてを便宜的に第1の部分クエリデータとする(ステップS201)。このとき、第2の部分クエリデータは空としておく。   FIG. 8 is a flowchart showing the flow of the query data analysis process. The query data decomposing unit 27 first sets all of the input query data as first partial query data for convenience (step S201). At this time, the second partial query data is left empty.

次に、クエリデータ分解部27は、第1の部分クエリデータをチェックして、第1の部分クエリデータ(ここでは入力クエリデータと同じ)に、ある構造を持つ要素間の順序関係に関する構造条件、つまり、要素IDで特定される要素の順序関係を指定するような条件が含まれるかどうかを判定する(ステップS202)。そして、クエリデータ分解部27は、そのような構造条件が含まれていれば(ステップS202:Yes)、第1の部分クエリデータを、階層の上下関係を指定する条件のみを含む構造条件、つまり、順序関係に関する構造条件での照合の対象となる構造それぞれを指定するような構造条件に分解し(ステップS203)、分解された構造条件すべてを第1の部分クエリデータとする(ステップS204)。そして、クエリデータ分解部27は、分解された各構造条件の構造照合処理結果間で、そこに含まれる要素IDの結合演算を指示する内容を、第2の部分クエリデータとし(ステップS205)、クエリデータ解析処理を終了する。   Next, the query data decomposing unit 27 checks the first partial query data, and the first partial query data (here, the same as the input query data) has a structural condition relating to the order relationship between elements having a certain structure. That is, it is determined whether or not a condition for specifying the order relationship of the elements specified by the element ID is included (step S202). Then, if such a structural condition is included (step S202: Yes), the query data decomposition unit 27 converts the first partial query data into a structural condition that includes only a condition that specifies the hierarchical relationship of the hierarchy, that is, Then, it is decomposed into structural conditions that specify each of the structures to be collated with the structural conditions related to the order relationship (step S203), and all the decomposed structural conditions are set as the first partial query data (step S204). Then, the query data decomposing unit 27 sets, as the second partial query data, the contents instructing the join operation of the element IDs included in the structure matching processing results of the decomposed structural conditions (step S205). Terminates the query data analysis process.

一方、ステップS202の判定で、第1の部分クエリデータ(ここでは入力クエリデータと同じ)に上述した順序関係に関する構造条件が含まれなければ(ステップS202:No)、クエリデータ分解部27は、ステップS203からステップS205の処理を行うことなく、クエリデータ解析処理を終了する。   On the other hand, if it is determined in step S202 that the first partial query data (here, the same as the input query data) does not include the structural condition related to the order relationship described above (step S202: No), the query data decomposition unit 27 The query data analysis process is terminated without performing the processes from step S203 to step S205.

図9は、図6に例示したクエリデータQ1についてのクエリデータ解析処理の結果である第1の部分クエリデータQ1_Aと第2の部分クエリデータQ1_Bの一例を示す図である。図9において、第1の部分クエリデータQ1_Aは、構造条件PP1とPP2を含んでいる。また、第2の部分クエリデータQ1_Bは、Q1_Aによる構造照合処理の照合結果を、上述した順序関係に関する構造条件に応じて結合演算する手順を含んでいる。図6に例示したクエリデータQ1は、順序関係に関する構造条件「following−sibling」が含まれているため、クエリデータQ1は、この構造条件での照合の対象となる構造を指定する構造条件PP1,PP2に分解され、これらPP1,PP2による構造照合処理の照合結果を「following−sibling」に応じて結合演算する手順が、第2の部分クエリデータQ1_Bとされる。なお、図中のQ1_BにあるT1,T2は、それぞれPP1,PP2を構造照合処理した結果を識別する記号である。また、図中のQ1_A,Q1_Bにある[1],[2],[3]は、T1,T2に含まれる要素ID群を識別する記号である。   FIG. 9 is a diagram illustrating an example of the first partial query data Q1_A and the second partial query data Q1_B, which are the results of the query data analysis process for the query data Q1 illustrated in FIG. In FIG. 9, the first partial query data Q1_A includes structural conditions PP1 and PP2. Further, the second partial query data Q1_B includes a procedure for performing a join operation on the collation result of the structure collation processing by Q1_A according to the structural condition related to the order relation described above. Since the query data Q1 illustrated in FIG. 6 includes a structural condition “following-sibling” related to the order relationship, the query data Q1 includes a structural condition PP1, which specifies a structure to be collated with the structural condition. The procedure of decomposing into PP2 and performing a join operation on the collation result of the structure collation processing by PP1 and PP2 according to “following-sibling” is the second partial query data Q1_B. Note that T1 and T2 in Q1_B in the figure are symbols for identifying the results of the structure matching processing for PP1 and PP2, respectively. [1], [2], and [3] in Q1_A and Q1_B in the figure are symbols for identifying element ID groups included in T1 and T2.

クエリデータ分解部27によるクエリデータ解析処理が終了すると、次に、構造照合処理部28により、第1の部分クエリデータに含まれる構造条件の構造照合処理が行われる(ステップS3)。ここで、構造照合処理とは、構造化文書データについて、指定された構造条件をXQueryで定められた仕様で解釈して照合し、結果として構造条件に合致する構造化文書データまたは構造化文書データ中の要素を得る処理をいう。   When the query data analysis process by the query data decomposing unit 27 is completed, the structure matching process unit 28 performs a structure matching process for the structure condition included in the first partial query data (step S3). Here, the structure matching process refers to structured document data or structured document data that conforms to the structure condition as a result of interpreting and collating the specified structure condition with the specification defined by XQuery. The process to get the elements inside.

ここで、図5に例示した要素ID付与済み構造化文書データと、図9に例示した第1の部分クエリデータQ1_Aに含まれる構造条件PP1,PP2とを用いて、一般的な構造照合処理を行った場合の処理の概要を、図10を参照して説明する。以下では、構造条件中の/で区切られた部分を単にパスと呼称する。   Here, using the structured document data with element IDs exemplified in FIG. 5 and the structural conditions PP1 and PP2 included in the first partial query data Q1_A exemplified in FIG. 9, a general structure matching process is performed. An outline of the processing when it is performed will be described with reference to FIG. Hereinafter, the part delimited by / in the structural condition is simply referred to as a path.

第1の部分クエリデータQ1_Aに含まれる構造条件PP1の照合について、構造条件PP1を左から見て、まず先頭のパス//book(/descendant−or−self::book)の照合を行う。これは、XQuery仕様で、「ルート要素以下のどこかの階層構造にある要素で、名前がbookである要素を選択する」ことを意味する。これに従い、図5に例示した要素ID付与済み構造化文書データ中の要素の構造を照合すると、ルート要素<books>以下の3つの<book>要素、E2,E13,E21が選択される(1.1)。   Regarding the collation of the structural condition PP1 included in the first partial query data Q1_A, the head path // book (/ descendant-or-self :: book) is collated first when the structural condition PP1 is viewed from the left. This means that, in the XQuery specification, “the element in the hierarchical structure somewhere below the root element and having the name“ book ”is selected”. In accordance with this, when the structure of the element in the structured document data with element ID given as an example in FIG. 5 is collated, three <book> elements, E2, E13, and E21 below the root element <books> are selected (1). .1).

次の[author[first and last]]とは、「前の構造照合で得られた要素について、その子にauthorという要素があり、さらにそのauthor要素は、その子としてfirstとlastという要素を両方含んでいるような要素のみをさらに選択する」ことを意味する。これに従い各<book>要素より下位の要素の構造を照合して<book>要素を選択すると、結果として、要素IDがE13,E21であるbook要素が得られる(1.2)。   The next [author [first and last]] is: “With respect to the element obtained in the previous structure matching, its child has an element called author, and the author element contains both first and last elements as its children. Means to select only such elements. " If the <book> element is selected by collating the structure of elements below each <book> element in accordance with this, a book element having element IDs E13 and E21 is obtained as a result (1.2).

同様に、第1の部分クエリデータQ1_Aに含まれる構造条件PP2の照合について、先頭のパス//bookについては先のPP1の例と同じ意味であり、3つの<book>要素、E2,E13,E21が選択される(2.1)。次に続くパス/title(/child::title)とは、「前のパス照合で得られた要素に対して子供の階層構造の位置にある要素で、名前がtitleである要素を選択する」ことを意味する。これに従い、前の構造照合で得られた各<book>要素に対して子供の構造位置にある要素を照合すると、要素IDがE2の<book>要素からは要素IDがE3の<title>要素が得られ、要素IDがE13の<book>要素からは要素IDがE19の<title>要素が得られ、要素IDがE21の<book>要素からは要素IDがE27の<title>要素が得られる(2.2)。   Similarly, with respect to the collation of the structural condition PP2 included in the first partial query data Q1_A, the first path // book has the same meaning as the previous PP1, and three <book> elements, E2, E13, E21 is selected (2.1). The next path / title (/ child :: title) is “select an element at the position of the child's hierarchical structure with respect to the element obtained in the previous path collation and whose name is title”. Means that. Accordingly, when the element at the child structure position is compared with each <book> element obtained by the previous structure matching, the <title> element with an element ID of E3 starts from the <book> element with an element ID of E2. The <title> element with the element ID E19 is obtained from the <book> element with the element ID E13, and the <title> element with the element ID E27 is obtained from the <book> element with the element ID E21. (2.2).

なお、ここで概説した構造条件およびパスの構造照合処理の方法は一例であり、構造条件およびパスの構造照合処理の方法には、特許文献1に記載されているようなものをはじめ、様々なものがある。本実施形態における構造照合処理部28は、入力された構造条件に合致する構造を持つ構造化文書データ中の要素を取得するものであれば、内部の具体的な処理方法については特に限定されるものではない。   Note that the structure condition and the path structure matching method outlined here are merely examples, and the structure condition and the path structure matching method include various methods including those described in Patent Document 1. There is something. As long as the structure matching processing unit 28 in the present embodiment acquires an element in structured document data having a structure that matches the input structure condition, a specific internal processing method is particularly limited. It is not a thing.

図5に例示した要素ID付与済み構造化文書データについて、図9に例示した第1の部分クエリデータQ1_Aに含まれる構造条件PP1,PP2の構造照合処理を行った結果である構造照合処理結果データR1_Aを図11に示す。図中のT1,T2は、それぞれ構造条件PP1,PP2の構造照合処理の結果であり、T1としては構造条件PP1に合致する構造を持つ要素の要素ID群[1]が得られ、T2としては構造条件PP2に合致する構造を持つ要素の要素ID群[2],[3]が得られる。なお、図11ではT1,T2を表で示しているが、構造照合処理結果データの具体的なデータ構造は特に限定されるものではない。   The structure collation processing result data, which is the result of performing the structure collation processing of the structural conditions PP1 and PP2 included in the first partial query data Q1_A illustrated in FIG. 9 for the structured document data with element IDs illustrated in FIG. R1_A is shown in FIG. T1 and T2 in the figure are the results of the structure matching processing of the structural conditions PP1 and PP2, respectively. As T1, an element ID group [1] of elements having a structure matching the structural condition PP1 is obtained. Element ID groups [2] and [3] of elements having a structure that matches the structure condition PP2 are obtained. In FIG. 11, T1 and T2 are shown in a table, but the specific data structure of the structure matching process result data is not particularly limited.

構造照合処理部28による構造照合処理が終了すると、次に、結合演算処理部29により、構造照合処理部28の処理結果である構造照合処理結果データについて、第2の部分クエリデータに含まれる手順に従って結合演算処理が行われる(ステップS4)。   When the structure matching processing by the structure matching processing unit 28 is completed, the procedure included in the second partial query data is next performed on the structure matching processing result data, which is the processing result of the structure matching processing unit 28, by the join operation processing unit 29. In step S4, a join operation process is performed.

図12は、図9に例示した第2の部分クエリデータQ1_Bを用いて図11に例示した構造照合処理結果データR1_Aについて結合演算処理を行う場合の処理の概要を説明する図である。結合演算処理は、従来のRDB(Relational Database)で行われている結合演算(JOIN)などと同じである。   FIG. 12 is a diagram for explaining an overview of processing when the join operation processing is performed on the structure matching processing result data R1_A illustrated in FIG. 11 using the second partial query data Q1_B illustrated in FIG. The join operation process is the same as the join operation (JOIN) performed in the conventional RDB (Relational Database).

図12の例では、T1[1]<T2[2]という順序関係に関する条件に従ってT1とT2との結合演算が行われ、T3が得られる。そして、T3について[3]のみを取り出すことにより、結合演算処理の結果として、図12に示すような中間結果R1_Bが得られる。この中間結果R1_Bは、図6に例示したクエリデータQ1を、上述したようなクエリデータ解析処理を行わずにそのまま処理した場合の結果と一致する。   In the example of FIG. 12, the join operation of T1 and T2 is performed according to the condition relating to the order relationship of T1 [1] <T2 [2], and T3 is obtained. Then, by extracting only [3] for T3, an intermediate result R1_B as shown in FIG. 12 is obtained as a result of the join operation process. This intermediate result R1_B matches the result of processing the query data Q1 illustrated in FIG. 6 as it is without performing the query data analysis process as described above.

結合演算処理部29による結合演算処理が終了すると、最後に、検索インタフェース部26により、結合演算処理部29による結合演算処理の結果(中間結果)として得られる要素IDが、それに対応する構造化文書データとして文字列化され、結果データとしてクライアント端末3に返却される(ステップS5)。図12に示した中間結果R1_Bが得られた場合には、この中間結果R1_Bに含まれる要素IDであるE27に対応する構造化文書データが文字列化され、クエリデータQ1の結果データR1として、図13に示すデータがクライアント端末3に返却される。   When the join operation processing by the join operation processing unit 29 is finished, finally, the element ID obtained as a result (intermediate result) of the join operation processing by the join operation processing unit 29 by the search interface unit 26 is the corresponding structured document. It is converted into a character string as data and returned to the client terminal 3 as result data (step S5). When the intermediate result R1_B shown in FIG. 12 is obtained, the structured document data corresponding to the element ID E27 included in the intermediate result R1_B is converted into a character string, and as the result data R1 of the query data Q1, Data shown in FIG. 13 is returned to the client terminal 3.

以上、具体的な例を挙げながら説明したように、本実施形態によれば、サーバ1が、構造化文書データの登録時に、その構造化文書データに出現する各要素に要素間で出現順序が比較可能な要素IDを付与して、要素ID付与済み構造化文書データを構造化文書DB21に格納する。また、サーバ1は、構造化文書データの検索時には、クライアント端末3からの入力クエリデータを構文解析して、入力クエリデータが、構造化文書データの論理構造における階層の上下関係を指定する第1条件と、要素IDで特定される要素の順序関係を指定する第2条件とを含む場合に、その入力クエリデータを、第1条件のみを含む第1の部分クエリデータと、第1の部分クエリデータによる照合結果を、第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解して処理するようにしている。したがって、入力クエリデータが複雑な構造条件を含む場合でも、この入力クエリデータを単純な構造条件の構造照合処理と結合演算処理とで処理することで、構造照合処理の高速化を実現し、複雑な構造条件を含むクエリデータによる検索を高速に実行することができる。   As described above with reference to specific examples, according to this embodiment, when the structured document data is registered, the server 1 has the appearance order between the elements appearing in the structured document data. A comparable element ID is assigned, and the structured document data with the element ID assigned is stored in the structured document DB 21. Further, the server 1 parses the input query data from the client terminal 3 when searching for the structured document data, and the input query data designates the first hierarchical relationship in the logical structure of the structured document data. In the case of including a condition and a second condition that specifies the order relationship of the elements specified by the element ID, the input query data includes the first partial query data including only the first condition, and the first partial query. The collation result based on the data is processed by being decomposed into second partial query data including a procedure for performing a join operation in accordance with the second condition. Therefore, even if the input query data includes complex structural conditions, the input query data is processed by the simple structure condition structure matching process and the join operation process, thereby speeding up the structure matching process. Search by query data including various structural conditions can be executed at high speed.

なお、上記の具体例では、入力クエリデータに、要素IDで特定される要素の順序関係を指定する条件(順序関係に関する構造条件)として「following−sibling」が含まれる場合を例示して説明したが、要素の順序関係を指定する他の条件、例えば「following」や「preceeding」、「preceeding−sibling」などが含まれる場合であっても、上記の具体例と同様に処理することができる。   In the above specific example, the case where “following-sibling” is included in the input query data as a condition (structural condition related to the order relation) for specifying the order relation of the elements specified by the element ID has been described. However, even when other conditions for specifying the order relation of elements, for example, “following”, “preceding”, “presenting-sibling”, and the like are included, the processing can be performed in the same manner as the above specific example.

[第2の実施形態]
次に、第2の実施形態について、図5、図7、図14乃至図23を参照して説明する。本実施形態は、第1の部分クエリデータが、構造化文書データの論理構造における階層を下位から上位へと辿る条件を含む場合に、その条件を、構造化文書データの論理構造における階層を下位から上位へと辿る条件に書き換えるようにした例である。なお、以下の説明において、上述した第1の実施形態と共通の構成については同一の符号を付し、重複した説明を省略する。
[Second Embodiment]
Next, a second embodiment will be described with reference to FIGS. 5, 7, and 14 to 23. In the present embodiment, when the first partial query data includes a condition for tracing the hierarchy in the logical structure of the structured document data from the lower level to the upper level, the condition is set to the lower level in the logical structure of the structured document data. In this example, the condition is rewritten to the condition of tracing from top to bottom. In the following description, the same reference numerals are given to the same components as those in the first embodiment described above, and duplicate descriptions are omitted.

図14は、本実施形態におけるサーバ1’およびクライアント端末3の概略構成を示すブロック図である。本実施形態では、サーバ1’の格納処理部22’に構造解析部30が設けられている。また、サーバ1’の構造化文書DB21’には、要素ID付与済み構造化文書データとともに、構造化文書DB21’に格納された要素ID付与済み構造化文書データそれぞれの階層化された論理構造を集約した情報である構造ガイドデータが格納されている(構造ガイドデータ記憶手段)。また、サーバ1’の検索処理部23’には、構造条件書き換え部31が設けられている。なお、クライアント端末3の構成は第1の実施形態と同じである。   FIG. 14 is a block diagram showing a schematic configuration of the server 1 ′ and the client terminal 3 in the present embodiment. In the present embodiment, the structure analysis unit 30 is provided in the storage processing unit 22 ′ of the server 1 ′. In addition, the structured document DB 21 ′ of the server 1 ′ includes the structured logical document data with the element IDs and the hierarchical logical structures of the structured document data with the element IDs stored in the structured document DB 21 ′. Structure guide data that is aggregated information is stored (structure guide data storage means). Further, a structural condition rewriting unit 31 is provided in the search processing unit 23 ′ of the server 1 ′. The configuration of the client terminal 3 is the same as that in the first embodiment.

構造解析部30は、構造ガイドデータ更新手段として機能するものであり、クライアント端末3から送信された構造化文書データの階層化された論理構造を解析し、その論理構造が構造ガイドデータに反映されるように、構造化文書DB21’に格納されている構造ガイドデータを更新する。   The structure analysis unit 30 functions as a structure guide data update unit, analyzes the hierarchical logical structure of the structured document data transmitted from the client terminal 3, and reflects the logical structure in the structure guide data. Thus, the structure guide data stored in the structured document DB 21 ′ is updated.

構造ガイドデータは、構造化文書DB21’に格納された要素ID付与済み構造化文書データそれぞれの階層化された論理構造を集約した情報であり、要素ID付与済み構造化文書データ中に出現する一意な階層構造に関する情報を保持するものである。図4に例示した構造化文書データに対応する構造ガイドデータは、例えば図15に示すようなものとなる。構造解析部30は、まず、クライアント端末3から送信された構造化文書データの階層化された論理構造を解析して図15に示すような構造ガイドデータを新規に生成する。そして、構造解析部30は、新規に生成した構造ガイドデータを構造化文書DB21’に格納されている構造ガイドデータ(つまり、構造化文書DB21’に格納された要素ID付与済み構造化文書データの論理構造を集約した構造ガイドデータ)と比較し、新規に生成した構造ガイドデータが、構造化文書DB21’に格納されている構造ガイドデータにはない新たな階層構造に関する情報を含む場合に、その新たな階層構造に関する情報を、構造化文書DB21’に格納されている構造ガイドデータに追加するかたちで、構造化文書DB21’に格納されている構造ガイドデータを更新する。   The structure guide data is information obtained by aggregating the hierarchical logical structures of each of the structured document data with element IDs stored in the structured document DB 21 ′, and is unique in the structured document data with element IDs. It holds information related to a hierarchical structure. Structure guide data corresponding to the structured document data illustrated in FIG. 4 is, for example, as shown in FIG. First, the structure analysis unit 30 analyzes the hierarchical logical structure of the structured document data transmitted from the client terminal 3, and newly generates structure guide data as shown in FIG. Then, the structure analysis unit 30 creates the structure guide data newly generated from the structure guide data stored in the structured document DB 21 ′ (that is, the structured document data with element IDs stored in the structured document DB 21 ′. When the newly generated structure guide data includes information on a new hierarchical structure that is not included in the structure guide data stored in the structured document DB 21 ′. The structure guide data stored in the structured document DB 21 ′ is updated in such a manner that information on the new hierarchical structure is added to the structure guide data stored in the structured document DB 21 ′.

構造条件書き換え部31は、条件書き換え手段として機能するものであって、クエリデータ分解部27によって入力クエリデータを分解して得られた第1の部分クエリデータが、構造化文書データの論理構造における階層を下位から上位へと辿る条件、つまり構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件を含む場合に、該条件を、構造化文書DB21’に格納されている構造ガイドデータに基づいて、構造化文書データの論理構造における階層を上位から下位へと辿る条件、つまり構造化文書データのルート要素(根)からリーフ要素(葉)方向に構造を照合するような条件に書き換える。   The structural condition rewriting unit 31 functions as a condition rewriting unit, and the first partial query data obtained by decomposing the input query data by the query data decomposing unit 27 is in the logical structure of the structured document data. When a condition for tracing the hierarchy from lower to higher, that is, a condition for collating the structure from the leaf element (leaf) to the root element (root) of the structured document data, the condition is designated as the structured document DB 21 ′. Based on the structure guide data stored in the, the condition to follow the hierarchy in the logical structure of the structured document data from the top to the bottom, that is, the structure from the root element (root) of the structured document data to the leaf element (leaf) direction To a condition that matches.

図16は、本実施形態で想定するクエリデータの一例を示す説明図である。この図16に示すクエリデータQ2は、第1の実施形態で説明したクエリデータQ1と同じくXQueryで記述されており、下記のような意味の複雑な階層構造に関する条件(構造条件)を含んでいる。
Q2:構造化文書DB21’の各構造化文書データについて、階層のどこかに「book」という要素があり、その「book」という要素はその中に「author」という要素を持ち、さらにこの「author」という要素の中に、「first」と「last」という2つの要素を持つような「book」要素であり、さらにその「book」要素よりも後に出現する「book」要素の子である「title」要素の、親要素の子であるような「author」要素の一覧を返す。
FIG. 16 is an explanatory diagram illustrating an example of query data assumed in the present embodiment. The query data Q2 shown in FIG. 16 is described in XQuery similarly to the query data Q1 described in the first embodiment, and includes conditions (structural conditions) regarding a complicated hierarchical structure having the following meanings. .
Q2: For each structured document data in the structured document DB 21 ′, there is an element “book” somewhere in the hierarchy, the element “book” has an element “author” in the element, and this “author” "Book" element having two elements "first" and "last", and "title" which is a child of the "book" element appearing after the "book" element Returns a list of “author” elements that are children of the parent element.

クエリデータQ2では、クエリデータQ1に加えて「/parent」というパスが出現している。XQueryでの/descendant、/descendant−or−selfや/(child)が、構造化文書のルート要素(根)からリーフ要素(葉)方向に構造を照合するパスであるのに対して、/parentや/ancestorは構造化文書データのリーフ要素(葉)からルート要素(根)方向に、階層構造内での親や先祖要素を照合するパスである。   In the query data Q2, a path “/ parent” appears in addition to the query data Q1. In XQuery, / descendant, / descendant-or-self, and / (child) are paths that collate structures from the root element (root) to the leaf element (leaf) direction of the structured document. “/ Ancestor” is a path for collating the parent and ancestor elements in the hierarchical structure from the leaf element (leaf) to the root element (root) of the structured document data.

本実施形態おける検索処理部23’による検索処理の流れは、図7に示した第1の実施形態のものと同様である。ただし、本実施形態では、ステップS2のクエリデータ解析処理の中で、構造条件書き換え部31による構造条件書き換え処理が実施される。   The flow of search processing by the search processing unit 23 'in this embodiment is the same as that in the first embodiment shown in FIG. However, in the present embodiment, the structural condition rewriting process by the structural condition rewriting unit 31 is performed in the query data analysis process in step S2.

図17は、本実施形態におけるクエリデータ解析処理の流れを示すフローチャートである。この図17のフローチャートにおいて、ステップS211〜ステップS215までの処理は、第1の実施形態で説明した図8のステップS201〜ステップS205と同様であるため、説明を省略する。   FIG. 17 is a flowchart showing the flow of query data analysis processing in this embodiment. In the flowchart of FIG. 17, the processing from step S211 to step S215 is the same as step S201 to step S205 of FIG. 8 described in the first embodiment, and thus the description thereof is omitted.

本実施形態におけるクエリデータ解析処理では、ステップS215の処理の次に、構造条件書き換え部31が、これまでの処理で作成された第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれるかどうかを判定する(ステップS216)。そして、構造条件書き換え部31は、第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれていれば(ステップS216:Yes)、構造条件書き換え処理を行って、構造化文書データの階層構造を葉から根方向へ照合する構造条件を、根から葉方向へ照合する構造条件に書き換える(ステップS217)。   In the query data analysis processing in the present embodiment, after the processing in step S215, the structural condition rewriting unit 31 leaves the hierarchical structure of the structured document data in the first partial query data created by the processing so far. It is determined whether or not a structural condition that matches in the root direction is included (step S216). If the first partial query data includes a structural condition such that the hierarchical structure of the structured document data is collated from the leaves to the root direction (step S216: Yes), the structural condition rewriting unit 31 Condition rewriting processing is performed to rewrite the structural condition for collating the hierarchical structure of the structured document data from the leaf to the root direction to the structural condition for collating from the root to the leaf direction (step S217).

一方、ステップS216の判定で、第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれなければ(ステップS216:No)、ステップS217の構造条件書き換え処理を行うことなく、クエリデータ解析処理を終了する。   On the other hand, if it is determined in step S216 that the first partial query data does not include a structural condition for collating the hierarchical structure of the structured document data from the leaf to the root direction (step S216: No), the process proceeds to step S217. The query data analysis process is terminated without performing the structural condition rewriting process.

図18は、図16に例示したクエリデータQ2について、図17のステップS215までの処理を行った結果である第1の部分クエリデータQ2_Aと第2の部分クエリデータQ2_Bの例を示す図である。図18において、第1の部分クエリデータQ2_Aは、構造条件PP1とPP2を含んでいる。また、第2の部分クエリデータQ2_Bは、Q2_Aによる構造照合処理の照合結果を、上述した順序関係に関する構造条件に応じて結合演算する手順を含んでいる。この図18の例では、第1の部分クエリデータQ2_Aの構造条件PP2が、/parentのパスを含んでいる。このため、構造条件書き換え部31による構造条件書き換え処理が行われることになる。   18 is a diagram illustrating an example of the first partial query data Q2_A and the second partial query data Q2_B, which are the results of performing the processing up to step S215 in FIG. 17 for the query data Q2 illustrated in FIG. . In FIG. 18, the first partial query data Q2_A includes structural conditions PP1 and PP2. Further, the second partial query data Q2_B includes a procedure for performing a join operation on the collation result of the structure collation processing by Q2_A according to the structural condition related to the order relation described above. In the example of FIG. 18, the structure condition PP2 of the first partial query data Q2_A includes the path / parent. For this reason, the structural condition rewriting process by the structural condition rewriting unit 31 is performed.

図19は、図17のステップS217で行われる構造条件書き換え処理を示すフローチャートである。構造条件書き換え部31は、まず、第1の部分クエリデータのうち、構造化文書データの階層構造を葉から根方向へ照合するパスが含まれる構造条件(以下、入力構造条件という。)の中で、葉から根方向へ照合するパス部分を特定する(ステップS2171)。次に、構造条件書き換え部31は、入力構造条件を、特定したパス部分より前のパスと、特定したパス部分より後のパスと、構造ガイドデータとを参照して、葉から根方向へ照合するパス部分を含まない同じ意味のパスに書き換える(ステップS2172)。   FIG. 19 is a flowchart showing the structural condition rewriting process performed in step S217 of FIG. First, the structural condition rewriting unit 31 in the first partial query data includes a structural condition (hereinafter referred to as an input structural condition) including a path for collating the hierarchical structure of the structured document data from the leaf to the root direction. The path portion to be collated from the leaf to the root direction is identified (step S2171). Next, the structural condition rewriting unit 31 refers to the input structural condition from the leaf to the root direction with reference to the path before the identified path part, the path after the identified path part, and the structure guide data. To a path having the same meaning that does not include the path portion to be performed (step S2172).

ここで、図18に例示した第1の部分クエリデータQ2_Aにある構造条件PP2を、図15に例示した構造ガイドデータを参照して書き換える場合を例に挙げて、ステップS2172での処理の概要を説明する。なお、ここでは説明を簡単にするために、図15に例示した構造ガイドデータを参照しているが、実際には構造化文書DB21’に格納された構造ガイドデータが参照される。   Here, an example of rewriting the structural condition PP2 in the first partial query data Q2_A illustrated in FIG. 18 with reference to the structural guide data illustrated in FIG. 15 will be given as an overview of the processing in step S2172. explain. In order to simplify the description here, the structure guide data illustrated in FIG. 15 is referred to. However, the structure guide data stored in the structured document DB 21 ′ is actually referred to.

第1の部分クエリデータQ2_Aにある構造条件PP2の/parent::node()部分について、その直前のパスは/titleである。図15に例示した構造ガイドデータを参照すると、titleを末尾に持つ構造は/books/book/titleである。/parent::node()は親要素を指定するため、/parent::node()の指定する構造は/books/bookとわかる。さらに、/parent::node()の次のパスである/authorについても、ここまでで特定された構造は/books/bookであるから、/books/bookの後に/authorが続く構造があるかを構造ガイドデータで確認すると、存在するので、構造条件PP2の書き換え結果として/books/book/authorが得られる。   For the / parent :: node () part of the structural condition PP2 in the first partial query data Q2_A, the path immediately before is / title. Referring to the structure guide data illustrated in FIG. 15, the structure having a title at the end is / books / book / title. Since / parent :: node () designates a parent element, the structure designated by / parent :: node () is known as / books / book. Furthermore, regarding / author, which is the next path of / parent :: node (), since the structure specified so far is / books / book, is there any structure in which / books / book is followed by / author? Is confirmed by the structure guide data, and / books / book / author is obtained as a rewrite result of the structure condition PP2.

図20は、図18に例示した第1の部分クエリデータQ2_Aについて、構造条件書き換え処理を行った結果を示す図である。なお、図中の第2の部分クエリデータQ2_Bは、図18に例示したものと同じである。   FIG. 20 is a diagram illustrating a result of the structural condition rewriting process performed on the first partial query data Q2_A illustrated in FIG. Note that the second partial query data Q2_B in the figure is the same as that illustrated in FIG.

本実施形態では、構造条件書き換え部31による構造条件書き換え処理を経て、構造照合処理部28による構造照合処理が行われる(ステップS3)。このとき、第1の部分クエリデータに含まれる構造条件は、葉から根方向へ照合するパス部分を含まないものに書き換えられているため、構造照合処理部28による構造照合処理は、すべて根から葉方向への照合のみで実現することができ、極めて高速な処理が可能である。   In the present embodiment, after the structural condition rewriting process by the structural condition rewriting unit 31, the structural verification process by the structural verification process unit 28 is performed (step S3). At this time, since the structural condition included in the first partial query data has been rewritten so as not to include the path portion to be collated from the leaf to the root direction, all the structural collation processing by the structural collation processing unit 28 is performed from the root. This can be realized only by collation in the leaf direction, and extremely high-speed processing is possible.

図5に例示した要素ID付与済み構造化文書データについて、図20に例示した構造条件書き換え処理後の第1の部分クエリデータQ2_Aに含まれる構造条件PP1,PP2による構造照合処理を行った結果である構造照合処理結果データR2_Aを図21に示す。図中のT1,T2は、それぞれ構造条件PP1,PP2の構造照合処理の結果であり、T1としては構造条件PP1に合致する構造を持つ要素の要素ID群[1]が得られ、T2としては構造条件PP2に合致する構造を持つ要素の要素ID群[2],[3]が得られる。   As a result of performing the structure matching process using the structural conditions PP1 and PP2 included in the first partial query data Q2_A after the structural condition rewriting process illustrated in FIG. Certain structure matching processing result data R2_A is shown in FIG. T1 and T2 in the figure are the results of the structure matching processing of the structural conditions PP1 and PP2, respectively. As T1, an element ID group [1] of elements having a structure matching the structural condition PP1 is obtained. Element ID groups [2] and [3] of elements having a structure that matches the structure condition PP2 are obtained.

本実施形態においても、構造照合処理部28による構造照合処理が終了すると、結合演算処理部29により、構造照合処理部28の処理結果である構造照合処理結果データについて、第2の部分クエリデータに含まれる手順に従って結合演算処理が行われる(ステップS4)。   Also in this embodiment, when the structure matching processing by the structure matching processing unit 28 is completed, the join operation processing unit 29 converts the structure matching processing result data, which is the processing result of the structure matching processing unit 28, into the second partial query data. A join calculation process is performed according to the included procedure (step S4).

図22は、図20に例示した第2の部分クエリデータQ2_Bを用いて図21に例示した構造照合処理結果データR2_Aについて結合演算処理を行う場合の処理の概要を説明する図である。図22の例では、T1[1]<T2[2]という順序関係に関する条件に従ってT1とT2との結合演算が行われ、T3が得られる。そして、T3について[3]のみを取り出すことにより、結合演算処理の結果として、図22に示すような中間結果R2_Bが得られる。この中間結果R2_Bは、図16に例示したクエリデータQ2を、上述したようなクエリデータ解析処理を行わずにそのまま処理した場合の結果と一致する。   FIG. 22 is a diagram for explaining the outline of the process when the join operation process is performed on the structure matching process result data R2_A illustrated in FIG. 21 using the second partial query data Q2_B illustrated in FIG. In the example of FIG. 22, a join operation between T1 and T2 is performed according to a condition relating to the order relationship of T1 [1] <T2 [2], and T3 is obtained. Then, by extracting only [3] for T3, an intermediate result R2_B as shown in FIG. 22 is obtained as a result of the join operation process. This intermediate result R2_B matches the result when the query data Q2 illustrated in FIG. 16 is directly processed without performing the query data analysis process as described above.

最後に、検索インタフェース部26により、結合演算処理部29による結合演算処理の結果(中間結果)として得られる要素IDが、それに対応する構造化文書データとして文字列化され、結果データとしてクライアント端末3に返却される(ステップS5)。図22に示した中間結果R2_Bが得られた場合には、この中間結果R2_Bに含まれる要素IDであるE22に対応する構造化文書データが文字列化され、クエリデータQ2の結果データR2として、図23に示すデータがクライアント端末3に返却される。   Finally, the search interface unit 26 converts the element ID obtained as a result (intermediate result) of the join operation processing by the join operation processing unit 29 into a character string as the corresponding structured document data, and the client terminal 3 as the result data (Step S5). When the intermediate result R2_B shown in FIG. 22 is obtained, the structured document data corresponding to the element ID E22 included in the intermediate result R2_B is converted into a character string, and as the result data R2 of the query data Q2, Data shown in FIG. 23 is returned to the client terminal 3.

以上、具体的な例を挙げながら説明したように、本実施形態によれば、第1の部分クエリデータが構造化文書データの論理構造における階層を下位から上位へと辿る条件、つまり構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件を含む場合に、該条件を、構造化文書DB21’に格納されている構造ガイドデータに基づいて、構造化文書データのルート要素(根)からリーフ要素(葉)方向に構造を照合するような条件に書き換える。そして、入力クエリデータを単純な構造条件の構造照合処理と結合演算処理とで処理するようにしている。したがって、入力クエリデータが構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件を含む複雑なものであっても、構造照合処理の高速化を実現し、複雑な構造条件を含むクエリデータによる検索を高速に実行することができる。   As described above with reference to specific examples, according to the present embodiment, the condition that the first partial query data follows the hierarchy in the logical structure of the structured document data from the lower level to the higher level, that is, the structured document. When a condition for collating the structure from the leaf element (leaf) to the root element (root) is included, the condition is structured based on the structure guide data stored in the structured document DB 21 ′. The conditions are rewritten so that the structure is collated from the root element (root) to the leaf element (leaf) direction of the document data. Then, the input query data is processed by a simple structure condition structure matching process and a join operation process. Therefore, even if the input query data is complex including conditions that match the structure from the leaf element (leaf) to the root element (root) of the structured document data, the structure matching process can be accelerated. Thus, it is possible to execute a search using query data including complicated structural conditions at high speed.

なお、上記の具体例では、第1の部分クエリデータに、構造化文書データの論理構造における階層を下位から上位へと辿る条件(構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件)として「parent」が含まれる場合を例示して説明したが、構造化文書データの論理構造における階層を下位から上位へと辿る他の条件、例えば「ancestor」や「ancestor−or−self」などが含まれる場合であっても、上記の具体例と同様に処理することができる。   In the above specific example, the first partial query data includes a condition for tracing the hierarchy in the logical structure of the structured document data from lower to higher (from the leaf element (leaf) to the root element (root) of the structured document data). As an example, a case where “parent” is included as a condition for checking the structure in the direction) has been described, but other conditions for tracing the hierarchy in the logical structure of structured document data from the lower to the higher, for example, “ancestor” Even when “ancestor-or-self” is included, it can be processed in the same manner as in the above specific example.

[第3の実施形態]
次に、第3の実施形態について、図3、図5、図7、図24乃至図33を参照して説明する。本実施形態は、入力クエリデータに含まれる要素の順序関係を指定する条件が、position関数やlast関数の場合の例である。本実施形態におけるサーバ1およびクライアント端末3の構成は、図3に示した第1の実施形態のものと同様である。なお、以下の説明において、上述した第1の実施形態と共通の構成については同一の符号を付し、重複した説明を省略する。
[Third Embodiment]
Next, a third embodiment will be described with reference to FIGS. 3, 5, 7, and 24 to 33. FIG. This embodiment is an example when the condition for specifying the order relation of elements included in input query data is a position function or a last function. The configurations of the server 1 and the client terminal 3 in this embodiment are the same as those in the first embodiment shown in FIG. In the following description, the same reference numerals are given to the same components as those in the first embodiment described above, and duplicate descriptions are omitted.

図24は、本実施形態で想定するクエリデータの一例を示す説明図である。この図24に示すクエリデータQ3_1,Q3_2は、第1の実施形態で説明したクエリデータQ1や第2の実施形態で説明したクエリデータQ2と同じくXQueryで記述されており、下記のような意味の複雑な階層構造に関する条件(構造条件)を含んでいる。
Q3_1:構造化文書DB21の各構造化文書データについて、階層のどこかに「book」という要素があり、その「book」という要素の中にある「author」要素のうち、1番目に出現するものの一覧を返す。
Q3_2:構造化文書DB21の各構造化文書データについて、階層のどこかに「book」という要素があり、その「book」という要素の中にある「author」要素のうち、最後に出現するものの一覧を返す。
FIG. 24 is an explanatory diagram illustrating an example of query data assumed in the present embodiment. The query data Q3_1 and Q3_2 shown in FIG. 24 are described in XQuery like the query data Q1 described in the first embodiment and the query data Q2 described in the second embodiment, and have the following meanings: It includes conditions (structure conditions) related to complex hierarchical structures.
Q3_1: For each structured document data in the structured document DB 21, there is an element “book” somewhere in the hierarchy, and among the “author” elements in the element “book”, the element that appears first Returns a list.
Q3_2: For each structured document data in the structured document DB 21, there is an element “book” somewhere in the hierarchy, and among the “author” elements in the element “book”, a list of the last appearing elements return it.

クエリデータQ3_1には、[position()=1]という表現がある。これは、XQueryで、[position()=1]が付与されているパスに該当するノードのうち、1番目にあるもののみを選択する指定である。一方、クエリデータQ3_2には、[last()]という表現がある。これは、[last()]が付与されているパスに該当するノードのうち、最後のものを選択する指定となる。   The query data Q3_1 has an expression [position () = 1]. This is an instruction to select only the first node among the nodes corresponding to the path to which [position () = 1] is assigned in XQuery. On the other hand, the query data Q3_2 has an expression [last ()]. This is a specification for selecting the last node among the nodes corresponding to the path to which [last ()] is assigned.

本実施形態おける検索処理部23による検索処理の流れは、図7に示した第1の実施形態のものと同様である。ただし、本実施形態では、ステップS2のクエリデータ解析処理の内容が第1の実施形態と相違している。   The flow of search processing by the search processing unit 23 in this embodiment is the same as that of the first embodiment shown in FIG. However, in the present embodiment, the contents of the query data analysis process in step S2 are different from those in the first embodiment.

図25は、本実施形態におけるクエリデータ解析処理の流れを示すフローチャートである。クエリデータ分解部27は、第1の実施形態と同様に、はじめに、入力クエリデータのすべてを便宜的に第1の部分クエリデータとする(ステップS221)。このとき、第2の部分クエリデータは空としておく。   FIG. 25 is a flowchart showing the flow of query data analysis processing in this embodiment. As in the first embodiment, the query data decomposing unit 27 first sets all input query data as first partial query data for convenience (step S221). At this time, the second partial query data is left empty.

次に、クエリデータ分解部27は、第1の部分クエリデータをチェックして、第1の部分クエリデータ(ここでは入力クエリデータと同じ)に、[position()=n]や[last()]といった条件が含まれるかどうかを判定する(ステップS222)。そして、クエリデータ分解部27は、そのような構造条件が含まれていれば(ステップS222:Yes)、第1の部分クエリデータ(ここでは入力クエリデータと同じ)から[position()=n]や[last()]といった条件を取り除いたものを、第1の部分クエリデータとする(ステップS223)。そして、クエリデータ分解部27は、ステップS223で取り除いた条件が[position()=n]であれば、第1の部分クエリデータによる構造照合処理結果からn番目に出現する要素を選択する演算指示を第2の部分クエリデータとし、ステップS223で取り除いた条件が[last()]であれば、第1の部分クエリデータによる構造照合処理結果から最後に出現する要素を選択する演算指示を第2の部分クエリデータとして(ステップS224)、クエリデータ解析処理を終了する。   Next, the query data decomposition unit 27 checks the first partial query data, and adds [position () = n] or [last () to the first partial query data (here, the same as the input query data). ] Is included (step S222). Then, if such a structural condition is included (step S222: Yes), the query data decomposition unit 27 starts from the first partial query data (here, the same as the input query data) [position () = n]. The data obtained by removing the conditions such as [last ()] is used as the first partial query data (step S223). Then, if the condition removed in step S223 is [position () = n], the query data decomposing unit 27 selects the nth element that appears from the result of the structure matching process using the first partial query data. Is the second partial query data, and if the condition removed in step S223 is [last ()], the operation instruction for selecting the element that appears last from the structure matching processing result by the first partial query data is the second. As the partial query data (step S224), the query data analysis process is terminated.

一方、ステップS222の判定で、第1の部分クエリデータ(ここでは入力クエリデータと同じ)に[position()=n]や[last()]といった条件が含まれなければ(ステップS222:No)、クエリデータ分解部27は、ステップS223およびステップS224の処理を行うことなく、クエリデータ解析処理を終了する。   On the other hand, if it is determined in step S222 that the first partial query data (here, the same as the input query data) does not include a condition such as [position () = n] or [last ()] (step S222: No) The query data decomposition unit 27 ends the query data analysis process without performing the processes of steps S223 and S224.

図26は、図24に例示したクエリデータQ3_1についてのクエリデータ解析処理の結果である第1の部分クエリデータQ3_1_Aと第2の部分クエリデータQ3_1_Bの一例を示す図である。また、図27は、図24に例示したクエリデータQ3_2についてのクエリデータ解析処理の結果である第1の部分クエリデータQ3_2_Aと第2の部分クエリデータQ3_2_Bの一例を示す図である。ここで、“GROUP BY (X)”という演算指示は、(X)で指定した部分の要素IDが同一のものをグループ化する演算指示である。また、“FILTER (X) (Y) (Z)”という演算指示は、(X)で指定するグループについて、(Y)で指定する部分の要素IDが、(Z)の順番にあるもののみを残す、という演算指示である。図26に例示した第2の部分クエリデータQ3_1_Bにあるように(Z)が1のときは、(Y)で指定する部分の要素IDが最も小さなものを残すという演算指示となり、図27に例示した第2の部分クエリデータQ3_2_Bにあるように(Z)がLASTのときは、(Y)で指定する部分の要素IDが最も大きなものを残すという演算指示となる。   FIG. 26 is a diagram illustrating an example of the first partial query data Q3_1_A and the second partial query data Q3_1_B, which are results of the query data analysis process for the query data Q3_1 illustrated in FIG. FIG. 27 is a diagram illustrating an example of the first partial query data Q3_2_A and the second partial query data Q3_2_B, which are results of the query data analysis process for the query data Q3_2 illustrated in FIG. Here, the operation instruction “GROUP BY (X)” is an operation instruction for grouping elements having the same element ID in the part specified in (X). In addition, the calculation instruction “FILTER (X) (Y) (Z)” is only for those in which the element ID of the portion specified by (Y) is in the order of (Z) for the group specified by (X). The calculation instruction is to leave. As shown in the second partial query data Q3_1_B illustrated in FIG. 26, when (Z) is 1, the calculation instruction is to leave the element ID of the portion specified by (Y) being the smallest, and is illustrated in FIG. As shown in the second partial query data Q3_2_B, when (Z) is LAST, the calculation instruction is to leave the element with the largest element ID specified by (Y).

クエリデータ分解部27によるクエリデータ解析処理が終了すると、第1の実施形態と同様に、構造照合処理部28により、第1の部分クエリデータに含まれる構造条件の構造照合処理が行われる(ステップS3)。   When the query data analysis processing by the query data decomposing unit 27 is completed, the structure matching processing unit 28 performs the structure matching processing of the structural condition included in the first partial query data, as in the first embodiment (steps). S3).

図5に例示した要素ID付与済み構造化文書データについて、図26に例示した第1の部分クエリデータQ3_1_Aに含まれる構造条件PP1による構造照合処理を行った結果である構造照合処理結果データR3_1_Aを図28に示す。また、図5に例示した要素ID付与済み構造化文書データについて、図27に例示した第1の部分クエリデータQ3_2_Aに含まれる構造条件PP1による構造照合処理を行った結果である構造照合処理結果データR3_2_Aを図30に示す。図中のT1は構造条件PP1の構造照合処理の結果であり、図28の構造照合処理結果データR3_1_Aと、図30の構造照合処理結果データR3_2_Aのいずれにおいても、構造条件PP1に合致する構造を持つ要素の要素ID群[1],[2]が得られる。   For the structured document data with element IDs given as an example in FIG. 5, the structure matching process result data R3_1_A, which is the result of performing the structure matching process according to the structure condition PP1 included in the first partial query data Q3_1_A exemplified in FIG. As shown in FIG. In addition, with respect to the structured document data with element ID given as an example in FIG. 5, the structure matching process result data that is the result of performing the structure matching process according to the structure condition PP1 included in the first partial query data Q3_2_A exemplified in FIG. R3_2_A is shown in FIG. T1 in the figure is the result of the structure matching process of the structure condition PP1, and in both the structure matching process result data R3_1_A of FIG. 28 and the structure matching process result data R3_2_A of FIG. Element ID groups [1] and [2] of the possessed elements are obtained.

構造照合処理部28による構造照合処理が終了すると、第1の実施形態と同様に、結合演算処理部29により、構造照合処理部28の処理結果である構造照合処理結果データについて、第2の部分クエリデータに含まれる手順に従って結合演算処理が行われる(ステップS4)。   When the structure matching processing by the structure matching processing unit 28 is completed, the second operation is performed on the structure matching processing result data, which is the processing result of the structure matching processing unit 28, by the join operation processing unit 29, as in the first embodiment. A join operation process is performed according to the procedure included in the query data (step S4).

図29は、図26に例示した第2の部分クエリデータQ3_1_Bを用いて図28に例示した構造照合処理結果データR3_1_Aについて結合演算処理を行う場合の処理の概要を説明する図である。また、図31は、図27に例示した第2の部分クエリデータQ3_2_Bを用いて図30に例示した構造照合処理結果データR3_2_Aについて結合演算処理を行う場合の処理の概要を説明する図である。   FIG. 29 is a diagram for explaining an outline of processing when the join operation processing is performed on the structure matching processing result data R3_1_A illustrated in FIG. 28 using the second partial query data Q3_1_B illustrated in FIG. FIG. 31 is a diagram for explaining an overview of processing when the join operation processing is performed on the structure matching processing result data R3_2_A illustrated in FIG. 30 using the second partial query data Q3_2_B illustrated in FIG.

図29の例および図31の例では、“GROUP BY T1[1]”という演算指示に従って、T1の要素ID群の中で同一の要素IDがグループ化され、T2が得られる。そして、図29の例では、“FILTER T2[1] T2[2] 1”という演算指示に従って、T2[1]について、T2[2]の要素IDが最も小さいものを残す演算処理によりT3が得られ、T3について[2]のみを取り出すことにより、結合演算処理の結果として、図29に示すような中間結果R3_1_Bが得られる。また、図31の例では、“FILTER T2[1] T2[2] LAST”という演算指示に従って、T2[1]について、T2[2]の要素IDが最も大きいものを残す演算処理によりT3が得られ、T3について[2]のみを取り出すことにより、結合演算処理の結果として、図31に示すような中間結果R3_2_Bが得られる。これらの中間結果R3_1_B,R3_2_Bは、図24に例示したクエリデータQ3_1,Q3_2を、上述したようなクエリデータ解析処理を行わずにそのまま処理した場合の結果と一致する。   In the example of FIG. 29 and the example of FIG. 31, the same element IDs are grouped in the element ID group of T1 according to the calculation instruction “GROUP BY T1 [1]”, and T2 is obtained. In the example of FIG. 29, T3 is obtained by the arithmetic processing that leaves the smallest element ID of T2 [2] for T2 [1] according to the arithmetic instruction “FILTER T2 [1] T2 [2] 1”. Then, by extracting only [2] for T3, an intermediate result R3_1_B as shown in FIG. 29 is obtained as a result of the join operation processing. In the example of FIG. 31, T3 is obtained by the calculation process that leaves the element with the largest element ID of T2 [2] for T2 [1] according to the calculation instruction “FILTER T2 [1] T2 [2] LAST”. Then, by extracting only [2] for T3, an intermediate result R3_2_B as shown in FIG. 31 is obtained as a result of the join operation processing. These intermediate results R3_1_B and R3_2_B coincide with the results of processing the query data Q3_1 and Q3_2 illustrated in FIG. 24 as they are without performing the query data analysis process as described above.

最後に、検索インタフェース部26により、結合演算処理部29による結合演算処理の結果(中間結果)として得られる要素IDが、それに対応する構造化文書データとして文字列化され、結果データとしてクライアント端末3に返却される(ステップS5)。図29に示した中間結果R3_1_Bが得られた場合には、この中間結果R3_1_Bに含まれる要素IDであるE5,E14,E22に対応する構造化文書データが文字列化され、クエリデータQ3_1の結果データR3_1として、図32に示すデータがクライアント端末3に返却される。また、図31に示した中間結果R3_2_Bが得られた場合には、この中間結果R3_2_Bに含まれる要素IDであるE8,E14,E22に対応する構造化文書データが文字列化され、クエリデータQ3_2の結果データR3_2として、図33に示すデータがクライアント端末3に返却される。   Finally, the search interface unit 26 converts the element ID obtained as a result (intermediate result) of the join operation processing by the join operation processing unit 29 into a character string as the corresponding structured document data, and the client terminal 3 as the result data (Step S5). When the intermediate result R3_1_B shown in FIG. 29 is obtained, the structured document data corresponding to the element IDs E5, E14, and E22 included in the intermediate result R3_1_B is converted into a character string, and the result of the query data Q3_1 is obtained. The data shown in FIG. 32 is returned to the client terminal 3 as the data R3_1. When the intermediate result R3_2_B shown in FIG. 31 is obtained, the structured document data corresponding to the element IDs E8, E14, and E22 included in the intermediate result R3_2_B is converted into a character string, and the query data Q3_2 is obtained. As the result data R3_2, data shown in FIG. 33 is returned to the client terminal 3.

以上、具体的な例を挙げながら説明したように、本実施形態によれば、入力クエリデータが要素の順序関係を指定する条件としてposition関数やlast関数を含む場合に、その入力クエリデータを、階層の上下関係を指定する条件のみを含む第1の部分クエリデータと、第1の部分クエリデータによる照合結果を、position関数やlast関数で示される条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解して処理するようにしている。したがって、入力クエリデータがposition関数やlast関数を含む複雑なものであっても、この入力クエリデータを単純な構造条件の構造照合処理と結合演算処理とで処理することで、構造照合処理の高速化を実現し、複雑な構造条件を含むクエリデータによる検索を高速に実行することができる。   As described above with reference to a specific example, according to the present embodiment, when the input query data includes the position function or the last function as a condition for specifying the order relation of elements, the input query data is A second step including a step of performing a join operation on the first partial query data including only a condition specifying the hierarchical relationship of the hierarchy and a matching result based on the first partial query data according to the condition indicated by the position function or the last function. The data is broken down into partial query data. Therefore, even if the input query data is complicated including the position function and the last function, the input query data is processed by the simple structure condition structure matching process and the join operation process, thereby speeding up the structure matching process. The search using query data including complicated structural conditions can be executed at high speed.

[第4の実施形態]
次に、第4の実施形態について、図5、図19、図34乃至図40を参照して説明する。本実施形態は、第2の実施形態と同様の構造条件の書き換えを行うが、入力クエリデータに要素の順序関係を指定する条件(第2条件)が含まれておらず、第2のクエリデータに基づく結合演算処理を行わない例である。なお、以下の説明において、上述した第2の実施形態と共通の構成については同一の符号を付し、重複した説明を省略する。
[Fourth Embodiment]
Next, a fourth embodiment will be described with reference to FIGS. 5, 19, and 34 to 40. FIG. In the present embodiment, the same structural condition as in the second embodiment is rewritten, but the input query data does not include a condition (second condition) for specifying the order relation of elements, and the second query data This is an example in which the join operation processing based on is not performed. In the following description, the same reference numerals are given to the same components as those in the above-described second embodiment, and a duplicate description is omitted.

図34は、本実施形態におけるサーバ1’’およびクライアント端末3の概略構成を示すブロック図である。本実施形態では、サーバ1’’の検索処理部23’’にクエリデータ分解部27が設けられておらず、クライアント端末3から送信された入力クエリデータは、構造条件書き換え部31’に入力される。また、サーバ1’’の検索処理部23’’に結合演算処理部29が設けられておらず、構造照合処理部28による構造照合処理の結果である構造照合処理結果データが、そのまま検索インタフェース部26に渡される。なお、クライアント端末3の構成は第2の実施形態と同じである。   FIG. 34 is a block diagram showing a schematic configuration of the server 1 ″ and the client terminal 3 in the present embodiment. In the present embodiment, the query data decomposition unit 27 is not provided in the search processing unit 23 ″ of the server 1 ″, and the input query data transmitted from the client terminal 3 is input to the structural condition rewriting unit 31 ′. The Further, the search processing unit 23 ″ of the server 1 ″ is not provided with the join operation processing unit 29, and the structure matching process result data, which is the result of the structure matching processing by the structure matching processing unit 28, is directly used as the search interface unit. 26. The configuration of the client terminal 3 is the same as that in the second embodiment.

図35は、本実施形態で想定するクエリデータの一例を示す説明図である。この図35に示すクエリデータQ4は、第1乃至第3の実施形態で説明したクエリデータと同じくXQueryで記述されており、下記のような意味の複雑な階層構造に関する条件(構造条件)を含んでいる。
Q4:構造化文書DB21’の各構造化文書データについて、階層のどこかに「title」という要素があり、その先祖の「book」という要素の子要素である「publisher」という要素の一覧を返す。
FIG. 35 is an explanatory diagram showing an example of query data assumed in the present embodiment. The query data Q4 shown in FIG. 35 is described in XQuery similarly to the query data described in the first to third embodiments, and includes conditions (structure conditions) relating to a complicated hierarchical structure having the following meanings. It is out.
Q4: For each structured document data in the structured document DB 21 ′, there is an element “title” somewhere in the hierarchy, and a list of elements “publisher” which is a child element of the element “book” of the ancestor is returned. .

クエリデータQ4では、第2の実施形態で説明した/ancestorという構造化文書データのリーフ要素(葉)からルート要素(根)方向に、階層構造内での先祖要素を照合するパスが含まれているが、第1の実施形態で説明したクエリデータQ1に含まれる/following−siblingのような、ある構造を持つ要素間の順序関係に関する構造を照合するパスは含まれていない。   The query data Q4 includes a path for collating ancestor elements in the hierarchical structure from the leaf element (leaf) to the root element (root) of the structured document data called / ancestor described in the second embodiment. However, a path for collating a structure related to an order relationship between elements having a certain structure, such as / following-sibling included in the query data Q1 described in the first embodiment, is not included.

図36は、本実施形態におけるサーバ1’’の検索処理部23’’による検索処理の流れを示すフローチャートである。まず、検索インタフェース部26により、クライアント端末3からネットワーク2経由で送信されたクエリデータの入力が受け付けられる(ステップS1)。このクエリデータは、構造条件書き換え部31’に入力される。   FIG. 36 is a flowchart showing the flow of search processing by the search processing unit 23 ″ of the server 1 ″ in this embodiment. First, the search interface unit 26 accepts input of query data transmitted from the client terminal 3 via the network 2 (step S1). This query data is input to the structural condition rewriting unit 31 '.

次に、構造条件書き換え部31’により、入力クエリデータについてのクエリデータ解析処理が行われる(ステップS2)。構造条件書き換え部31’によるクエリデータ解析処理の一例を、図37を参照して説明する。   Next, the query data analysis process for the input query data is performed by the structural condition rewriting unit 31 '(step S2). An example of the query data analysis process by the structural condition rewriting unit 31 'will be described with reference to FIG.

図37は、構造条件書き換え部31’によるクエリデータ解析処理の流れを示すフローチャートである。構造条件書き換え部31’は、はじめに、入力クエリデータを第1の部分クエリデータとする(ステップS231)。次に、構造条件書き換え部31’は、第1の部分クエリデータをチェックして、第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれるかどうかを判定する(ステップS232)。そして、構造条件書き換え部31’は、第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれていれば(ステップS232:Yes)、構造条件書き換え処理を行って、構造化文書データの階層構造を葉から根方向へ照合する構造条件を、根から葉方向へ照合する構造条件に書き換える(ステップS233)。   FIG. 37 is a flowchart showing the flow of query data analysis processing by the structural condition rewriting unit 31 ′. The structural condition rewriting unit 31 ′ first sets the input query data as first partial query data (step S <b> 231). Next, the structural condition rewriting unit 31 ′ checks the first partial query data, and the first partial query data has a structural condition such that the hierarchical structure of the structured document data is collated from the leaf to the root direction. It is determined whether it is included (step S232). If the first partial query data includes a structural condition that collates the hierarchical structure of the structured document data from the leaf to the root direction (step S232: Yes), A structural condition rewriting process is performed to rewrite the structural condition for collating the hierarchical structure of the structured document data from the leaf to the root direction to the structural condition for collating from the root to the leaf direction (step S233).

一方、ステップS232の判定で、第1の部分クエリデータに、構造化文書データの階層構造を葉から根方向へ照合するような構造条件が含まれなければ(ステップS232:No)、ステップS233の構造条件書き換え処理を行うことなく、クエリデータ解析処理を終了する。   On the other hand, if it is determined in step S232 that the first partial query data does not include a structural condition for collating the hierarchical structure of the structured document data from the leaf to the root direction (step S232: No), the process proceeds to step S233. The query data analysis process is terminated without performing the structural condition rewriting process.

ステップS233で行われる構造条件書き換え処理は第2の実施形態と同様であり、処理内容は図19に示したフローチャートの通りである。ここでは、図35に例示したクエリデータQ4を、図15に例示した構造ガイドデータを参照して書き換える処理の概要を説明する。なお、ここでは説明を簡単にするために、図15に例示した構造ガイドデータを参照しているが、実際には構造化文書DB21’に格納された構造ガイドデータが参照される。   The structural condition rewriting process performed in step S233 is the same as that of the second embodiment, and the processing content is as shown in the flowchart of FIG. Here, an outline of processing for rewriting the query data Q4 illustrated in FIG. 35 with reference to the structure guide data illustrated in FIG. 15 will be described. In order to simplify the description here, the structure guide data illustrated in FIG. 15 is referred to. However, the structure guide data stored in the structured document DB 21 ′ is actually referred to.

クエリデータQ4の/ancestor::book部分について、その直前のパスは/titleである。ここで、図15に例示した構造ガイドデータを参照すると、titleを末尾に持つ構造は/books/book/titleである。/ancestorは先祖要素を指定するため、/ancestorの指定する構造は/books/book、/booksであるが、::bookとbook要素を指定しているので、/ancestor::bookの指定する構造は/books/bookとなる。さらに、/ancestor::bookの次のパスである/publisherについても、ここまでで特定された構造は/books/bookであるから、/books/bookの後に/publisherが続く構造があるかを構造ガイドデータで確認すると、存在するので、クエリデータQ4に対する構造条件書き換え処理の結果として、/books/book/publisherが得られる。   For the / ancestor :: book part of the query data Q4, the path immediately before is / title. Here, referring to the structure guide data illustrated in FIG. 15, the structure having the title at the end is / books / book / title. Since / ancestor specifies an ancestor element, the structure specified by / ancestor is / books / book, / books, but because :: book and book elements are specified, the structure specified by / ancestor :: book Becomes / books / book. Furthermore, for / publisher, which is the next path of / ancestor :: book, since the structure specified so far is / books / book, whether there is a structure that follows / books / book or / publisher Since it exists when confirmed by the guide data, / books / book / publisher is obtained as a result of the structural condition rewriting process for the query data Q4.

図38は、図35に例示したクエリデータQ4について、構造条件書き換え処理を行った結果の第1の部分クエリデータQ4_Aを示す図である。図35に例示したクエリデータQ4は、構造条件書き換え処理により、/books/book/publisherといった、構造化文書データの階層構造を根から葉方向へ照合する構造条件に書き換えられる。   FIG. 38 is a diagram illustrating first partial query data Q4_A obtained as a result of performing the structural condition rewriting process on the query data Q4 illustrated in FIG. The query data Q4 illustrated in FIG. 35 is rewritten by a structural condition rewriting process into a structural condition such as / books / book / publisher that collates the hierarchical structure of structured document data from the root to the leaf direction.

構造条件書き換え部31’によるクエリデータ解析処理が終了すると、第1乃至第3の実施形態と同様に、構造照合処理部28により、第1の部分クエリデータに含まれる構造条件の構造照合処理が行われる(ステップS3)。   When the query data analysis processing by the structural condition rewriting unit 31 ′ is finished, the structural verification processing of the structural condition included in the first partial query data is performed by the structural verification processing unit 28, as in the first to third embodiments. Performed (step S3).

図5に例示した要素ID付与済み構造化文書データについて、図38に例示した第1の部分クエリデータQ4_Aによる構造照合処理を行った結果である構造照合処理結果データR4_Aを図39に示す。図中のT1は/books/book/publisherという構造条件の構造照合処理の結果であり、このような構造を持つ要素の要素ID群[1]が得られる。   FIG. 39 shows structure matching process result data R4_A, which is the result of performing the structure matching process using the first partial query data Q4_A exemplified in FIG. 38 for the structured document data with element ID given in FIG. T1 in the figure is the result of the structure matching process under the structure condition of / books / book / publisher, and an element ID group [1] of elements having such a structure is obtained.

本実施形態では、この構造照合処理部28による構造照合処理の結果がそのまま中間結果として検索インタフェース部26に渡される。そして、最後に、検索インタフェース部26により、構造照合処理部28による構造照合処理の結果(中間結果)として得られる要素IDが、それに対応する構造化文書データとして文字列化され、結果データとしてクライアント端末3に返却される(ステップS5)。図39に示した中間結果R4_Aが得られた場合には、この中間結果R4_Aに含まれる要素IDであるE11,E29に対応する構造化文書データが文字列化され、クエリデータQ4の結果データR4として、図40に示すデータがクライアント端末3に返却される。   In the present embodiment, the result of the structure matching process by the structure matching processing unit 28 is directly passed to the search interface unit 26 as an intermediate result. Finally, the element ID obtained as a result (intermediate result) of the structure matching processing by the structure matching processing unit 28 is converted into a character string as the corresponding structured document data by the search interface unit 26, and the result data is the client. Returned to the terminal 3 (step S5). When the intermediate result R4_A shown in FIG. 39 is obtained, the structured document data corresponding to the element IDs E11 and E29 included in the intermediate result R4_A is converted into a character string, and the result data R4 of the query data Q4 As shown in FIG. 40, the data shown in FIG.

以上、具体的な例を挙げながら説明したように、本実施形態によれば、入力クエリデータが、要素IDで特定される要素の順序関係を指定する条件(第2条件)を含まず、構造化文書データの論理構造における階層を下位から上位へと辿る条件、つまり構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件を含む場合に、該条件を、構造化文書DB21’に格納されている構造ガイドデータに基づいて、構造化文書データのルート要素(根)からリーフ要素(葉)方向に構造を照合するような条件に書き換える。そして、入力クエリデータを単純な構造条件の構造照合処理のみで処理するようにしている。したがって、入力クエリデータが構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件を含む複雑なものであっても、構造照合処理の高速化を実現し、複雑な構造条件を含むクエリデータによる検索を高速に実行することができる。   As described above, as described with specific examples, according to the present embodiment, the input query data does not include a condition (second condition) that specifies the order relationship of elements specified by the element ID, and the structure If there is a condition for tracing the hierarchy in the logical structure of structured document data from lower to higher, that is, a condition for collating the structure from the leaf element (leaf) to the root element (root) of the structured document data Is rewritten to a condition such that the structure is collated from the root element (root) of the structured document data to the leaf element (leaf) direction based on the structure guide data stored in the structured document DB 21 ′. Then, the input query data is processed only by the structure matching process with a simple structure condition. Therefore, even if the input query data is complex including conditions that match the structure from the leaf element (leaf) to the root element (root) of the structured document data, the structure matching process can be accelerated. Thus, it is possible to execute a search using query data including complicated structural conditions at high speed.

なお、上記の具体例では、入力クエリデータに含まれる、構造化文書データの論理構造における階層を下位から上位へと辿る条件(構造化文書データのリーフ要素(葉)からルート要素(根)方向に構造を照合するような条件)として「ancestor」を例示したが、構造化文書データの論理構造における階層を下位から上位へと辿る他の条件、例えば「parent」や「ancestor−or−self」などが入力クエリデータに含まれる場合であっても、上記の具体例と同様に処理することができる。   In the above specific example, the condition for following the hierarchy in the logical structure of the structured document data included in the input query data from the lower order to the higher order (from the leaf element (leaf) to the root element (root) direction of the structured document data) “Ancestor” is exemplified as a condition for checking the structure in FIG. 5. However, other conditions for tracing the hierarchy in the logical structure of structured document data from the lower to the higher, such as “parent” and “ancestor-or-self”, are exemplified. Can be processed in the same manner as in the above specific example.

以上説明した第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’の機能は、例えば、コンピュータの演算装置であるCPU101が、アプリケーションプログラムとして実装された構造化文書管理プログラムを実行することにより実現される。   The functions of the server 1, server 1 ′, and server 1 ″ in the first to fourth embodiments described above are, for example, structured document management programs implemented as application programs by the CPU 101 that is a computing device of a computer. It is realized by executing.

第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’で実行される構造化文書管理プログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記憶媒体110に記録されて提供される。   The structured document management program executed by the server 1, the server 1 ′, and the server 1 ″ in the first to fourth embodiments is, for example, a CD-ROM, a flexible file in an installable format or an executable format file. The program is recorded on a computer-readable storage medium 110 such as a disc (FD), CD-R, or DVD (Digital Versatile Disc).

また、第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’で実行される構造化文書管理プログラムを、インターネットなどのネットワーク2に接続されたコンピュータ上に格納し、ネットワーク2経由でダウンロードさせることにより提供するように構成してもよい。また、第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’で実行される構造化文書管理プログラムを、インターネットなどのネットワーク2経由で提供または配布するように構成してもよい。さらに、第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’で実行される構造化文書管理プログラムを、ROM102などに予め組み込んで提供するように構成してもよい。   Further, the structured document management program executed by the server 1, the server 1 ′, and the server 1 ″ in the first to fourth embodiments is stored on a computer connected to the network 2 such as the Internet, and the network 2 You may comprise so that it may provide by making it download via. In addition, the structured document management program executed by the server 1, the server 1 ′, and the server 1 ″ in the first to fourth embodiments may be configured to be provided or distributed via the network 2 such as the Internet. Good. Further, the structured document management program executed by the server 1, the server 1 ′, and the server 1 ″ in the first to fourth embodiments may be provided by being incorporated in the ROM 102 in advance.

第1乃至第4の実施形態におけるサーバ1、サーバ1’、サーバ1’’で実行される構造化文書管理プログラムは、格納インタフェース部24、要素ID付与部25、検索インタフェース部26、クエリデータ分解部27、構造照合処理部28、結合演算処理部29、構造解析部30、構造条件書き換え部31,31’などを含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)101がHDD104などから構造化文書管理プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM103)上にロードされ、格納インタフェース部24、要素ID付与部25、検索インタフェース部26、クエリデータ分解部27、構造照合処理部28、結合演算処理部29、構造解析部30、構造条件書き換え部31,31’などが主記憶装置上に生成されるようになっている。   The structured document management program executed by the server 1, the server 1 ′, and the server 1 ″ in the first to fourth embodiments includes a storage interface unit 24, an element ID assigning unit 25, a search interface unit 26, and query data decomposition. Unit 27, structure collation processing unit 28, join operation processing unit 29, structure analysis unit 30, structural condition rewriting units 31, 31 ′, etc., and the actual hardware includes CPU (processor) 101. By reading and executing the structured document management program from the HDD 104 or the like, the above units are loaded onto the main storage device (for example, the RAM 103), and the storage interface unit 24, the element ID adding unit 25, the search interface unit 26, and the query data decomposing unit. 27, structure verification processing unit 28, join operation processing unit 29, structure analysis unit 30, structure Such matter rewriter 31, 31 'is adapted to be generated on the main memory.

以上述べた少なくとも一つの実施形態にかかる構造化文書管理システムによれば、入力クエリデータを単純な構造条件に変えて構造照合処理を実行するようにしているので、入力クエリデータが複雑な構造条件を含む場合でも、構造照合処理の高速化を実現し、複雑な構造条件を含むクエリデータによる検索を高速に実行することができる。   According to the structured document management system according to at least one embodiment described above, the input query data is changed to a simple structure condition and the structure matching process is executed. Even in the case of including, it is possible to speed up the structure matching process, and to execute the search by the query data including the complicated structure condition at high speed.

なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。   In addition, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1,1’,1’’サーバ
24 格納インタフェース部
25 要素ID付与部
26 検索インタフェース部
27 クエリデータ分解部
28 構造照合処理部
29 結合演算処理部
30 構造解析部
31,31’構造条件書き換え部
1, 1 ′, 1 ″ server 24 Storage interface unit 25 Element ID assigning unit 26 Search interface unit 27 Query data decomposition unit 28 Structure collation processing unit 29 Join operation processing unit 30 Structure analysis unit 31, 31 ′ structure condition rewriting unit

Claims (5)

階層化された論理構造を有する構造化文書データの入力を受け付ける構造化文書データ受付手段と、
入力された前記構造化文書データに出現する要素に該構造化文書データ内での出現順序が要素間で比較可能な識別子を付与する識別子付与手段と、
前記要素に前記識別子が付与された前記構造化文書データを記憶する構造化文書データ記憶手段と、
クエリデータの入力を受け付けるクエリデータ受付手段と、
入力されたクエリデータが、前記構造化文書データの論理構造における階層の上下関係を指定する第1条件と、前記識別子で特定される前記要素の順序関係を指定する第2条件とを含む場合に、該クエリデータを、前記第1条件のみを含む第1の部分クエリデータと、前記第1の部分クエリデータによる照合結果を前記第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解するクエリデータ分解手段と、
前記構造化文書データ記憶手段が記憶する前記構造化文書データのデータ集合に対して、前記第1の部分クエリデータによる照合を行い、照合結果を出力する構造照合処理手段と、
前記照合結果を、前記第2の部分クエリデータに含まれる結合演算の手順に従って結合演算処理する結合演算処理手段と、
を備えることを特徴とする構造化文書管理装置。
Structured document data receiving means for receiving input of structured document data having a hierarchical logical structure;
Identifier assigning means for assigning to the element appearing in the structured document data input an identifier whose appearance order in the structured document data can be compared between the elements;
Structured document data storage means for storing the structured document data in which the identifier is assigned to the element;
Query data receiving means for receiving input of query data;
When the input query data includes a first condition that specifies the hierarchical relationship of the hierarchy in the logical structure of the structured document data, and a second condition that specifies the order relationship of the elements specified by the identifier , A second partial query including a procedure for combining the query data with the first partial query data including only the first condition and a matching result based on the first partial query data according to the second condition Query data decomposition means for decomposing data,
Structure collation processing means for performing collation with the first partial query data for the data set of the structured document data stored in the structured document data storage means, and outputting a collation result;
A join operation processing means for performing a join operation processing on the collation result according to a join operation procedure included in the second partial query data;
A structured document management apparatus comprising:
前記構造化文書データ記憶手段が記憶する前記構造化文書データそれぞれの階層化された論理構造を集約した情報である構造ガイドデータを記憶する構造ガイドデータ記憶手段と、
入力された前記構造化文書データの階層化された論理構造が前記構造ガイドデータに反映されるように、該構造ガイドデータを更新する構造ガイドデータ更新手段と、
前記第1の部分クエリデータが前記階層を下位から上位へと辿る条件を含む場合に、該条件を、前記構造ガイドデータに基づいて、前記階層を上位から下位に辿る条件に書き換える条件書き換え手段と、をさらに備えることを特徴とする請求項1に記載の構造化文書管理装置。
Structure guide data storage means for storing structure guide data that is information obtained by aggregating the hierarchical logical structures of the structured document data stored in the structured document data storage means;
Structure guide data updating means for updating the structure guide data so that the hierarchical logical structure of the input structured document data is reflected in the structure guide data;
Condition rewriting means for rewriting the condition to a condition for tracing the hierarchy from the top to the bottom based on the structure guide data when the first partial query data includes a condition for tracing the hierarchy from the bottom to the top. The structured document management apparatus according to claim 1, further comprising:
階層化された論理構造を有する構造化文書データの入力を受け付ける構造化文書データ受付手段と、
入力された前記構造化文書データに出現する要素に該構造化文書データ内での出現順序が要素間で比較可能な識別子を付与する識別子付与手段と、
前記要素に前記識別子が付与された前記構造化文書データを記憶する構造化文書データ記憶手段と、
前記構造化文書データ記憶手段が記憶する前記構造化文書データそれぞれの階層化された論理構造を集約した情報である構造ガイドデータを記憶する構造ガイドデータ記憶手段と、
入力された前記構造化文書データの階層化された論理構造が前記構造ガイドデータに反映されるように、該構造ガイドデータを更新する構造ガイドデータ更新手段と、
クエリデータの入力を受け付けるクエリデータ受付手段と、
入力されたクエリデータが、前記構造化文書データの論理構造における階層を下位から上位へと辿る条件を含む場合に、該条件を、前記構造ガイドデータに基づいて、前記階層を上位から下位に辿る条件に書き換える条件書き換え手段と、
前記構造化文書データ記憶手段が記憶する前記構造化文書データのデータ集合に対して、前記条件書き換え手段が書き換えた条件による照合を行い、照合結果を出力する構造照合処理手段と、を備えることを特徴とする構造化文書管理装置。
Structured document data receiving means for receiving input of structured document data having a hierarchical logical structure;
Identifier assigning means for assigning to the element appearing in the structured document data input an identifier whose appearance order in the structured document data can be compared between the elements;
Structured document data storage means for storing the structured document data in which the identifier is assigned to the element;
Structure guide data storage means for storing structure guide data that is information obtained by aggregating the hierarchical logical structures of the structured document data stored in the structured document data storage means;
Structure guide data updating means for updating the structure guide data so that the hierarchical logical structure of the input structured document data is reflected in the structure guide data;
Query data receiving means for receiving input of query data;
When the input query data includes a condition for tracing the hierarchy in the logical structure of the structured document data from the lower level to the upper level, the condition is traced from the upper level to the lower level based on the structure guide data. Condition rewriting means for rewriting conditions,
A structural collation processing unit that collates the data set of the structured document data stored in the structured document data storage unit according to the condition rewritten by the condition rewriting unit and outputs a collation result. A featured structured document management device.
階層化された論理構造を有する構造化文書データの入力を受け付けるステップと、
入力された前記構造化文書データに出現する要素に該構造化文書データ内での出現順序が要素間で比較可能な識別子を付与して記憶装置に格納するステップと、
クエリデータの入力を受け付けるステップと、
入力されたクエリデータが、前記構造化文書データの論理構造における階層の上下関係を指定する第1条件と、前記識別子で特定される前記要素の順序関係を指定する第2条件とを含む場合に、該クエリデータを、前記第1条件のみを含む第1の部分クエリデータと、前記第1の部分クエリデータによる照合結果を前記第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解するステップと、
前記記憶装置に格納された前記構造化文書データのデータ集合に対して、前記第1の部分クエリデータによる照合を行い、照合結果を出力するステップと、
前記照合結果を、前記第2の部分クエリデータに含まれる結合演算の手順に従って結合演算処理するステップと、を含むことを特徴とする構造化文書管理方法。
Receiving input of structured document data having a hierarchical logical structure;
A step of assigning to an element appearing in the input structured document data an identifier whose appearance order in the structured document data is comparable between the elements and storing the identifier in a storage device;
Accepting query data input,
When the input query data includes a first condition that specifies the hierarchical relationship of the hierarchy in the logical structure of the structured document data, and a second condition that specifies the order relationship of the elements specified by the identifier , A second partial query including a procedure for combining the query data with the first partial query data including only the first condition and a matching result based on the first partial query data according to the second condition Breaking it into data,
Collating the first partial query data with respect to the data set of the structured document data stored in the storage device, and outputting a collation result;
A structured document management method comprising: performing a join operation process on the collation result according to a join operation procedure included in the second partial query data.
コンピュータに、
階層化された論理構造を有する構造化文書データの入力を受け付ける機能と、
入力された前記構造化文書データに出現する要素に該構造化文書データ内での出現順序が要素間で比較可能な識別子を付与して記憶装置に格納する機能と、
クエリデータの入力を受け付ける機能と、
入力されたクエリデータが、前記構造化文書データの論理構造における階層の上下関係を指定する第1条件と、前記識別子で特定される前記要素の順序関係を指定する第2条件とを含む場合に、該クエリデータを、前記第1条件のみを含む第1の部分クエリデータと、前記第1の部分クエリデータによる照合結果を前記第2条件に応じて結合演算する手順を含む第2の部分クエリデータとに分解する機能と、
前記記憶装置に格納された前記構造化文書データのデータ集合に対して、前記第1の部分クエリデータによる照合を行い、照合結果を出力する機能と、
前記照合結果を、前記第2の部分クエリデータに含まれる結合演算の手順に従って結合演算処理する機能と、を実現させることを特徴とする構造化文書管理プログラム。
On the computer,
A function for receiving input of structured document data having a hierarchical logical structure;
A function of assigning to an element appearing in the input structured document data an identifier in which the order of appearance in the structured document data can be compared between the elements and storing it in a storage device;
A function that accepts input of query data,
When the input query data includes a first condition that specifies the hierarchical relationship of the hierarchy in the logical structure of the structured document data, and a second condition that specifies the order relationship of the elements specified by the identifier , A second partial query including a procedure for combining the query data with the first partial query data including only the first condition and a matching result based on the first partial query data according to the second condition The ability to break it down into data,
A function of collating the first partial query data against the data set of the structured document data stored in the storage device and outputting a collation result;
A structured document management program that realizes a function of processing the collation result in accordance with a join operation procedure included in the second partial query data.
JP2011060371A 2011-03-18 2011-03-18 Structured document management apparatus, method and program Active JP5296128B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011060371A JP5296128B2 (en) 2011-03-18 2011-03-18 Structured document management apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011060371A JP5296128B2 (en) 2011-03-18 2011-03-18 Structured document management apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2012194950A true JP2012194950A (en) 2012-10-11
JP5296128B2 JP5296128B2 (en) 2013-09-25

Family

ID=47086742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011060371A Active JP5296128B2 (en) 2011-03-18 2011-03-18 Structured document management apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5296128B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007666B2 (en) 2012-09-07 2018-06-26 Toshiba Solutions Corporation Device and method for managing structured document, and computer program product

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034618A (en) * 1999-07-16 2001-02-09 Fujitsu Ltd Method and system for retrieval processing of xml data
JP2002297569A (en) * 2001-03-30 2002-10-11 Fujitsu Ltd Conversion apparatus for structured document and conversion apparatus for query
JP2008140081A (en) * 2006-11-30 2008-06-19 Toshiba Corp Structured document retrieval system, and database management program
JP2009230569A (en) * 2008-03-24 2009-10-08 Fujitsu Ltd Query conversion method and retrieving device
JP2010250449A (en) * 2009-04-13 2010-11-04 Canon Inc Information processor and information processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034618A (en) * 1999-07-16 2001-02-09 Fujitsu Ltd Method and system for retrieval processing of xml data
JP2002297569A (en) * 2001-03-30 2002-10-11 Fujitsu Ltd Conversion apparatus for structured document and conversion apparatus for query
JP2008140081A (en) * 2006-11-30 2008-06-19 Toshiba Corp Structured document retrieval system, and database management program
JP2009230569A (en) * 2008-03-24 2009-10-08 Fujitsu Ltd Query conversion method and retrieving device
JP2010250449A (en) * 2009-04-13 2010-11-04 Canon Inc Information processor and information processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007666B2 (en) 2012-09-07 2018-06-26 Toshiba Solutions Corporation Device and method for managing structured document, and computer program product

Also Published As

Publication number Publication date
JP5296128B2 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
US8190596B2 (en) Method for assembly of personalized enterprise information integrators over conjunctive queries
US7912826B2 (en) Apparatus, computer program product, and method for supporting construction of ontologies
US6889223B2 (en) Apparatus, method, and program for retrieving structured documents
KR101401171B1 (en) Methods and apparatus for reusing data access and presentation elements
US20020143774A1 (en) Dynamic, hierarchical data exchange system
US20120095951A1 (en) Methods and systems for modifying a knowledge base system
US11720631B2 (en) Tool to build and store a data model and queries for a graph database
US20180113887A1 (en) Generating tables based upon data extracted from tree-structured documents
US11200214B2 (en) Construction and application of data cleaning templates
Hogue Tree pattern inference and matching for wrapper induction on the World Wide Web
US11086860B2 (en) Predefined semantic queries
Koch et al. Oracle 8: The complete reference
Kumar Apache Solr search patterns
Omari et al. Cross-supervised synthesis of web-crawlers
US20070094289A1 (en) Dynamic, hierarchical data exchange system
US20080208843A1 (en) Document searching system and document searching method
Akdogan Elasticsearch Indexing
JP5296128B2 (en) Structured document management apparatus, method and program
Kuć et al. ElasticSearch server
Umamageswari et al. Web harvesting: web data extraction techniques for deep web pages
JP2002297601A (en) Method and device for structured document management, and program
JP2008243075A (en) Structured document management device and method
JP2002297662A (en) Method and device for editing structured document, terminal, and program
JP5439606B1 (en) Structured document management apparatus, method and program
Tahiri Alaoui An approach to automatically update the Spanish DBpedia using DBpedia Databus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130612

R150 Certificate of patent or registration of utility model

Ref document number: 5296128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350