JP2009230569A - クエリ変換方法および検索装置 - Google Patents
クエリ変換方法および検索装置 Download PDFInfo
- Publication number
- JP2009230569A JP2009230569A JP2008076560A JP2008076560A JP2009230569A JP 2009230569 A JP2009230569 A JP 2009230569A JP 2008076560 A JP2008076560 A JP 2008076560A JP 2008076560 A JP2008076560 A JP 2008076560A JP 2009230569 A JP2009230569 A JP 2009230569A
- Authority
- JP
- Japan
- Prior art keywords
- query
- node
- axis
- operator
- search
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】検索装置100は、端末装置等からクエリを取得した場合に、クエリからor演算子が含まれるor条件部分を特定する。そして、検索装置100は、特定したor条件部分に逆行軸およびor演算子が含まれているか否かを判定し、逆行軸およびor演算子が含まれている場合に、かかるor条件部分に含まれるor演算子を分割ポイントとしてサブクエリに分割する。
【選択図】 図8
Description
まず、本実施例1で利用するXML(Extensible Markup Language)データについて説明する。図1は、XMLデータのデータ構造およびXMLデータの木表現の一例を示す図である。同図の左側に示すように、このXMLデータは、要素識別子「<」、「</」等により要素が区切られた階層構造を有している。そして、XMLデータの木表現は、図1の右側のように表すことができる。
Query::=Path("|"Path) (クエリ同士のorの意味)
Path::="/"RPath
RPath::=Step("/"Step)*
Step::=Axis"::"Nodetest Pred*
Axis::=ForwardAxis|ReverseAxis
ForwardAxis::="child"
ReverseAxis::="parent"
NodeTest::=Tagname|"*"|"text()"|"node()"
Pred::="["Expr"]"
Expr::=RPath|Expr"and"Expr|Expr"or"Expr|"not"Expr
従来では、逆行軸を含むクエリを、逆行軸を含まないクエリに変換する場合に、親軸変換ルールを適用する。親軸変換規則は、例えば、
(ルール1)π/a/../≡π[a]
(ルール2)a[../π]≡.[π]/a
が存在する。
そこで、非特許文献1では、クエリに含まれるor演算子を特定し、特定したor演算子を分割ポイントとして、クエリを複数のサブクエリに分割した上で、親軸変換規則を利用し、逆行軸を含むクエリを変換していた。
q1=/Syain/ACT[id and chara]
q2=/Syain/ACT[id and cast]
q3=/Syain/ACT[../title and chara]
q4=/Syain/ACT[../title and cast]
の各サブクエリq1〜q4に分割される。但し、Q5=q1|q2|q3|q4とする。
q1=/Syain/ACT[id and chara]
q2=/Syain/ACT[id and cast]
q3=/Syain[title]/ACT[chara]
q4=/Syain[title]/ACT[cast]
に変換される。なお、サブクエリq1、q2には、逆行軸が存在しないため、そのままのクエリとなる。
次に、本実施例1にかかる検索装置の概要および特徴について説明する。本実施例1にかかる検索装置は、従来技術のように、クエリ中の全てのor演算子を分割ポイントとしてサブクエリに分割するのではなく、分割が必要となるor演算子を特定し、特定したor演算子のみを分割ポイントとしてサブクエリに分割する。
q1=/Syain/ACT[id and (chara or cast)]
q2=/Syain/ACT[../title and (chara or cast)]
となる。但し、Q5=q1|q2とする。
q1=/Syain/ACT[id and (chara or cast)]
q2=/Syain[title]ACT[chara or cast]
に変換される。なお、サブクエリq1には、逆行軸が存在しないため、そのままのクエリとなる。
Step::=Axis"::"Nodetest ([Predicate])*
と定義されている。すなわち、ステップとは、(軸、タグ名、述部)の三項組となる。例えば、/A[B]C[DorE]Fというクエリは、A[B]とC[D or E]とFという3つのステップを持つ。
π[π1[π2]]≡π[π1/π2]
π[[π1[π2]≡π[π1][π2]
を適用することにより、分割後のクエリ木を正規化する。
q2=/Syain/ACT[../title and (chara or cast)]を
q2=/Syain[title]ACT[chara or cast]に変換する。なお、サブクエリq1は、逆行軸を含まないため、そのままのクエリとなる。
q1=/Syain/ACT[id and (chara or cast)]
q2=/Syain/ACT[../title and (chara or cast)]
となる。
q1=/Syain/ACT[id and (chara or cast)]
q2=/Syain/ACT[../title and (chara or cast)]
を評価すると、該当するノードがノードID「4」のACT、ノードID「13」のACT、ノードID「22」のACTとなるので、図1のXMLデータの破線部の情報が、検索結果として検出される。
q1=/Syain/ACT[id and (chara or cast)]
q2=/Syain/ACT[../title and (chara or cast)]
となる。
q1=/Syain/ACT[id and chara]
q2=/Syain/ACT[id and cast]
q3=/Syain/ACT[../title and chara]
q4=/Syain/ACT[../title and cast]
となる。
例えば、上記の実施例1では、順行軸として子供軸を考察し、逆行軸として親軸を考察したが、これに限定されるものではない。順行軸には、子供軸の他に、子孫軸、子孫または自身軸、弟軸、先行軸が含まれ、逆行軸には、親軸の他に、先祖軸、先祖または自身軸、兄軸、後行軸が含まれる。
ところで、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
前記検索装置は、
前記検索クエリに逆行軸が含まれるか否かを判定する逆行軸判定ステップと、
前記検索クエリに逆行軸が含まれている場合に、当該検索クエリ中にor演算子が含まれるor条件部分を特定し、特定したor条件部分のor演算子の中で、前記検索クエリをサブクエリに分解するための分割ポイントとなるor演算子を判定する分割判定ステップと、
前記分割ポイントとなるor演算子に基づいて、前記検索クエリをサブクエリに分割した上で、サブクエリに含まれる逆行軸を順行軸に変換する変換ステップと、
を含んだことを特徴とするクエリ変換方法。
前記検索クエリに逆行軸が含まれるか否かを判定する逆行軸判定手段と、
前記検索クエリに逆行軸が含まれている場合に、当該検索クエリ中にor演算子が含まれるor条件部分を特定し、特定したor条件部分のor演算子の中で、前記検索クエリをサブクエリに分解するための分割ポイントとなるor演算子を判定する分割判定手段と、
前記分割ポイントとなるor演算子に基づいて、前記検索クエリをサブクエリに分割した上で、サブクエリに含まれる逆行軸を順行軸に変換する変換手段と、
を備えたことを特徴とする検索装置。
論理式を含む検索クエリに逆行軸が含まれるか否かを判定する逆行軸判定手順と、
前記検索クエリに逆行軸が含まれている場合に、当該検索クエリ中にor演算子が含まれるor条件部分を特定し、特定したor条件部分のor演算子の中で、前記検索クエリをサブクエリに分解するための分割ポイントとなるor演算子を判定する分割判定手順と、
前記分割ポイントとなるor演算子に基づいて、前記検索クエリをサブクエリに分割した上で、サブクエリに含まれる逆行軸を順行軸に変換する変換手順と、
を実行させることを特徴とするクエリ変換プログラム。
60 ネットワーク
100 検索装置
110 通信制御IF部
120 入力部
130 出力部
140 入出力制御IF部
150 記憶部
150a XMLデータ
150b クエリデータ
150c クエリ木データ
150d 分割管理テーブル
150e スタック
150f 変換クエリデータ
160 制御部
160a クエリ受信部
160b 逆行軸検出部
160c 分割ポイント判定部
160d 軸変換実行部
160e クエリ評価部
160f 検索結果送信部
200 コンピュータ
201 入力装置
202 モニタ
203 RAM
203a 各種データ
204 ROM
205 媒体読取装置
206 通信装置
207 CPU
207a 検索プロセス
208 HDD
208a 各種データ
208b 検索プログラム
209 バス
Claims (5)
- 論理式を含む検索クエリを評価して、階層構造を有する文書データから該当するデータを検索する検索装置のクエリ変換方法であって、
前記検索装置は、
前記検索クエリに逆行軸が含まれるか否かを判定する逆行軸判定ステップと、
前記検索クエリに逆行軸が含まれている場合に、当該検索クエリ中にor演算子が含まれるor条件部分を特定し、特定したor条件部分のor演算子の中で、前記検索クエリをサブクエリに分解するための分割ポイントとなるor演算子を判定する分割判定ステップと、
前記分割ポイントとなるor演算子に基づいて、前記検索クエリをサブクエリに分割した上で、サブクエリに含まれる逆行軸を順行軸に変換する変換ステップと、
を含んだことを特徴とするクエリ変換方法。 - 前記分割判定ステップは、前記or条件部分にor演算子および逆行軸が含まれている場合に、当該or条件部分に含まれるor演算子を分割ポイントとして判定することを特徴とする請求項1に記載のクエリ変換方法。
- 前記逆行軸判定ステップは、前記検索クエリの木構造でor条件以降の階層で、親軸を含む場合に、逆行軸が含まれていると判定することを特徴とする請求項1または2に記載のクエリ変換方法。
- 論理式を含む検索クエリを評価して、階層構造を有する文書データから該当するデータを検索する検索装置であって、
前記検索クエリに逆行軸が含まれるか否かを判定する逆行軸判定手段と、
前記検索クエリに逆行軸が含まれている場合に、当該検索クエリ中にor演算子が含まれるor条件部分を特定し、特定したor条件部分のor演算子の中で、前記検索クエリをサブクエリに分解するための分割ポイントとなるor演算子を判定する分割判定手段と、
前記分割ポイントとなるor演算子に基づいて、前記検索クエリをサブクエリに分割した上で、サブクエリに含まれる逆行軸を順行軸に変換する変換手段と、
を備えたことを特徴とする検索装置。 - 前記分割判定手段は、前記or条件部分にor演算子および逆行軸が含まれている場合に、当該or条件部分に含まれるor演算子を分割ポイントとして判定することを特徴とする請求項4に記載の検索装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076560A JP5125662B2 (ja) | 2008-03-24 | 2008-03-24 | クエリ変換方法および検索装置 |
US12/409,675 US20090240675A1 (en) | 2008-03-24 | 2009-03-24 | Query translation method and search device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076560A JP5125662B2 (ja) | 2008-03-24 | 2008-03-24 | クエリ変換方法および検索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009230569A true JP2009230569A (ja) | 2009-10-08 |
JP5125662B2 JP5125662B2 (ja) | 2013-01-23 |
Family
ID=41089879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008076560A Active JP5125662B2 (ja) | 2008-03-24 | 2008-03-24 | クエリ変換方法および検索装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090240675A1 (ja) |
JP (1) | JP5125662B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012194950A (ja) * | 2011-03-18 | 2012-10-11 | Toshiba Corp | 構造化文書管理装置、方法およびプログラム |
WO2014038069A1 (ja) * | 2012-09-07 | 2014-03-13 | 株式会社東芝 | 構造化文書管理装置、方法およびプログラム |
US11338434B2 (en) * | 2016-03-03 | 2022-05-24 | Magazino Gmbh | Controlling process of robots having a behavior tree architecture |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326821B2 (en) | 2010-08-25 | 2012-12-04 | International Business Machines Corporation | Transforming relational queries into stream processing |
US9646164B2 (en) * | 2010-12-30 | 2017-05-09 | Aziomatics Ab | System and method for evaluating a reverse query |
US9146957B2 (en) * | 2012-12-20 | 2015-09-29 | Business Objects Software Ltd. | Method and system for generating optimal membership-check queries |
US9779136B2 (en) * | 2014-09-30 | 2017-10-03 | Linkedin Corporation | Rearranging search operators |
CA3078757A1 (en) * | 2017-11-10 | 2019-05-16 | Yijun Du | Enhanced document searching system and method |
CN109753520B (zh) * | 2019-01-28 | 2021-01-26 | 上海达梦数据库有限公司 | 半连接查询方法、装置、服务器及存储介质 |
AU2020433394A1 (en) * | 2020-03-04 | 2022-09-15 | Yijun Du | System and method for utilizing search trees and tagging data items for data collection managing tasks |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126933A (ja) * | 2002-10-02 | 2004-04-22 | Internatl Business Mach Corp <Ibm> | 文書検索システム、文書検索方法、文書検索を実行するためのプログラム、および該プログラムが記録されたコンピュータ可読な記憶媒体、コンパイル装置、コンパイル方法、コンパイル方法を実行するためのプログラムおよび該プログラムが記録されたコンピュータ可読な記憶媒体、検索オートマトン評価装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653636B2 (en) * | 2003-02-28 | 2010-01-26 | Bea Systems, Inc. | Systems and methods for streaming XPath query |
JP3832830B2 (ja) * | 2003-04-25 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | XPath評価方法、これを用いたXPath評価装置及び情報処理装置 |
US20050257201A1 (en) * | 2004-05-17 | 2005-11-17 | International Business Machines Corporation | Optimization of XPath expressions for evaluation upon streaming XML data |
-
2008
- 2008-03-24 JP JP2008076560A patent/JP5125662B2/ja active Active
-
2009
- 2009-03-24 US US12/409,675 patent/US20090240675A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126933A (ja) * | 2002-10-02 | 2004-04-22 | Internatl Business Mach Corp <Ibm> | 文書検索システム、文書検索方法、文書検索を実行するためのプログラム、および該プログラムが記録されたコンピュータ可読な記憶媒体、コンパイル装置、コンパイル方法、コンパイル方法を実行するためのプログラムおよび該プログラムが記録されたコンピュータ可読な記憶媒体、検索オートマトン評価装置 |
Non-Patent Citations (6)
Title |
---|
CSND200701111006; 野村 芳明、外4名: '木スケルトンによるXPathクエリの並列化とその評価' コンピュータソフトウェア 第24巻,第3号, 20070726, p.51-62, 日本ソフトウェア科学会 * |
CSNG200701126018; 森 卓爾、外3名: '木埋め込み関係に基づくXMLスキーマ進化に応じたXPath問合せ変換' 情報処理学会研究報告 Vol.2007 No.65 第2007巻,第65号, 20070702, p.109-114, 社団法人情報処理学会 * |
CSNG200900400093; 永井 孝明、外2名: '外部関数を含むXMLパス表現に対する問合せ処理手法' 第13回データ工学ワークショップ(DEWS2002)論文集 , 20090821, p.1-9, 電子情報通信学会データ工学研究専門委員会 * |
JPN6012051619; 野村 芳明、外4名: '木スケルトンによるXPathクエリの並列化とその評価' コンピュータソフトウェア 第24巻,第3号, 20070726, p.51-62, 日本ソフトウェア科学会 * |
JPN6012051621; 森 卓爾、外3名: '木埋め込み関係に基づくXMLスキーマ進化に応じたXPath問合せ変換' 情報処理学会研究報告 Vol.2007 No.65 第2007巻,第65号, 20070702, p.109-114, 社団法人情報処理学会 * |
JPN6012051622; 永井 孝明、外2名: '外部関数を含むXMLパス表現に対する問合せ処理手法' 第13回データ工学ワークショップ(DEWS2002)論文集 , 20090821, p.1-9, 電子情報通信学会データ工学研究専門委員会 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012194950A (ja) * | 2011-03-18 | 2012-10-11 | Toshiba Corp | 構造化文書管理装置、方法およびプログラム |
WO2014038069A1 (ja) * | 2012-09-07 | 2014-03-13 | 株式会社東芝 | 構造化文書管理装置、方法およびプログラム |
US11338434B2 (en) * | 2016-03-03 | 2022-05-24 | Magazino Gmbh | Controlling process of robots having a behavior tree architecture |
Also Published As
Publication number | Publication date |
---|---|
JP5125662B2 (ja) | 2013-01-23 |
US20090240675A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5125662B2 (ja) | クエリ変換方法および検索装置 | |
JP4716709B2 (ja) | 構造化文書処理装置、構造化文書処理方法、及びプログラム | |
US7519903B2 (en) | Converting a structured document using a hash value, and generating a new text element for a tree structure | |
Bikakis et al. | The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art | |
US7181680B2 (en) | Method and mechanism for processing queries for XML documents using an index | |
US8732127B1 (en) | Method and system for managing versioned structured documents in a database | |
KR100638695B1 (ko) | 구조화 문서의 데이터를 검색하는 장치 및 방법 | |
US8566343B2 (en) | Searching backward to speed up query | |
US10062030B2 (en) | Tree structured data transform, by determining whether a predicate of a rule matches a given node in a set and applying a function responsive to the match | |
US9250864B2 (en) | Relationship management for data modeling in an integrated development environment | |
JP2004086782A (ja) | 異種データベース統合支援装置 | |
US10489493B2 (en) | Metadata reuse for validation against decentralized schemas | |
US8527480B1 (en) | Method and system for managing versioned structured documents in a database | |
CN106664224A (zh) | 通信系统的元数据增强型库存管理的方法和系统 | |
JP2009518718A (ja) | Xmlのための簡素インデックス構造 | |
US20110066937A1 (en) | Method and system for handling non-presence of elements or attributes in semi-structured data | |
US8086561B2 (en) | Document searching system and document searching method | |
JPWO2006046665A1 (ja) | 文書処理装置及び文書処理方法 | |
US8136094B2 (en) | Relationship management for data modeling in an integrated development environment | |
JP2008084028A (ja) | データベース検索システムおよびデータベース検索方法 | |
US20090043785A1 (en) | Managing structured content stored as a binary large object (blob) | |
US9002810B1 (en) | Method and system for managing versioned structured documents in a database | |
US8898122B1 (en) | Method and system for managing versioned structured documents in a database | |
JP2008243075A (ja) | 構造化文書管理装置及び方法 | |
Chiu et al. | Enabling ad hoc queries over low-level scientific data sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120919 |
|
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: 20121002 |
|
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: 20121015 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5125662 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |