JP5172931B2 - 検索装置、検索方法および検索プログラム - Google Patents
検索装置、検索方法および検索プログラム Download PDFInfo
- Publication number
- JP5172931B2 JP5172931B2 JP2010238531A JP2010238531A JP5172931B2 JP 5172931 B2 JP5172931 B2 JP 5172931B2 JP 2010238531 A JP2010238531 A JP 2010238531A JP 2010238531 A JP2010238531 A JP 2010238531A JP 5172931 B2 JP5172931 B2 JP 5172931B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- request
- xquery
- client
- distributed
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/832—Query formulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
XMLでは、文書構造を構成する個々のパーツは「要素(エレメント:Element)」と呼ばれる。各要素はタグ(Tag)を使って記述される。具体的には、要素の始まりを示すタグ(開始タグ)と、要素の終わりを示すタグ(終了タグ)との2つのタグでテキストデータを挟み込んで、1つの要素が表現される。なお、開始タグと終了タグとで挟み込まれたテキストデータは、開始タグと終了タグとで表された1つの要素に含まれるテキスト要素(テキストノード)となる。
(1)「/」:要素間は親子関係であることを示すオペレータ
(2)「//」:要素間は先祖子孫関係であることを示すオペレータ
(3)「.」:任意の要素
(1)「ActorA」について関数filmsByActorを呼び出す。XMLファイル42には、actorNameに「ActorA」を含むものが2件存在するため、この2件のfilmNameを返す。
(2)「ActorB」について関数filmsByActorを呼び出す。XMLファイル42、actorNameに「ActorB」を含むものが存在しないため空データを返す。
(3)得られたfilmNameを問い合わせ41に記述されたXML形式で表す。結果XML44が、このときに得られるXMLを表している。結果XML44は、films要素を、関数により返されたfilmName要素の上下に付加したものである。
(1)XQuery非透過:ユーザはXQuery内に特別な言語拡張であるXRPCを明示的に記述する必要がある。
(2)同種統合:DBサーバ20’の問い合わせ処理能力としてXQueryとXRPCをサポートしなければならない。その結果、異種データに対する真の仮想化はできないことになる。
(3)性能問題:RPC関数がXQueryのforループ内に存在すると、RPCのメッセージ(SOAPフォーマット)の送受信回数が増大する。また、RPC関数は1値を返却するのでタプルの返却には適していない。また、RPC関数として内部のXQueryが隠蔽化されるので、入れ子のXQueryを最適化するのが難しい。
(1)queryメソッド
XQuery(図3の「xquery」)を指定し(ステップS101)、指定したXQueryによるXQuery処理の結果XMLが格納されるリソースuriを取得する(ステップS102)。
(2)gqueryメソッド
XQuery(図3の「xquery」)を指定し(ステップS101)、指定したXQueryによる分散XQuery処理の結果XMLが格納されるリソースuriを取得する(ステップS102)。
(3)getメソッド
uriを指定し(ステップS103)、指定したuriのリソースに格納される結果XMLを取得する(ステップS104)。
(4)putメソッド
uriとXMLとを指定し(ステップS105)、指定したuriのリソースにXMLを格納し、格納結果(図3の「status」)を取得する(ステップS106)。
(1)gqueryメソッドの場合:
分散XQuery処理が要求されたので、仮想化プランナ120を呼び出す。
(2)queryメソッドの場合:
XQuery処理を要求されたので、XQueryプロセッサ102によりXQueryを実行する。
(3)postメソッドの場合:
リソース割当部103によりリソースを作成し、作成したリソースのuriを返す。
(4)getメソッドの場合:
uriで指定されたリソースのデータを取得する。
(5)putメソッド
uriで指定されたリソースへデータ代入する。
(6)mergeメソッド
データをマージし、指定されたリソースへデータ代入する。
(1)DXQuery:DBサーバ20に記憶されているXMLデータにアクセスするためのXQuery
(2)GXQuery:DXQueryが出力したXMLデータを統合するためのXQuery
(1)doc()関数以下のパス式を辿る。
(2)同じdoc()関数以下のパス式同士の比較式を辿る。
(1)返り値を以下の<rec>で囲まれた形式のXML(以下、RECフォーマットという)に変換して返す。
<rec><col?>...</col?></rec>
(2)<col?>は変数の値を区切るために用いる。
(1):
<col0>
{$変数}
</col0>
(2):
for $ダミー変数 in $変数
return
<col1>
{$ダミー変数}
</col1>
(1):
for $ダミー変数 in
doc([uri])/root/rec
for $変数 in
$ダミー変数/col/*
(2):
let $変数 :=
for $ダミー変数1 in
doc([uri])/root/rec
for $ダミー変数2 in
$ダミー変数1/col/*
return $ダミー変数2
(3):
let $ダミー変数:=in
$変数/col/*
where ダミー変数 比較式
(1)DXQueryの結果XMLを読み込んで各recを取出す部分
(2)recのcol?の値を取出す部分
(1)distinct−values:入力されたシーケンスから値として異なる要素シーケンスを取出す。
(2)count:入力されたシーケンスの要素数を返す。
(1)doc()関数以下のパス式を辿る。
(2)同じdoc()関数以下のパス式同士の比較式を辿る。
というトラバースのルールにより、2つのDXQuery(DXQuery1、DXQuery2)が生成されることになる。
(1)XQuery透過:ユーザはXQuery内に特別な言語拡張を明示的に記述する必要がない。
(2)異種統合:通常のネットワークや通信プロトコル上で、RDBMSやWebサービスなど異種データベースも接続して仮想XMLデータベースを構成できる。わずかな定義で地図情報サービスや天気情報サービスなどXQueryをサポートしていない非XML−DBMSのWebサービスも仮想XMLデータベースの構成要素になりえる。
(3)高速性:XQueryにforループが含まれていても、そのループ回数だけネットワーク上をメッセージが流れることはない。RPCのように関数実行が逐次化されず複数サーバで並列処理できる。通常の分散データベースで結合演算を行うとき通信負荷を最も小さくする手法としてセミジョイン法が容易に適用できる。
第2の実施形態にかかる検索装置は、DBサーバの検索能力(問い合わせ処理能力)を満たすようにDXQueryを変換(汎化)し、変換したDXQueryによる検索結果から、変換前のDXQueryによる検索結果を生成する。これにより、DBサーバの問い合わせ処理能力に応じた高精度な検索を実現できる。
(A):
for $_0 in doc([uri_d1])/rec
for $_1 in $_0/col0/*
return
<rec>
{<col0>{$x}</col0>}
</rec>
(B):
for $_0 in doc([uri_d1])/rec
for $_1 in $_0/col0/*
for $x in $_1//row
where contains($x//column3,“神奈川”)
return
<rec>
{<col0>{$x}</col0>}
</rec>
20a、20b DBサーバ
30 ネットワーク
100、200 中央サーバ
102 XQueryプロセッサ
103 リソース割当部
104 サーバ通知検出部
110 要求受付部
111 送信部
120、220 仮想化プランナ
121 生成部
122、222 送信部
123 受信部
230 汎化プロセッサ
231 変換部
232 生成部
Claims (8)
- クライアントと、データを記憶する複数のサーバと、にネットワークを介して接続された検索装置であって、
前記データのXQuery形式の検索要求を前記クライアントから受け付ける第1受付部と、
前記検索要求から、複数の前記サーバそれぞれに対して前記データの検索を要求するXQuery形式の分散検索要求と、前記分散検索要求による検索結果を統合するXQuery形式の統合要求とを生成する第1生成部と、
前記分散検索要求を複数の前記サーバに送信する第1送信部と、
前記統合要求の実行結果の識別情報を前記クライアントに送信する第2送信部と、
前記識別情報で識別される実行結果の取得要求を前記クライアントから受け付ける第2受付部と、
前記分散検索要求に対するXML形式の検索結果を複数の前記サーバから受信する受信部と、
複数の前記サーバそれぞれから受信した前記検索結果に対して前記統合要求を実行する実行部と、
前記統合要求の実行結果を、前記取得要求を送信した前記クライアントに対して送信する第3送信部と、を備え、
前記検索要求は、検索する前記データを特定する関数を少なくとも1つ含み、
前記第1生成部は、前記検索要求に含まれる前記関数ごとに、前記関数および前記関数以下のパス式を含む前記分散検索要求を生成すること、
を特徴とする検索装置。 - 前記統合要求の実行結果を格納する領域を確保し、前記領域の識別情報を前記実行結果に割り当てる割当部をさらに備え、
前記第2送信部は、割り当てられた前記識別情報を前記クライアントに送信し、
前記実行部は、前記統合要求の実行結果を前記領域に格納し、
前記第3送信部は、前記領域に格納された前記実行結果を、前記取得要求を送信した前記クライアントに対して送信すること、
を特徴とする請求項1に記載の検索装置。 - 前記分散検索要求を、前記サーバの検索能力を満たすXQuery形式の検索要求に変換する変換部と、
変換された検索要求による検索結果から、前記分散検索要求による検索結果を生成するXQuery形式の生成要求を生成する第2生成部と、をさらに備え、
前記第1送信部は、変換された検索要求を前記サーバに送信し、
前記受信部は、変換された検索要求に対する検索結果を前記サーバから受信し、
前記実行部は、さらに、受信した検索結果に対して前記生成要求を実行し、前記生成要求の実行結果に対して前記統合要求を実行すること、
を特徴とする請求項1に記載の検索装置。 - 前記変換部は、前記分散検索要求に含まれるパスの省略、OR条件の展開、および、前記データに含まれる要素の名称の変換の少なくとも1つにより、前記分散検索要求を前記サーバの検索能力を満たす検索要求に変換すること、
を特徴とする請求項3に記載の検索装置。 - 前記ネットワークに接続された前記サーバを検出する検出部をさらに備え、
前記第1送信部は、前記分散検索要求を検出された前記サーバに送信すること、
を特徴とする請求項1に記載の検索装置。 - 前記第1生成部は、前記検索要求のうち前記関数を含む部分を、生成した前記分散検索要求による検索結果から前記データを取出すlet節またはfor節に置換することにより、前記統合要求を生成すること、
を特徴とする請求項1に記載の検索装置。 - クライアントと、データを記憶する複数のサーバと、にネットワークを介して接続された検索装置で実行される検索方法あって、
前記データのXQuery形式の検索要求を前記クライアントから受け付ける第1受付ステップと、
前記検索要求から、複数の前記サーバそれぞれに対して前記データの検索を要求するXQuery形式の分散検索要求と、前記分散検索要求による検索結果を統合するXQuery形式の統合要求とを生成する第1生成ステップと、
前記分散検索要求を複数の前記サーバに送信する第1送信ステップと、
前記統合要求の実行結果の識別情報を前記クライアントに送信する第2送信ステップと、
前記識別情報で識別される実行結果の取得要求を前記クライアントから受け付ける第2受付ステップと、
前記分散検索要求に対するXML形式の検索結果を複数の前記サーバから受信する受信ステップと、
複数の前記サーバそれぞれから受信した前記検索結果に対して前記統合要求を実行する実行ステップと、
前記統合要求の実行結果を、前記取得要求を送信した前記クライアントに対して送信する第3送信ステップと、を含み、
前記検索要求は、検索する前記データを特定する関数を少なくとも1つ含み、
前記第1生成ステップは、前記検索要求に含まれる前記関数ごとに、前記関数および前記関数以下のパス式を含む前記分散検索要求を生成すること、
を特徴とする検索方法。 - クライアントと、データを記憶する複数のサーバと、にネットワークを介して接続されたコンピュータを、
前記データのXQuery形式の検索要求を前記クライアントから受け付ける第1受付部と、
前記検索要求から、複数の前記サーバそれぞれに対して前記データの検索を要求するXQuery形式の分散検索要求と、前記分散検索要求による検索結果を統合するXQuery形式の統合要求とを生成する第1生成部と、
前記分散検索要求を複数の前記サーバに送信する第1送信部と、
前記統合要求の実行結果の識別情報を前記クライアントに送信する第2送信部と、
前記識別情報で識別される実行結果の取得要求を前記クライアントから受け付ける第2受付部と、
前記分散検索要求に対するXML形式の検索結果を複数の前記サーバから受信する受信部と、
複数の前記サーバそれぞれから受信した前記検索結果に対して前記統合要求を実行する実行部と、
前記統合要求の実行結果を、前記取得要求を送信した前記クライアントに対して送信する第3送信部、として機能させるための検索プログラムであって、
前記検索要求は、検索する前記データを特定する関数を少なくとも1つ含み、
前記第1生成部は、前記検索要求に含まれる前記関数ごとに、前記関数および前記関数以下のパス式を含む前記分散検索要求を生成する、
検索プログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010238531A JP5172931B2 (ja) | 2010-10-25 | 2010-10-25 | 検索装置、検索方法および検索プログラム |
| CN201110247657.4A CN102456070B (zh) | 2010-10-25 | 2011-08-24 | 检索装置和检索方法 |
| US13/217,775 US9047391B2 (en) | 2010-10-25 | 2011-08-25 | Searching apparatus, searching method, and computer program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010238531A JP5172931B2 (ja) | 2010-10-25 | 2010-10-25 | 検索装置、検索方法および検索プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012093829A JP2012093829A (ja) | 2012-05-17 |
| JP5172931B2 true JP5172931B2 (ja) | 2013-03-27 |
Family
ID=45973843
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010238531A Active JP5172931B2 (ja) | 2010-10-25 | 2010-10-25 | 検索装置、検索方法および検索プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9047391B2 (ja) |
| JP (1) | JP5172931B2 (ja) |
| CN (1) | CN102456070B (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5100820B2 (ja) * | 2010-11-25 | 2012-12-19 | 株式会社東芝 | 問合せ式変換装置、方法およびプログラム |
| US10965733B2 (en) * | 2016-08-28 | 2021-03-30 | Vmware, Inc. | Efficient, automated distributed-search methods and systems |
| JP7231347B2 (ja) * | 2017-07-19 | 2023-03-01 | エヌエイチエヌ コーポレーション | イベント基盤パッケージモジュールの呼び出し方法およびシステム |
| JP7203137B2 (ja) * | 2021-03-18 | 2023-01-12 | ヤフー株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7475058B2 (en) * | 2001-12-14 | 2009-01-06 | Microsoft Corporation | Method and system for providing a distributed querying and filtering system |
| JP2003308334A (ja) * | 2002-04-15 | 2003-10-31 | Nippon Telegr & Teleph Corp <Ntt> | 情報検索方法及び装置、情報検索プログラム、情報検索プログラムを記録した記録媒体 |
| JP2003316783A (ja) * | 2002-04-24 | 2003-11-07 | Nippon Telegr & Teleph Corp <Ntt> | 異種半構造化情報源統合検索装置、方法、プログラム及び該プログラムを記録した記録媒体 |
| JP4227033B2 (ja) * | 2004-01-20 | 2009-02-18 | 富士通株式会社 | データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム |
| US7668806B2 (en) * | 2004-08-05 | 2010-02-23 | Oracle International Corporation | Processing queries against one or more markup language sources |
| CN100563196C (zh) * | 2005-11-25 | 2009-11-25 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
| JP4489029B2 (ja) * | 2006-02-01 | 2010-06-23 | 株式会社東芝 | 構造化文書検索システムおよび構造化文書検索方法 |
| JP4822889B2 (ja) * | 2006-03-20 | 2011-11-24 | 富士通株式会社 | データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置 |
| JP4489047B2 (ja) * | 2006-03-29 | 2010-06-23 | 株式会社東芝 | 構造化文書管理装置、構造化文書管理システムおよびプログラム |
| JP4854542B2 (ja) * | 2007-02-27 | 2012-01-18 | 株式会社東芝 | 文書検索システム及び文書検索方法 |
| JP4352079B2 (ja) * | 2007-03-28 | 2009-10-28 | 株式会社東芝 | 分散データベースから情報を検索するシステム、装置、および方法 |
| JP5161535B2 (ja) * | 2007-10-26 | 2013-03-13 | 株式会社東芝 | コーディネータサーバ及び分散処理方法 |
| JP5134989B2 (ja) | 2008-01-31 | 2013-01-30 | 株式会社東芝 | サーバ、データ転送方法及びプログラム |
| JP5203733B2 (ja) | 2008-02-01 | 2013-06-05 | 株式会社東芝 | コーディネータサーバ、データ割当方法及びプログラム |
| JP5060345B2 (ja) | 2008-02-29 | 2012-10-31 | 株式会社東芝 | データベース処理装置、情報処理方法及びプログラム |
| JP5072871B2 (ja) * | 2009-01-28 | 2012-11-14 | 株式会社東芝 | 構造化文書検索システム、装置、及び方法 |
| US20110307470A1 (en) * | 2009-02-24 | 2011-12-15 | Nec Corporation | Distributed database management system and distributed database management method |
-
2010
- 2010-10-25 JP JP2010238531A patent/JP5172931B2/ja active Active
-
2011
- 2011-08-24 CN CN201110247657.4A patent/CN102456070B/zh active Active
- 2011-08-25 US US13/217,775 patent/US9047391B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN102456070B (zh) | 2016-03-30 |
| JP2012093829A (ja) | 2012-05-17 |
| US9047391B2 (en) | 2015-06-02 |
| CN102456070A (zh) | 2012-05-16 |
| US20120102025A1 (en) | 2012-04-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA3025404C (en) | Defining application programming interfaces (apis) using object schemas | |
| AU2017269108B2 (en) | Optimizing read and write operations in object schema-based application programming interfaces (APIS) | |
| US10558656B2 (en) | Optimizing write operations in object schema-based application programming interfaces (APIS) | |
| JP5843965B2 (ja) | 検索装置、検索装置の制御方法及び記録媒体 | |
| US10866828B2 (en) | Extending object-schema-based application programming interfaces (APIs) | |
| Meroño-Peñuela et al. | grlc makes GitHub taste like linked data APIs | |
| US7877726B2 (en) | Semantic system for integrating software components | |
| US11762775B2 (en) | Systems and methods for implementing overlapping data caching for object application program interfaces | |
| KR20210089772A (ko) | 자동화 목적들을 위한 데이터 모델을 타겟 온톨로지로 변환하기 위한 방법 | |
| US8745096B1 (en) | Techniques for aggregating data from multiple sources | |
| JP5172931B2 (ja) | 検索装置、検索方法および検索プログラム | |
| CN115309743B (zh) | 多数据中心太空态势感知数据共享方法、装置及设备 | |
| Huang et al. | A sensor data mediator bridging the OGC Sensor Observation Service (SOS) and the OASIS Open Data Protocol (OData) | |
| KR101720316B1 (ko) | 센서 네트워크 정보 제공 방법 및 그 장치 | |
| WO2020116014A1 (ja) | ドキュメント作成支援システム | |
| Vander Sande et al. | The datatank: an open data adapter with semantic output | |
| KR20210103808A (ko) | 시맨틱 질의 시스템 및 방법 | |
| JP2005157898A (ja) | Xml/データベース連携装置 | |
| Kliment et al. | Bolegweb platform–contribution to the web communities |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120831 |
|
| 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: 20121204 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121226 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5172931 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |