JP2005190163A - 構造化データ検索方法、構造化データ検索装置およびプログラム - Google Patents

構造化データ検索方法、構造化データ検索装置およびプログラム Download PDF

Info

Publication number
JP2005190163A
JP2005190163A JP2003430598A JP2003430598A JP2005190163A JP 2005190163 A JP2005190163 A JP 2005190163A JP 2003430598 A JP2003430598 A JP 2003430598A JP 2003430598 A JP2003430598 A JP 2003430598A JP 2005190163 A JP2005190163 A JP 2005190163A
Authority
JP
Japan
Prior art keywords
data
template
elements
structured data
character string
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
Application number
JP2003430598A
Other languages
English (en)
Other versions
JP4247108B2 (ja
Inventor
Masakazu Hattori
雅一 服部
Hiroshi Niina
博 新名
Takuya Kanewa
拓也 金輪
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP2003430598A priority Critical patent/JP4247108B2/ja
Priority to US10/935,627 priority patent/US7401071B2/en
Publication of JP2005190163A publication Critical patent/JP2005190163A/ja
Application granted granted Critical
Publication of JP4247108B2 publication Critical patent/JP4247108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】構造化データの検索が高速に行える検索方法及び装置を提供する。
【解決手段】複数の要素からなる階層構造と、複数の要素のうちのいずれか1つにそれぞれ対応する複数の要素データからなる複数の構造化データを記憶し、当該複数の要素データのそれぞれは当該要素データに対応する階層構造内の要素のテンプレートIDをもち、文字列と、複数の要素のうちの1つであって当該文字列を含む第1の要素と、複数の要素のうちの他の1つであって第1の要素を含む第2の要素とを指定した検索条件が入力されると、複数の構造化データのなかから、当該文字列を含むとともに第1の要素に対応するテンプレートIDをもつ第1の要素データと、第1の要素データを含むとともに第2の要素に対応するテンプレートIDをもつ第2の要素データとを含む構造化データを検索し、出力する。
【選択図】 図2

Description

本発明は、階層化された論理構造をもつ構造化文書データベースに関する。
Extensible markup language(XML)などで記述された構造化文書データを記憶・検索するための構造化文書管理システムには、いくつかの方式が考えられている。
(1)単純な方式として、構造化文書データをそのままテキストファイルとして管理する方式。この方式では、データ数やサイズが大きくなると格納効率が悪くなったり、構造化文書の特性を生かした検索が困難になる。
(2)RDB(Relational Database)に構造化文書データを管理する方式。
(3)構造化文書データを管理するために開発されたOODB(Object Oriented Database)で管理する方式。基幹系などで広くRDBが使われているが、これを拡張した例えばXML対応RDBが製品として出ている。RDBは、データをフラットなテーブル形式に格納するため、XMLデータのような階層構造をテーブルに対応づける複雑なマッピングが必要となる。このマッピングのため、テーブルに関する事前の構造(スキーマ)設計を十分に行わないと、パフォーマンスが低下してしまう問題が発生する。
近年、上記(1)〜(3)以外に新たな方式が提案されている。
(4)ネイティブに構造化文書データを管理する方式。この方式は、多種多様な階層構造を持つXMLデータを特別なマッピング処理すること無しに格納する。このため、格納や取得時に特別なオーバヘッドが存在しない。また、コストのかかる事前のスキーマ設計が不要になり、ビジネス環境の変化により必要に応じてXMLデータの構造を自由に変更することが可能である。
いくら構造化文書データが効率良く格納されたからといって、格納されたデータを取り出す手段が無ければ意味が無い。この格納されたデータを取り出す手段として、問合せ言語がある。RDBの世界ではSQL(Structured Query Language)があるように、XMLではXQuery(XML Query Language)が策定されている。XQueryは、XMLデータをデータベースのように扱うための言語である。このため条件に合致するデータ集合の取り出しや集計・分析を行うための手段が提供されている。また、XMLデータは親子や兄弟などの要素が組み合わさった階層構造を持つため、この階層構造を辿る手段が提供されている。
格納された構造化文書データの階層構造を辿りながら、検索条件で指定された特定の要素と特定の構造が含まれている構造化文書データを検索するための技術は既に開示されている(例えば、特許文献1、2参照)。
構造化文書データの構造が大規模になるほど、データベースに格納されている構造化文書データの数が多いほど、検索条件が複雑なほど、各構造化文書データの階層構造を構成する要素間をたどるという処理には時間がかかる。また、構造化文書データの数、サイズが大きくなれば、格納された構造化文書データをメモリ上に展開することは不可能であり、多くはハードディスクなど二次記憶に格納されることになる。
ネイティブに構造化文書データを管理する方式では、構造化文書データは要素間の階層構造をそのまま記憶する。検索条件として指定された要素や構造があるか否かを調べるためには、二次記憶上に格納された構造化文書データの要素間を頻繁にアクセスしなければならない。複雑な検索条件の場合はなおさらである。
特開2002−34618公報 特開2000−57163公報
従来は、階層構造を有する構造化文書データを記憶するデータベースから所望の要素や構造を有する構造化文書データを検索する際には、データベース内の各構造化文書データの階層構造を構成する要素データ間を辿りながら、検索条件にて指定された要素や構造を持つ構造化文書データを検索するため、高速に検索できないという問題点があった。特に、構造化文書データのサイズが大きくなるほど、検索対象の構造化文書データの数が多いほど、検索条件が複雑であるほど検索処理の高速化が困難であった。
そこで、本発明は上記問題点に鑑み、構造化文書データの検索が高速に行える構造化データ検索方法および装置を提供することを目的とする。
(1)本発明は、(a)複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶し、(b)前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶し、(c)文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素を指定した検索条件が入力されると、(d)前記複数の構造化データのなかから、前記文字列を含むとともに、前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データを含む構造化データを検索して出力する。
(2)本発明は、(a)複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶し、(b)前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶し、(c)文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つであって前記第1の要素を含む第2の要素とを指定した検索条件が入力されると、(d)前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第1の要素データを含むとともに前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データとを含む構造化データを検索し、出力する。
(3)本発明は、(a)複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶し、(b)前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶し、(c)文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つである第2の要素と、前記複数の要素のうちのさらに他の1つであって前記第1の要素と前記第2の要素とを含む第3の要素とを指定した検索条件が入力されたら、(d)前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データと、前記第1の要素データと前記第2の要素データとを含むとともに前記第3の要素に対応する前記テンプレートIDである第3のテンプレートIDをもつ第3の要素データとを含む構造化データを検索し、出力する。
本発明によれば、構造化データの検索が高速に行える。
以下、本発明の実施形態について、図面を参照して説明する。
図1は、構造化文書データ(構造化データ)の一例である。構造化文書を記述するための代表的な言語としてXML(eXtensible Markup Language)が挙げられる。図1に示す構造化文書はXMLで記述されたものである。XMLでは、文書構造を構成する個々のパーツを「要素」(エレメント:Element)と呼び、要素はタグ(tag)を使って記述する。具体的には、要素の始まりを示すタグ(開始タグ)と、終わりを示すタグ「終了タグ」)の2つのタグでテキストデータを挟み込んで、1つの要素を表現している。なお、開始タグと終了タグで挟み込まれたテキストデータは、当該開始タグと終了タグで表された1つの要素に含まれるテキスト要素である。
この例では、<book>というタグで囲まれた要素のルート要素が存在する。この「book」要素は、<title>、<authors>、<abstract>の各タグで囲まれた3つの子要素を包含する。「authors」要素は、<author>というタグをもつ2つの子要素を包含する。各「author」要素は、<first>、<last>という各タグで囲まれた子要素が存在する。「first」要素と「last」要素は、それぞれ「太郎」や「田中」といったテキスト要素を持っている。
図2は、本実施形態に関る構造化文書管理システムの機能的な構成例を示したものである。構造化文書管理システムは、大きく分けてクライアント201とサーバ101とから構成されている。クライアント201からの格納要求や検索要求を受けて、サーバ101が各要求に対応する処理を行う。
クライアント201は、主に、構造化文書登録部202と検索部203と入力部204と表示部205を有する。キーボードやマウス等の入力装置からなる入力部204は、構造化文書を入力したり、各種指示入力を行うためのものである。構造化文書登録部202は、入力部204から入力された構造化文書や、クライアント201のもつ記憶装置などに予め記憶された構造化文書を構造化文書データベース(構造化文書DB)111に登録するためのものである。構造化文書登録部202は、登録すべき構造化文書をとともに格納要求をサーバ101へ送信する。
検索部203は、入力部204からユーザにより入力された指示に従って、構造化文書データベース111から所望のデータを検索するための検索条件などが記述された問合せデータを作成し、当該問合せデータを含む検索要求をサーバ101へ送信する。また、サーバ101から送信された当該検索要求に対応する結果データを受け取り、これを表示部205に表示する。
サーバ101は、要求処理部102、格納処理部103、検索処理部104から構成されている。また、サーバ101には構造化文書データベース111が接続されている。構造化文書データベース111は、構造化文書データ記憶部112と構造テンプレート記憶部113と索引データ記憶部114とから構成されている。
要求処理部102は、クライアント201から送信される格納要求や検索要求を判別し、格納処理部103や検索処理部104などへ処理の振り分けを行い、格納処理部103や検索処理部104での処理結果をクライアント201に返す。
格納処理部103は、クライアント201からの格納要求を受けて、クライアント201から送信された構造化文書を構造化文書データベース111に格納する処理を行う。格納処理部103は、構造化文書構文解析部31と構造化文書構造抽出部32と構造化文書構造照合部33と構造化文書格納部34から構成される。
構造化文書構文解析部31は、要求処理部102から渡された構造化文書を構文解析し、この解析結果を基に構造化文書構造抽出部32では当該構造化文書の(文書)構造を抽出する。構造化文書構造照合部33は、抽出された構造と構造化文書データベース111に記憶された構造テンプレートとを照合する。構造化文書格納部34は、構造化文書構造照合部33での照合結果を基に、当該構造化文書のデータを構造化文書データベース111の構造化文書データ記憶部112に格納するとともに、索引データを索引データ記憶部114に格納する。
検索処理部104は、クライアント201からの検索要求を受けて、指定された条件(問合せデータ)に合致するデータを構造化文書データベース111から探し出し、得られたデータを結果データとして返す処理を行う。検索処理部104は、問合せ構文解析部41と問合せ構造抽出部42と問合せ構造照合部43と問合せ実行部44から構成される。
問合せ構文解析部41は、要求処理部102から渡された問合せデータを構文解析し、この解析結果を基に問合せ構造抽出部42では、当該問合せデータの構造を抽出する。問合せ構造照合部43は、抽出された構造と構造化文書データベース111に記憶されている構造テンプレートとを照合する。問合せ実行部44は、問合せ構造照合部43での照合結果を基に、構造化文書データベース111に記憶されている構造化文書データや構造テンプレートや語彙索引データにアクセスして、問合せデータに記述された条件に合致する結果データを生成する。
図3は、サーバ101のハードウエア的な構成例を示したもので、バス1に通信I/F装置2、可搬記録媒体ドライブ装置3、表示装置4、入力装置5、出力装置6、演算装置(CPU)7および外部記憶装置8並びにメモリ9が接続されて構成されている。さらに、図3に示す構成では、バス1に、図2の構造化文書データベース111が接続されている。
図2の要求処理部102と格納処理部103と検索処理部104のそれぞれの機能を実現するためのプログラムは、図3の外部記憶装置8に予め記憶され、必要に応じて、各プログラムがメモリ9に読み込まれて実行される。
以下、図2を参照して説明する。
まず、構造化文文書DB111での構造化文書の格納方法について説明する。
図4は、構造化文書データ記憶部112のデータ構造を模式的に表したものである。構造化文書データ記憶部112には、論理的には、大量の構造化文書が「root」ノード301をルートする1つの構造化文書の部分文書として記憶されている。図4では、この「root」ノード301をルートする1つの構造化文書の構造をノードとアークから構成される階層木で表している。各ノードは構造化文書の要素(テキスト要素を含む)を示し、要素間の親子関係をアークで示している。実装上は、ノードはオブジェクトデータのファイルとして構造化文書データ記憶部112に格納される。各ノードには、オブジェクトID(OID)と呼ばれる識別子が割当てられている。なお、図4では、説明の簡単のため、OIDを「0」〜「47」の数字で表している。OIDを指定することで所望のオブジェクトデータを取り出すことができる。
ノード間の親子関係を表わすアークは、オブジェクトデータ間のリンクであり、このリンクはオブジェクトデータ内に子要素のオブジェクト集合を指すOID配列として、構造化文書データ記憶部112に記憶される。
「root」ノード301の下には「bookFolder」、「paperFolder」の2つのノード302、303が存在する。「bookFolder」ノードの下には、2つの「book」ノード304、305が存在する。OIDが「2」の「book」ノードには、図1で示した構造化文書データが格納されている。
このように「root」ノード以下のデータは、複数の構造化文書のそれぞれの各要素からなる1つの大きな構造化文書データであり、図1で示した構造化文書データは、当該大きな構造化文書データの一部分として格納されている。例えば、図1の構造化文書<book>…</book>は、図4の構造化文書では、<root><bookFolder><book>…</book><bookFolder><root>と表すことができる。
なお、このような複数のノードからなる階層構造は、汎用のOSで広く採用されているディレクトリ構造に当てはめると、これら各ノードは、ディレクトリ構造のフォルダとファイルに対応する。すなわち、図4に示す階層構造は、「root」フォルダの下に、「bookFolder」、「paperFolder」という2つの子フォルダがあり、「bookFolder」フォルダの下に、「book」という要素をルートに持つ2つのドキュメントファイル311、312が存在し、「paperFolder」フォルダの下に、「paper」という要素をルートに持つ1つのドキュメントファイル313が存在するディレクトリ構造で構造化文書データ記憶部112に記憶される。
以下、「root」ノード、「bookFolder」ノード、「paperFolder」ノードをフォルダと解釈し、フォルダ以下のデータをまとめてドキュメントファイルと解釈する。例えば、図4の場合、「bookFolder」フォルダに2つの「book」ドキュメント(ファイル311、312)が格納され、「paperFolder」フォルダに1つの「paper」ドキュメント(ファイル313)が格納されていると解釈することができる。
図5は、従来の構造化文書DBの構成例である。構造化文書DBに対する検索を行うには、問合せデータを与える必要がある。問合せデータには、テキスト(単語などの文字列)を検索条件として指定したもの、構造化文書の構造を検索条件として指定したもの、あるいは両者を組み合わせて検索条件として指定したものがある。問合せデータに単語などの文字列が検索条件として含まれる場合、構造化文書管理システムでは高速に検索を行うため、語彙索引を付けることが多い。語彙索引データとは、格納された構造化文書データに含まれるテキスト要素のテキストデータ(文字列)を抽出し、テキストデータと当該テキストデータを含む構造化文書データ中の要素のオブジェクトID(OID)との対応関係を表す情報である。
図5に示す構造化文書DBには、構造化文書データを格納する構造化文書データ記憶部と、索引データを格納する索引データ記憶部から構成されている。
図1で示した構造化文書データには、「XMLデータベース」、「XMLデータの検索技術」、「田中」、などのテキストデータが含まれている。これらのテキストデータを字句解析することで「XML」、「データ」、「データベース」などの語彙(文字列)に分解している。
索引データ記憶部には、語彙テーブルと当該語彙テーブル中の各語彙にリンクされた当該語彙を含むテキスト要素のOIDを記録する複数のテーブルが記憶されている。語彙テーブル中の語彙からリンクをたどることで、その語彙を含むテキスト要素の出現位置、つまりOIDが得られる。
図6は、本実施形態に関る構造化文書DB111の構成例である。構造化文書データ記憶部112、索引データ記憶部114は図5と同じであるが、新たに構造テンプレート記憶部113が追加されている。
構造テンプレート記憶部113には、構造テンプレートデータが格納されている。構造テンプレートデータには、構造化文書データ記憶部112に格納されている構造化文書データから抽出された構造データが格納されている。
図4に示したように、構造化文書DB111に、2つの「book」ドキュメントファイル311、312と、1つの「paper」ドキュメントファイル313が記憶されている場合に、構造テンプレート記憶部113に記憶されている構造テンプレートデータを図7に示す。図4では、フォルダやドキュメントファイルが階層的に配置されていた。図7の構造テンプレートデータは、「root」、「bookFolder」、「paperFolder」という3つのフォルダ351〜353からなる階層構造と、「bookFolder」というフォルダに格納されている2つのドキュメントの文書構造のベース(基準)となる文書構造(要素(テキスト要素を含む)361〜369で構成される階層構造)と、「bookFolder」というフォルダに格納されている1つのドキュメントの文書構造のベース(基準)となる文書構造(要素(テキスト要素を含む)381〜389で構成される階層構造)を表したものである。
図4では、「book」ドキュメントファイル311は、その先頭のノードである「book」ノード304直下に「authors」ノードがあり、その下には2つの「author」ノードがあったが、図7に示し構造テンプレートでは、「author」ノードは1つにまとめられて、テキストノード(テキスト要素)は「#text」ノードとして表されている。
図7の構造テンプレートデータの六角形で表された各ノード(各ノードは、フォルダ、ファイル、要素、テキスト要素に対応する)には、「F0」、「D2」、「E3」、「T4」などのユニークなIDが割り振られている。構造テンプレートデータの各ノードの種別や構造上の位置を識別するために、各ノードに割り振られたIDをテンプレートID(TID)と呼ぶ。
テンプレートIDについて説明する。テンプレートIDは、構造テンプレート上の当該ノードの種類を表す情報と、同じ種類のノードのなかで各ノードを識別するための番号とから構成されている。ノードの種類は、「F」「D」「E」「T」という4種の文字により表されている。「F」はフォルダ、「D」はドキュメントファイル、「E」は要素(テキスト要素ではない要素)、「T」はテキスト要素を表す。ノードの種類を表す文字とそれに続く番号「x」とからなるテンプレートIDにより、当該ノードの種類と、当該テンプレートIDを持つノードが構造テンプレート上のどのノードであるかを識別することができる。
テンプレートIDが「Fx」であるノードはフォルダを表し、これをフォルダ型構造テンプレートノードと呼ぶ。テンプレートIDが「Dx」であるノードはドキュメントを表し、ドキュメント型構造テンプレートノードと呼ぶ。テンプレートIDが「Ex」であるノードはドキュメント内の要素(テキスト要素でない要素)を表し、エレメント型構造テンプレートノードと呼ぶ。テンプレートIDが「Tx」であるノードはドキュメント内のテキスト要素を表し、テキスト型構造テンプレートノードと呼ぶ。なお、ここでは、「x」は、構造テンプレートデータの各ノードにユニークなシリアルな整数とする。
本実施形態に関る構造化文書データ記憶部112には、図4の「root」ノード301や「bookfolder」ノード302、「paperfolder」ノード303、「book」ドキュメントや「paper」ドキュメントの各要素(テキスト要素を含む)に対応する各ノードを識別するためのOIDには、図7に示すように、上記構造テンプレートが含まれている。
図8は、図4と同様、構造化文書データ記憶部112に格納されている構造化文書データの記憶例を模式的に示したものである。図8では、各ノードのOIDを図4よりも詳細に示している。すなわち、本実施形態では、データファイルに格納されている構造化文書データの各ノードのOIDは、ドキュメントID(DocID)、要素ID(ElemID)、上記テンプレートID(TID)から構成されている。ここでは、OIDを<DocID,ElemID,TID>と表すことにする。
DocIDとは、ドキュメント、フォルダに割当てられるデータファイル内でユニークなIDであり、ドキュメントファイルの識別子、フォルダの識別子である。ElemIDは、各ドキュメント内の各要素に割当てられる各ドキュメント内でユニークなIDである。TIDとは、前述したように構造テンプレートデータ内のノードが持つID、すなわち、テンプレートIDである。
例えば、「root」ノードのDocIDを「0」とし、「bookFolder」ノードのDocIDを「1」とし、2つの「book」ノードのそれぞれのDocIDを「2」、「3」とする。さらに、図8には示していないが、「paperFolder」ノードや、「paper」ノードのDocIDを上記「0」〜「3」以外の未使用の値とする。このように、DocIDにより、データファイル中のフォルダやドキュメントファイルをそれぞれ識別することができる。
また、DocIDが「2」の「book」ノード以下の「book」ドキュメント中の各要素(テキスト要素を含む)には、それぞれ、「0」〜「14」というElemIDが与えられている。このElemIDにより、当該ドキュメント内での各要素を識別することができる。
さらに、DocIDが「2」の「book」ノード以下の「book」ドキュメント中の各要素(テキスト要素を含む)には、図7に示す構造テンプレート中の当該要素に対応するノードのTIDが与えられている。
このように、ドキュメントファイル内のある要素のOIDを見れば、当該OIDに含まれるDocIDからは当該OIDをもつノードを含むドキュメントファイルを識別することができ、当該OIDに含まれるTIDからは当該ノードの構造テンプレート中の存在位置とノードの種別を識別することができ、ElemIDからは当該ノードの当該ドキュメント中の存在位置を識別することができるのである。
例えば、図8の「book」ドキュメント311に含まれるテキストノード(テキスト要素)「XMLデータベース」は、<2、2、T4>というOIDを持っている。このOIDからは、当該テキストノードが属するドキュメント311のDocIDは「2」であることがわかる。また、当該テキストノードは、当該ドキュメント311内では「2」というElemIDを持っている。さらにこのテキストノードは、構造テンプレートデータ内では、図7の「T4」というTIDを持つノードに対応している。
このように、本実施形態では、構造化文書DB111に格納される構造化文書の各要素は、当該要素が属するフォルダ、ファイルの識別子であるDocIDと、当該要素が属するファイル内で当該要素を識別するためのElemIDと、当該要素に対応する構造上の識別子であるTIDとを含むOIDにより識別される。
図9は、本実施形態に関る索引データ記憶部114に記憶される索引データのデータ構造を模式的に示したものである。索引データ記憶部114は、図5と同様、語彙テーブルと当該語彙テーブル中の各語彙にリンクされた当該語彙を含むテキスト要素のOIDを記録する複数のテーブルが記憶されている。語彙テーブル中の語彙からリンクをたどることで、その語彙を含むテキスト要素の出現位置、つまりOIDが得られる。
図9に示した索引データと図5に示した索引データとの異なる点は、図9に示した索引データでは、OIDが<DocID、ElemID、TID>と、3つのIDで表されている点である。
図10〜図11に示すフローチャートを参照して、図2の格納処理部103の処理動作について説明する。
クライアント201の構造化文書登録部202からは、新たに格納すべき構造化文書データと、この構造化文書データの格納先のフォルダのOIDを含む格納要求メッセージが送信される。ここで、格納先のフォルダのOIDをOIDpと表す。
なお、クライアント201では、格納先のフォルダのOIDは、次のようにして得ることができる。クライアント201の検索部203には、例えば、図8に示すような構造化文書DB111の概略構造を表示するためのGUIを有している。このGUIにより表示された構造からユーザが格納先のフォルダとして所望のノード(フォルダ)を指示すると、当該ノードに対応するOIDを得るための問合せデータが作成され、サーバ101へ送信される。サーバ101では、当該問合せデータから、当該指示されたノードのOIDを獲得して、クライアント201の検索部203へ返す。検索部203は、この得られたOID(すなわち、OIDp)を構造化文書登録部202へ渡す。
さて、サーバ101の要求処理部102では、新たなに格納すべき構造化文書データと格納先のフォルダのOIDpを含む格納要求メッセージを受け取る(ステップS1)。ここでは、例えば、「bookFolder」302に対応するOIDp(<1,0,F1>)が格納先のフォルダとして指定され、このフォルダ下に新たなドキュメントを格納するケースを考える。
格納要求メッセージに含まれる、格納すべき構造化文書データは、格納処理部103の構造化文書構文解析部31へ渡されて、当該構造化文書データの構文解析が行われる。この結果得られるものは、構造化文書データの複数のオブジェクトデータからなる階層構造であり、メモリ上に展開される(ステップS2)。すなわち、構造化文書構文解析部31は、XMLデータである構造化文書データに対し、構文解析処理を行うことによりDOM(Document Object Model)形式のオブジェクトデータに展開するXMLパーサに相当する機能を有するものである。
さらに、当該構造化文書データに対し、新たなドキュメントID(DocID)を付与する(ステップS3)。
次に、構造化文書構造抽出部32は、構造化文書構文解析部31での解析結果をそのルートから辿ることによって、当該構造化文書データの構造、すなわち、当該構造化文書データ中の各要素に対応する複数のノードと、当該複数のノードからなる構造を抽出する。当該構造化文書データの構造をScとする(ステップS4)。
構造化文書構造照合部33は、格納先フォルダのOIDpをキーに構造テンプレート記憶部113から構造を取得する。例えば、OIDpが<1,0,F1>である場合には、まず、TID「F1」を取得する。このOIDpから取得したTIDをTIDpと表す。構造化文書構造照合部33は、TIDpをキーにして構造テンプレート記憶部113をスキャンすることで、対応する構造を取得する(ステップS5)。取得した構造をSpとする(ステップS6)。
構造化文書構造照合部33は、ScとSpの照合を行う(ステップS7)。これはツリーの単純なマッチングである。すなわち、Scの構造要素に対応するSpの構造要素があれば、当該Scの構造要素に当該Spの構成要素のTIDを付与する。Scの構造要素に対応するSpの構造要素がなければ、Spに存在せずに、Scに存在する新たな要素に新たなTIDを付与し、Spに当該新たな要素を追加する。また、Scの当該新たな要素に当該新たなTIDを付与する。この操作をScの全ての構造要素に対し行う。
次に、構造化文書構造照合部33は、Scの各要素に要素ID(ElemID)を付与する(ステップS8)。例えば、Scの構造をルートノードから下流方向へ辿りながら、各要素に対しElemIDを付与する。
以上の処理により、当該Sc内の各要素に対し、<DocID,ElemID,TID>という構成のOIDが与えられたことになる。例えば、当該格納すべき構造化文書データのルートオブジェクトのOIDは、<DocID,0,TID>となっている。
最後に、構造化文書格納部34は、更新されたSpを構造テンプレート記憶部113に格納する。これにより、構造テンプレート記憶部113に格納される構造テンプレートの更新がなされる。
また、構造化文書格納部34は、Scを構成する複数の要素のうち、テキスト要素を元に、索引データ記憶部114を更新する(図11のステップS9)。ここで、テキスト要素のテキストデータから語彙(文字列)を抽出し、この抽出した語彙が図9に示すような語彙テーブル中に無ければ、当該語彙を語彙テーブルに追加する。そして、各テキスト要素のOIDを、当該テキスト要素のテキストデータに含まれる語彙テーブル中の語彙にリンクして記憶する。
さらに、構造化文書格納部34は、構造化文書データ記憶部112内をスキャンすることで、格納先として与えられたOIDpに対応するオブジェクトを取得し、当該オブジェクトデータの子要素のオブジェクトの集合を示すOID配列に、当該格納すべき構造化文書データの各要素のOIDを追加する。すなわち、構造化文書データ記憶部112に、各要素に上記のようなOIDの付された当該格納すべき構造化文書データが、OIDpが<1,0,F1>の「bookFolder」302の直下に追加される形で格納される(ステップS10)。
次に、図2の検索処理部104の処理動作について説明する。
図12は、検索処理部104に入力する問合せデータの一例を示したものである。XMLでは、XQuery(XML Query Language)という問合せ言語があり、これに基づいた問合せ記述方法に則っている。
図12に示す問合せデータには、「構造化文書DB「DB」の階層木の中に「book」という要素がある。この「book」という要素の中に「田中」という文字列を含むテキスト要素をもつ「last」という要素と、さらに「中村」という文字列を含むテキスト要素もつ「last」という要素がある」という条件が記述されている。この条件では、「book」という要素には、「田中」という文字列を含むテキスト要素をもつ「last」という要素と、「中村」という文字列を含むテキスト要素もつ「last」という要素という2つの要素を含むという、いわゆるAND条件が含まれている。一方、OR条件とは、例えば、「book」という要素には、「田中」という文字列を含むテキスト要素をもつ「last」という要素と、「中村」という文字列を含むテキスト要素もつ「last」という要素のうちの少なくとも1つを含むというものである。
図12に示すような問合せデータは、クライアント201の検索部203からサーバ101へ送信され、サーバ101の要求処理部102で受信される。
以下、図13〜図14に示すフローチャートを参照して、例えば、図12に示したような問合せデータを受信した検索処理部104の処理動作の概略を説明する。
要求処理部102で受信された問合せデータは、検索処理部104の問合せ構文解析部41に渡される。問合せ構文解析部41では、受け取った問合せデータの構文解析を行い(ステップS101)、この結果を基に、問合せ構造抽出部42では、当該問合せデータから、問合せグラフと呼ばれるグラフ構造を抽出する(ステップS102)。例えば、図12に示した問合せデータの場合、図15に示すような問合せグラフが得られる。ここでは、問合せグラフで表されるような問合せデータ中の構造をScと表す。
問合せグラフは、図15に示すように、問合せデータ中に含まれる要素名(例えば、「db“DB”」、「book」、「last」)、や文字列(例えば「田中」、「中村」)にそれぞれ対応する変数と、各変数を、問合せデータ中に含まれる要素と文字列の包含関係に従って接続して構成されている。
次に、問合せ構造照合部43は、構造化文書DB111の構造テンプレート記憶部113から構造を取り出す。取り出した構造をSpと表す。ここでは、例えば、問合せデータ中で指定された、構造化文書データベースの階層木の最も上流にある要素、すなわち、「book」という要素以下の構造を抽出する。そして、この取り出した構造Spと先ほどのScとの照合を行う。この結果、Scの各要素に対して、取り得るTIDを割当てる(ステップS103)。
問合せ実行部44は、問合せグラフで表されている条件にAND条件、OR条件を含むか判定する。なお、ここでは、AND条件に対する処理が基本でありOR条件に対する処理はその変形なので、OR条件に対する処理の詳細は割愛する。
AND条件に対する処理は、問合せグラフに含まれる全ての変数の具体化を目標として、テーブルと呼ばれる変数集合の取り得る値の組み合わせを表すデータを次々と生成する。ここでは、1つのテーブルを生成する単位処理をオペレータと呼ぶ。
まず、問合せグラフに含まれる全ての変数が1テーブルで具体化されているか判定する(ステップS104)。Yesであれば、全ての変数の取り得る値の組合せが具体化されたので、それが結果となる。なお、変数が取り得る値とは、OIDのことである。
以下、問合せグラフに含まれる全ての変数が1テーブルで具体化されていないならば、具体化されるまで、ステップS105〜ステップS110を繰り返す。
ステップS105では、索引データ記憶部114に記憶されている索引データを用いた検索が可能か判定する。「contains」など語彙索引系の関数があれば、構造化文書DB11中の索引データを用いて検索を高速化できる。この場合LexicalScanWithTidオペレータを実行する。
図14のステップS106では、親ドキュメント取得操作が可能か判定する。子要素OIDから親ドキュメントルートOIDをダイレクトに取り出すことができれば、GetDocumentオペレータを実行する。
ステップS107では、複数テーブルに同一変数が発生しているか判定する。その場合は2つのテーブル毎にJoinオペレータを実行する。
ステップS108では、値を取得すべき変数がすべて具体化されており、問合せの先頭にあるデータベースのルートを指定する「db()」しか残っていなければ、Nopオペレータ(無操作)を実行する。
ステップS109では、任意の2変数の上位階層にある変数に対してドキュメント型TIDが割当てられており、その2変数の値が具体化されていれば、FilterDocumentオペレータを実行する。
ステップS110では、変数の上位階層に変数があり、下位階層にある変数が具体化されていて上位階層にある変数が具体化されていなければ、ScanAncestorWithTIdオペレータを実行する。
ステップS111では、結果出力処理を行う。ここで各変数の取り得る値(OID)の組合せ(OIDの組合せ)がテーブルとして得られている。各組合せは、同じドキュメントIDをもつ複数のOIDからなり、よって、テーブル上の各組合せは、1つの構造化データに対応する。テーブル上の組合せから得られる各ドキュメントIDに対応する構造化データを構造化文書データ記憶部112から取り出すことにより、問合せデータに合致する構造化文書データの集合を得ることができる。
図15に示した問合せグラフでは、変数は、丸で囲まれたノードで表されており、丸のなかに変数名が記述されている。これを変数ノードと呼ぶ。また、問合せデータ中に指定されていた要素は、六角形のなかに「TAG」と書かれたノードで表されている。これをタグノードと呼ぶ。さらに、問合せデータ中に指定されていた文字列は、六角形のなかに「VALCMP」と書かれたノードで表されている。これを値比較タグノードと呼ぶ。
図16は、図15の問合せグラフに基づく検索処理を説明するための図である。
図16(a)に示した問合せグラフの各変数には、ステップS103において、ScとSpの照合を行った結果得られるTIDが付与されている(図16(b)参照)。変数V2にはTID集合{D2}、変数V1、V3にはTID集合{T10}が割当てられている。この問合せグラフに基づき、ステップS104〜ステップS110のAND条件に対する処理を以下のように実行する。
(1)問合せグラフには値比較タグノードがありcontains語彙索引系の関数なので、文字列「田中」に関して、LexicalScanWithTidオペレータを実行する。この結果、変数ノードV1が具体化する(図18(a)に示すTable1)。すなわち、変数ノードV1に対応するOIDが得られる。
(2)同様に、文字列「中村」に関して、LexicalScanWithTidオペレータを実行する。この結果、変数ノードV3が具体化する(図18(b)に示すTable12)。すなわち、変数ノードV3に対応するOIDが得られる。
(3)変数V1とV3が具体化し、上位変数V2がドキュメント型(構造テンプレート)ノードなので、FilterDocumentオペレータを実行する。FiterDocumentオペレータは2つのテーブル(図18(a)(b)に示すTable1、Table2)内にある変数値の組合せをチェックし、2テーブル内の片方にしか存在しないドキュメントID(DocID)があれば、当該テーブルからそのレコードを取り除いてしまう操作を行う。この結果、図18(c)(d)に示すようなTable1、2が得られる。
(4)変数V1が具体化し、変数V2のTIDがドキュメント{D2}なので、変数V1に関し、親ドキュメント取得操作が可能である。GetDocumentオペレータを実行する。ここで変数V2が具体化する(図18(e)に示すTable3)。すなわち、変数ノードV2に対応するOIDが得られる。
(5)同様に、変数V3に関し、GetDocumentオペレータを実行する。ここで変数V2が具体化する(図18(f)に示すTable4)。すなわち、変数ノードV2に対応するOIDが得られる。
(6)上記(3)(4)に示したように、別系統で変数V2がそれぞれ具体化されたので、Joinオペレータを実行する(図18(g))。
(7)変数V0は出力オペレータではないので、Nopオペレータを実行する。
図17は、上記(1)〜(6)で説明したオペレータ系列を示したものである。
図18は図17のオペレータ系列をオペレータ入出力という観点で視覚化した図である。
図18(a)のTable1では、図17(a)のLexicalScanWithTidオペレータにより変数V1に対応するOID<2,8,T10>が得られている。
図18(b)のTable2では、図17(b)LexicalScanWithTidオペレータにより変数V3に対応するOID<2,13,T10>,<3,13,T10>が得られている。
図17(c)のFilterDocumentオペレータにより、図18(d)に示すように、Table2の<3,13,T10>が取り除かれている。
図17(d)のTable1に対するGetDocumentオペレータにより、図18(e)に示すように、変数V1から変数V2に対応するOID<2,0,D2>が得られる。なお、ここでは、変数V2に対応するOIDを求めるために、変数V1に対応するOID<2,8,T10>のDocIDはそのままにして、ElemID=0、TID=Dxという変換を行っているだけである。
図17(e)のTable2に対するGetDocumentオペレータにより、図18(f)に示すように、変数V3から変数V2に対応するOID<2,0,D2>が得られる。
図17(f)の変数V2に関し、Table3,Table4を結合するJoinオペレータにより、図18(g)のTable5に示すように、変数V1、V2、V3の取り得る値の組合せ(オブジェクトIDの組合せ)が得られる。1つの組合せに含まれる各OIDの持つドキュメントIDは同じものである。すなわち、この組合せに含まれる各オブジェクトIDに対応する要素データを含む構造化データ(すなわち、図18(g)の場合、ドキュメントIDが「2」の構造化データ)が検索結果として問合せ実行部44から出力される。検索結果は、要求処理部102から検索要求元のクライアント201へ渡される。クライアント201では、サーバ101から受け取った構造化データを表示部205へ表示する。
次に、上記検索処理の効果を説明するために、従来技術の検索処理について、図19、図20を参照して説明する。
図19は、図15の問合せグラフに対して従来技術に基づくオペレータ系列を示したものであり、図20は図19のオペレータ系列をオペレータ入出力という観点で視覚化した図である。図19に示すように、「田中」、「中村」をキーにして語彙索引を使い、2つのLexicalScanオペレータを実行する。2つのScanAncestorオペレータを実行した結果得られるテーブルを、Joinオペレータにより結合している。最後にScanAncestorオペレータにより「db(“DB”)」というパス条件を確認している。
図19と図17とで大きく異なる点は、図19に示したオペレータ系列では、構造テンプレートやTIDという概念が無い。また、図19と図17でそれぞれ用いられている各オペレータの違いについて以下に述べる。
図19のLexicalScanオペレータは、図20(a)(b)に示すように、当該オペレータに、入力パラメータとして指定された語彙を含むOID集合を返す。図17のLexicalScanWithオペレータは、入力パラメータとして語彙の他にTIDを含むオペレータであり、語彙を含むOID集合を返すが、この際、入力パラメータであるTID(図13のステップS103で付与されたTID)でフィルタリングを行う(当該TIDをもつOIDの集合を返している)。つまり、図17のLexicalScanWithオペレータは、問合せデータに発生する構造を考慮したため、無駄なOID集合を最初から取り除いている。このため、その後の処理コストが小さくて済む。
図19のScanAncestorオペレータは、OID集合に対してパス条件にマッチする上流のOID集合を返す。これを行うためには、構造化文書DB中のデータファイルをスキャンする必要がある。図20(d)に示すように、LexicalScanオペレータで得られ、Table2に記録されている(無用なOIDを含む)多くのOIDのそれぞれに対して、構造化文書DB中の多くの構造化文書データに対するスキャンが発生している。例えば、図20(d)から、OIDが「15」のノードからOIDが「2」のノードを得るための構造化文書データのスキャンと、OIDが「30」のノードからOIDが「16」のノードを得るための構造化文書データのスキャンとが発生している。
これに対し、図17のGetDocumentオペレータは、入力パラメータとして与えられたOID集合に対して、当該OID集合の各OIDと同じ文書中の上流のノードのOID集合を返す。ここで、構造化文書データの文書構造を辿るのではなく、当該与えられたOIDから、その上流ノードのOIDへと変換を行っている。つまり、GetDocumentオペレータは、問合せデータに発生する構造を考慮したため、構造化文書DB中のデータファイルをスキャンする必要が無い。このため、ディスクI/Oなど処理コストが小さくて済む。
図21は、図12の問合せデータを基に問合せ実行部44で検索された構造化文書データ集合の例である。図21に示すように、検索結果として得られるものは、いずれも、「田中」という文字列を含むテキスト要素をもつ「last」要素と、「中村」という文字列を含むテキスト要素もつ「last」要素とを含む、「book」という要素名をもつ構造化文書データである。
図22は、問合せデータの他の例である。XMLでは、XQuery(XML Query Language)という問合せ言語があり、これに基づいた問合せ記述方法に則っている。
図22に示す問合せデータには、「構造化文書DB「DB」の階層木の中に「authors」という要素がある。その中に「田中」という文字列を含むテキスト要素をもつ「last」という要素がある」という条件が記述されている。
図23は、図22の問合せデータから得られる問合せグラフを示したもので、図24は、図13のステップS103で付与された、図23の問合せグラフ中の各変数に対応するTIDを示したものである。
図25は、図23の問合せグラフに基づき検索を行う際に用いられるオペレータ系列を示したものである。図26は図15のオペレータ系列をオペレータ入出力という観点で視覚化した図である。
図23に示すように、構造化文書DB「DB」の階層木の中の「authors」要素のなかの「last」要素に含まれるテキスト要素のTIDは、図7に示す構造テンプレートからも明らかなように、「T10」であり、構造化文書DB「DB」の階層木の中の「authors」要素のTIDは、図7に示す構造テンプレートからも明らかなように、「E5」であり、構造化文書DB「DB」の階層木のルートノードは、図7に示す構造テンプレートからも明らかなように、「F0」である。
図25(a)に示すように、LexicalScanWithTidオペレータにより、「田中」という文字列を含むテキスト要素であって、TIDが「T10」であるOID集合を得る(図26(a)参照)。次に、図25(b)に示すように、ScanAncestorWithTidオペレータにより、OID<2,8,T10>を、当該OIDの要素の上流のノードであって、TIDが「E5」であるノードのOIDを取得する。すなわち、OID<2,3,E5>を得る(図26(b)参照)。
この場合、サーバ101からは、ドキュメントID「2」の構造化データが検索結果としてクライアント201へ渡される。あるいは、OID<2,3,E5>の要素データ以下の部分データを検索結果としてクライアント201へ渡される。
以上説明したように、上記実施形態によれば、複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する構造テンプレートを構造テンプレート記憶部113に記憶するとともに、前記複数の要素のうちのいずれか1つのテンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを構造化文書データ記憶部112に記憶しておく。
(1)文字列と、階層構造の複数の要素のうちの1つであって当該文字列を含む第1の要素を指定した検索条件が入力されると、複数の構造化データのなかから、当該文字列を含むとともに、第1の要素に対応するテンプレートIDをもつ第1の要素データを含む構造化データを検索して出力する。
(2)文字列と、階層構造の複数の要素のうちの1つであって当該文字列を含む第1の要素と、当該階層構造の複数の要素のうちの他の1つであって当該第1の要素を含む第2の要素とを指定した検索条件が入力されると、複数の構造化データのなかから、当該文字列を含むとともに第1の要素に対応するテンプレートIDをもつ第1の要素データと、当該第1の要素データを含むとともに当該第2の要素に対応するテンプレートIDをもつ第2の要素データとを含む構造化データを検索して出力する。
(3)文字列と、階層構造の複数の要素のうちの1つであって当該文字列を含む第1の要素と、当該階層構造の複数の要素のうちの他の1つである第2の要素と、当該階層構造の複数の要素のうちのさらに他の1つであって当該第1の要素と当該第2の要素とを含む第3の要素とを指定した検索条件が入力されると、複数の構造化データのなかから、当該文字列を含むとともに当該第1の要素に対応するテンプレートIDをもつ第1の要素データと、当該第2の要素に対応するテンプレートIDをもつ第2の要素データと、当該第1の要素データと当該第2の要素データとを含むとともに当該第3の要素に対応するテンプレートIDをもつ第3の要素データとを含む構造化データを検索して出力する。
このように、上記実施形態によれば、検索条件として指定された構造を構成する各要素のテンプレートIDを用いて、当該検索条件として指定された各要素に対し、オブジェクトIDの集合を求める際に、当該要素のテンプレートIDをもつオブジェクトIDのみに絞り込むことができるため、検索が高速に行える。
また、構造化文書データ記憶部112に記憶される各構造化文書データを構成する各要素データには、当該要素データを含む構造化文書データを識別するためのドキュメントIDと、当該要素データを当該要素データを含む構造化文書データ内で識別するためのエレメントIDと、当該要素データに対応する構造テンプレートの要素のテンプレートIDとからなるオブジェクトIDが付与されている。このため、検索条件を満たす要素データのオブジェクトIDが得られれば、当該オブジェクトIDのエレメントIDやテンプレートIDを書き換えるだけで、その上流にある要素データのオブジェクトIDが得られる。すなわち、構造化データの構造を辿ることなく同じ構造化データ内の上流の要素データを得ることができる。また、オブジェクトIDに含まれるテンプレートIDやドキュメントIDから、構造化文書DB内での検索範囲を予め絞り込むことができる。この結果、検索が高速に行える。
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
構造化文書データの一具体例を示した図。 本発明の実施形態に係る構造化文書管理システムの機能的な構成例を示した図。 サーバのハードウエア的な構成例を示した図。 構造化文書データ記憶部のデータ構造を模式的に表した図。 従来の構造化文書DBの構成例を示した図。 本発明の実施形態に関る構造化文書DBの構成例を示した図。 構造テンプレート記憶部に記憶されている構造テンプレートデータの一例を示した図。 構造化文書データ記憶部に格納されている構造化文書データの記憶例を模式的に示した図。 索引データ記憶部に記憶される索引データのデータ構造を模式的に示した図。 格納処理部の処理動作を説明するためのフローチャート。 格納処理部の処理動作を説明するためのフローチャート。 問合せデータの一例を示した図。 図12に示したような問合せデータを受信した検索処理部の処理動作の概略を説明するためのフローチャート。 図12に示したような問合せデータを受信した検索処理部の処理動作の概略を説明するためのフローチャート。 図12の問合せデータから得られる問合せグラフを示した図。 図15の問合せグラフに基づく検索処理を説明するための図。 図15の問合せグラフに基づく検索処理に用いられるオペレータ系列を示した図。 図17のオペレータ系列による処理動作を説明するための図。 図15の問合せグラフに対して従来技術に基づくオペレータ系列を示した図。 図19のオペレータ系列による処理動作を説明するための図。 検索結果として得られた構造化文書データの一例を示した図。 問合せデータの他の例を示した図。 図22の問合せデータから得られる問合せグラフを示した図。 図23の問合せグラフ中の各変数に対応するTIDを示した図。 図23の問合せグラフに基づく検索処理に用いられるオペレータ系列を示した図。 図25のオペレータ系列による処理動作を説明するための図。
符号の説明
31…構造化文書構文解析部、32…構造化文書構造抽出部、33…構造化文書構造照合部、34…構造化文書格納部、41…問合せ構文解析部、42…問合せ構造抽出部、43…問合せ構造照合部、44…問合せ実行部、101…サーバ装置、102…要求処理部、103…格納処理部、104…検索処理部、111…構造化文書データベース、112…構造化文書データ記憶部、113…構造テンプレート記憶部、114…索引データ記憶部、201…クライアント装置、202…構造化文書登録部、203…検索部、204…入力部、205…表示部。

Claims (19)

  1. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素を指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに、前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    を有することを特徴とする構造化データ検索方法。
  2. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つであって前記第1の要素を含む第2の要素とを指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第1の要素データを含むとともに前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データとを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    を有することを特徴とする構造化データ検索方法。
  3. 前記複数の要素データのそれぞれは、当該要素データを含む構造化データを識別するためのドキュメントIDと、当該要素データを当該要素データを含む構造化データ内で識別するためのエレメントIDと、前記テンプレートIDとからなるオブジェクトIDをもち、
    前記第4のステップは、前記第1の要素データの前記オブジェクトIDである第1のオブジェクトIDに含まれるドキュメントIDである第1のドキュメントIDと、当該第1のオブジェクトIDに対応する構造化データ内で前記第1の要素データより上流の前記エレメントIDと、前記第2のテンプレートIDとから前記第2の要素データの前記オブジェクトIDである第2のオブジェクトIDを求めることを特徴とする請求項2記載の構造化データ検索方法。
  4. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つである第2の要素と、前記複数の要素のうちのさらに他の1つであって前記第1の要素と前記第2の要素とを含む第3の要素とを指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データと、前記第1の要素データと前記第2の要素データとを含むとともに前記第3の要素に対応する前記テンプレートIDである第3のテンプレートIDをもつ第3の要素データとを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    を有することを特徴とする構造化データ検索方法。
  5. 前記階層構造を構成する各要素のもつ前記テンプレートIDには、要素の種別を表す情報が含まれていることを特徴とする請求項1、2、4のうちのいずれか1つに記載の構造化データ検索方法。
  6. 複数の文字列のそれぞれに、前記複数の要素データのうち当該文字列を含む要素データの前記オブジェクトIDを対応付けた索引データを第3の記憶手段に記憶する第6のステップをさらに有し、
    前記第4のステップは、前記第3の記憶手段に記憶された索引データを基に、前記文字列を含む要素データの前記オブジェクトIDの集合を求め、当該集合のなかから前記第1のテンプレートIDを含む前記第1のオブジェクトIDを求めることを特徴とする請求項1、2、4のうちのいずれか1つに記載の構造化データ検索方法。
  7. 前記複数の要素データのそれぞれは、当該要素データを含む構造化データを識別するためのドキュメントIDと、当該要素データを当該要素データを含む構造化データ内で識別するためのエレメントIDと、前記テンプレートIDとからなるオブジェクトIDをもち、
    前記第4のステップは、前記文字列を含む要素データであって前記第1のテンプレートIDをもつ要素データのオブジェクトIDの第1の集合と、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDを含むオブジェクトIDの第2の集合とから、同じドキュメントIDを含むオブジェクトIDをそれぞれ抽出し、前記第1の集合から抽出されたオブジェクトIDのうちの1つに対応する前記第1の要素データと前記第2の集合から抽出されたオブジェクトIDのうちの1つに対応する前記第2の要素データと前記第3の要素データとを含む構造化データを検索することを特徴とする請求項4記載の構造化データ検索方法。
  8. 前記第4のステップは、前記第1の要素データの前記オブジェクトIDである第1のオブジェクトIDと前記第2の要素データの前記オブジェクトIDである第2のオブジェクトIDとに共通に含まれる前記ドキュメントIDと、前記第1の要素データと前記第2の要素データよりも上流のエレメントIDと、前記第3のテンプレートIDとから前記第3の要素データのオブジェクトIDを求めることを特徴とする請求項7記載のデータ検索方法。
  9. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を記憶する第1の記憶手段と、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを記憶する第2の記憶手段と、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素を指定した検索条件を入力する入力手段と、
    前記複数の構造化データのなかから、前記文字列を含むとともに、前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データを含む構造化データを検索する検索手段と、
    前記検索手段で検索された構造化データを出力する出力手段と、
    を具備したことを特徴とする構造化データ検索装置。
  10. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を記憶する第1の記憶手段と、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを記憶する第2の記憶手段と、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つであって前記第1の要素を含む第2の要素とを指定した検索条件を入力する入力手段と、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第1の要素データを含むとともに前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データとを含む構造化データを検索する検索手段と、
    前記検索手段で検索された構造化データを出力する出力手段と、
    を具備したことを特徴とする構造化データ検索装置。
  11. 前記複数の要素データのそれぞれは、当該要素データを含む構造化データを識別するためのドキュメントIDと、当該要素データを当該要素データを含む構造化データ内で識別するためのエレメントIDと、前記テンプレートIDとからなるオブジェクトIDをもち、
    前記検索手段は、前記第1の要素データの前記オブジェクトIDである第1のオブジェクトIDに含まれるドキュメントIDである第1のドキュメントIDと、当該第1のオブジェクトIDに対応する構造化データ内で前記第1の要素データより上流の前記エレメントIDと、前記第2のテンプレートIDとから前記第2の要素データの前記オブジェクトIDである第2のオブジェクトIDを求めることを特徴とする請求項10記載の構造化データ検索装置。
  12. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を記憶する第1の記憶手段と、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを記憶する第2の記憶手段と、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つである第2の要素と、前記複数の要素のうちのさらに他の1つであって前記第1の要素と前記第2の要素とを含む第3の要素とを指定した検索条件を入力する入力手段と、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データと、前記第1の要素データと前記第2の要素データとを含むとともに前記第3の要素に対応する前記テンプレートIDである第3のテンプレートIDをもつ第3の要素データとを含む構造化データを検索する検索手段と、
    前記検索手段で検索された構造化データを出力する出力手段と、
    を具備したことを特徴とする構造化データ検索装置。
  13. 前記階層構造を構成する各要素のもつ前記テンプレートIDには、要素の種別を表す情報が含まれていることを特徴とする請求項9、10、12のうちのいずれか1つに記載の構造化データ検索装置。
  14. 複数の文字列のそれぞれに、当該文字列を含む要素データの前記オブジェクトIDを対応付けた索引データを記憶する第3の記憶手段をさらに有し、
    前記検索手段は、前記第3の記憶手段に記憶された索引データを基に、前記文字列を含む要素データの前記オブジェクトIDの集合を求め、当該集合のなかから前記第1のテンプレートIDを含む前記第1のオブジェクトIDを求めることを特徴とする請求項9、10、12のうちのいずれか1つに記載の構造化データ検索装置。
  15. 前記複数の要素データのそれぞれは、当該要素データを含む構造化データを識別するためのドキュメントIDと、当該要素データを当該要素データを含む構造化データ内で識別するためのエレメントIDと、前記テンプレートIDとからなるオブジェクトIDをもち、
    前記検索手段は、前記文字列を含む要素データであって前記第1のテンプレートIDをもつ要素データのオブジェクトIDの第1の集合と、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDを含むオブジェクトIDの第2の集合とから、同じドキュメントIDを含むオブジェクトIDをそれぞれ抽出し、前記第1の集合から抽出されたオブジェクトIDのうちの1つに対応する前記第1の要素データと前記第2の集合から抽出されたオブジェクトIDのうちの1つに対応する前記第2の要素データと前記第3の要素データとを含む構造化データを検索することを特徴とする請求項12記載の構造化データ検索装置。
  16. 前記検索手段は、前記第1の要素データの前記オブジェクトIDである第1のオブジェクトIDと前記第2の要素データの前記オブジェクトIDである第2のオブジェクトIDとに共通に含まれる前記ドキュメントIDと、前記第1の要素データと前記第2の要素データよりも上流のエレメントIDと、前記第3のテンプレートIDとから前記第3の要素データのオブジェクトIDを求めることを特徴とする請求項15記載のデータ検索装置。
  17. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素を指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに、前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    をコンピュータに実行させるプログラム。
  18. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つであって前記第1の要素を含む第2の要素とを指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第1の要素データを含むとともに前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データとを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    をコンピュータに実行させるプログラム。
  19. 複数の要素からなる階層構造であって、当該複数の要素のそれぞれは当該要素を識別するためのテンプレートIDを有する当該階層構造を第1の記憶手段に記憶する第1のステップと、
    前記複数の要素のうちのいずれか1つの前記テンプレートIDがそれぞれ割り振られた複数の要素データからそれぞれ構成される複数の構造化データを第2の記憶手段に記憶する第2のステップと、
    文字列と、前記複数の要素のうちの1つであって前記文字列を含む第1の要素と、前記複数の要素のうちの他の1つである第2の要素と、前記複数の要素のうちのさらに他の1つであって前記第1の要素と前記第2の要素とを含む第3の要素とを指定した検索条件を入力する第3のステップと、
    前記複数の構造化データのなかから、前記文字列を含むとともに前記第1の要素に対応する前記テンプレートIDである第1のテンプレートIDをもつ第1の要素データと、前記第2の要素に対応する前記テンプレートIDである第2のテンプレートIDをもつ第2の要素データと、前記第1の要素データと前記第2の要素データとを含むとともに前記第3の要素に対応する前記テンプレートIDである第3のテンプレートIDをもつ第3の要素データとを含む構造化データを検索する第4のステップと、
    前記第4のステップで検索された構造化データを出力する第5のステップと、
    をコンピュータに実行させるプログラム。
JP2003430598A 2003-12-25 2003-12-25 構造化文書検索方法、構造化文書検索装置、及びプログラム Expired - Fee Related JP4247108B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003430598A JP4247108B2 (ja) 2003-12-25 2003-12-25 構造化文書検索方法、構造化文書検索装置、及びプログラム
US10/935,627 US7401071B2 (en) 2003-12-25 2004-09-08 Structured data retrieval apparatus, method, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003430598A JP4247108B2 (ja) 2003-12-25 2003-12-25 構造化文書検索方法、構造化文書検索装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2005190163A true JP2005190163A (ja) 2005-07-14
JP4247108B2 JP4247108B2 (ja) 2009-04-02

Family

ID=34697619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003430598A Expired - Fee Related JP4247108B2 (ja) 2003-12-25 2003-12-25 構造化文書検索方法、構造化文書検索装置、及びプログラム

Country Status (2)

Country Link
US (1) US7401071B2 (ja)
JP (1) JP4247108B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226452A (ja) * 2006-02-22 2007-09-06 Toshiba Corp 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US7613602B2 (en) 2005-07-28 2009-11-03 Kabushiki Kaisha Toshiba Structured document processing apparatus, structured document search apparatus, structured document system, method, and program
JP2009258971A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc データ同期方法および通信装置
US8086561B2 (en) 2007-02-27 2011-12-27 Kabushiki Kaisha Toshiba Document searching system and document searching method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257369A (ja) * 2006-03-23 2007-10-04 Fujitsu Ltd 情報検索装置
US7676465B2 (en) * 2006-07-05 2010-03-09 Yahoo! Inc. Techniques for clustering structurally similar web pages based on page features
US8386923B2 (en) 2007-05-08 2013-02-26 Canon Kabushiki Kaisha Document generation apparatus, method, and storage medium
JP5320697B2 (ja) * 2007-07-26 2013-10-23 富士通株式会社 照合処理プログラムおよび照合処理装置
US20090125529A1 (en) * 2007-11-12 2009-05-14 Vydiswaran V G Vinod Extracting information based on document structure and characteristics of attributes
US8010544B2 (en) * 2008-06-06 2011-08-30 Yahoo! Inc. Inverted indices in information extraction to improve records extracted per annotation
US8296744B2 (en) * 2008-10-03 2012-10-23 Microsoft Corporation Tree-based directed graph programming structures for a declarative programming language
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
US20100223214A1 (en) * 2009-02-27 2010-09-02 Kirpal Alok S Automatic extraction using machine learning based robust structural extractors
US20110040770A1 (en) * 2009-08-13 2011-02-17 Yahoo! Inc. Robust xpaths for web information extraction
US9747262B1 (en) * 2013-06-03 2017-08-29 Ca, Inc. Methods, systems, and computer program products for retrieving information from a webpage and organizing the information in a table
KR102161784B1 (ko) * 2017-01-25 2020-10-05 한국전자통신연구원 영상 콘텐츠의 스토리 그래프 및 사용자 구조 질의를 이용한 콘텐츠 맵 서비스 장치 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057163A (ja) 1998-08-12 2000-02-25 Nec Corp 構造化文書データベースシステム
JP3492246B2 (ja) 1999-07-16 2004-02-03 富士通株式会社 Xmlデータ検索処理方法および検索処理システム
JP3492247B2 (ja) 1999-07-16 2004-02-03 富士通株式会社 Xmlデータ検索システム
JP3754253B2 (ja) 1999-11-19 2006-03-08 株式会社東芝 構造化文書検索方法、構造化文書検索装置及び構造化文書検索システム
JP2001167087A (ja) * 1999-12-14 2001-06-22 Fujitsu Ltd 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
JP3842573B2 (ja) * 2001-03-30 2006-11-08 株式会社東芝 構造化文書検索方法、構造化文書管理装置及びプログラム
JP3842577B2 (ja) 2001-03-30 2006-11-08 株式会社東芝 構造化文書検索方法および構造化文書検索装置およびプログラム
US6799184B2 (en) * 2001-06-21 2004-09-28 Sybase, Inc. Relational database system providing XML query support
JP2003271668A (ja) 2002-03-15 2003-09-26 Toshiba Corp 構造化データ管理プログラム及び方法並びに装置
US7287023B2 (en) * 2003-11-26 2007-10-23 International Business Machines Corporation Index structure for supporting structural XML queries

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613602B2 (en) 2005-07-28 2009-11-03 Kabushiki Kaisha Toshiba Structured document processing apparatus, structured document search apparatus, structured document system, method, and program
JP2007226452A (ja) * 2006-02-22 2007-09-06 Toshiba Corp 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US7975220B2 (en) 2006-02-22 2011-07-05 Kabushiki Kaisha Toshiba Apparatus, program product and method for structured document management
US8086561B2 (en) 2007-02-27 2011-12-27 Kabushiki Kaisha Toshiba Document searching system and document searching method
JP2009258971A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc データ同期方法および通信装置
JP4719243B2 (ja) * 2008-04-16 2011-07-06 株式会社エヌ・ティ・ティ・ドコモ データ同期方法および通信装置

Also Published As

Publication number Publication date
US20050144153A1 (en) 2005-06-30
US7401071B2 (en) 2008-07-15
JP4247108B2 (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
US7664773B2 (en) Structured data storage method, structured data storage apparatus, and retrieval method
US6889223B2 (en) Apparatus, method, and program for retrieving structured documents
JP5121146B2 (ja) 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US6510425B1 (en) Document search method for registering documents, generating a structure index with elements having position of occurrence in documents represented by meta-nodes
JP4247108B2 (ja) 構造化文書検索方法、構造化文書検索装置、及びプログラム
JP2001167087A (ja) 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
JP4309818B2 (ja) 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム
JP2010079646A (ja) 構造化文書検索装置、方法及びプログラム
JP4724177B2 (ja) Xmlデータにアクセスするためのインデックス
JP3914081B2 (ja) アクセス権限設定方法および構造化文書管理システム
JP3632643B2 (ja) 構造化文書管理装置
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
JP3842572B2 (ja) 構造化文書管理方法および構造化文書管理装置およびプログラム
JPH09245052A (ja) 構造化文書処理装置
JP4289022B2 (ja) 構造化文書処理方法及び装置及び構造化文書処理プログラム及び構造化文書処理プログラムを格納した記憶媒体
JP2962287B2 (ja) 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JP3842574B2 (ja) 情報抽出方法および構造化文書管理装置およびプログラム
JP2004118543A (ja) 構造化文書検索方法、検索支援方法、検索支援装置および検索支援プログラム
JP4334450B2 (ja) 構造化文書検索装置及び構造化文書検索方法
JP2005018811A (ja) 文字列検索装置
JPH01286020A (ja) プログラム検索方式
JP2004348479A (ja) 検索装置、検索方法、検索プログラム、および検索プログラム記録媒体
JP5225022B2 (ja) Xmlデータ検索方法及び装置及びプログラム
JP2004348593A (ja) 格納検索装置、格納検索方法、格納検索プログラム、および格納検索プログラム記録媒体
JP2001060197A (ja) リレーショナルデータベースにおける検索方法及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081201

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: 20090106

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: 20090109

R151 Written notification of patent or utility model registration

Ref document number: 4247108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees