JP2008171181A - Structured data search apparatus - Google Patents

Structured data search apparatus Download PDF

Info

Publication number
JP2008171181A
JP2008171181A JP2007003444A JP2007003444A JP2008171181A JP 2008171181 A JP2008171181 A JP 2008171181A JP 2007003444 A JP2007003444 A JP 2007003444A JP 2007003444 A JP2007003444 A JP 2007003444A JP 2008171181 A JP2008171181 A JP 2008171181A
Authority
JP
Japan
Prior art keywords
search
xpath expression
template
structured data
xml 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.)
Withdrawn
Application number
JP2007003444A
Other languages
Japanese (ja)
Inventor
Rei Yano
令 矢野
Tadamaru Kawasaki
直丸 川崎
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 JP2007003444A priority Critical patent/JP2008171181A/en
Publication of JP2008171181A publication Critical patent/JP2008171181A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To search XML data incompatible with a schema specified by a user as well on an XPath expression compatible with the specified schema. <P>SOLUTION: An input part 11 inputs an XPath expression (first search expression) including path components specified by a user. An XPath expression analysis and generation part 12 analyzes the input XPath expression to extract the path components included in the XPath expression. The XPath expression analysis and generation part 12 generates a formatted XPath expression (second search expression) for searching XML data having different schemas from the input XPath expression stored in an XML data storage device 20, according to the extracted path components. An XML data search part 15 uses the generated formatted XPath expression to search the XML data storage device 20 for structured data matching the formatted XPath expression. A result output part 16 outputs the result of the XML data search part 15. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、XMLデータベースに蓄積されたスキーマの異なる複数の種類のXMLデータに対して、ユーザによって指定されたXPath式に応じて検索を行う構造化データ検索装置に関する。   The present invention relates to a structured data search apparatus that searches a plurality of types of XML data having different schemas stored in an XML database according to an XPath expression specified by a user.

一般に、論理構造を持つデータは構造化データと呼ばれる。構造化データにおいて、当該データの論理構造は、当該データ中に記述されたタグによって示される場合がある。このタグを用いて論理構造が表現された構造化データは、計算機で各種目的に合わせて解釈ないし加工して利用する処理に適している。構造化データの代表として、XML(Extensible Markup Language)形式で記述されたXMLデータが知られている。   In general, data having a logical structure is called structured data. In structured data, the logical structure of the data may be indicated by a tag described in the data. The structured data in which the logical structure is expressed using this tag is suitable for processing that is interpreted or processed by a computer for various purposes. As representative of structured data, XML data described in XML (Extensible Markup Language) format is known.

近年、非常に多くのアプリケーションでXMLが用いられるようになり、様々なデータがXML形式で記述されるようになってきている。これにより、XML形式で記述されたXMLデータを検索する技術が、重要となっている。   In recent years, XML has been used in a large number of applications, and various data have been described in XML format. Accordingly, a technique for retrieving XML data described in the XML format is important.

上記したXMLデータでは、複数の構成要素からなる階層化された論理構造を有し、例えば構成要素の要素名等の構造は必ずしも予め定められている必要はない。XMLデータには、例えば異なるスキーマ(データ構造)に準拠するデータが混在している。異なるスキーマとしては、例えばXHTML(Extensible HyperText Markup Language)、NewsML、RSS(Rich Site Summary)またはAtom等が挙げられる。   The XML data described above has a hierarchical logical structure composed of a plurality of components, and for example, the structure of element names of the components does not necessarily have to be determined in advance. For example, data conforming to different schemas (data structures) is mixed in the XML data. Examples of different schemas include Extensible HyperText Markup Language (XHTML), NewsML, Rich Site Summary (RSS), and Atom.

このような異なるスキーマに準拠するXMLデータが混在するXMLデータベースに対して、例えばユーザ(検索者)が所望するXMLデータを検索する方法には、例えば以下に示す第1〜第4の方法を含む複数の方法がある。   For example, a method for searching XML data desired by a user (searcher) with respect to an XML database in which XML data conforming to different schemas is mixed includes the following first to fourth methods. There are several ways.

まず、第1の方法として、ユーザが例えば異なるスキーマ毎にXPath式(問い合わせ言語)を指定する方法がある。これによれば、指定されたスキーマ毎のXPath式を用いて、検索を実行することにより、異なるスキーマに準拠するXMLデータであっても検索することができる。XPath式は、例えば構成要素を含むパス形式で示される。このXPath式によれば、当該XPath式に含まれる構成要素によりXMLデータの構造を指定することによって、XMLデータを検索することができる。   First, as a first method, there is a method in which the user specifies an XPath expression (query language) for each different schema, for example. According to this, by performing a search using an XPath expression for each specified schema, it is possible to search even XML data that conforms to a different schema. The XPath expression is shown in a path format including a component, for example. According to this XPath expression, the XML data can be searched by designating the structure of the XML data by the component included in the XPath expression.

第2の方法として、例えばユーザによって指定されたキーワードに基づいて、機械的に全文検索を行う方法がある。これによれば、異なるスキーマに準拠するXMLデータであっても、指定されたキーワードを含むXMLデータを検索することができる。   As a second method, for example, there is a method of performing a full text search mechanically based on a keyword specified by a user. According to this, even XML data that conforms to a different schema can be searched for XML data including the specified keyword.

第3の方法として、異なるスキーマ毎のXPath式の対応表を作成しておく方法がある。これによれば、ユーザによって指定されたスキーマに準拠するXPath式が入力された場合であっても、当該指定されたスキーマとは異なるスキーマに準拠するXMLデータを検索することができる。これに関連する技術として、例えばユーザがXMLデータ等の構造を意識することなく検索でき、ユーザが所望するXMLデータをユーザが指定した構造で取得することができる技術が開示されている(例えば、特許文献1を参照)。   As a third method, there is a method of creating a correspondence table of XPath expressions for different schemas. According to this, even when an XPath expression conforming to the schema designated by the user is input, XML data conforming to a schema different from the designated schema can be searched. As a technology related to this, for example, a technology is disclosed in which a user can search without being aware of the structure of XML data or the like and can acquire XML data desired by the user in a structure designated by the user (for example, (See Patent Document 1).

また、第4の方法として、異なるスキーマの各々に合致するような抽象的スキーマを作成する方法がある。これによれば、異なるスキーマの各々の対応をとった中間形式としての抽象スキーマを作成し、当該抽象スキーマとの間でXPath式の変換を行うことで、異なるスキーマに準拠するXMLデータを検索することができる。これに関連する技術として、例えば異なるデータ構造の複数の構造化データの中から、所望の構造化データを検索する際には、そのデータ構造に依存することなく、所望のXMLデータを要素値として持つ構成要素を含む構造化データを容易に検索する技術が開示されている(例えば、特許文献2を参照)。
特開2003−316783号公報 特開2004−164104号公報
As a fourth method, there is a method of creating an abstract schema that matches each of different schemas. According to this, an abstract schema as an intermediate format corresponding to each of different schemas is created, and XML data conforming to the different schemas is searched by converting an XPath expression between the abstract schemas. be able to. As a related technology, for example, when retrieving desired structured data from a plurality of structured data having different data structures, the desired XML data is used as an element value without depending on the data structure. A technique for easily searching structured data including constituent elements is disclosed (see, for example, Patent Document 2).
JP 2003-316783 A JP 2004-164104 A

上記したような第1〜第4の方法によれば、異なるスキーマに準拠するXMLデータであっても検索することが可能である。   According to the first to fourth methods as described above, it is possible to search even XML data conforming to different schemas.

しかしながら、上記した第1の方法では、ユーザは、異なるスキーマ毎にXPath式を複数指定(入力)する必要があるため手間がかかる。また、ユーザは、異なるスキーマ毎のすべてのXMLデータの構造を把握している必要がある。   However, in the first method described above, the user needs to specify (input) a plurality of XPath expressions for different schemas, which is troublesome. Further, the user needs to grasp the structure of all XML data for different schemas.

また、第2の方法では、XMLデータの構造を意識した検索を行うことができないため、多くのノイズデータ(ユーザが必要としていないデータ)が検索結果に含まれる。   In the second method, since it is not possible to perform a search in consideration of the structure of XML data, a lot of noise data (data not required by the user) is included in the search results.

また、第3の方法では、ユーザにとって意図する検索を行うことは可能であるが、対応表を作成する手間やコストがかかってしまう。また、新規のスキーマに準拠するXMLデータ追加された場合には、対応表に新規のスキーマのXPath式を追加する必要がある。これにより、更に手間やコストがかかるおそれがある。   Further, in the third method, it is possible to perform a search intended for the user, but it takes time and cost to create a correspondence table. Further, when XML data conforming to a new schema is added, it is necessary to add the XPath expression of the new schema to the correspondence table. As a result, there is a risk of further labor and cost.

また、第4の方法では、中間形式としての抽象スキーマを作成するコストが大きくなる。また、新規のスキーマに準拠するXMLデータが追加された場合には、抽象スキーマに対する変更が発生する可能性がある。これにより、更にコストがかかるおそれがある。   In the fourth method, the cost of creating an abstract schema as an intermediate format increases. Further, when XML data conforming to a new schema is added, there is a possibility that a change to the abstract schema occurs. This may further increase costs.

本発明の目的は、ユーザによって指定されたスキーマに準拠したXPath式から、当該スキーマに準拠しないXMLデータをも検索することができる構造化データ検索装置を提供することにある。   An object of the present invention is to provide a structured data search apparatus that can also search XML data that does not conform to the schema from an XPath expression that conforms to the schema specified by the user.

本発明の1つの態様によれば、スキーマが異なる複数の構造化データを格納する構造化データ格納手段から、データを検索する構造化データ検索装置が提供される。この構造化データ検索装置は、ユーザによって指定された構成要素を含む構造化データを検索するための第1の検索式を入力する入力手段と、前記第1の検索式を解析し、当該第1の検索式に含まれる構成要素を抽出する抽出手段と、前記抽出された構成要素に基づいて、前記前記構造化データ格納手段に格納されている第1の検索式とは異なるスキーマの構造化データを検索するための第2の検索式を生成する検索式生成手段と、前記第2の検索式を用いて、当該第2の検索式に合致する構造化データを前記構造化データ格納手段から検索する検索手段と、前記検索手段の結果を出力する検索結果出力手段とを具備する。   According to one aspect of the present invention, there is provided a structured data search device for searching data from structured data storage means for storing a plurality of structured data having different schemas. The structured data retrieval apparatus analyzes the first retrieval formula by inputting a first retrieval formula for retrieving structured data including a component designated by the user, and analyzing the first retrieval formula. Extraction means for extracting the constituent elements included in the search expression, and structured data having a schema different from that of the first search expression stored in the structured data storage means based on the extracted constituent elements A search expression generation unit that generates a second search expression for searching for data, and using the second search expression, the structured data that matches the second search expression is searched from the structured data storage unit. And a search result output means for outputting a result of the search means.

本発明によれば、ユーザによって指定されたスキーマに準拠したXPath式から、当該指定されたスキーマに準拠しないXMLデータをも検索することが可能となる。   According to the present invention, it is possible to retrieve XML data that does not conform to the designated schema from the XPath expression that conforms to the schema designated by the user.

以下、図面を参照して、本発明の実施形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本実施形態に係る構造化データ検索装置の機能構成を示すブロック図である。図1に示すように、構造化データ検索装置10は、入力部11、XPath式解析生成部12、XPath式生成テンプレート読取部13、XPath式生成テンプレート格納部14、XMLデータ検索部15及び結果出力部16を含む。   FIG. 1 is a block diagram showing a functional configuration of the structured data search apparatus according to the present embodiment. As shown in FIG. 1, the structured data search device 10 includes an input unit 11, an XPath expression analysis generation unit 12, an XPath expression generation template reading unit 13, an XPath expression generation template storage unit 14, an XML data search unit 15, and a result output. Part 16 is included.

また、構造化データ検索装置10の外部には、XMLデータ格納装置20が設けられている。このXMLデータ格納装置20には、例えばスキーマ(データ構造)が異なる複数の構造化データ(以下、XMLデータと表記)が格納されている。XMLデータは、例えば当該XMLデータ中に記述されたタグによって階層化されたデータである。また、異なるスキーマには、例えばXHTML(Extensible HyperText Markup Language)、NewsML、RSS(Rich Site Summary)またはAtom等が含まれる。   An XML data storage device 20 is provided outside the structured data search device 10. The XML data storage device 20 stores, for example, a plurality of structured data (hereinafter referred to as XML data) having different schemas (data structures). The XML data is, for example, data hierarchized by tags described in the XML data. The different schemas include, for example, XHTML (Extensible HyperText Markup Language), NewsML, RSS (Rich Site Summary), Atom, and the like.

入力部11は、例えばユーザによって指定されたスキーマに準拠するXMLデータを検索するための検索式(第1の検索式)を入力する。この検索式(以下、XPath式と表記)は、パス形式で示される。また、XPath式には、例えばユーザによって指定された構成要素(以下、パス構成要素と表記)が含まれる。XPath式は、当該XPath式に含まれる構成要素の配列により構造化データの構造が表されている。XPath式に含まれるパス構成要素は、例えばXMLデータのタグに該当する要素(または属性)または当該要素に対する制限を示す述部を含む。この述部には、例えば該当する要素の内容に、ある文字列が含まれることを示す「contains」のような関数が含まれる。XPath式は、例えば「/第0要素[第0述部]/第1要素[第1述部]/…/最終要素または属性[最終述部]」のように示される。なお、第n要素(または第n述部)のn(n=0、1、…)は、XPath式に含まれる構成要素の階層を表す。また、[第n述部]及び[最終述部]の部分は、省略することが可能である。   The input unit 11 inputs, for example, a search expression (first search expression) for searching XML data that conforms to a schema specified by the user. This search expression (hereinafter referred to as XPath expression) is shown in a path format. Further, the XPath expression includes, for example, a component specified by the user (hereinafter referred to as a path component). In the XPath expression, the structure of structured data is represented by an array of components included in the XPath expression. The path component included in the XPath expression includes, for example, an element (or attribute) corresponding to a tag of XML data or a predicate indicating a restriction on the element. This predicate includes a function such as “contains” indicating that a certain character string is included in the content of the corresponding element, for example. The XPath expression is indicated as "/ 0th element [0th predicate] / first element [1st predicate] /.../ final element or attribute [final predicate]", for example. Note that n (n = 0, 1,...) Of the nth element (or the nth predicate) represents the hierarchy of the constituent elements included in the XPath expression. The [nth predicate] and [final predicate] portions can be omitted.

XPath式解析生成部12は、入力部11に入力されたXPath式(以下、入力XPath式と表記)を解析する。XPath式解析生成部12は、解析結果に応じて、入力XPath式に含まれるパス構成要素を抽出する。また、XPath式解析生成部12は、抽出されたパス構成要素及びXPath式生成テンプレート格納部14に格納されているテンプレートに基づいて、定型XPath式を生成する。XPath式解析生成部12は、ユーザによって指定されたスキーマ及び当該指定されたスキーマとは異なるスキーマに準拠する構造化データを検索するための定型XPath式(第2の検索式)を生成する。   The XPath expression analysis generation unit 12 analyzes the XPath expression input to the input unit 11 (hereinafter referred to as input XPath expression). The XPath expression analysis generation unit 12 extracts a path component included in the input XPath expression according to the analysis result. Further, the XPath expression analysis / generation unit 12 generates a standard XPath expression based on the extracted path component and the template stored in the XPath expression generation template storage unit 14. The XPath expression analysis generation unit 12 generates a standard XPath expression (second search expression) for searching structured data conforming to a schema specified by the user and a schema different from the specified schema.

XPath式生成テンプレート読取部13は、例えばXPath式生成テンプレート格納部14に予め格納されているXPath式生成テンプレート(以下、単にテンプレートと表記)を読み取る。XPath式生成テンプレート読取部13は、読み取られたテンプレートをXPath式解析生成部12に渡す。   The XPath expression generation template reading unit 13 reads, for example, an XPath expression generation template (hereinafter simply referred to as a template) stored in advance in the XPath expression generation template storage unit 14. The XPath expression generation template reading unit 13 passes the read template to the XPath expression analysis generation unit 12.

XPath式生成テンプレート格納部14には、複数のテンプレートが格納されている。この複数のテンプレートは、例えば定型XPath式を生成するために用いられるテンプレートファイルである。複数のテンプレートは、例えばXPath式に含まれるパス構成要素に変数が埋め込まれた形式で表現される。複数のテンプレートの各々は、変数の組み合わせがそれぞれ異なる。テンプレートに埋め込まれている変数は、例えばXPath式に含まれるパス構成要素の該当部分に対応し、機械的にXPath式を生成可能な形式であるものとする。変数は、XPath式に含まれる構成要素の階層を表すように予め定義されている。   The XPath expression generation template storage unit 14 stores a plurality of templates. The plurality of templates are template files used for generating a standard XPath expression, for example. The plurality of templates are expressed, for example, in a format in which variables are embedded in path components included in an XPath expression. Each of the plurality of templates has a different combination of variables. The variable embedded in the template corresponds to the corresponding part of the path component included in the XPath expression, for example, and has a format that can mechanically generate the XPath expression. The variable is defined in advance so as to represent the hierarchy of components included in the XPath expression.

また、テンプレートの各々は、例えば当該テンプレートを用いて生成されるXPath式の曖昧度を示すレベル(以下、曖昧レベルと表記)に対応付けてXPath式生成テンプレート格納部14に格納されている。この曖昧レベルは、例えば1または複数の段階に設定されている。   Each template is stored in the XPath expression generation template storage unit 14 in association with, for example, a level indicating the ambiguity of an XPath expression generated using the template (hereinafter referred to as an ambiguity level). This ambiguity level is set, for example, at one or more stages.

XMLデータ検索部15は、XMLデータ格納装置20に格納されているXMLデータのうち、入力XPath式またはXPath式解析生成部12によって生成された定型XPath式を用いてXMLデータを検索する。また、XMLデータ検索部15は、検索された結果を記憶(保持)する記憶部(図示せず)を含む。   The XML data search unit 15 searches the XML data using the input XPath expression or the standard XPath expression generated by the XPath expression analysis generation unit 12 among the XML data stored in the XML data storage device 20. The XML data search unit 15 includes a storage unit (not shown) that stores (holds) the searched results.

結果出力部16は、XMLデータ検索部15によって検索されたXMLデータを検索結果として、例えばユーザに対して表示するために出力する。また、結果出力部16は、例えば入力XPath式を用いて検索されたXMLデータまたはXPath式解析生成部12によって生成された定型XPath式を用いて検索されたXMLデータを区別して出力する。また、結果出力部16は、XPath式解析生成部12によって生成された定型XPath式を用いて検索されたXMLデータを、当該XPath式が生成される際に用いられたテンプレートのレベル毎に検索結果を出力(表示)する。   The result output unit 16 outputs the XML data searched by the XML data search unit 15 as a search result for display to a user, for example. Further, the result output unit 16 distinguishes and outputs, for example, XML data searched using the input XPath expression or XML data searched using the standard XPath expression generated by the XPath expression analysis generation unit 12. In addition, the result output unit 16 retrieves the XML data searched using the standard XPath expression generated by the XPath expression analysis generation unit 12 for each level of the template used when the XPath expression is generated. Is output (displayed).

図2は、XPath式解析生成部12の機能構成を示すブロック図である。XPath式解析生成部12は、XPath式解析部121、テンプレート解析部122、変換部123及びXPath式生成部124を含む。   FIG. 2 is a block diagram illustrating a functional configuration of the XPath expression analysis generation unit 12. The XPath expression analysis generation unit 12 includes an XPath expression analysis unit 121, a template analysis unit 122, a conversion unit 123, and an XPath expression generation unit 124.

XPath式解析部121は、入力XPath式を解析する。XPath式解析部121は、解析結果に応じて、パス構成要素を抽出する。   The XPath expression analysis unit 121 analyzes the input XPath expression. The XPath expression analysis unit 121 extracts path components according to the analysis result.

テンプレート解析部122は、XPath式生成テンプレート読取部13によって読み取られたテンプレートを解析する。テンプレート解析部122は、解析結果に応じて、テンプレートの変数(部分)を切り出す。   The template analysis unit 122 analyzes the template read by the XPath expression generation template reading unit 13. The template analysis unit 122 cuts out a template variable (part) according to the analysis result.

変換部123は、XPath式解析部121によって抽出されたパス構成要素及びテンプレート解析部122によって切り出された変数から対応付けを行い、対応するパス構成要素を変数に置換する処理を実行する。   The conversion unit 123 associates the path component extracted by the XPath expression analysis unit 121 and the variable extracted by the template analysis unit 122, and executes processing for replacing the corresponding path component with a variable.

XPath式生成部124は、変換部123によって置換処理されたテンプレートから、定型XPath式を生成する。   The XPath expression generation unit 124 generates a standard XPath expression from the template subjected to the replacement process by the conversion unit 123.

図3は、XPath式生成テンプレート格納部14のデータ構造の一例を示す。図3の例では、XPath式生成テンプレート格納部14には、テンプレートA〜Fが格納されている。テンプレートA〜Cは曖昧レベル1に、テンプレートD及びEは曖昧レベル2に、また、テンプレートFは曖昧レベル3に対応付けてXPath式生成テンプレート格納部14に格納されている。   FIG. 3 shows an example of the data structure of the XPath expression generation template storage unit 14. In the example of FIG. 3, templates A to F are stored in the XPath expression generation template storage unit 14. Templates A to C are stored in the XPath expression generation template storage unit 14 in association with the ambiguity level 1, templates D and E in association with the ambiguity level 2, and template F in association with the ambiguity level 3.

曖昧レベルは、各テンプレートに基づいて生成された定型XPath式の曖昧度を示す。この曖昧レベルは、例えば曖昧レベル0は曖昧性なし、曖昧レベル3は全文検索に近い曖昧性のように規定することができる。なお、本実施形態においては、入力XPathを曖昧レベル0(曖昧性なし)とし、曖昧レベルが高くなる程、曖昧性が高くなるものとする。   The ambiguity level indicates the ambiguity of the standard XPath expression generated based on each template. This ambiguity level can be defined as, for example, ambiguity level 0 is no ambiguity and ambiguity level 3 is ambiguity close to full-text search. In the present embodiment, the input XPath is assumed to have an ambiguity level 0 (no ambiguity), and the ambiguity increases as the ambiguity level increases.

以下、XPath式生成テンプレート格納部14に格納されているテンプレートの具体例について説明する。
曖昧レベル1のテンプレート(例えばテンプレートA)の具体例としては、「/${Elem.FIRST}//*[${Predicate.LAST}]」が挙げられる。ここで、「${Elem.FIRST}」とは、例えばXPath式に含まれる構成要素の第0要素(階層が0である要素)を示す変数であり、入力XPath式に含まれるパス構成要素のうち、最初の要素を示す。また、「${Predicate.LAST}」とは、例えば最終述部(階層が最も低い述部)を示す変数であり、入力XPath式に含まれるパス構成要素のうち、最後の述部を示す。このテンプレートに含まれる「/」は、当該「/」の前後の例えば要素同士が親子関係であることを示し、「//」は、当該「//」の前後の例えば要素同士が子孫関係(親子関係を含む)であることを示す。なお、このテンプレートに基づいて生成されるXPath式によれば、例えば入力XPath式に含まれる第0要素より以下の階層(子孫関係)に当該入力XPath式に含まれる最終述部を含む(最終述部によって示される制限を満たす)XMLデータが検索される。
Hereinafter, a specific example of the template stored in the XPath expression generation template storage unit 14 will be described.
As a specific example of a template of ambiguous level 1 (for example, template A), “/${Elem.FIRST}//*[${Predicate.LAST}]” may be mentioned. Here, “$ {Elem.FIRST}” is a variable indicating, for example, the 0th element (element whose hierarchy is 0) included in the XPath expression, and is the path component included in the input XPath expression. The first element is shown. “$ {Predicate.LAST}” is a variable indicating, for example, the final predicate (the predicate having the lowest hierarchy), and indicates the last predicate among the path components included in the input XPath expression. “/” Included in this template indicates that, for example, the elements before and after the “/” are in a parent-child relationship, and “//” indicates that, for example, the elements before and after the “//” are in a descendant relationship ( (Including parent-child relationship). According to the XPath expression generated based on this template, for example, the final predicate included in the input XPath expression is included in the following hierarchy (descendant relationship) from the 0th element included in the input XPath expression (final description). XML data (satisfying the restriction indicated by the part) is retrieved.

曖昧レベル2のテンプレート(例えばテンプレートD)の具体例としては、「//${Elem.LAST}[${Predicate.LAST}]」が挙げられる。「${Elem.LAST}」とは、最終要素を示す変数であり、入力XPath式に含まれるパス構成要素のうち、最後の要素を示す。なお、このテンプレートに基づいて生成されるXPath式によれば、例えば入力XPath式に含まれる最終要素の中(内容)に当該入力XPath式に含まれる最終述部が含まれているXMLデータ検索される。   As a specific example of the template of the ambiguity level 2 (for example, template D), “//${Elem.LAST}[${Predicate.LAST}]” can be cited. “$ {Elem.LAST}” is a variable indicating the last element, and indicates the last element among the path components included in the input XPath expression. In addition, according to the XPath expression generated based on this template, for example, XML data is retrieved in which the final predicate included in the input XPath expression is included in the content (content) of the final element included in the input XPath expression. The

曖昧レベル3のテンプレート(例えばテンプレートF)の具体例としては、「//*[${Predicate.LAST}]」が挙げられる。なお、このテンプレートに基づいて生成されるXPath式によれば、例えば入力XPath式に含まれる最終述部が含まれるXMLデータが検索される。   As a specific example of the template of the ambiguity level 3 (for example, template F), “//*[${Predicate.LAST}]” is given. According to the XPath expression generated based on this template, for example, XML data including the final predicate included in the input XPath expression is searched.

また、変数には、上記した以外にも、第n要素を示す「${Elem.n}」、第0述部を示す「[${Predicate.FIRST}]」または第n述部を示す「[${Predicate.n}]」等が含まれる。   In addition to the above, the variable includes “$ {Elem.n}” indicating the nth element, “[$ {Predicate.FIRST}]” indicating the 0th predicate, or ““ indicating the nth predicate ”. [$ {Predicate.n}] "etc. are included.

次に、図4のフローチャートを参照して、構造化データ検索装置10の処理手順について説明する。
まず、入力部11は、ユーザによって指定されたスキーマに準拠するXMLデータを検索するためのXPath式が入力される(ステップS1)。
Next, the processing procedure of the structured data search device 10 will be described with reference to the flowchart of FIG.
First, the input unit 11 receives an XPath expression for searching XML data that conforms to the schema specified by the user (step S1).

次に、XMLデータ検索部15は、入力部11に入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS2)。   Next, the XML data search unit 15 uses the XPath expression (input XPath expression) input to the input unit 11 to search the XML data storage unit 20 for XML data that matches the input XPath expression (step S2). .

XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS3)。このとき、このXMLデータは、曖昧レベル0の検索結果として保持される。   The XML data searched by the XML data search unit 15 is held in a storage unit included in the XML data search unit 15 (step S3). At this time, the XML data is held as a search result of an ambiguous level 0.

XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS4)。   The XPath expression analysis generator 12 analyzes the input XPath expression. Thereby, the XPath expression analysis generation unit 12 extracts each of the path components included in the input XPath expression (step S4).

次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)を出力する。XPath式生成解析生成部12は、まず曖昧度が低いテンプレートを読み取るよう読取要求する。   Next, the XPath expression analysis generation unit 12 outputs a request (reading request) for reading (reading) a template of the ambiguous level n from the XPath expression generation template storage unit 14 to the XPath expression generation template reading unit 13. . The XPath expression generation analysis generation unit 12 first requests to read a template with a low ambiguity.

XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS5)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。このとき、上記した図3に示すXPath式生成テンプレート格納部14のように、例えば曖昧レベル1に対応付けて複数のテンプレートが格納されている場合には、当該複数のテンプレートの全てを読み取るものとする。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する(渡す)。   The XPath expression generation template reading unit 13 reads a template stored in the XPath expression generation template storage unit 14 in response to a read request from the XPath expression analysis generation unit 12 (step S5). First, an ambiguous level 1 template is read from the XPath expression generation template storage unit 14. At this time, when a plurality of templates are stored in association with the ambiguity level 1 as in the XPath expression generation template storage unit 14 shown in FIG. 3 described above, all of the plurality of templates are read. To do. The XPath expression generation template reading unit 13 outputs (passes) the read template to the XPath expression analysis generation unit 12.

XPath式解析生成部12は、ステップS4において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS6)。このとき、例えばXPath式生成テンプレート読取部13によって複数のテンプレートが読み出された場合には、当該複数のテンプレートの各々について、定型XPath式が生成される。   The XPath expression analysis generation unit 12 generates a standard XPath expression based on the path component extracted in step S4 and the template read by the XPath expression generation template reading unit 13 (step S6). At this time, for example, when a plurality of templates are read by the XPath expression generation template reading unit 13, a standard XPath expression is generated for each of the plurality of templates.

XMLデータ検索部15は、XPath式解析生成部12によって生成された定型XPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS7)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS8)。この場合、検索されたXMLデータは、曖昧レベル毎の検索結果として保持される。   The XML data search unit 15 searches the XML data storage device 20 for XML data that matches the XPath expression, using the standard XPath expression generated by the XPath expression analysis generation unit 12 (step S7). The XML data searched by the XML data search unit 15 is held in the storage unit of the XML data search unit 15 (step S8). In this case, the searched XML data is held as a search result for each ambiguity level.

次に、XPath式解析生成部12は、XPath式生成テンプレート格納部14に定型XPath式を生成する処理が実行されていないテンプレート(未処理テンプレート)が存在するか否かを判定する(ステップS9)。   Next, the XPath expression analysis generation unit 12 determines whether or not there is a template (unprocessed template) for which processing for generating a fixed XPath expression is not executed in the XPath expression generation template storage unit 14 (step S9). .

XPath式生成テンプレート格納部14に未処理テンプレートが存在すると判定された場合(ステップS9のYES)、ステップS5に戻って処理が繰り返される。この場合、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベル2のテンプレートを読み取るよう読取要求を出力する。これにより、ステップS5では、XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されている曖昧レベル2のテンプレートを読み取る。つまり、ステップS5における曖昧レベルnの値を1つ上げて処理が繰り返される。このように、XPath式生成テンプレート格納部14に格納されているテンプレートは、当該テンプレートの曖昧レベル毎にステップ5〜8の処理がされる。   If it is determined that an unprocessed template exists in the XPath expression generation template storage unit 14 (YES in step S9), the process returns to step S5 and is repeated. In this case, the XPath expression analysis generation unit 12 outputs a reading request to the XPath expression generation template reading unit 13 so as to read the template of the ambiguity level 2. Thereby, in step S5, the XPath expression generation template reading unit 13 reads the template of the ambiguity level 2 stored in the XPath expression generation template storage unit 14 in response to the reading request from the XPath expression analysis generation unit 12. That is, the process is repeated by increasing the value of the ambiguity level n in step S5 by one. As described above, the template stored in the XPath expression generation template storage unit 14 is processed in steps 5 to 8 for each ambiguity level of the template.

一方、XPath式生成テンプレート格納部14に未処理テンプレートが存在しないと判定された場合(ステップS9のNO)、結果出力部16は、XMLデータ検索部15の記憶部に保持されている検索結果を例えばユーザに対して表示するために出力する(ステップS10)。結果出力部16は、例えば曖昧レベル毎に検索結果を出力する。   On the other hand, when it is determined that there is no unprocessed template in the XPath expression generation template storage unit 14 (NO in step S9), the result output unit 16 displays the search result held in the storage unit of the XML data search unit 15 For example, it is output for display to the user (step S10). The result output unit 16 outputs a search result for each ambiguity level, for example.

なお、ここでは、上記したように入力XPath式及びXPath式解析生成部12によって生成された定型XPath式を用いた検索処理(ステップS2及びステップS7)を分けて実行するものとして説明したが、これらの処理は、例えばステップS9及びS10の間で、まとめて実行される構成であってもかまわない。   Here, as described above, it has been described that the search process (step S2 and step S7) using the input XPath expression and the fixed XPath expression generated by the XPath expression analysis generation unit 12 is executed separately. For example, the process may be executed collectively between steps S9 and S10.

次に、図5のフローチャートを参照して、上記した図4に示すステップS4の処理の詳細な処理手順について説明する。
まず、XPath式解析生成部12のXPath式解析部121は、入力XPath式に含まれる文字列を例えば「/」で分離する(ステップS11)。このとき、XPath式解析部121は、入力XPath式に含まれる文字列を「[]」内に含まれない「/」で分離する。つまり、これによって、1つの要素(または1組の要素及び述部)毎に分離される。
Next, a detailed processing procedure of the processing in step S4 shown in FIG. 4 will be described with reference to the flowchart in FIG.
First, the XPath expression analysis unit 121 of the XPath expression analysis generation unit 12 separates character strings included in the input XPath expression by “/”, for example (step S11). At this time, the XPath expression analysis unit 121 separates character strings included in the input XPath expression by “/” not included in “[]”. In other words, this separates each element (or a set of elements and predicates).

次に、XPath式解析部121は、ステップS11において分離された文字列の各々に要素(名)及び述部が含まれる場合には、当該文字列に含まれる要素及び述部を分離する(ステップS12)。ステップS11において分離された文字列に「[]」が含まれる場合に、当該「[]」で囲まれた部分が述部であり、それ以外が要素(または属性)となる。   Next, if each of the character strings separated in step S11 includes an element (name) and a predicate, the XPath expression analysis unit 121 separates the element and the predicate included in the character string (step S12). When “[]” is included in the character string separated in step S11, a portion surrounded by “[]” is a predicate, and the other is an element (or attribute).

XPath式解析部121は、ステップS11及びS12において分離された要素または述部の各々を、パス構成要素として抽出する(ステップS13)。   The XPath expression analysis unit 121 extracts each of the elements or predicates separated in steps S11 and S12 as a path component (step S13).

ここで、図6を参照して、上記したパス構成要素を抽出する処理について具体的に説明する。
図6に示すように、入力XPath式は、「/html/head/title[contains(./text(),’耐震偽装’)]」であるものとする。以下に、この入力XPath式からパス構成要素を抽出する処理について説明する。
Here, with reference to FIG. 6, the process of extracting the path component described above will be specifically described.
As shown in FIG. 6, it is assumed that the input XPath expression is “/html/head/title[contains(./text(),'seismic impersonation ')]”. Hereinafter, processing for extracting a path component from the input XPath expression will be described.

この場合、XPath式解析部121は、XPath式に含まれる文字列を「/」で分離する。すなわち、XPath式解析部121は、入力XPath式から「html」、「head」及び「title[contains(./text(),’耐震偽装’)]」を分離する。   In this case, the XPath expression analysis unit 121 separates character strings included in the XPath expression with “/”. That is, the XPath expression analysis unit 121 separates “html”, “head”, and “title [contains (./ text (),’ seismic impersonation ’)]” from the input XPath expression.

次に、分離された「title[contains(./text(),’耐震偽装’)]」には、「[]」が含まれるため、要素及び述部が含まれている。このため、XPath式解析部121は、分離された「title[contains(./text(),’耐震偽装’)]」を、要素「title」及び述部「[contains(./text(),’耐震偽装’)]」を分離する。   Next, since the separated “title [contains (./ text (),’ seismic impersonation ’)]” includes “[]”, it includes elements and predicates. For this reason, the XPath expression analysis unit 121 converts the separated “title [contains (./ text (), 'seismic impersonation')]” into the element “title” and the predicate “[contains (./ text (), 'Seismic camouflage')] ”.

これにより、XPath式解析部121は、パス構成要素として「html」、「head」、「title」及び「[contains(./text(),’耐震偽装’)]」を抽出する。   As a result, the XPath expression analysis unit 121 extracts “html”, “head”, “title”, and “[contains (./ text (), 'seismic disguise')” as path components.

ここで、図6に示すように、XPath式解析部121によって抽出された「html」は入力XPath式の第0要素、「head」は第1要素、「title」は第2要素である。また、「[contains(./text(),’耐震偽装’)]」は、入力XPath式の第2述部である。なお、図6に示す「null」は空であることを示し、ここで説明した入力XPath式には、第0及び第1述部は存在しない。   Here, as shown in FIG. 6, “html” extracted by the XPath expression analysis unit 121 is the 0th element of the input XPath expression, “head” is the first element, and “title” is the second element. “[Contains (./ text (),’ seismic impersonation ’)]” is the second predicate of the input XPath expression. Note that “null” shown in FIG. 6 indicates that it is empty, and the 0th and first predicates do not exist in the input XPath expression described here.

次に、図7のフローチャートを参照して、上記した図4に示すステップS6の処理の詳細な処理手順について説明する。
まず、XPath式解析生成部12のテンプレート解析部122は、XPath式生成テンプレート読取部13によって読み取られたテンプレートを解析する。これにより、テンプレート解析部122は、解析されたテンプレートから、当該テンプレートに含まれる変数(部分)を切り出す(ステップS21)。
Next, a detailed processing procedure of the processing in step S6 shown in FIG. 4 will be described with reference to the flowchart in FIG.
First, the template analysis unit 122 of the XPath expression generation / generation unit 12 analyzes the template read by the XPath expression generation template reading unit 13. Thereby, the template analysis part 122 cuts out the variable (part) contained in the said template from the analyzed template (step S21).

次に、変換部123は、テンプレート解析部122によって切り出された変数部分を、XPath式解析部121によって抽出されたパス構成要素のうち、当該変数部分に該当するパス構成要素に置換する(ステップS22)。   Next, the conversion unit 123 replaces the variable part extracted by the template analysis unit 122 with the path component corresponding to the variable part among the path components extracted by the XPath expression analysis unit 121 (step S22). ).

図6に示したXPath式解析部121によって抽出されたパス構成要素の例を用いて具体的に説明する。曖昧レベル1のテンプレートAを「/${Elem.FIRST}//*[${Predicate.LAST}]」とする。テンプレートAの変数部分「${Elem.FIRST}」を、当該抽出されたパス構成要素のうち、第0要素である「html」に置換する。また、変数部分「${Predicate.LAST}」を、当該抽出されたパス構成要素のうち、第2述部(最終述部)である「contains(./text(),’耐震偽装’)」に置換する。   A specific description will be given using an example of a path component extracted by the XPath expression analysis unit 121 shown in FIG. The template A of the ambiguous level 1 is set to “/${Elem.FIRST}//*[${Predicate.LAST}]”. The variable portion “$ {Elem.FIRST}” of template A is replaced with “html” that is the 0th element among the extracted path components. Also, the variable part “$ {Predicate.LAST}” is replaced with “contains (./ text (), 'seismic impersonation”) which is the second predicate (final predicate) among the extracted path components. Replace with.

次に、XPath式生成部124は、変換部123によって置換されたものを定型XPath式として生成(確定)する(ステップS23)。具体的には、テンプレートの中の変数ではない部分「//」または「[]」と、得られたパス構成要素とを連結する。上記した例では、定型XPath式として、「/html//*[contains(./text(),’耐震偽装’)]」が生成される。なお、この定型XPath式によれば、「html」要素より以下の階層に「耐震偽装」の文字列が含まれるXMLデータが検索される。   Next, the XPath expression generation unit 124 generates (determines) what is replaced by the conversion unit 123 as a standard XPath expression (step S23). Specifically, the part “//” or “[]” that is not a variable in the template is connected to the obtained path component. In the above example, “/html//*[contains(./text(),’seismic impersonation’)] ”is generated as the standard XPath expression. Note that, according to this standard XPath expression, XML data including a character string “seismic anti-spoofing” in the following hierarchy from the “html” element is searched.

ここで、図8〜図12を参照して、XPath式生成テンプレート格納部14に格納されている曖昧レベル毎のテンプレートに応じて、XPath式が生成された際の検索処理について具体的に説明する。   Here, with reference to FIG. 8 to FIG. 12, the search processing when an XPath expression is generated according to a template for each ambiguity level stored in the XPath expression generation template storage unit 14 will be specifically described. .

図8〜図12は、それぞれXMLデータ格納部20に格納されているXMLデータの一例を示す。なお、図8に示すXMLデータ31は、XHTMLに準拠するXMLデータである。図9に示すXMLデータ32は、NewsMLに準拠するXMLデータである。図10に示すXMLデータ33は、RSSに準拠するXMLデータである。図11に示すXMLデータ34は、Atomに準拠するXMLデータである。図12に示すXMLデータ35は、図8のXMLデータ31と同様に、XHTMLに準拠するXMLデータである。   8 to 12 show examples of XML data stored in the XML data storage unit 20, respectively. Note that the XML data 31 shown in FIG. 8 is XML data compliant with XHTML. The XML data 32 shown in FIG. 9 is XML data compliant with NewsML. XML data 33 shown in FIG. 10 is XML data compliant with RSS. The XML data 34 shown in FIG. 11 is XML data that conforms to Atom. The XML data 35 shown in FIG. 12 is XML data conforming to XHTML, similarly to the XML data 31 shown in FIG.

ここで、入力XPath式が「/html/head/title[contains(./text(),’耐震偽装’)]」である場合を想定する。この入力XPath式は、例えばユーザによって指定されたスキーマ(ここでは、XHTML)に準拠したXPath式である。この場合、例えば図6で説明したように、パス構成要素として入力XPath式の第0要素である「html」、第1要素である「head」、第2要素(最終要素)である「title」及び第2述部(最終述部)である「[contains(./text(),’耐震偽装’)]」が抽出されたものとする。   Here, it is assumed that the input XPath expression is “/html/head/title[contains(./text(),’seismic impersonation’)] ”. The input XPath expression is an XPath expression that conforms to a schema (here, XHTML) specified by the user, for example. In this case, for example, as described with reference to FIG. 6, “html” that is the 0th element of the input XPath expression, “head” that is the first element, and “title” that is the second element (final element) as the path components. And the second predicate (final predicate) “[contains (./ text (), 'seismic disguise')]” is extracted.

また、曖昧レベル毎のテンプレートの例として、曖昧レベル1のテンプレートAは、「/${Elem.FIRST}//*[${Predicate.LAST}]」であるものとする。曖昧レベル2のテンプレートDは、「//${Elem.LAST}[${Predicate.LAST}]」であるものとする。また、曖昧レベル3のテンプレートFは、「//*[${Predicate.LAST}]」であるものとする。   Further, as an example of a template for each ambiguity level, the template A at the ambiguity level 1 is “/${Elem.FIRST}//*[${Predicate.LAST}]”. The template D of the ambiguity level 2 is “//${Elem.LAST}[${Predicate.LAST}]”. Further, it is assumed that the template F of the ambiguous level 3 is “//*[${Predicate.LAST}]”.

まず、入力XPath式を用いて検索処理が実行された場合、当該入力XPath式によれば、要素「html」より以下の階層に要素「head」があり、当該要素「head」より以下の階層に要素「title」があり、当該要素「title」の内容に「耐震偽装」の文字列が含まれるXMLデータが検索される。入力XPath式に合致するXMLデータとしては、XMLデータ31〜35のうち、XMLデータ31の1件が該当する。つまり、XHTMLに準拠するXMLデータが検索される。   First, when search processing is executed using an input XPath expression, according to the input XPath expression, there is an element “head” below the element “html” and below the element “head”. There is an element “title”, and XML data in which the content of the element “title” includes the character string “quake-proof camouflage” is searched. The XML data that matches the input XPath expression corresponds to one case of the XML data 31 among the XML data 31 to 35. That is, XML data that conforms to XHTML is retrieved.

次に、曖昧レベル1のテンプレートA及び抽出されたパス構成要素から、定型XPath式として「/html//*[contains(./text(),’耐震偽装’)]」が生成される。この定型XPath式を用いて検索処理が実行された場合、当該定型XPath式によれば、要素「html」より以下の階層に「耐震偽装」の文字列が含まれているXMLデータが検索される。この定型XPath式に合致するXMLデータとしては、XMLデータ31〜35のうち、XMLデータ31及び35の2件が該当する。つまり、上記した入力XPath式に合致するXMLデータ(XMLデータ31)を含むXHTMLに準拠するXMLデータが検索される。   Next, “/ html // * [contains (./ text (),’ seismic impersonation ’)]” is generated as a standard XPath expression from the template A of the ambiguous level 1 and the extracted path components. When search processing is executed using this standard XPath expression, XML data that includes the character string of “seismic impersonation” in the following hierarchy from the element “html” is searched according to the standard XPath expression. . As XML data that matches the standard XPath expression, two pieces of XML data 31 and 35 among the XML data 31 to 35 correspond. That is, XML data that conforms to XHTML including XML data (XML data 31) that matches the input XPath expression described above is retrieved.

また、曖昧レベル2のテンプレートD及び抽出されたパス構成要素から、定型XPath式として「//title[contains(./text(),’耐震偽装’)]」が生成される。この定型XPath式を用いて検索処理が実行された場合、当該定型XPath式によれば、要素「title」の内容に「耐震偽装」の文字列が含まれるXMLデータが検索される。この定型XPath式に合致するXMLデータとしては、XMLデータ31〜35のうち、XMLデータ31、33及び34の3件が該当する。つまり、ユーザによって指定されたスキーマ(XHTML)とは異なるスキーマ(RSS及びAtom)に準拠するXMLデータ(XMLデータ33及び34)も検索される。   Also, “//title[contains(./text(),’seismic impersonation’)] ”is generated as a standard XPath expression from the template D of the ambiguous level 2 and the extracted path components. When search processing is executed using this standard XPath expression, XML data in which the character string “seismic impersonation” is included in the content of the element “title” is searched according to the standard XPath expression. As XML data that matches the standard XPath expression, three pieces of XML data 31, 33, and 34 among the XML data 31 to 35 correspond. That is, XML data (XML data 33 and 34) conforming to a schema (RSS and Atom) different from the schema (XHTML) specified by the user is also searched.

また、曖昧レベル3のテンプレートF及び抽出されたパス構成要素から、定型XPath式として「//*[contains(./text(),’耐震偽装’)]が生成される。この定型XPath式を用いて検索処理が実行された場合、当該定型XPath式によれば、「耐震偽装」の文字列が含まれるXMLデータが検索される。換言すれば、「耐震偽装」の文字列(キーワード)で全文検索を実行した場合に相当する。この定型XPath式に合致するXMLデータとしては、XMLデータ31〜35の全てが該当する。つまり、ユーザによって指定されたスキーマ(XHTML)とは異なるスキーマ(NewsML、RSS及びAtom)に準拠するXMLデータ(XMLデータ32、33及び34)も検索される。   In addition, “//*[contains(./text(),'seismic impersonation ')]” is generated as a standard XPath expression from the template F of the ambiguous level 3 and the extracted path components. When the search process is executed using the XML data, the XML data including the character string “quake-proof camouflage” is searched according to the standard XPath expression. In other words, this corresponds to a case where a full-text search is executed using a character string (keyword) of “seismic resistance camouflage”. All of the XML data 31 to 35 corresponds to the XML data that matches the standard XPath expression. That is, XML data (XML data 32, 33, and 34) that conforms to a schema (NewsML, RSS, and Atom) different from the schema (XHTML) specified by the user is also searched.

このように、例えばXHTMLに準拠した入力XPath式のみを用いて検索処理が実行された場合には、XHTMLに準拠したXMLデータ31のみが検索される。しかしながら、XPath式生成テンプレート格納部14に格納されているテンプレート及びXPath式から抽出されたパス構成要素に基づいて、定型XPath式を生成し検索することによって、スキーマが異なる(つまり、XHTMLに準拠していない)XMLデータ32〜34であっても検索することができる。   As described above, for example, when the search process is executed using only the input XPath expression compliant with XHTML, only the XML data 31 compliant with XHTML is searched. However, by generating and searching a standard XPath expression based on a template stored in the XPath expression generation template storage unit 14 and a path component extracted from the XPath expression, the schema is different (that is, conforming to XHTML). It is possible to search even the XML data 32-34.

本実施形態においては、ユーザによって指定された入力XPath式からパス構成要素を抽出し、当該パス構成要素及びテンプレートを用いて定型XPath式が生成される。これにより、ユーザによって指定されたスキーマ以外のスキーマに準拠したXMLデータであっても検索することが可能となる。   In the present embodiment, a path component is extracted from an input XPath expression specified by the user, and a standard XPath expression is generated using the path component and the template. As a result, even XML data that conforms to a schema other than the schema specified by the user can be searched.

また、上記実施形態においては、階層構造を意識したテンプレートを作成することで、定型XPath式を用いて検索処理が実行された場合であっても、ノイズデータを少なくすることが可能である。   Further, in the above embodiment, by creating a template that takes into account the hierarchical structure, it is possible to reduce noise data even when search processing is executed using a standard XPath expression.

また、上記実施形態においては、XPath式生成テンプレート格納部14に格納されているテンプレートは、スキーマに依存しないため、例えば新規のスキーマを持つXMLデータが検索対象となった場合であっても、変更等の処理を行う必要がない。すなわち、スキーマに準拠した入力XPath式によらず、テンプレートからXPath式を作成することにより準拠しないスキーマをもつXMLデータを検索することができる。これにより、新規のスキーマを持つXMLデータが検索対象となった場合であっても、例えばテンプレートを変更する際の手間やコストを削減することが可能となる。   In the above embodiment, since the template stored in the XPath expression generation template storage unit 14 does not depend on the schema, for example, even when XML data having a new schema is a search target, it is changed. It is not necessary to perform such processing. In other words, XML data having a schema that does not comply can be retrieved by creating an XPath expression from a template, regardless of the input XPath expression conforming to the schema. Thereby, even when XML data having a new schema is a search target, it is possible to reduce labor and cost when changing a template, for example.

なお、上記した本実施形態においては、入力XPath式は例えばユーザによって指定されたスキーマに準拠するものとして説明したが、当該入力XPath式は、例えばユーザによって指定されたスキーマに準拠するものでなくとも、XPath式生成テンプレート格納部14に格納されているテンプレートに基づいて、定型XPath式が生成可能なXPath式であればよい。   In the above-described embodiment, the input XPath expression is described as conforming to a schema specified by the user, for example. However, the input XPath expression may not conform to the schema specified by the user, for example. Any XPath expression that can generate a standard XPath expression based on a template stored in the XPath expression generation template storage unit 14 may be used.

また、入力XPath式と同一の定型XPath式を生成可能なテンプレートが、XPath式生成テンプレート格納部14に存在する場合には、当該入力XPath式を用いて検索処理を実行せず、当該テンプレートを用いて生成された(当該入力XPath式と同一の)定型XPath式のみを用いて検索処理を行う構成であっても構わない。   If a template that can generate the same fixed XPath expression as the input XPath expression exists in the XPath expression generation template storage unit 14, the search process is not performed using the input XPath expression, and the template is used. The search processing may be performed using only the standard XPath expression generated in the same manner (same as the input XPath expression).

[第1の変形例]
本実施形態の第1の変形例について説明する。本変形例に係る構造化データ検索装置10は、入力された指定件数情報によって示される検索件数を超えるまで検索処理を実行する。
[First Modification]
A first modification of the present embodiment will be described. The structured data search device 10 according to the present modification executes search processing until the number of searches indicated by the input designated number information is exceeded.

図13のフローチャートを参照して、構造化データ検索装置10の処理手順について説明する。
まず、入力部11は、ユーザによって指定されたスキーマに準拠するXMLデータを検索するためのXPath式及びユーザによって指定された検索件数(検索結果数)を示す指定件数情報が入力される(ステップS31)。ここでは、ユーザによって指定された検索件数はx(xは、1以上の整数)件であるものとして説明する。
With reference to the flowchart of FIG. 13, the processing procedure of the structured data search apparatus 10 will be described.
First, the input unit 11 receives an XPath expression for searching XML data that conforms to a schema specified by the user, and specified number information indicating the number of searches (search result number) specified by the user (step S31). ). Here, the description will be made assuming that the number of searches designated by the user is x (x is an integer of 1 or more).

次に、XMLデータ検索部15は、入力部11に入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS32)。   Next, the XML data search unit 15 uses the XPath expression (input XPath expression) input to the input unit 11 to search for XML data that matches the input XPath expression from the XML data storage unit 20 (step S32). .

XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS33)。このとき、このXMLデータは曖昧レベル0の検索結果として保持される。   The XML data searched by the XML data search unit 15 is held in a storage unit included in the XML data search unit 15 (step S33). At this time, the XML data is held as a search result of an ambiguous level 0.

次に、XPath式解析生成部12は、XMLデータ検索部15によって検索されたXMLデータの検索件数がx件未満であるか否かを判定する(ステップS34)。検索されたXMLデータの検索件数がx件未満であると判定された場合(ステップS34のYES)、XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS35)。   Next, the XPath expression analysis generation unit 12 determines whether or not the number of XML data retrieved by the XML data retrieval unit 15 is less than x (step S34). When it is determined that the number of retrieved XML data is less than x (YES in step S34), the XPath expression analysis generation unit 12 analyzes the input XPath expression. Thereby, the XPath expression analysis generation unit 12 extracts each path component included in the input XPath expression (step S35).

次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)をする。ここでは、XPath式解析生成部12は、まず曖昧度が低いテンプレートから読み取るよう読取要求をする。   Next, the XPath expression analysis / generation unit 12 requests the XPath expression generation template reading unit 13 to read (read) the template of the ambiguous level n from the XPath expression generation template storage unit 14 (read request). Here, the XPath expression analysis generation unit 12 first requests reading from a template with low ambiguity.

XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS36)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する。   The XPath expression generation template reading unit 13 reads a template stored in the XPath expression generation template storage unit 14 in response to a read request from the XPath expression analysis generation unit 12 (step S36). First, an ambiguous level 1 template is read from the XPath expression generation template storage unit 14. The XPath expression generation template reading unit 13 outputs the read template to the XPath expression analysis generation unit 12.

XPath式解析生成部12は、ステップS35において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS37)。   The XPath expression analysis generation unit 12 generates a standard XPath expression based on the path component extracted in step S35 and the template read by the XPath expression generation template reading unit 13 (step S37).

XMLデータ検索部15は、XPath式解析生成部12によって生成されたXPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS38)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS39)。このXMLデータは、曖昧レベル毎の検索結果として保持される。   The XML data search unit 15 searches the XML data storage device 20 for XML data that matches the XPath expression using the XPath expression generated by the XPath expression analysis generation unit 12 (step S38). The XML data searched by the XML data search unit 15 is held in the storage unit of the XML data search unit 15 (step S39). This XML data is held as a search result for each ambiguity level.

次に、XPath式解析生成部12は、これまでの総検索結果件数がx件未満であるか否かを判定する(ステップS40)。総検索結果件数は、ここでは、曖昧レベル0及び1の検索結果件数の総数である。   Next, the XPath expression analysis generation unit 12 determines whether or not the total number of search results so far is less than x (step S40). Here, the total number of search results is the total number of search results of the ambiguity levels 0 and 1.

総検索結果件数がx件未満であると判定された場合(ステップS40のYES)、ステップS36に戻って処理が繰り返される。この場合、ステップS36において曖昧レベル2のテンプレートについての処理が実行される。つまり、総検索結果件数がx件を越えるまで、曖昧レベルが低い順に処理が繰り返される。   When it is determined that the total number of search results is less than x (YES in step S40), the process returns to step S36 and is repeated. In this case, the processing for the template of the ambiguity level 2 is executed in step S36. That is, until the total number of search results exceeds x, the process is repeated in ascending order of the ambiguity level.

一方、総検索結果件数がx件未満でないと判定された場合(ステップS40のNO)、結果出力部16は、XMLデータ検索部15の記憶部に保持されている検索結果を例えばユーザに対して表示するために出力する(ステップS41)。結果出力部16は、例えば曖昧レベル毎に検索結果を出力する。   On the other hand, when it is determined that the total number of search results is not less than x (NO in step S40), the result output unit 16 sends the search results held in the storage unit of the XML data search unit 15 to the user, for example. Output for display (step S41). The result output unit 16 outputs a search result for each ambiguity level, for example.

一方、ステップS34において、検索されたXMLデータの検索件数がx件未満でないと判定された場合、ステップS41の処理が実行される。   On the other hand, if it is determined in step S34 that the number of searched XML data is not less than x, the process of step S41 is executed.

上記したように本変形例においては、ユーザによって指定された検索件数に限定されており、また、曖昧レベルが低いテンプレートの順に処理が実行されるため、例えばXPath式生成テンプレート格納部14に格納されているすべてのテンプレートに基づいて生成された定型XPath式を用いて検索処理が実行された場合より、ノイズデータを少なくし、よりユーザにとって所望の検索結果を得ることが可能となる。   As described above, in this modified example, the number of searches specified by the user is limited, and the processing is executed in the order of the template with the lower ambiguity level, and therefore, for example, stored in the XPath expression generation template storage unit 14. As compared with the case where the search process is executed using the standard XPath expression generated based on all the templates, it is possible to reduce the noise data and obtain a desired search result for the user.

[第2の変形例]
本実施形態の第2の変形例について説明する。本変形例に係る構造化データ検索装置10は、入力部11に入力された指定レベル情報によって示される曖昧レベルに制限して検索処理を実行する。
[Second Modification]
A second modification of the present embodiment will be described. The structured data search apparatus 10 according to the present modification executes the search process by limiting to the ambiguity level indicated by the designation level information input to the input unit 11.

次に、図14のフローチャートを参照して、構造化データ検索装置10の処理手順について説明する。
まず、入力部11は、ユーザによって指定されたスキーマに準拠するXMLデータを検索するためのXPath式及びユーザによって指定された曖昧レベルを示す指定レベル情報が入力される(ステップS51)。ここでは、ユーザによって指定された曖昧レベル(以下、指定曖昧レベルと表記)は、N(Nは、0以上の整数)であるものとして説明する。
Next, the processing procedure of the structured data search device 10 will be described with reference to the flowchart of FIG.
First, the input unit 11 receives an XPath expression for searching XML data that conforms to the schema specified by the user and specified level information indicating the ambiguity level specified by the user (step S51). Here, the fuzzy level designated by the user (hereinafter referred to as a designated fuzzy level) is assumed to be N (N is an integer of 0 or more).

次に、XMLデータ検索部15は、入力部11によって入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS52)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS53)。このとき、このXMLデータは曖昧レベル0の検索結果として保持される。   Next, the XML data search unit 15 searches the XML data storage unit 20 for XML data that matches the input XPath expression using the XPath expression (input XPath expression) input by the input unit 11 (step S52). . The XML data searched by the XML data search unit 15 is held in a storage unit included in the XML data search unit 15 (step S53). At this time, the XML data is held as a search result of an ambiguous level 0.

次に、XPath式解析生成部12は、入力部11に入力された指定レベル情報によって示される指定曖昧レベル(ここでは、N)が0であるか否かが判定される(ステップS54)。
指定曖昧レベルが0でないと判定された場合(ステップS54のNO)、XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS55)。
Next, the XPath expression analysis generation unit 12 determines whether or not the designation ambiguity level (N in this case) indicated by the designation level information input to the input unit 11 is 0 (step S54).
When it is determined that the designated ambiguity level is not 0 (NO in step S54), the XPath expression analysis generation unit 12 analyzes the input XPath expression. Thereby, the XPath expression analysis generator 12 extracts each path component included in the input XPath expression (step S55).

次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)をする。ここでは、XPath式解析生成部12は、まず曖昧度の低いテンプレートから読み取るよう読取要求をする。   Next, the XPath expression analysis / generation unit 12 requests the XPath expression generation template reading unit 13 to read (read) the template of the ambiguous level n from the XPath expression generation template storage unit 14 (read request). Here, the XPath expression analysis generation unit 12 first requests reading from a template with low ambiguity.

XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS56)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する。   The XPath expression generation template reading unit 13 reads a template stored in the XPath expression generation template storage unit 14 in response to a read request from the XPath expression analysis generation unit 12 (step S56). First, an ambiguous level 1 template is read from the XPath expression generation template storage unit 14. The XPath expression generation template reading unit 13 outputs the read template to the XPath expression analysis generation unit 12.

XPath式解析生成部12は、ステップS55において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS57)。   The XPath expression analysis generator 12 generates a standard XPath expression based on the path component extracted in step S55 and the template read by the XPath expression generation template reader 13 (step S57).

XMLデータ検索部15は、XPath式解析生成部12によって生成されたXPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS58)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS59)。このXMLデータは、曖昧レベル毎の検索結果として保持される。   The XML data search unit 15 searches the XML data storage device 20 for XML data that matches the XPath expression using the XPath expression generated by the XPath expression analysis generation unit 12 (step S58). The XML data searched by the XML data search unit 15 is held in the storage unit of the XML data search unit 15 (step S59). This XML data is held as a search result for each ambiguity level.

次に、XPath式解析生成部12は、指定曖昧レベルがnであるか否かを判定する(ステップS60)。このとき、nの値は1である。つまり、指定曖昧レベルが1であるか否かが判定される。
指定レベル情報によって示される曖昧レベルがn(ここでは1)でないと判定された場合(ステップS60のNO)、ステップS56に戻って処理が繰り返される。この場合では、ステップS56において曖昧レベル2のテンプレートについての処理が実行される。つまり、曖昧レベルがNのテンプレートが処理されるまで、曖昧レベルが低い順に処理が繰り返される。換言すると、曖昧レベルがNより低いレベルに対応付けられているテンプレートについてのみ処理が実行される。
一方、指定曖昧レベルがnであると判定された場合(ステップS60のYES)、結果出力部16は、XMLデータ検索部15の記憶部に保持されている検索結果を例えばユーザに対して表示するために出力する(ステップS61)。結果出力部16は、例えば曖昧レベル毎に検索結果を出力する。
Next, the XPath expression analysis generation unit 12 determines whether or not the designated ambiguity level is n (step S60). At this time, the value of n is 1. That is, it is determined whether or not the designated ambiguity level is 1.
When it is determined that the ambiguity level indicated by the specified level information is not n (here, 1) (NO in step S60), the process returns to step S56 and is repeated. In this case, the processing for the template of the ambiguity level 2 is executed in step S56. That is, the processing is repeated in ascending order of the ambiguity level until the template with the ambiguity level N is processed. In other words, the process is executed only for a template associated with a level whose ambiguity level is lower than N.
On the other hand, when it is determined that the designated ambiguity level is n (YES in step S60), the result output unit 16 displays the search results held in the storage unit of the XML data search unit 15 to the user, for example. For this purpose (step S61). The result output unit 16 outputs a search result for each ambiguity level, for example.

一方、ステップS54において、指定曖昧レベルが0であると判定された場合、ステップS61の処理が実行される。   On the other hand, if it is determined in step S54 that the designated ambiguity level is 0, the process of step S61 is executed.

上記したように本変形例においては、ユーザによって指定された曖昧レベルのテンプレートまでを用いて定型XPath式が生成され、検索処理が実行される。これによって、よりユーザにとって所望の検索結果を得ることが可能となる。   As described above, in this modification, a fixed XPath expression is generated using a template of an ambiguous level designated by the user, and a search process is executed. As a result, it is possible to obtain a desired search result for the user.

なお、本願発明は、上記実施形態またはその各変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその各変形例に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態またはその各変形例に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態またはその各変形例に亘る構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment or its modifications, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above-described embodiment or its modifications. For example, you may delete a some component from all the components shown by embodiment or each modification. Furthermore, you may combine suitably the component covering different embodiment or its modification.

本発明の実施形態に係る構造化データ検索装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the structured data search device which concerns on embodiment of this invention. 図1に示すXPath式解析生成部12の機能構成を示すブロック図。The block diagram which shows the function structure of the XPath type | formula analysis production | generation part 12 shown in FIG. XPath式生成テンプレート格納部14のデータ構造の一例を示す図。The figure which shows an example of the data structure of the XPath expression production | generation template storage part 14. FIG. 構造化データ検索装置10の処理手順を示すフローチャート。4 is a flowchart showing a processing procedure of the structured data search device 10. 図4に示すステップS4の処理の詳細な処理手順を示すフローチャート。The flowchart which shows the detailed process sequence of the process of step S4 shown in FIG. パス構成要素を抽出する処理について具体的に説明するための図。The figure for demonstrating concretely the process which extracts a path | pass component. 図4に示すステップS6の処理の詳細な処理手順を示すフローチャート。5 is a flowchart showing a detailed processing procedure of processing in step S6 shown in FIG. 4. XMLデータ格納部20に格納されているXMLデータの一例を示す図。The figure which shows an example of the XML data stored in the XML data storage part 20. FIG. XMLデータ格納部20に格納されているXMLデータの一例を示す図。The figure which shows an example of the XML data stored in the XML data storage part 20. FIG. XMLデータ格納部20に格納されているXMLデータの一例を示す図。The figure which shows an example of the XML data stored in the XML data storage part 20. FIG. XMLデータ格納部20に格納されているXMLデータの一例を示す図。The figure which shows an example of the XML data stored in the XML data storage part 20. FIG. XMLデータ格納部20に格納されているXMLデータの一例を示す図。The figure which shows an example of the XML data stored in the XML data storage part 20. FIG. 本実施形態の第1の変形例に係る構造化データ検索装置10の処理手順を示すフローチャート。The flowchart which shows the process sequence of the structured data search device 10 which concerns on the 1st modification of this embodiment. 本実施形態の第2の変形例に係る構造化データ検索装置10の処理手順を示すフローチャート。The flowchart which shows the process sequence of the structured data search device 10 which concerns on the 2nd modification of this embodiment.

符号の説明Explanation of symbols

10…構造化データ検索装置、11…入力部、12…XPath式解析生成部、13…XPath式生成テンプレート読取部、14…XPath式生成テンプレート格納部、15…XMLデータ検索部、16…結果出力部、20…XMLデータ格納装置、121…XPath式解析部、122…テンプレート解析部、123…変換部、124…XPath式生成部。   DESCRIPTION OF SYMBOLS 10 ... Structured data search device, 11 ... Input part, 12 ... XPath expression analysis generation part, 13 ... XPath expression generation template reading part, 14 ... XPath expression generation template storage part, 15 ... XML data search part, 16 ... Result output , 20 ... XML data storage device, 121 ... XPath expression analysis section, 122 ... Template analysis section, 123 ... Conversion section, 124 ... XPath expression generation section.

Claims (6)

スキーマが異なる複数の構造化データが格納されている構造化データ格納手段から、データを検索する構造化データ検索装置において、
ユーザによって指定された構成要素を含む構造化データを検索するための第1の検索式を入力する入力手段と、
前記第1の検索式を解析し、当該第1の検索式に含まれる構成要素を抽出する抽出手段と、
前記抽出された構成要素に基づいて、前記構造化データ格納手段に格納されている前記第1の検索式とは異なるスキーマの構造化データを検索するための第2の検索式を生成する検索式生成手段と、
前記第2の検索式を用いて、当該第2の検索式に合致する構造化データを前記構造化データ格納手段から検索する検索手段と、
前記検索手段の結果を出力する検索結果出力手段と
を具備することを特徴とする構造化データ検索装置。
In a structured data retrieval device for retrieving data from structured data storage means in which a plurality of structured data having different schemas are stored,
Input means for inputting a first search expression for searching for structured data including a component designated by a user;
Extracting means for analyzing the first search expression and extracting components included in the first search expression;
A search expression for generating a second search expression for searching for structured data having a schema different from the first search expression stored in the structured data storage unit based on the extracted component. Generating means;
Search means for searching the structured data storage means for structured data that matches the second search expression using the second search expression;
A structured data search apparatus comprising: search result output means for outputting a result of the search means.
スキーマが異なる複数の構造化データが格納されている構造化データ格納手段から、データを検索する構造化データ検索装置において、
ユーザによって指定されたスキーマの構造化データを検索するための当該ユーザによって指定された構成要素を含む第1の検索式を入力する入力手段と、
前記第1の検索式を解析し、当該第1の検索式に含まれる構成要素を抽出する抽出手段と、
前記抽出された構成要素に基づいて、前記指定されたスキーマ及び当該指定されたスキーマとは異なるスキーマの構造化データを検索するための第2の検索式を生成する検索式生成手段と、
前記第2の検索式を用いて、当該第2の検索式に合致する構造化データを前記構造化データ格納手段から検索する検索手段と、
前記検索手段の結果を出力する検索結果出力手段と
を具備することを特徴とする構造化データ検索装置。
In a structured data retrieval device for retrieving data from structured data storage means in which a plurality of structured data having different schemas are stored,
An input means for inputting a first search expression including a component specified by the user for searching the structured data of the schema specified by the user;
Extracting means for analyzing the first search expression and extracting components included in the first search expression;
Search expression generation means for generating a second search expression for searching the structured data of the specified schema and a schema different from the specified schema based on the extracted component;
Search means for searching the structured data storage means for structured data that matches the second search expression using the second search expression;
A structured data search apparatus comprising: search result output means for outputting a result of the search means.
前記構造化データ格納手段に格納されている構造化データを検索するための検索式に含まれる構成要素に変数が埋め込まれた形式で表現される少なくとも1つのテンプレートを予め格納するテンプレート格納手段を更に具備し、
前記検索式生成手段は、前記テンプレート格納手段に格納されている少なくとも1つのテンプレートに基づいて、当該テンプレートに埋め込まれている変数を前記抽出された構成要素に置換することによって前記第2の検索式を生成する
ことを特徴とする請求項1または2記載の構造化データ検索装置。
Template storage means for preliminarily storing at least one template expressed in a form in which a variable is embedded in a component included in a search expression for searching for structured data stored in the structured data storage means; Equipped,
The search expression generation means replaces a variable embedded in the template with the extracted component based on at least one template stored in the template storage means, thereby the second search expression. The structured data search device according to claim 1, wherein:
前記テンプレート格納手段は、前記少なくとも1つのテンプレートを含む前記変数の組み合わせがそれぞれ異なる複数のテンプレートを格納し、
前記複数のテンプレートの各々は、検索式の曖昧度を示すレベルに対応付けられており、
前記検索結果出力手段は、前記テンプレートに対応付けられているレベル毎に検索結果として出力する
ことを特徴とする請求項3記載の構造化データ検索装置。
The template storage means stores a plurality of templates each having a different combination of the variables including the at least one template,
Each of the plurality of templates is associated with a level indicating the ambiguity of the search expression,
The structured data search device according to claim 3, wherein the search result output means outputs a search result for each level associated with the template.
前記入力手段は、更に曖昧度を示す指定レベル情報を入力し、
前記検索式生成手段は、前記テンプレート格納手段に格納されている複数のテンプレートのうち、前記指定レベル情報によって示される曖昧度より低い曖昧度を示すレベルに対応付けられているテンプレートに基づいて、前記第2の検索式を生成する
ことを特徴とする請求項4記載の構造化データ検索装置。
The input means further inputs designated level information indicating ambiguity,
The search expression generation means is based on a template associated with a level indicating an ambiguity level lower than the ambiguity level indicated by the specified level information among a plurality of templates stored in the template storage means. 5. The structured data search device according to claim 4, wherein the second search expression is generated.
前記入力手段は、更に検索件数を示す指定件数情報を入力し、
前記検索式生成手段は、前記テンプレート格納手段に格納されている複数のテンプレートの各々に対応付けられている曖昧度が低い順に、当該テンプレートに基づいて前記第2の検索式を生成し、
前記検索手段は、検索された構造化データの数が前記指定件数情報によって示される検索件数を超えるまで、当該第2の検索式に合致する構造化データを順次検索する
ことを特徴とする請求項4記載の構造化データ検索装置。
The input means further inputs designated number information indicating the number of searches,
The search expression generation means generates the second search expression based on the template in ascending order of ambiguity associated with each of the plurality of templates stored in the template storage means,
The retrieval means sequentially retrieves structured data that matches the second retrieval formula until the number of retrieved structured data exceeds the number of retrievals indicated by the specified number of pieces of information. 4. The structured data search device according to 4.
JP2007003444A 2007-01-11 2007-01-11 Structured data search apparatus Withdrawn JP2008171181A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007003444A JP2008171181A (en) 2007-01-11 2007-01-11 Structured data search apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007003444A JP2008171181A (en) 2007-01-11 2007-01-11 Structured data search apparatus

Publications (1)

Publication Number Publication Date
JP2008171181A true JP2008171181A (en) 2008-07-24

Family

ID=39699217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007003444A Withdrawn JP2008171181A (en) 2007-01-11 2007-01-11 Structured data search apparatus

Country Status (1)

Country Link
JP (1) JP2008171181A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US9324043B2 (en) 2010-12-21 2016-04-26 Sita N.V. Reservation system and method
JP2016085758A (en) * 2012-08-31 2016-05-19 フェイスブック,インク. Api version testing based on query schema
US9460572B2 (en) 2013-06-14 2016-10-04 Sita Information Networking Computing Ireland Limited Portable user control system and method therefor
US9460412B2 (en) 2011-08-03 2016-10-04 Sita Information Networking Computing Usa, Inc. Item handling and tracking system and method therefor
US9491574B2 (en) 2012-02-09 2016-11-08 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
US10095486B2 (en) 2010-02-25 2018-10-09 Sita Information Networking Computing Ireland Limited Software application development tool
US10235641B2 (en) 2014-02-19 2019-03-19 Sita Information Networking Computing Ireland Limited Reservation system and method therefor
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095486B2 (en) 2010-02-25 2018-10-09 Sita Information Networking Computing Ireland Limited Software application development tool
US9324043B2 (en) 2010-12-21 2016-04-26 Sita N.V. Reservation system and method
US10586179B2 (en) 2010-12-21 2020-03-10 Sita N.V. Reservation system and method
US10586180B2 (en) 2010-12-21 2020-03-10 Sita N.V. Reservation system and method
US9460412B2 (en) 2011-08-03 2016-10-04 Sita Information Networking Computing Usa, Inc. Item handling and tracking system and method therefor
US9491574B2 (en) 2012-02-09 2016-11-08 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US10129703B2 (en) 2012-02-09 2018-11-13 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US9667627B2 (en) 2012-04-10 2017-05-30 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
JP2016085758A (en) * 2012-08-31 2016-05-19 フェイスブック,インク. Api version testing based on query schema
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew
US9460572B2 (en) 2013-06-14 2016-10-04 Sita Information Networking Computing Ireland Limited Portable user control system and method therefor
US10235641B2 (en) 2014-02-19 2019-03-19 Sita Information Networking Computing Ireland Limited Reservation system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position

Similar Documents

Publication Publication Date Title
JP2008171181A (en) Structured data search apparatus
US9092417B2 (en) Systems and methods for extracting data from a document in an electronic format
JP4189416B2 (en) Structured document management system and program
US7171404B2 (en) Parent-child query indexing for XML databases
US7293018B2 (en) Apparatus, method, and program for retrieving structured documents
US20140114994A1 (en) Apparatus and Method for Securing Preliminary Information About Database Fragments for Utilization in Mapreduce Processing
JP4207438B2 (en) XML document storage / retrieval apparatus, XML document storage / retrieval method used therefor, and program thereof
JP4247135B2 (en) Structured document storage method, structured document storage device, structured document search method
JP2006185408A (en) Database construction device, database retrieval device, and database device
KR100899616B1 (en) Method and system of management metadata using relational database management system
JP2008102736A (en) Retrieval apparatus and retrieval method
US8171040B2 (en) Method and system for navigation of a data structure
JP5196924B2 (en) Database processing apparatus, method and program
JP3914081B2 (en) Access authority setting method and structured document management system
JP4439497B2 (en) Search processing apparatus and program
JP4439496B2 (en) Search processing apparatus and program
JP4649339B2 (en) XPath processing apparatus, XPath processing method, XPath processing program, and storage medium
JP3923961B2 (en) XML variant search system and XML variant search method
JP2004118543A (en) Method for retrieving structured document, and method, device and program for supporting retrieval
Škrbić et al. Bibliographic records editor in XML native environment
JP2009251845A (en) Retrieval result evaluation device and retrieval result evaluation method
JPH11328199A (en) Dynamic data base retrieving system, its method and storage medium
Marin-Castro et al. VR-Tree: A novel tree-based approach for modeling Web Query Interfaces
JP2010086470A (en) Structured data retrieval program and structured data retrieval device
Li et al. WDEE: Web data extraction by example

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406