(57)【特許請求の範囲】
【請求項１】
文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索する半構造化文書検索装置における、半構造化文書検索方法であって、
検索言語解析手段において、入力された表形式で表現されるリレーショナルデータベースを含むデータベースの検索を行なうための検索言語を解析する検索言語解析過程と、
半構造化文書解析手段において、情報源から読み込まれた文書要素及び該文書要素の階層構造で表現される半構造化文書の構文を解析する半構造化文書解析過程と、
グルーピング手段において、前記検索言語解析手段により解析された検索項目に対応する前記半構造化文書の解析結果にグルーピング番号を付与するグルーピング過程と、
全検索手段において、前記半構造化文書解析過程で解析された半構造化文書の結果に基づいて、前記検索言語で指定された項目に対応する要素の半構造化文書階層構造上の位置を取得し、前記グルーピング番号が付与された全項目に共通する親要素名を検出し、グループ間で直積をとり、結果リストを生成する全検索手段と、
関係代数演算手段において、前記結果リストに対して関係代数演算を行ない、該結果リストに対して条件の比較を行い、条件を満たした結果のみを検索結果として返却する関係代数演算過程と、を行なうことを特徴とする半構造化文書検索方法。
【請求項２】
前記全検索過程において、
前記全検索手段は、前記検索言語の検索式に半構造化文書のＪＯＩＮを指定し、複数の半構造化文書における半構造化文書内情報をＪＯＩＮし、ひとつの表形式で返却する請求項１記載の半構造化文書検索方法。
【請求項３】
前記全検索過程において、
前記全検索手段は、前記検索言語の検索式に半構造化文書のＵＮＩＯＮを指定し、
複数の半構造化文書における半構造化文書内情報をＵＮＩＯＩＮし、ひとつの表形式で返却する請求項１記載の半構造化文書検索方法。
【請求項４】
文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索するための、半構造化文書検索装置であって、
入力された表形式で表現されるリレーショナルデータベースを含むデータベースの検索を行なうための検索言語を解析する検索言語解析手段と、
情報源から読み込まれた文書要素及び該文書要素の階層構造で表現される半構造化文書の構文を解析する半構造化文書解析手段と、
前記検索言語解析手段により解析された検索項目に対応する前記半構造化文書の解析結果にグルーピング番号を付与するグルーピング手段と、
前記半構造化文書解析手段で解析された半構造化文書の結果に基づいて、前記検索言語で指定された項目に対応する要素の半構造化文書階層構造上の位置を取得し、前記グルーピング番号が付与された全項目に共通する親要素名を検出し、グループ間で直積をとり、結果リストを生成する全検索手段と、
前記結果リストに対して関係代数演算を行ない、該結果リストに対して条件の比較を行い、条件を満たした結果のみを検索結果として返却する関係代数演算手段と、
を有することを特徴とする半構造化文書検索装置。
【請求項５】
前記全検索手段は、
前記検索言語の検索式に半構造化文書のＪＯＩＮを指定し、複数の半構造化文書における半構造化文書内情報をＪＯＩＮする手段を含む請求項４記載の半構造化文書検索装置。
【請求項６】
前記全検索手段は、
前記検索言語の検索式に反抗増加文書のＵＮＩＯＮを指定し、複数の半構造化文書における半構造化文書内情報をＵＮＩＯＮする手段を含む請求項４記載の半構造化文書検索装置。
【請求項７】
文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索するための、半構造化文書検索プログラムを格納した記憶媒体であって、
前記請求項１乃至３記載の半構造化文書検索方法を実現するための処理をコンピュータに実行させるプログラムを格納したことを特徴とする半構造化文書検索プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半構造化文書検索方法及び装置及び半構造化文書検索プログラムを格納した記憶媒体に係り、特に、表形式で表現されるリレーショナルデータベース等を扱う検索言語を用いて文書要素及びその階層構造で表現される半構造化文書内の情報を検索するための半構造化文書検索方法及び装置及び半構造化文書検索プログラムを格納した記憶媒体に関する。
【０００２】
詳しくは、文書における要素間の関係を保持することで、検索要求時に検索式で指定された項目に対して、文書から値を取得し、動的に表を作成し、条件処理を行うことで検索を実行し得る検索言語による半構造化文書検索方法及び装置及び半構造化文書検索プログラムを格納した記憶媒体に関する。
【０００３】
【従来の技術】
近年、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：  拡張可能なマーク付言語）  が、情報流通フォーマットとして注目を集めており、電子商取引への応用が期待されている。そこで、ＸＭＬ文書を効率良く検索する技術が必要となってきている。ＸＭＬ文書は、文書要素及びその階層構造により表現される。ＸＭＬ文書に対する検索言語は、ＸＱＬや、ＸＭＬ−ＱＬなどが提案されているが、標準化されていない。一方、情報を管理・検索する既存のシステムの中ではデータベースが重要な役割を果しており、特に、リレーショナルデータベースが普及している。
【０００４】
リレーショナルデータベースを扱う言語の基準規格としてＳＱＬが広く世の中で使われている。
【０００５】
【発明が解決しようとする課題】
しかしながら、情報源としてＸＭＬ文書とリレーショナルデータベースとが共に存在することは以下のような問題を生じている。
【０００６】
（１）  検索インタフェースの不統一性
表形式のリレーショナルデータベースが普及しており、検索言語としてＳＱＬを用いるアプリケーションが多く存在している。このようなアプリケーションから階層構造により表現されるＸＭＬ文書内の情報検索が行えない。
【０００７】
（２）  検索効率の悪化
所望の情報がリレーショナルデータベースとＸＭＬ文書に分散している場合、各々の情報源から検索する必要があり、効率が非常に悪い。
【０００８】
（３）  検索結果の不統一性
各々の情報源からの検索結果の形式が不統一なため、検索結果の比較が困難である。
【０００９】
本発明は、上記の点に鑑みなされたもので、従来のＳＱＬを用いて、検索要求時にＳＱＬで指定された項目に対して、ＸＭＬ文書から値を取得し、動的に表を作成し、条件処理を行うことで検索を実行し得るＳＱＬによるＸＭＬ文書内情報を検索することが可能な半構造化文書検索方法及び装置及び半構造化文書検索プログラムを格納した記憶媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【００１２】
本発明（請求項１）は、文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索する半構造化文書検索装置における、半構造化文書検索方法であって、
検索言語解析手段において、入力された表形式で表現されるリレーショナルデータベースを含むデータベースの検索を行なうための検索言語を解析する検索言語解析過程（ステップ１）と、
半構造化文書解析手段において、情報源から読み込まれた文書要素及び該文書要素の階層構造で表現される半構造化文書の構文を解析する半構造化文書解析過程（ステップ２）と、
グルーピング手段において、検索言語解析手段により解析された検索項目に対応する半構造化文書の解析結果にグルーピング番号を付与するグルーピング過程（ステップ３）と、
全検索手段において、半構造化文書解析過程で解析された半構造化文書の結果に基づいて、検索言語で指定された項目に対応する要素の半構造化文書階層構造上の位置を取得し、グルーピング番号が付与された全項目に共通する親要素名を検出し、グループ間で直積をとり、結果リストを生成する全検索手段（ステップ４）と、
関係代数演算手段において、結果リストに対して関係代数演算を行ない、該結果リストに対して条件の比較を行い、条件を満たした結果のみを検索結果として返却する関係代数演算過程（ステップ５）と、を行なう。
【００１３】
本発明（請求項２）は、全検索過程において、
全検索手段は、検索言語の検索式に半構造化文書のＪＯＩＮを指定し、複数の半構造化文書における半構造化文書内情報をＪＯＩＮし、ひとつの表形式で返却する。
【００１４】
本発明（請求項３）は、全検索過程において、
全検索手段は、検索言語の検索式に半構造化文書のＵＮＩＯＮを指定し、
複数の半構造化文書における半構造化文書内情報をＵＮＩＯＩＮし、ひとつの表形式で返却する。
【００１５】
図２は、本発明の原理構成図である。
【００１６】
本発明（請求項４）は、文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索するための、半構造化文書検索装置であって、
入力された表形式で表現されるリレーショナルデータベースを含むデータベースの検索を行なうための検索言語を解析する検索言語解析手段１１０と、
情報源から読み込まれた文書要素及び該文書要素の階層構造で表現される半構造化文書の構文を解析する半構造化文書解析手段１２０と、
検索言語解析手段１１０により解析された検索項目に対応する半構造化文書の解析結果にグルーピング番号を付与するグルーピング手段１３０と、
半構造化文書解析手段１２０で解析された半構造化文書の結果に基づいて、検索言語で指定された項目に対応する要素の半構造化文書階層構造上の位置を取得し、グルーピング番号が付与された全項目に共通する親要素名を検出し、グループ間で直積をとり、結果リストを生成する全検索手段１４０と、
結果リストに対して関係代数演算を行ない、該結果リストに対して条件の比較を行い、条件を満たした結果のみを検索結果として返却する関係代数演算手段１５０と、を有する。
【００１８】
本発明（請求項５）は、全検索手段１４０において、検索言語の検索式に半構造化文書のＪＯＩＮを指定し、複数の半構造化文書における半構造化文書内情報をＪＯＩＮする手段を含む。
【００１９】
本発明（請求項６）は、全検索手段１４０において、検索言語の検索式に反抗増加文書のＵＮＩＯＮを指定し、複数の半構造化文書における半構造化文書内情報をＵＮＩＯＮする手段を含む。
【００２０】
本発明（請求項７）は、文書要素及び該文書要素の階層構造で表現される半構造化文書内情報を検索するための、半構造化文書検索プログラムを格納した記憶媒体であって、
請求項１乃至３記載の半構造化文書検索方法を実現するための処理をコンピュータに実行させるプログラムを格納した記憶媒体である。
【００２３】
上記のように、本発明では、ＸＭＬ文書における要素間の関係を保持しておき、ＳＱＬ文で指定された項目は、ＸＭＬ文書の要素に対応し、検索要求時にＳＱＬで指定された項目に対して、ＸＭＬ文書から値を取得し、動的に表を作成し、取得した表において条件処理を必要とする場合には、条件処理を施し、統一フォーマットの検索結果を出力するため、ＸＭＬ文書内の情報を一つの表形式で返却する、ＸＭＬ文書情報の検索を行うことが可能となる。
【００２４】
また、本発明では、ＳＱＬ文で指定された複数のＸＭＬ文書に対して、ＸＭＬ文書の要素間の関係を保持し、それぞれ前述の処理を行い、条件処理を必要とする場合には、条件処理を施し、動的に作成された複数の表の間でＪＯＩＮし、複数のＸＭＬ文書内の情報を一つの表形式で返却する、複数ＸＭＬ文書情報の検索を行うことが可能となる。
【００２５】
また、本発明では、ＳＱＬ文で指定された複数のＸＭＬ文書に対して、ＸＭＬ文書の要素間の関係を保持し、それぞれ前述の手段を行い、条件処理を必要とする場合には、条件処理を施し、動的に作成された表の間でＵＮＩＯＮし、複数のＸＭＬ文書内の情報を一つの表形式で返却する、複数ＸＭＬ文書情報の検索を行うことが可能となる。
【００２６】
【発明の実施の形態】
まず、以下の説明において使用される用語について説明する。
【００２７】
ＳＱＬ文：リレーショナルデータベースを扱うための言語であり、同様の文法でＸＭＬ文書を扱う。
【００２８】
要素：＜要素名＞要素の内容＜／要素名＞で表されるＸＭＬ文書の内容の単位項目：ＳＱＬ文の句で指定される。以下の説明でのＳＱＬ文ではＸＭＬ文書の要素名を指定する。複数のＸＭＬ文書に同一の要素名が存在しても、予めファイル名で区別しておき、一意に指定可能。
【００２９】
属性：ＸＭＬ文において要素に付けられた付属情報。
【００３０】
１対１関係：ＸＭＬ文書の同一階層において、ある要素が存在するときに、必ず対応する要素が存在する関係。
【００３１】
グルーピング番号：検索項目に対する関係を表すグループを識別するために付与された番号、検索項目のグルーピング番号が同一である場合、その関係は１対１関係となる。
【００３２】
本発明では、既存のリレーショナルデータベースで管理されている情報と同様に、ＸＭＬ文書を扱い、複数のＸＭＬ文書内の情報をＳＱＬにより効率的に検索するシステムを構築するために以下の点について解決する。
【００３３】
（１）  検索インタフェースの統一：
検索言語としてＳＱＬを用いることで、従来のアプリケーションからＸＭＬ文書内情報の検索を行えるようにする。
【００３４】
（２）  複数のＸＭＬ文書からの検索：
複数のＸＭＬ文書におけるＸＭＬ文書内情報をＪＯＩＮやＵＮＩＯＮし、一つの表形式で返却する検索方法を用いる。
【００３５】
（３）  検索結果の統一：
ＸＭＬ文書からの検索結果を表形式とすることで、既存のリレーショナルデータベースから検索結果を統一する。
【００３６】
上記の内容を行うために、階層構造モデルをリレーショナルモデルに写像する必要がある。このためには、検索する前に一括してＸＭＬ文書を階層構造に従い分割し、リレーショナルデータベースに格納する方式が考えられる。しかし、ＸＭＬ文書を一括してリレーショナルモデルに変換する方式では、検索が高速に行えるといった性能的なメリットがある反面、文書の論理構造のわずかな変化がデータベーススキーマに影響を及ぼすために、構造の変更が多い文書の管理には不向きである。そこで、内容・構造が変更される可能性が高いＸＭＬ文書内の情報をＳＱＬにより検索するシステムを構築するためには、以下の点を解決する必要がある。
【００３７】
（４）  動的なリレーショナルモデルへの写像：
検索要求時にＳＱＬで指定された項目に対して、ＸＭＬ文書から要素の値を取得し、動的にリレーショナルモデルに写像していく。
【００３８】
図３は、本発明のデータベース検索言語による半構造化文書内情報の検索装置の構成を示す。
【００３９】
ユーザは、検索装置１００にアプリケーションプログラム３００を介して、ＳＱＬ検索文を入力し、検索装置１００は、ＸＭＬ文書２００内からＳＱＬ検索文に指定された情報を検索し、検索装置１００は、ＸＭＬ文書２００内からＳＱＬ検索文に指定された情報を検索し、検索装置１００は、アプリケーションプログラム３００に検索結果を表形式で返却するものである。
【００４０】
同図に示す検索装置１００は、ＳＱＬ文解析モジュール１１０、ＸＭＬパーサ１２０、グルーピングモジュール１３０、全検索モジュール１４０、関係代数演算処理モジュール１５０から構成される。
【００４１】
ＳＱＬ文解析モジュール１１０は、アプリケーションプログラム３００から入力されるＳＱＬ文を解析し、検索結果項目、検索条件項目や関係代数演算項目、検索対象情報源を抽出する。
【００４２】
ＸＭＬパーサ１２０は、検索対象情報源に指定されたＸＭＬ文書を読み込み、ＸＭＬ文書の構文解析を行い、要素を階層構造に展開する。
【００４３】
グルーピングモジュール１３０は、グルーピング番号を付与する。
【００４４】
全検索処理モジュール１４０は、検索条件項目に指定された項目に対応するＸＭＬ文書の要素の値を抽出する。
【００４５】
関係代数演算処理モジュール１５０は、検索条件項目や関係代数演算項目に基づいて、抽出されたＸＭＬ文書の値に対して処理を行い、検索結果を得る。
【００４６】
上記ＳＱＬによるＸＭＬ文書内情報の検索装置１００は、
（１）ＳＱＬ文解析処理；
（２）ＸＭＬ文書解析処理
（３）グルーピング処理
（４）全検索処理
（５）関係代数演算処理；
の５段階の処理を実施する。
【００４７】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００４８】
検索装置１００の前述の（１）から（５）の処理を図４に示すＸＭＬ文書と図５に示すＳＱＬ文を用いて説明する。
【００４９】
図６は、本発明の検索処理のフローチャートである。
【００５０】
ステップ１００）  ＳＱＬ文解析処理：
上記ＳＱＬ文解析モジュール１１０にアプリケーションプログラムを介して、図５に示すＳＱＬ文が入力される。ＳＱＬ文が解析され、検索結果項目を示すＳＥＬＥＣＴ項目、検索条件項目を示すＷＨＥＲＥ項目、検索対象情報源を示すＦＲＯＭ項目を抽出する。図５のＳＱＬ文は、図４のＸＭＬ文書の“ｒｅｃｉｐｌｅ−ｂｏｏｋ”要素以下の含まれる情報を検索対象となる表として指定し、ｉｎｇ  要素が“バター”という検索条件で要素「ｎａｍｅ」、要素「ｉｎｇ  」、要素「ａｍｏｕｎｔ」を結果として並べた表形式で返却する問い合わせを示す。
【００５１】
ステップ２００）  ＸＭＬ文書解析処理：
上記のＸＭＬパーサ１２０によってＳＱＬ文のＦＲＯＭ項目で指定されたＸＭＬ文書を読み込み、その構文を解析する。図４のＸＭＬ文書の要素を階層構造に展開した様子を図７に示す。
【００５２】
ステップ３００）  グルーピング処理：
上記グルーピングモジュール１３０によって検索項目に対してグルーピング番号を付与する。１対１関係はＸＭＬ文書の文書型定義で参照される。図５のＳＱＬ文の場合、
文書型定義：＜！ＥＬＥＭＥＮＴ  ｉｎ−ｌｉｓｔ（ｉｎｇ，ａｍｏｕｔ）＋＞
となっており、検索項目の要素ｉｎｇ  と要素ａｍｏｕｎｔが１対１関係である。従って、同一のグルーピング番号が付与される。
【００５３】
文書型定義がない場合はＸＭＬパーサ４００によって解析されたＸＭＬ文書の階層構造の親子関係から１対１関係を推定する。これは、図７の階層構造において同一階層の検索項目の要素ｉｎｇ  と要素ａｍｏｕｎｔとが必ず１対１で存在することがわかる。図５のＳＱＬ文の検索項目に対してグルーピング番号を付与した例を表１に示す。
【００５４】
【表１】
0003630062.tif 000002
図８のＸＭＬ文書に示すように文書型定義がない場合は、ＸＭＬパーサ１２０によって解析されたＸＭＬ文書の階層構造の親子関係を利用して、検索項目に対してグルーピング番号を付与する。
【００５５】
以下にその具体的な手順を示す。
・  ＳＱＬ文で指定された検索項目に対応するＸＭＬ文書の要素に対して、ＸＭＬ文書内での出現順に番号を付与する。図８のＸＭＬ文書では、ｎａｍｅ要素に０、ｉｎｇ  要素に１、ａｍｏｕｎｔ要素に２が付与される。
・  ＸＭＬ文書をＸＭＬパーサ１２０により解析する。これは、図８のＸＭＬ文書では図７のように解析される。同一階層の場合、ＸＭＬ文書の要素は、順に左側から並べられる。
・  １対１の関係があれば、同じ番号にして、これをグルーピング番号とするｉｎｇ  要素とａｍｏｕｎｔ要素は、図７の階層構造において同一階層上の繰り返しの関係にあり、必ず１対１で存在することがわかるので、ａｍｏｕｎｔ要素の番号を１にしてグルーピング番号とする（表１に示す文書型定義がある場合のグルーピング番号と同一になる）。
【００５６】
ステップ４００）  全検索処理：
前述の全検索処理モジュール１４０で行われる処理である。図９は、本発明の一実施例の全検索処理のフローチャートである。
【００５７】
前述のＸＭＬパーサ１２０で解析された結果を元に、ＳＱＬ文で指定されたＳＥＬＥＣＴ項目とＷＨＥＲＥ項目に対応する要素のＸＭＬ文書階層構造上の位置を取得する（ステップ４０１）。図４のＸＭＬ文書の場合、表２に示すようになる。
【００５８】
【表２】
0003630062.tif 000003
以上の取得結果より、全項目に共有する親要素名を検出する（ステップ４０２）。表２の場合、／ｒｅｃｉｐｅ  となる。
次に、グループ中で共通の親を取得する（ステップ４０３）。グループ０にとっては、／ｒｅｃｉｐｅ  、グループ０  にとっては、／ｉｎｇ−ｌｉｓｔ  となる。
【００５９】
グループ内の共通の親からたどって、ＳＱＬ文で指定された項目に対応するＸＭＬ文書の要素の値を取得する処理をグループ内の項目数分繰り返す。このとき、属性がある場合には、属性を要素と１対１で取得する。グループの数分、上記処理を繰り返し（ステップ４０４）、グループ間で直積をとる（ステップ４０５）。上記処理を共通の親の数分繰り返す。図４のＸＭＬ文書に対して図５のＳＱＬ分で値を取得し、直積をとった結果を表３、表４に示す。
【００６０】
【表３】
0003630062.tif 000004
【００６１】
【表４】
0003630062.tif 000005
直積をとって作られた全レコードから結果リストを生成する。結果リストの例を表５に示す。
【００６２】
【表５】
0003630062.tif 000006
ステップ５００）  関係代数演算処理：
前述の関係代数演算処理モジュール１５０を用いて、全検索処理（ステップ４００）で得られた結果リスト（表５）に対して関係代数演算を行う。図５のＳＱＬ分の場合、ＳＱＬ分解析処理（ステップ１００）で検索条件項目を示すＷＨＥＲＥ項目が抽出されているので、全検索処理（ステップ４００）で得られた結果リスト（表５）に対して条件の比較を行う。条件が「偽」の場合は削除を行い、条件を満たした結果のみを残す。表６に最終的な結果を示す。
【００６３】
【表６】
0003630062.tif 000007
次に、ＳＱＬ文で指定された複数のＸＭＬ文書に対して検索を行い、一つの表形式で返却する具体例について説明する。
【００６４】
（１）  ＪＯＩＮの場合：
アプリケーションプログラム３００を介して、入力されたＳＱＬ文をＳＱＬ文解析モジュール１１０が解析する。図１０にＪＯＩＮを含んだＳＱＬ文を示す。検索対象情報源を示すＦＲＯＭ項目に複数のＸＭＬ文書名あるいは、別名を付与された同一のＸＭＬ文書が指定されている。
【００６５】
ＳＱＬ文解析モジュール１１０は、入力されたＳＱＬ文をＦＲＯＭ項目に指定されているＸＭＬ文書の数に分解する。図１０のＳＱＬ文を分解して得られた複数のＳＱＬ文を図１１、図１２に示す。
【００６６】
図１１のＳＱＬ文は、図４のＸＭＬ文書のｒｅｃｉｐｅ−ｂｏｏｋ  要素以下に含まれる情報を検索対象となる表として指定する。
【００６７】
図１２のＳＱＬ文は、図１３のＸＭＬ文書の要素以下に含まれる情報を検索対象となる表として指定する。
【００６８】
そして、上記の実施例で述べたＳＱＬによるＸＭＬ文書内情報の検索をそれぞれのＸＭＬ文書について行い、動的に表を作成する。
【００６９】
上記の関係代数演算処理モジュール１５０によって、作成された複数の表の間でＪＯＩＮし、複数のＸＭＬ文書内の情報を一つの表形式で返却する。表７に最終的な結果を示す。
【００７０】
【表７】
0003630062.tif 000008
（２）  ＵＮＩＯＮの場合：
アプリケーションプログラム３００を介して入力されたＳＱＬ文をＳＱＬ文解析モジュール１１０が解析する。図１４にＵＮＩＯＮを含んだＳＱＬ文を示す。ＳＱＬ文解析モジュール１１０は、ＵＮＩＯＮで結ばれた複数のＳＱＬ文を分解する。図１４のＳＱＬ文を分解して得られた複数のＳＱＬ文を図１５、図１６に示す。
【００７１】
そして、上記の実施例で述べたＳＱＬによるＸＭＬ文書内情報の検索をそれぞれのＳＱＬ文について行い、動的に表を作成する。
【００７２】
上記、関係代数演算処理モジュール１５０によって、作成された複数の表の間でＵＮＩＯＮし、複数のＸＭＬ文書内の情報を一つの表形式で返却する。表８に最終的な結果を示す。
【００７３】
【表８】
0003630062.tif 000009
また、上記の実施例では、図３に示す検索装置の構成に基づいて説明したが、同図に示す、ＳＱＬ文解析モジュール１１０、ＸＭＬパーサ１２０、グルーピングモジュール１３０、全検索処理モジュール１４０、関係代数演算処理モジュール１５０をプログラムとして構築し、検索装置として利用されるコンピュータに接続されるディスク装置や、フロッピーディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることにより、容易に本発明を実現できる。
【００７４】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【００７５】
【発明の効果】
上述のように、本発明によれば、検索言語としてＳＱＬを用いることで、従来のアプリケーションからＸＭＬ文書内情報の検索が可能となる。複数のＸＭＬ文書におけるＸＭＬ文書内情報をＪＯＩＮやＵＮＩＯＮし、一つの表形式で返却する検索が可能となる。また、ＸＭＬ文書からの検索結果を表形式とするとで、既存のリレーショナルデータベースからの検索結果と統一することができる。
【００７６】
また、検索要求時にＳＱＬ文で指定された項目に対応するＸＭＬ文書要素の値を取得し、動的に表を作成し、条件処理を行うことで、内容・構造が変更される可能性が高いＸＭＬ文書内の情報検索が可能となる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明のデータベース検索言語による半構造化文書内情報の検索装置の構成図である。
【図４】本発明の一実施例のＸＭＬ文書の例（その１）である。
【図５】本発明の一実施例のＳＱＬ文の例である。
【図６】本発明の一実施例の検索処理のフローチャートである。
【図７】本発明の一実施例のＸＭＬ文書の要素を階層構造に展開した例である。
【図８】本発明の一実施例の文書型定義がないＸＭＬ文書の例である。
【図９】本発明の一実施例の全検索処理のフローチャートである。
【図１０】本発明の一実施例のＪＯＩＮを含んだＳＱＬ文の例である。
【図１１】本発明の一実施例の図１０のＳＱＬ文を分解して得られたＳＱＬ文の例（その１）である。
【図１２】本発明の一実施例の図１０のＳＱＬ文を分解して得られたＳＱＬ文の例（その２）である。
【図１３】本発明の一実施例のＸＭＬ文書の例（その２）である。
【図１４】本発明の一実施例のＵＮＩＯＮを含んだＳＱＬ文の例である。
【図１５】本発明の一実施例の図１４のＳＱＬ文を分解して得られたＳＱＬ文の例（その１）である。
【図１６】本発明の一実施例の図１４のＳＱＬ文を分解して得られたＳＱＬ文の例（その２）である。
【符号の説明】
１００  検索装置
１１０  検索言語解析手段、ＳＱＬ文解析モジュール
１２０  半構造化文書解析手段、ＸＭＬパーサ
１３０  グルーピング手段、グルーピングモジュール
１４０  全検索手段、全検索処理モジュール
１５０  関係代数演算手段、関係代数演算処理モジュール
２００  ＸＭＬ文書
３００  アプリケーションプログラム
【図１】
0003630062.tif 000010
【図２】
0003630062.tif 000011
【図３】
0003630062.tif 000012
【図４】
0003630062.tif 000013
【図５】
0003630062.tif 000014
【図６】
0003630062.tif 000015
【図７】
0003630062.tif 000016
【図８】
0003630062.tif 000017
【図９】
0003630062.tif 000018
【図１０】
0003630062.tif 000019
【図１１】
0003630062.tif 000020
【図１２】
0003630062.tif 000021
【図１３】
0003630062.tif 000022
【図１４】
0003630062.tif 000023
【図１５】
0003630062.tif 000024
【図１６】
0003630062.tif 000025