JP2007034763A - XPath式処理装置、XPath式処理方法、および、XPath式処理プログラム - Google Patents
XPath式処理装置、XPath式処理方法、および、XPath式処理プログラム Download PDFInfo
- Publication number
- JP2007034763A JP2007034763A JP2005218239A JP2005218239A JP2007034763A JP 2007034763 A JP2007034763 A JP 2007034763A JP 2005218239 A JP2005218239 A JP 2005218239A JP 2005218239 A JP2005218239 A JP 2005218239A JP 2007034763 A JP2007034763 A JP 2007034763A
- Authority
- JP
- Japan
- Prior art keywords
- xpath
- path
- branch
- predicate
- xpath expression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】 XMLデータ130をフィルタリング処理するための分岐XPath式を処理するXPath式処理システムであって、入力された複数の分岐XPath式を格納するXPath式格納装置120と、前記XPath式格納装置120に格納された分岐XPath式ごとにターゲットパスおよび述語それぞれの絶対パスおよびスコープパスを抽出するパス抽出装置160と、前記パス抽出装置160により抽出された各パスをノードとして、部分的に等しいノードまたはノード間のリンクを共有可能部分として共有化し、複数の分岐XPath式から1つの共有化インデックスを構築する共有化インデックス構築装置150と、を有する。
【選択図】 図3
Description
式1などのXPath式は、XML文書の中の特定の要素を指し示す記述方法を定めている。XPath式の基本的な記述の仕方はUNIX(登録商標)のファイルシステムに似ていて、文書木構造の頂点となるルートノードを「/」で表し、以下、「/」で区切って要素をたどっていく。a要素の中のbという値を参照するには「/a/b」と記述する。ノードのデータ型やノードの種類、名前空間(XML namespace)の扱いなどについても規定があり、これらを使用して条件式や演算などを含んだ複雑な位置指定を行うこともできる。
/bib/book[contains(title/text(),‘XPath')][publication=2000]/authors …式2
式2は、タイトルが「XPath」という文字列を含んでおり、発行年が2000年であるような本の著者を取得するというものである。このXPath式を図2(a)のXMLに適用させた場合の返値は、図2(c)のようになる。このときのTAPは、/bib/book/authorsとなる。PSPは、/bib/bookである。
/bib/book
/bib/book/title
/bib/book/publication
/bib/book[price<=21OO][publication<=2000]/authors[author='Bob'] …式3
/bib/book[price<=21OO][publication<=2000]/authors/author …式4
/bib[book/price=21OO][book/publication<=2000]/book/authors/author …式5
式3に対しては、まず、分岐XPath式から全ての述語を抜いた後記のようなXPath式をTAPとする。
/bib/book/authors
[price<=2100]
の前までのXPath式をTSPとする。次に、後記の全ての述語について考える。
[price<=2100]
[publication<=2000]
[author='Bob']
それぞれ、述語が出現する直前までのXPath式は、
/bib/book
/bib/book
/bib/book/authors
となり、それぞれのPSP(=コンテキストパス)とする。述語の相対パスは、後記のようになる。
price
publication
author
/bib/book/price
/bib/book/publication
/bib/book/authors/author
/bib/book/authors/author
次に、一番ルート側にある述語
[book/price=2100]
の前までのXPath式をTSPとする。つまり、
/bib
となる。
[book/price=2100]
[book/publication<=2000]
それぞれ、述語が出現する直前までのXPath式は、
/bib
/bib
となり、それぞれのPSP(=コンテキストパス)とする。述語の相対パスは、次のようになる。
book/price
book/publication
/bib/book/price
/bib/book/publication
/bib/book/authors/author
式3および式5のPAPは等しいが、PSPが変わっていることに注意してほしい。
/bib/book[price<=2100][publication<=2000]/authors/author
複数の分岐XPath式がある場合においても、それぞれの分岐XPath式に対して、共有化インデックスと共有化バッファ170とを用いて同様に処理することが可能となる。
/bib/book[contains(title/text(),‘XML')][publication>=1999 and publication<=2000] …式6
オートマトンとは、状態遷移図のようなものである。丸で示されているのは状態であり、矢印に付随して書いてあるのは状態が移るための条件である。状態0は、初期状態を示している。状態0から状態1に移るためには、bib要素がくることが必要である。状態1から状態2へ行くためには、状態1においてbook要素がくることが必要である。
120 XPath式格納装置
130 XMLデータ
140 共有化インデックス検索装置
150 共有化インデックス構築装置
160 パス抽出装置
170 共有化バッファ
180 共有化バッファ管理装置
190 XPath式処理装置
200 分岐無XPath式処理装置
Claims (7)
- XMLデータをフィルタリング処理するための分岐XPath式を処理するXPath式処理装置であって、
入力された複数の分岐XPath式を格納するXPath式格納手段と、
前記XPath式格納手段に格納された分岐XPath式ごとにターゲットパスおよび述語それぞれの絶対パスおよびスコープパスを抽出するパス抽出手段と、
前記パス抽出手段により抽出された各パスをノードとして、部分的に等しいノードまたはノード間のリンクを共有可能部分として共有化し、複数の分岐XPath式から1つの共有化インデックスを構築する共有化インデックス構築手段と、
を有することを特徴とするXPath式処理装置。 - 入力されたXMLデータの構成要素ごとにその出現順序に従って順番に番号を割り当てた共有化バッファを構築する共有化バッファ管理手段を有することを特徴とする請求項1に記載のXPath式処理装置。
- 入力されたXMLデータをSAXパーサおよびオートマトンを用いて処理し、コールバック関数を用いて実施されるスコープパスの終了が通知された直後に、前記共有化インデックスを用いてターゲットパスに対する述語の真偽判定を行い、複数の分岐XPath式を一括してフィルタリング処理するXPath式処理手段を有することを特徴とする請求項1または請求項2に記載のXPath式処理装置。
- 前記パス抽出手段は、述語の条件を満たしたときに返すパスをターゲットパスの絶対パスとし、分岐XPath式の一番左にある述語のコンテキストパスをターゲットパスのスコープパスとし、相対パスで表現されている述語と述語のコンテキストパスとを結合して述語の絶対パスとし、述語のコンテキストパスを述語のスコープパスとすることを特徴とする請求項1ないし請求項3のいずれか1項に記載のXPath式処理装置。
- 前記共有化インデックス構築手段は、述語の絶対パスの論理積および論理和を前記共有化インデックスのノードに追加し、ノードの依存関係を前記共有化インデックスのリンクとすることを特徴とする請求項1ないし請求項4のいずれか1項に記載のXPath式処理装置。
- XMLデータをフィルタリング処理するための分岐XPath式を処理するXPath式処理方法であって、
コンピュータが、
入力された複数の分岐XPath式を記憶手段に格納するXPath式格納手順と、
記憶手段に格納された分岐XPath式ごとにターゲットパスおよび述語それぞれの絶対パスおよびスコープパスを抽出するパス抽出手順と、
前記パス抽出手順により抽出された各パスをノードとして、部分的に等しいノードまたはノード間のリンクを共有可能部分として共有化し、複数の分岐XPath式から1つの共有化インデックスを構築する共有化インデックス構築手順と、
を実行することを特徴とするXPath式処理方法。 - 請求項6に記載のXPath式処理方法をコンピュータに実行させるためのXPath式処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005218239A JP4519028B2 (ja) | 2005-07-28 | 2005-07-28 | XPath式処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005218239A JP4519028B2 (ja) | 2005-07-28 | 2005-07-28 | XPath式処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007034763A true JP2007034763A (ja) | 2007-02-08 |
JP4519028B2 JP4519028B2 (ja) | 2010-08-04 |
Family
ID=37793934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005218239A Active JP4519028B2 (ja) | 2005-07-28 | 2005-07-28 | XPath式処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4519028B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010536085A (ja) * | 2007-08-03 | 2010-11-25 | 韓國電子通信研究院 | マルチメディア検索のためのクエリ表現装置および方法 |
US7996444B2 (en) | 2008-02-18 | 2011-08-09 | International Business Machines Corporation | Creation of pre-filters for more efficient X-path processing |
JP2012174212A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | ウィンドウ処理装置,方法およびプログラム |
US8612945B2 (en) | 2008-05-13 | 2013-12-17 | Nec Corporation | XML processing device, XML processing method, and XML processing program |
-
2005
- 2005-07-28 JP JP2005218239A patent/JP4519028B2/ja active Active
Non-Patent Citations (1)
Title |
---|
JPN7009001737, Chee−Yong Chan, 外3名, "Efficient Filtering of XML Documents with XPath Expressions", Proc. of the 18th International Conference on Data Engineering, 2002, pp. 235−244, US, IEEE Computer Society * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010536085A (ja) * | 2007-08-03 | 2010-11-25 | 韓國電子通信研究院 | マルチメディア検索のためのクエリ表現装置および方法 |
US8805868B2 (en) | 2007-08-03 | 2014-08-12 | Electronics And Telecommunications Research Institute | Apparatus and method for a query express |
US7996444B2 (en) | 2008-02-18 | 2011-08-09 | International Business Machines Corporation | Creation of pre-filters for more efficient X-path processing |
US8612945B2 (en) | 2008-05-13 | 2013-12-17 | Nec Corporation | XML processing device, XML processing method, and XML processing program |
JP2012174212A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | ウィンドウ処理装置,方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4519028B2 (ja) | 2010-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101765842B (zh) | 用于xml策略匹配的方法和装置 | |
CN108733689B (zh) | 一种json文本的比对方法和装置 | |
US7975220B2 (en) | Apparatus, program product and method for structured document management | |
CN106982150B (zh) | 一种基于Hadoop的移动互联网用户行为分析方法 | |
US20140101176A1 (en) | Blended match mode dfa scanning | |
JP2009251686A (ja) | 文書検索装置 | |
JP4519028B2 (ja) | XPath式処理装置 | |
JP4523561B2 (ja) | XPath式処理装置 | |
US8549009B2 (en) | XML data processing system, data processing method and XML data processing control program used for the system | |
JP5536790B2 (ja) | コンディショナルプロセッシング方法及び装置 | |
Alwidian et al. | Big data ingestion and preparation tools | |
JP4320004B2 (ja) | XPath式処理方法、XPath式処理装置、XPath式処理プログラムおよびそのプログラムを格納した記憶媒体 | |
JP2013045208A (ja) | データ生成方法、装置及びプログラム、検索処理方法、装置及びプログラム | |
US20060004838A1 (en) | Sharing large objects in distributed systems | |
US10387474B2 (en) | System and method for cross-cloud identification of topics | |
JP6103021B2 (ja) | データ生成方法、装置及びプログラム、検索処理方法、装置及びプログラム | |
KR101650316B1 (ko) | 분산 병렬 처리 기반의 html5 문서 수집 및 분석 장치 및 방법 | |
Hasani | Implementation of infrastructure for streaming outlier detection in big data | |
US9177252B2 (en) | Incremental DFA compilation with single rule granularity | |
CN113326407A (zh) | 一种数据处理方法及装置 | |
KR101878291B1 (ko) | 에너지 빅데이터 관리 시스템 및 그 방법 | |
JP5206675B2 (ja) | 構造化文書変換装置 | |
Ziekow et al. | Sharing RFID and complex event data among organizations | |
JP3968749B2 (ja) | XPath処理方法、XPath処理装置、XPath処理プログラム、及びそのプログラムを記憶した記憶媒体 | |
US20110145700A1 (en) | Structured document analysis apparatus and structured document analysis method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100208 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100303 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100513 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100518 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4519028 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |