JP2008171181A - Structured data search apparatus - Google Patents
Structured data search apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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を参照)。
上記したような第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
また、構造化データ検索装置10の外部には、XMLデータ格納装置20が設けられている。このXMLデータ格納装置20には、例えばスキーマ(データ構造)が異なる複数の構造化データ(以下、XMLデータと表記)が格納されている。XMLデータは、例えば当該XMLデータ中に記述されたタグによって階層化されたデータである。また、異なるスキーマには、例えばXHTML(Extensible HyperText Markup Language)、NewsML、RSS(Rich Site Summary)またはAtom等が含まれる。
An XML
入力部11は、例えばユーザによって指定されたスキーマに準拠するXMLデータを検索するための検索式(第1の検索式)を入力する。この検索式(以下、XPath式と表記)は、パス形式で示される。また、XPath式には、例えばユーザによって指定された構成要素(以下、パス構成要素と表記)が含まれる。XPath式は、当該XPath式に含まれる構成要素の配列により構造化データの構造が表されている。XPath式に含まれるパス構成要素は、例えばXMLデータのタグに該当する要素(または属性)または当該要素に対する制限を示す述部を含む。この述部には、例えば該当する要素の内容に、ある文字列が含まれることを示す「contains」のような関数が含まれる。XPath式は、例えば「/第0要素[第0述部]/第1要素[第1述部]/…/最終要素または属性[最終述部]」のように示される。なお、第n要素(または第n述部)のn(n=0、1、…)は、XPath式に含まれる構成要素の階層を表す。また、[第n述部]及び[最終述部]の部分は、省略することが可能である。
The
XPath式解析生成部12は、入力部11に入力されたXPath式(以下、入力XPath式と表記)を解析する。XPath式解析生成部12は、解析結果に応じて、入力XPath式に含まれるパス構成要素を抽出する。また、XPath式解析生成部12は、抽出されたパス構成要素及びXPath式生成テンプレート格納部14に格納されているテンプレートに基づいて、定型XPath式を生成する。XPath式解析生成部12は、ユーザによって指定されたスキーマ及び当該指定されたスキーマとは異なるスキーマに準拠する構造化データを検索するための定型XPath式(第2の検索式)を生成する。
The XPath expression
XPath式生成テンプレート読取部13は、例えばXPath式生成テンプレート格納部14に予め格納されているXPath式生成テンプレート(以下、単にテンプレートと表記)を読み取る。XPath式生成テンプレート読取部13は、読み取られたテンプレートをXPath式解析生成部12に渡す。
The XPath expression generation
XPath式生成テンプレート格納部14には、複数のテンプレートが格納されている。この複数のテンプレートは、例えば定型XPath式を生成するために用いられるテンプレートファイルである。複数のテンプレートは、例えばXPath式に含まれるパス構成要素に変数が埋め込まれた形式で表現される。複数のテンプレートの各々は、変数の組み合わせがそれぞれ異なる。テンプレートに埋め込まれている変数は、例えばXPath式に含まれるパス構成要素の該当部分に対応し、機械的にXPath式を生成可能な形式であるものとする。変数は、XPath式に含まれる構成要素の階層を表すように予め定義されている。
The XPath expression generation
また、テンプレートの各々は、例えば当該テンプレートを用いて生成されるXPath式の曖昧度を示すレベル(以下、曖昧レベルと表記)に対応付けてXPath式生成テンプレート格納部14に格納されている。この曖昧レベルは、例えば1または複数の段階に設定されている。
Each template is stored in the XPath expression generation
XMLデータ検索部15は、XMLデータ格納装置20に格納されているXMLデータのうち、入力XPath式またはXPath式解析生成部12によって生成された定型XPath式を用いてXMLデータを検索する。また、XMLデータ検索部15は、検索された結果を記憶(保持)する記憶部(図示せず)を含む。
The XML
結果出力部16は、XMLデータ検索部15によって検索されたXMLデータを検索結果として、例えばユーザに対して表示するために出力する。また、結果出力部16は、例えば入力XPath式を用いて検索されたXMLデータまたはXPath式解析生成部12によって生成された定型XPath式を用いて検索されたXMLデータを区別して出力する。また、結果出力部16は、XPath式解析生成部12によって生成された定型XPath式を用いて検索されたXMLデータを、当該XPath式が生成される際に用いられたテンプレートのレベル毎に検索結果を出力(表示)する。
The
図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
XPath式解析部121は、入力XPath式を解析する。XPath式解析部121は、解析結果に応じて、パス構成要素を抽出する。
The XPath
テンプレート解析部122は、XPath式生成テンプレート読取部13によって読み取られたテンプレートを解析する。テンプレート解析部122は、解析結果に応じて、テンプレートの変数(部分)を切り出す。
The
変換部123は、XPath式解析部121によって抽出されたパス構成要素及びテンプレート解析部122によって切り出された変数から対応付けを行い、対応するパス構成要素を変数に置換する処理を実行する。
The
XPath式生成部124は、変換部123によって置換処理されたテンプレートから、定型XPath式を生成する。
The XPath
図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
曖昧レベルは、各テンプレートに基づいて生成された定型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
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
First, the
次に、XMLデータ検索部15は、入力部11に入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS2)。
Next, the XML
XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS3)。このとき、このXMLデータは、曖昧レベル0の検索結果として保持される。
The XML data searched by the XML
XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS4)。
The XPath
次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)を出力する。XPath式生成解析生成部12は、まず曖昧度が低いテンプレートを読み取るよう読取要求する。
Next, the XPath expression
XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS5)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。このとき、上記した図3に示すXPath式生成テンプレート格納部14のように、例えば曖昧レベル1に対応付けて複数のテンプレートが格納されている場合には、当該複数のテンプレートの全てを読み取るものとする。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する(渡す)。
The XPath expression generation
XPath式解析生成部12は、ステップS4において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS6)。このとき、例えばXPath式生成テンプレート読取部13によって複数のテンプレートが読み出された場合には、当該複数のテンプレートの各々について、定型XPath式が生成される。
The XPath expression
XMLデータ検索部15は、XPath式解析生成部12によって生成された定型XPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS7)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS8)。この場合、検索されたXMLデータは、曖昧レベル毎の検索結果として保持される。
The XML
次に、XPath式解析生成部12は、XPath式生成テンプレート格納部14に定型XPath式を生成する処理が実行されていないテンプレート(未処理テンプレート)が存在するか否かを判定する(ステップS9)。
Next, the XPath expression
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
一方、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
なお、ここでは、上記したように入力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
次に、図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
次に、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
XPath式解析部121は、ステップS11及びS12において分離された要素または述部の各々を、パス構成要素として抽出する(ステップS13)。
The XPath
ここで、図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
次に、分離された「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
これにより、XPath式解析部121は、パス構成要素として「html」、「head」、「title」及び「[contains(./text(),’耐震偽装’)]」を抽出する。
As a result, the XPath
ここで、図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
次に、図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
次に、変換部123は、テンプレート解析部122によって切り出された変数部分を、XPath式解析部121によって抽出されたパス構成要素のうち、当該変数部分に該当するパス構成要素に置換する(ステップS22)。
Next, the
図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
次に、XPath式生成部124は、変換部123によって置換されたものを定型XPath式として生成(確定)する(ステップS23)。具体的には、テンプレートの中の変数ではない部分「//」または「[]」と、得られたパス構成要素とを連結する。上記した例では、定型XPath式として、「/html//*[contains(./text(),’耐震偽装’)]」が生成される。なお、この定型XPath式によれば、「html」要素より以下の階層に「耐震偽装」の文字列が含まれるXMLデータが検索される。
Next, the XPath
ここで、図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
図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
ここで、入力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
まず、入力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
次に、曖昧レベル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
また、曖昧レベル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
また、曖昧レベル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
このように、例えば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
本実施形態においては、ユーザによって指定された入力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
なお、上記した本実施形態においては、入力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
また、入力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
[第1の変形例]
本実施形態の第1の変形例について説明する。本変形例に係る構造化データ検索装置10は、入力された指定件数情報によって示される検索件数を超えるまで検索処理を実行する。
[First Modification]
A first modification of the present embodiment will be described. The structured
図13のフローチャートを参照して、構造化データ検索装置10の処理手順について説明する。
まず、入力部11は、ユーザによって指定されたスキーマに準拠するXMLデータを検索するためのXPath式及びユーザによって指定された検索件数(検索結果数)を示す指定件数情報が入力される(ステップS31)。ここでは、ユーザによって指定された検索件数はx(xは、1以上の整数)件であるものとして説明する。
With reference to the flowchart of FIG. 13, the processing procedure of the structured
First, the
次に、XMLデータ検索部15は、入力部11に入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS32)。
Next, the XML
XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS33)。このとき、このXMLデータは曖昧レベル0の検索結果として保持される。
The XML data searched by the XML
次に、XPath式解析生成部12は、XMLデータ検索部15によって検索されたXMLデータの検索件数がx件未満であるか否かを判定する(ステップS34)。検索されたXMLデータの検索件数がx件未満であると判定された場合(ステップS34のYES)、XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS35)。
Next, the XPath expression
次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)をする。ここでは、XPath式解析生成部12は、まず曖昧度が低いテンプレートから読み取るよう読取要求をする。
Next, the XPath expression analysis /
XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS36)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する。
The XPath expression generation
XPath式解析生成部12は、ステップS35において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS37)。
The XPath expression
XMLデータ検索部15は、XPath式解析生成部12によって生成されたXPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS38)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS39)。このXMLデータは、曖昧レベル毎の検索結果として保持される。
The XML
次に、XPath式解析生成部12は、これまでの総検索結果件数がx件未満であるか否かを判定する(ステップS40)。総検索結果件数は、ここでは、曖昧レベル0及び1の検索結果件数の総数である。
Next, the XPath expression
総検索結果件数が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
一方、総検索結果件数が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
一方、ステップ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
[第2の変形例]
本実施形態の第2の変形例について説明する。本変形例に係る構造化データ検索装置10は、入力部11に入力された指定レベル情報によって示される曖昧レベルに制限して検索処理を実行する。
[Second Modification]
A second modification of the present embodiment will be described. The structured
次に、図14のフローチャートを参照して、構造化データ検索装置10の処理手順について説明する。
まず、入力部11は、ユーザによって指定されたスキーマに準拠するXMLデータを検索するためのXPath式及びユーザによって指定された曖昧レベルを示す指定レベル情報が入力される(ステップS51)。ここでは、ユーザによって指定された曖昧レベル(以下、指定曖昧レベルと表記)は、N(Nは、0以上の整数)であるものとして説明する。
Next, the processing procedure of the structured
First, the
次に、XMLデータ検索部15は、入力部11によって入力されたXPath式(入力XPath式)を用いて、当該入力XPath式に合致するXMLデータをXMLデータ格納部20から検索する(ステップS52)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15に含まれる記憶部に保持される(ステップS53)。このとき、このXMLデータは曖昧レベル0の検索結果として保持される。
Next, the XML
次に、XPath式解析生成部12は、入力部11に入力された指定レベル情報によって示される指定曖昧レベル(ここでは、N)が0であるか否かが判定される(ステップS54)。
指定曖昧レベルが0でないと判定された場合(ステップS54のNO)、XPath式解析生成部12は、入力XPath式の解析を行う。これにより、XPath式解析生成部12は、入力XPath式に含まれるパス構成要素の各々を抽出する(ステップS55)。
Next, the XPath expression
When it is determined that the designated ambiguity level is not 0 (NO in step S54), the XPath expression
次に、XPath式解析生成部12は、XPath式生成テンプレート読取部13に対して、曖昧レベルnのテンプレートをXPath式生成テンプレート格納部14から読み取る(読み出す)ための要求(読取要求)をする。ここでは、XPath式解析生成部12は、まず曖昧度の低いテンプレートから読み取るよう読取要求をする。
Next, the XPath expression analysis /
XPath式生成テンプレート読取部13は、XPath式解析生成部12からの読取要求に応じて、XPath式生成テンプレート格納部14に格納されているテンプレートを読み取る(ステップS56)。初めに、XPath式生成テンプレート格納部14から、曖昧レベル1のテンプレートが読み取られる。XPath式生成テンプレート読取部13は、読み取ったテンプレートをXPath式解析生成部12に出力する。
The XPath expression generation
XPath式解析生成部12は、ステップS55において抽出されたパス構成要素及びXPath式生成テンプレート読取部13によって読み出されたテンプレートに基づいて、定型XPath式を生成する(ステップS57)。
The XPath
XMLデータ検索部15は、XPath式解析生成部12によって生成されたXPath式を用いて、当該XPath式に合致するXMLデータをXMLデータ格納装置20から検索する(ステップS58)。XMLデータ検索部15によって検索されたXMLデータは、当該XMLデータ検索部15の記憶部に保持される(ステップS59)。このXMLデータは、曖昧レベル毎の検索結果として保持される。
The XML
次に、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
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
On the other hand, when it is determined that the designated ambiguity level is n (YES in step S60), the
一方、ステップ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.
10…構造化データ検索装置、11…入力部、12…XPath式解析生成部、13…XPath式生成テンプレート読取部、14…XPath式生成テンプレート格納部、15…XMLデータ検索部、16…結果出力部、20…XMLデータ格納装置、121…XPath式解析部、122…テンプレート解析部、123…変換部、124…XPath式生成部。
DESCRIPTION OF
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つのテンプレートに基づいて、当該テンプレートに埋め込まれている変数を前記抽出された構成要素に置換することによって前記第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:
前記複数のテンプレートの各々は、検索式の曖昧度を示すレベルに対応付けられており、
前記検索結果出力手段は、前記テンプレートに対応付けられているレベル毎に検索結果として出力する
ことを特徴とする請求項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.
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)
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 |
-
2007
- 2007-01-11 JP JP2007003444A patent/JP2008171181A/en not_active Withdrawn
Cited By (14)
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 | |
JP4189416B2 (en) | Structured document management system and program | |
US9092417B2 (en) | Systems and methods for extracting data from a document in an electronic format | |
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 | |
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 | |
JP2006127235A (en) | Structured document management system, structured document management method and program | |
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 | |
Š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 | |
JP4034503B2 (en) | Document search system and document search method | |
JP2010086470A (en) | Structured data retrieval program and structured data retrieval device | |
Li et al. | WDEE: Web data extraction by example | |
Marin-Castro et al. | VR-Tree: A novel tree-based approach for modeling Web Query Interfaces |
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 |