(57)【特許請求の範囲】
【請求項１】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置であって、
検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、
前記ＸＭＬ文書のスキーマ情報に含まれる各ＸＭＬ文書要素を、前記スキーマ情報に含まれる当該ＸＭＬ文書要素の構造情報が前記分類条件に合致するか否かに応じて、検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類手段と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成手段と、
前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出手段とを含むＸＭＬ−ＲＤＢマッピングルール生成実行手段と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納手段と
を有することを特徴とするＸＭＬ文書格納／検索装置。
【請求項２】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置であって、
前記ＸＭＬ文書のスキーマの構文解析を行うＸＭＬスキーマ解析手段と、
検索対象となるＸＭＬ文書要素の構造情報に対して構文解析を行う検索対象解析手段と、
前記検索対象解析手段で構文が正しいと解析された構造情報を分類条件とし、前記ＸＭＬスキーマ解析手段で構文が正しいと解析されたスキーマ情報に含まれるＸＭＬの文書要素の構造情報が前記分類条件に合致するか否かに応じて、前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類手段と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成手段と、
前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出手段とを含むＸＭＬ−ＲＤＢマッピングルール生成実行手段と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納手段と
を有することを特徴とするＸＭＬ文書格納／検索装置。
【請求項３】
前記文書要素分類手段は、前記ＸＭＬ文書要素の階層ごとに、前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分類し、
前記ＲＤＢスキーマ構成手段は、前記検索対象のＸＭＬ文書要素が存在する階層ごとに、検索対象のＸＭＬ文書要素を検索可能なようにテーブルに格納し、さらに非検索対象のＸＭＬ文書要素をＸＭＬ文書要素のままテーブルに格納するようなＲＤＢのスキーマを構成することを特徴とする請求項１または請求項２記載のＸＭＬ文書格納／検索装置。
【請求項４】
前記マッピングルールを利用して前記ＸＭＬ文書の検索と再構成とを行うＸＭＬ文書検索手段を含むことを特徴とする請求項１から請求項３のいずれか記載のＸＭＬ文書格納／検索装置。
【請求項５】
前記検索対象のＸＭＬ文書要素が検索時に必要な情報であり、
前記非検索対象のＸＭＬ文書要素が検索後に利用する情報であること
を特徴とする請求項１から請求項４のいずれかに記載のＸＭＬ文書格納／検索装置。
【請求項６】
前記ＸＭＬ文書格納手段は、
入力されたＸＭＬ文書の構文解析を行うＸＭＬ文書構文解析手段と、
前記マッピングルールを基に受取った構文解析後のＸＭＬ文書を前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分別しかつ前記検索対象のＸＭＬ文書要素から前記ＲＤＢのスキーマに対応付けられた情報を取出す検索対象判定手段と、
前記検索対象判定手段において分別されたＸＭＬ文書要素を前記ＲＤＢに格納するためのＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）を生成する格納命令生成手段と、
前記ＳＱＬを実行する格納操作実行手段と
を含むことを特徴とする請求項１から請求項５のいずれか記載のＸＭＬ文書格納／検索装置。
【請求項７】
前記ＲＤＢのスキーマに対応付けられた情報がタグ名、値、属性名、属性値であることを特徴とする請求項６記載のＸＭＬ文書格納／検索装置。
【請求項８】
前記ＸＭＬ文書検索手段は、
前記ＸＭＬ文書の検索の検索式に対して構文解析を行う検索式解析手段と、
前記マッピングルールを基に前記ＸＭＬ文書に対する問合せからＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）問合せを生成する問合せ生成手段と、
前記ＳＱＬ問合せを実行する問合せ実行手段と、
前記問合せ実行手段の実行結果から前記マッピングルールを基に検索結果のＸＭＬ文書を構成するＸＭＬ文書生成手段と
を含むことを特徴とする請求項４記載のＸＭＬ文書格納／検索装置。
【請求項９】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うコンピュータによるＸＭＬ文書格納／検索方法であって、
前記コンピュータが、検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、前記ＸＭＬ文書のスキーマ情報に含まれる各ＸＭＬ文書要素を、前記スキーマ情報に含まれる当該ＸＭＬ文書要素の構造情報が前記分類条件に合致するか否かに応じて、検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類ステップと、
前記コンピュータが、前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成ステップと、
前記コンピュータが、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出ステップとを含むＸＭＬ−ＲＤＢマッピングルール生成実行ステップと、
前記コンピュータが、前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納ステップと
を有することを特徴とするＸＭＬ文書格納／検索方法。
【請求項１０】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うコンピュータによるＸＭＬ文書格納／検索方法であって、
前記コンピュータが、前記ＸＭＬ文書のスキーマの構文解析を行うＸＭＬスキーマ解析ステップと、
前記コンピュータが、検索対象となるＸＭＬ文書要素の構造情報に対して構文解析を行う検索対象解析ステップと、
前記コンピュータが、前記検索対象解析ステップで構文が正しいと解析された構造情報を分類条件とし、前記ＸＭＬスキーマ解析ステップで構文が正しいと解析されたスキーマ情報に含まれるＸＭＬの文書要素の構造情報が前記分類条件に合致するか否かに応じて、前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類ステップと、
前記コンピュータが、前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成ステップと、
前記コンピュータが、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出ステップとを含むＸＭＬ−ＲＤＢマッピングルール生成実行ステップと、
前記コンピュータが、前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納ステップと
を有することを特徴とするＸＭＬ文書格納／検索方法。
【請求項１１】
前記コンピュータが、前記文書要素分類ステップにおいて、前記ＸＭＬ文書要素の階層ごとに、前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分類し、
前記コンピュータが、前記ＲＤＢスキーマ構成ステップにおいて、前記検索対象のＸＭＬ文書要素が存在する階層ごとに、検索対象のＸＭＬ文書要素を検索可能なようにテーブルに格納し、さらに非検索対象のＸＭＬ文書要素をＸＭＬ文書要素のままテーブルに格納するようなＲＤＢのスキーマを構成すること
を特徴とする請求項９または請求項１０記載のＸＭＬ文書格納／検索方法。
【請求項１２】
前記コンピュータが、前記マッピングルールを利用して前記ＸＭＬ文書の検索と再構成とを行うＸＭＬ文書検索ステップを含むことを特徴とする請求項９から請求項１１のいずれか記載のＸＭＬ文書格納／検索方法。
【請求項１３】
前記検索対象のＸＭＬ文書要素が検索時に必要な情報であり、
前記非検索対象のＸＭＬ文書要素が検索後に利用する情報であること
を特徴とする請求項９から請求項１２のいずれかに記載のＸＭＬ文書格納／検索方法。
【請求項１４】
前記ＸＭＬ文書格納ステップは、
前記コンピュータが、入力されたＸＭＬ文書の構文解析を行うステップと、
前記コンピュータが、前記マッピングルールを基に受取った構文解析後のＸＭＬ文書を前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分別しかつ前記検索対象のＸＭＬ文書要素から前記ＲＤＢのスキーマに対応付けられた情報を取出すステップと、
前記コンピュータが、その分別されたＸＭＬ文書要素を前記ＲＤＢに格納するためのＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）を生成するステップと、
前記コンピュータが、前記ＳＱＬを実行するステップと
を含むことを特徴とする請求項９から請求項１３のいずれか記載のＸＭＬ文書格納／検索方法。
【請求項１５】
前記ＲＤＢのスキーマに対応付けられた情報がタグ名、値、属性名、属性値であることを特徴とする請求項１４記載のＸＭＬ文書格納／検索方法。
【請求項１６】
前記ＸＭＬ文書検索ステップは、
前記コンピュータが、前記ＸＭＬ文書の検索の検索式に対して構文解析を行うステップと、
前記コンピュータが、前記マッピングルールを基に前記ＸＭＬ文書に対する問合せからＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）問合せを生成するステップと、
前記コンピュータが、前記ＳＱＬ問合せを実行するステップと、
前記コンピュータが、その実行結果から前記マッピングルールを基に検索結果のＸＭＬ文書を構成するステップと
を含むことを特徴とする請求項１２記載のＸＭＬ文書格納／検索方法。
【請求項１７】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置内のコンピュータに実行させるプログラムであって、
検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、
前記ＸＭＬ文書のスキーマ情報に含まれる各ＸＭＬ文書要素を、前記スキーマ情報に含まれる当該ＸＭＬ文書要素の構造情報が前記分類条件に合致するか否かに応じて、前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類処理と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成処理と、
前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出処理とを含むＸＭＬ−ＲＤＢマッピングルール生成実行処理と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納処理と
を含むことを特徴とするプログラム。
【請求項１８】
ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置内のコンピュータに実行させるプログラムであって、
前記ＸＭＬ文書のスキーマの構文解析を行うＸＭＬスキーマ解析処理と、
検索対象となるＸＭＬ文書要素の構造情報に対して構文解析を行う検索対象解析処理と、
前記検索対象解析処理で構文が正しいと解析された構造情報を分類条件とし、前記ＸＭＬスキーマ解析処理で構文が正しいと解析されたスキーマ情報に含まれるＸＭＬの文書要素の構造情報が前記分類条件に合致するか否かに応じて、前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素又は非検索対象のＸＭＬ文書要素に分類する文書要素分類処理と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを、前記検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素が子要素を含まないＸＭＬ文書要素である場合の当該ＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性と、前記非検索対象のＸＭＬ文書要素に分類されたＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性と、を少なくとも含むよう構成するＲＤＢスキーマ構成処理と、
前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性に当該検索対象のＸＭＬ文書要素を、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性に当該非検索対象のＸＭＬ文書要素を、それぞれ対応付けるマッピングルールを、前記検索対象のＸＭＬ文書要素の値又は属性値を前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該検索対象のＸＭＬ文書要素を対応付け、また、前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢにおける属性値とする属性を前記ＲＤＢのスキーマに構成する際に当該属性に当該非検索対象のＸＭＬ文書要素を対応付けることにより、導出するＸＭＬ−ＲＤＢマッピングルール導出処理とを含むＸＭＬ−ＲＤＢマッピングルール生成実行処理と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納処理と
を含むことを特徴とするプログラム。
【請求項１９】
前記文書要素分類処理において、前記ＸＭＬ文書要素の階層ごとに、前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分類し、
前記ＲＤＢスキーマ構成処理において、前記検索対象のＸＭＬ文書要素が存在する階層ごとに、検索対象のＸＭＬ文書要素を検索可能なようにテーブルに格納し、さらに非検索対象のＸＭＬ文書要素をＸＭＬ文書要素のままテーブルに格納するようなＲＤＢのスキーマを構成すること
を特徴とする請求項１７または請求項１８記載のプログラム。
【請求項２０】
前記マッピングルールを利用して前記ＸＭＬ文書の検索と再構成とを行うＸＭＬ文書検索処理を含むことを特徴とする請求項１７から請求項１９のいずれか記載のプログラム。
【請求項２１】
前記検索対象のＸＭＬ文書要素が検索時に必要な情報であり、
前記非検索対象のＸＭＬ文書要素が検索後に利用する情報であること
を特徴とする請求項１７から請求項２０のいずれかに記載のプログラム。
【請求項２２】
前記ＸＭＬ文書格納処理は、
入力されたＸＭＬ文書の構文解析を行うＸＭＬ文書構文解析処理と、
前記マッピングルールを基に受取った構文解析後のＸＭＬ文書を前記検索対象のＸＭＬ文書要素と前記非検索対象のＸＭＬ文書要素とに分別しかつ前記検索対象のＸＭＬ文書要素から前記ＲＤＢのスキーマに対応付けられた情報を取出す検索対象判定処理と、
この分別されたＸＭＬ文書要素を前記ＲＤＢに格納するためのＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）を生成する格納命令生成処理と、
前記ＳＱＬを実行する格納操作実行処理と
を含むことを特徴とする請求項１７から請求項２１のいずれか記載のプログラム。
【請求項２３】
前記ＲＤＢのスキーマに対応付けられた情報がタグ名、値、属性名、属性値であることを特徴とする請求項２２記載のプログラム。
【請求項２４】
前記ＸＭＬ文書検索処理は、
前記ＸＭＬ文書の検索の検索式に対して構文解析を行う検索式解析処理と、
前記マッピングルールを基に前記ＸＭＬ文書に対する問合せからＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）問合せを生成する問合せ生成処理と、
前記ＳＱＬ問合せを実行する問合せ実行処理と、
その実行結果から前記マッピングルールを基に検索結果のＸＭＬ文書を構成するＸＭＬ文書生成処理と
を含むことを特徴とする請求項２０記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＸＭＬ文書格納／検索装置及びそれに用いるＸＭＬ文書格納／検索方法並びにそのプログラムに関し、特にＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書の格納とその検索とを行う方法に関する。
【０００２】
【従来の技術】
従来、ＸＭＬ等の構造化文書を格納／検索する場合には、ＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ：リレーショナルデータベース）を利用する方法が考えられている。
【０００３】
その１つとして、任意の構造を持つＸＭＬ文書を格納するための手法が、アイ・イー・イー・イー・データ・エンジニアリング会誌の第２２巻第３号の２７〜３４頁（ＩＥＥＥ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｂｕｌｌｅｔｉｎ，Ｖｏｌ．２２，Ｎｏ．３，ｐｐ．２７−３４，Ｓｅｐ．１９９９）や、情報処理学会論文誌：データベース、第４０巻ＳＩＧ３（ＴＯＤ３）号、１１５〜１３１頁、あるいは特開２００１−３４６１９号公報、または特開２００１−３１８９３５号公報等に記載されている。この手法ではＸＭＬ文書の構造と値とを区別してテーブルに格納することによって、任意の構造を持つＸＭＬ文書の格納に対応している。
【０００４】
また、特定の文書構造を持つＸＭＬ文書を格納する手法が存在する。入力するＸＭＬ文書のＸＭＬスキーマ構造とリレーショナルスキーマとのマッピングを行うことによって、格納するＸＭＬ文書に対してリレーショナルスキーマを生成することができる。
【０００５】
マッピングルールを外部から入力する方法としては、特開２００１−３４５１３号公報に開示された技術があり、マッピングルールをスキーマを基に生成する手法としては、特開２０００−１２２９０３号公報に開示された技術がある。
【０００６】
ＸＭＬ文書は利用用途によって、検索時に必要な情報と、検索結果として取出した後に利用する情報とに分類することができる。例えば、
0004207438.tif 000002
というような報告書についての要約を記述したＸＭＬ文書の格納／検索について考える。この場合、＜ａｕｔｈｏｒ＞要素の値としては著者の名前が記述され、＜ａｂｓｔｒａｃｔ＞要素の値としては報告書の要約が記述されている。
【０００７】
そして、＜ｕｒｌｓ＞要素の子要素＜ｕｒｌ＞には、報告書が置かれているＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏａｔｏｒ）が記述されている。この時、著者名や要約は検索対象として有用であるが、ＵＲＬは検索した後に報告書を取得するために必要となるデータであって、検索時の必要性は無い。
【０００８】
ゆえに、＜ａｕｔｈｏｒ＞要素と＜ａｂｓｔｒａｃｔ＞要素とは検索時に必要な情報であり、＜ｕｒｌｓ＞要素は検索結果として取出した後に利用する情報であるというように分類できる。
【０００９】
文書構造を予め規定することによって、ＸＭＬ文書格納／検索装置としての汎用性は損なわれるが、特定の用途に対する利便性は向上する。そのような用途において、従来技術ではＸＭＬ文書を効率的に格納／検索していない。
【００１０】
【発明が解決しようとする課題】
上述した従来のＸＭＬ文書格納／検索方法では、文書全体を構文解析するコストと、構文解析後の全文書要素を格納するコストとがかかるため、ＸＭＬ文書の格納コスト（格納処理時間やその格納処理によるリソースの占有時間）が大きいという問題がある。この場合、格納するＸＭＬ文書の特長を活かして格納コストを低減する既存技術は無い。
【００１１】
また、従来のＸＭＬ文書格納／検索方法では、文書全体を検索対象としているため、ＸＭＬ文書の検索コスト（検索処理時間やその検索処理によるリソースの占有時間）が大きいという問題がある。この場合、格納するＸＭＬ文書の特徴を活かして検索コストを低減する既存技術は無い。
【００１２】
さらに、従来のＸＭＬ文書格納／検索方法では、ＸＭＬ文書に対するＸＭＬ問合せ言語とリレーショナルデータモデルに対するＳＱＬ（ｓｔｒｕｃｔｕｒｅｄｑｕｅｒｙ  ｌａｎｇｕａｇｅ）を自動的に変換する必要があるのに対して、系統的な方法が示されていないため、格納するＸＭＬ文書の構造に合わせたＸＭＬ問合せ言語−ＳＱＬ変換が困難であるという問題がある。
【００１３】
そこで、本発明の目的は上記の問題点を解消し、ＸＭＬ文書の格納コスト及びＸＭＬ文書の検索コストを減少させ、ＲＤＢスキーマ構造に合わせたＳＱＬ問合せの生成を実現することができるＸＭＬ文書格納／検索装置及びそれに用いるＸＭＬ文書格納／検索方法並びにそのプログラムを提供することにある。
【００１４】
【課題を解決するための手段】
本発明によるＸＭＬ文書格納／検索装置は、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置であって、
検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、
前記ＸＭＬ文書のスキーマ情報に基づいて前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素と非検索対象のＸＭＬ文書要素とに分類する文書要素分類手段と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを構成するＲＤＢスキーマ構成手段と、
前記ＲＤＢのスキーマと前記ＸＭＬ文書の要素の分類結果とから前記検索対象のＸＭＬ文書要素と前記ＲＤＢのスキーマとの対応付けと前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢに格納するという条件とを含むマッピングルールを導出するＸＭＬ−ＲＤＢマッピングルール導出手段とを含むＸＭＬ−ＲＤＢマッピングルール生成実行手段と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納手段と
を備えている。
【００１５】
本発明によるＸＭＬ文書格納／検索方法は、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索方法であって、
検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、
前記ＸＭＬ文書のスキーマ情報に基づいて前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素と非検索対象のＸＭＬ文書要素とに分類する文書要素分類ステップと、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを構成するＲＤＢスキーマ構成ステップと、
前記ＲＤＢのスキーマと前記ＸＭＬ文書の要素の分類結果とから前記検索対象のＸＭＬ文書要素と前記ＲＤＢのスキーマとの対応付けと前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢに格納するという条件とを含むマッピングルールを導出するＸＭＬ−ＲＤＢマッピングルール導出ステップとを含むＸＭＬ−ＲＤＢマッピングルール生成実行ステップと、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納ステップと
を備えている。
【００１６】
本発明によるプログラムは、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書要素から構成されるＸＭＬ文書の格納を行うＸＭＬ文書格納／検索装置内のコンピュータに実行させるプログラムであって、
検索対象となるＸＭＬ文書要素の構造情報を分類条件とし、
前記ＸＭＬ文書のスキーマ情報に基づいて前記ＸＭＬ文書要素を検索対象のＸＭＬ文書要素と非検索対象のＸＭＬ文書要素とに分類する文書要素分類処理と、
前記ＸＭＬ文書要素の分類結果からＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）のスキーマを構成するＲＤＢスキーマ構成処理と、
前記ＲＤＢのスキーマと前記ＸＭＬ文書の要素の分類結果とから前記検索対象のＸＭＬ文書要素と前記ＲＤＢのスキーマとの対応付けと前記非検索対象のＸＭＬ文書要素をそのまま前記ＲＤＢに格納するという条件とを含むマッピングルールを導出するＸＭＬ−ＲＤＢマッピングルール導出処理とを含むＸＭＬ−ＲＤＢマッピングルール生成実行処理と、
前記マッピングルールを利用して前記ＸＭＬ文書の格納を行うＸＭＬ文書格納処理と
を含むことを特徴とする。
【００１７】
すなわち、本発明のＸＭＬ文書格納／検索装置は、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）スキーマ記述言語によるＸＭＬスキーマ記述と、検索対象のＸＭＬ文書要素の構造情報とから、非検索対象のＸＭＬ文書要素をＸＭＬ文書要素のまま格納するというＸＭＬ−ＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ：リレーショナルデータベース）マッピングルールを生成している。つまり、ＸＭＬ−ＲＤＢマッピングルールは検索時に必要な情報である検索対象のＸＭＬ文書要素とＲＤＢのスキーマとの対応付けと、検索後に利用する情報である非検索対象のＸＭＬ文書要素をそのままＲＤＢに格納するという条件とからなる。
【００１８】
また、本発明のＸＭＬ文書格納／検索装置では、このＸＭＬ−ＲＤＢマッピングルールを基にＸＭＬ文書の格納、検索、ＸＭＬ問合せからＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）の生成を行っている。
【００１９】
これによって、本発明では、格納されるＸＭＬ文書の構造と、検索対象となるＸＭＬ文書要素とが規定されているという状況において、ＸＭＬ文書を効率的に格納／検索する際の問題点（上述した問題点）を解決し、ＸＭＬ文書の格納コスト及びＸＭＬ文書の検索コストを減少させ、ＲＤＢスキーマ構造に合わせたＳＱＬ問合せの生成を実現することが可能となる。
【００２０】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるＸＭＬ文書格納／検索装置の構成を示すブロック図である。図１において、ＸＭＬ文書格納／検索装置１１は主にコンピュータからなり、ＸＭＬ−ＲＤＢマッピングルール生成実行手段１２と、ＸＭＬ文書格納手段１３と、ＸＭＬ文書検索手段１４と、ＸＭＬ−ＲＤＢマッピングルール格納部１５と、ＲＤＢスキーマ生成手段１６と、記録媒体２０とから構成されている。
【００２１】
また、ＸＭＬ文書格納／検索装置１１はキーボード等の入力装置１７とディスプレイ装置や印刷装置等の出力装置１８とに接続されるとともに、ＲＤＢ１１０を管理するリレーショナルデータベースマネジメントシステム（ＲＤＢＭＳ）１９を介して、リレーショナルテーブルを格納するＲＤＢ１１０に接続されている。
【００２２】
ＸＭＬ−ＲＤＢマッピングルール生成手段１２は格納するＸＭＬ文書のスキーマ情報と検索対象となるＸＭＬ文書要素の構造情報とからＸＭＬ−ＲＤＢマッピングルール（以下、マッピングルールとする）を生成して実行する。ここで、ＸＭＬ文書のスキーマとはＸＭＬ文書要素の入れ子、繰返し等のＸＭＬ文書の構造、データ型、制約等を定義するものであり、またＲＤＢスキーマとはＲＤＢ中のテーブルの構成、データ型、制約等を定義するものである。
【００２３】
マッピングルールは検索時に必要な情報である検索対象のＸＭＬ文書要素とＲＤＢのスキーマとの対応付けと、検索後に利用する情報である非検索対象のＸＭＬ文書要素をそのままＲＤＢに格納するという条件とを含む。この場合、検索対象のＸＭＬ文書要素とＲＤＢのスキーマとの対応付けとは、例えばＸＭＬ文書のタグ名、値、属性名、属性値と、ＲＤＢのテーブル名、属性名との対応付けを示す。
【００２４】
ＸＭＬ文書格納手段１３はＸＭＬ文書を格納し、ＸＭＬ文書検索手段１４はＸＭＬ文書を検索してその検索結果を出力する。ＸＭＬ−ＲＤＢマッピングルール格納部１５はマッピングルールを格納し、ＲＤＢスキーマ生成手段１６はマッピングルールからＲＤＢスキーマを生成する。
【００２５】
記録媒体２０にはＸＭＬ文書格納／検索装置１１（コンピュータ）で実行されるプログラム、つまりＸＭＬ文書格納／検索装置１１の各手段を実現するためのプログラムが格納されている。
【００２６】
図２は図１のＸＭＬ−ＲＤＢマッピングルール生成実行手段１２の構成を示すブロック図である。図２において、ＸＭＬ−ＲＤＢマッピングルール生成実行手段１２はＸＭＬスキーマ解析手段１２１と、検索対象解析手段１２２と、文書要素分類手段１２３と、ＲＤＢスキーマ構成手段１２４と、ＸＭＬ−ＲＤＢマッピングルール導出手段１２５とから構成されている。
【００２７】
ＸＭＬ−ＲＤＢマッピングルール生成実行手段１２は入力装置１７から、自装置に格納するＸＭＬ文書のスキーマ情報と、検索対象のＸＭＬ文書要素の構造情報（以下、分類条件とする）とを受取る。
【００２８】
ＸＭＬスキーマ解析手段１２１は入力装置１７から入力されたＸＭＬスキーマ記述（自装置に格納するＸＭＬ文書のスキーマ情報）に対して構文解析を行い、その構文が正しいと解析したＸＭＬスキーマ記述を文書要素分類手段１２３に渡す。検索対象解析手段１２２は入力装置１７から入力された分類条件に対して構文解析を行い、その構文が正しいと解析した分類条件を文書要素分類手段１２３に渡す。
【００２９】
文書要素分類手段１２３はＸＭＬスキーマ解析手段１２１及び検索対象解析手段１２２で構文が正しいと解析されたＸＭＬ文書のスキーマ情報及び分類条件から、検索対象の文書要素と非検索対象の文書要素とに分類し、その分類結果をＲＤＢスキーマ構成手段１２４に渡す。
【００３０】
ＲＤＢスキーマ構成手段１２４は文書要素分類手段１２３での文書要素の分類結果からＲＤＢスキーマを構成し、そのスキーマ情報と文書要素の分類結果とをＸＭＬ−ＲＤＢマッピングルール導出手段１２５に渡す。ＸＭＬ−ＲＤＢマッピングルール導出手段１２５はＲＤＢスキーマ構成手段１２４から渡されたＲＤＢスキーマ情報と文書要素の分類結果とからＸＭＬスキーマとＲＤＢスキーマとを対応付けるマッピングルールを導出し、ＸＭＬ−ＲＤＢマッピングルール格納部１５に格納する。
【００３１】
図３は図１のＸＭＬ文書格納手段１３及びＸＭＬ文書検索手段１４の構成を示すブロック図である。図３において、ＸＭＬ文書格納手段１３はＸＭＬ文書構文解析手段１３１と、検索対象判定手段１３２と、格納命令生成手段１３３と、格納操作実行手段１３４とから構成されている。また、ＸＭＬ文書検索手段１４は検索式解析手段１４１と、問合せ生成手段１４２と、問合せ実行手段１４３と、ＸＭＬ文書生成手段１４４とから構成されている。
【００３２】
ＸＭＬ文書格納手段１３は格納するＸＭＬ文書を入力として受取る。ＸＭＬ文書構文解析手段１３１は入力されたＸＭＬ文書の構文解析を行い、その構文が正しいと解析したＸＭＬ文書を検索対象判定手段１３２に渡す。
【００３３】
検索対象判定手段１３２はＸＭＬ文書構文解析手段１３１で構文が正しいと解析されたＸＭＬ文書を、ＸＭＬ−ＲＤＢマッピングルール格納部１５に格納されたマッピングルールを基に検索対象のＸＭＬ文書要素と非検索対象のＸＭＬ文書要素とに分別し、検索対象のＸＭＬ文書要素からＲＤＢスキーマに対応付けられた情報（タグ名、値、属性名、属性値）を取出して格納命令生成手段１３３に渡し、非検索対象のＸＭＬ文書要素をそのまま格納命令生成手段１３３に渡す。
【００３４】
格納命令生成手段１３３は検索対象判定手段１３２において分別されたＸＭＬ文書要素（検索対象のＸＭＬ文書要素及び非検索対象のＸＭＬ文書要素）をそれぞれＲＤＢ１１０に格納するためのＳＱＬを生成し、格納操作実行手段１３４に渡す。格納操作実行手段１３４は格納命令生成手段１３３で生成されたＳＱＬを実行し、構文解析後のＸＭＬ文書（検索対象のＸＭＬ文書要素及び非検索対象のＸＭＬ文書要素）をＲＤＢ１１０に格納する。
【００３５】
ＸＭＬ文書検索手段１４は入力装置１７から入力され、ＸＭＬ文書の検索を行うための検索式を受取る。検索式解析手段１４１は入力装置１７から入力される検索式に対して構文解析を行い、その構文が正しいと解析した検索式を問合せ生成手段１４２に渡す。
【００３６】
問合せ生成手段１４２はＸＭＬ−ＲＤＢマッピングルール格納部１５に格納されたマッピングルールを基に、検索式解析手段１４１から受取った構文解析後のＸＭＬ文書に対する問合せ（検索式）からＳＱＬ問合せを生成し、そのＳＱＬを問合せ実行手段１４３に渡す。尚、ＳＱＬ問合せを生成する場合にはＸＭＬ文書に対する問合せからＳＱＬ問合せを生成するための変換ルール（検索に特化したルール）を生成し、その変換ルールを基にＳＱＬ問合せを生成することも可能であり、これに限定されない。
【００３７】
問合せ実行手段１４３は問合せ生成手段１４２で生成されたＳＱＬを実行する。ＲＤＢ１１０はＳＱＬが実行されると、その実行結果である結果集合をＸＭＬ文書生成手段１４４に渡す。ＸＭＬ文書生成手段１４４はＸＭＬ−ＲＤＢマッピングルール格納部１５に格納されたマッピングルールを基に、ＲＤＢ１１０から得た結果集合を基に検索結果のＸＭＬ文書を生成し、そのＸＭＬ文書を出力装置１８に渡す。
【００３８】
図４は本発明の一実施例で用いられるＸＭＬスキーマの構造例を示す図であり、図５は本発明の一実施例で用いられるＸＭＬ文書例を示す図である。この図４に示すＸＭＬスキーマ構造及び図５に示すＸＭＬ文書を入力とした場合の本発明の一実施例の動作について説明する。
【００３９】
図６は本発明の一実施例によるＲＤＢスキーマとマッピングルールとを導出する処理工程を示すフローチャートである。この図６を参照して本発明の一実施例によるＲＤＢスキーマとマッピングルールとを導出する処理工程について説明する。この処理工程は、図６に示すように、繰返し行われる。尚、図６に示す処理はＸＭＬ文書格納／検索装置１１が記録媒体２０のプログラムを実行することで実現される。
【００４０】
文書要素分類手段１２３はＸＭＬスキーマ構造及びＸＭＬ文書が入力装置１７から入力されると、ＸＭＬ文書のルート要素から要素の階層毎に要素の判定を行う。まず、文書要素分類手段１２３はＸＭＬスキーマ解析手段１２１から入力されたＸＭＬスキーマ情報の中から未判定の文書要素を１つ選択する（図６ステップＳ１）。
【００４１】
文書要素分類手段１２３は検索対象解析手段１２２から入力された検索対象となるＸＭＬ文書要素の構造情報を基に、選択された文書要素が検索対象の文書要素であるか（図６ステップＳ２）、検索対象でかつ繰り返しの文書要素であるか（図６ステップＳ３）、検索対象でなくかつ子孫要素として検索対象となる要素を含むかどうか（図６ステップＳ４）をそれぞれ判定する。
【００４２】
要素が検索対象で単一の要素の場合、ＲＤＢスキーマ構成手段１２４は格納するための属性を生成し、ＸＭＬ−ＲＤＢマッピングルール導出手段１２５は要素とＲＤＢスキーマ構成手段１２４で生成された属性との対応関係をマッピングルールとしてＸＭＬ−ＲＤＢマッピングルール格納部１５に保存する（図６ステップＳ５）。
【００４３】
要素が検索対象で繰返しとなる要素の場合、ＲＤＢスキーマ構成手段１２４が別テーブルを用意し、格納するための属性を生成し、ＸＭＬ−ＲＤＢマッピングルール導出手段１２５は要素とＲＤＢスキーマ構成手段１２４で生成された属性との対応関係をマッピングルールとして保存する（図６ステップＳ６）。
【００４４】
要素が検索対象ではないが、検索対象となる要素を含む場合には、階層を１つ下げて要素判定処理を行う（図６ステップＳ７）。要素が検索対象ではなく、検索対象となる要素を含まない場合には、ＲＤＢスキーマ構成手段１２４が格納するための属性を生成し、ＸＭＬ−ＲＤＢマッピングルール導出手段１２５は要素とＲＤＢスキーマ構成手段１２４で生成された属性との対応関係をマッピングルールとして保存する（図６ステップＳ５）。
【００４５】
まだ未判定の文書要素が残っている場合には、上記の要素判定処理を繰返す（図６ステップＳ８，Ｓ１）。この時、テーブル情報と、どの要素をどのテーブルのどの属性に対応しているかを示すマッピングルールとが作成される。
【００４６】
図７は本発明の一実施例におけるマッピングルールの一例を示す図である。図７においては、上記の処理工程で作成されたマッピングルールの一例を示している。このマッピングルールは図４に示すＸＭＬスキーマの構造例に対して要素「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ」の属性「ｂｕｓｉｎｅｓｓ  Ｋｅｙ」と要素「ｎａｍｅ」とが分類条件として与えられた場合の例を示している。この場合、マッピングルールとしては図７（ａ）に示すような検索対象のマッピングルールと、図７（ｂ）に示すような非検索対象のマッピングルールとが作成される。
【００４７】
図７（ａ）においては、ＸＭＬ文書の「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ＠ｂｕｓｉｎｅｓｓ  Ｋｅｙ」が「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ」テーブルの属性「ｂｕｓｉｎｅｓｓ  Ｋｅｙ」に対応し、ＸＭＬ文書の「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ→ｎａｍｅ」が「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ」テーブルの属性「ｎａｍｅ」に対応していることを示している。
【００４８】
また、図７（ｂ）においては、ＸＭＬ文書の「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ→ｄｅｓｃｒｉｐｔｉｏｎ」が「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ」テーブルの属性「ｄｅｓｃｒｉｐｔｉｏｎ」に対応し、ＸＭＬ文書の「ｂｕｓｉｎｅｓｓＥｎｔｉｔｙ→ｃｏｎｔａｃｔｓ」が「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ」テーブルの属性「ｃｏｎｔａｃｔｓ」に対応していることを示している。
【００４９】
図８は本発明の一実施例におけるＸＭＬ文書例に対するＲＤＢスキーマの対応関係を示す図である。これら図４と図５と図８とを参照して具体的なＸＭＬスキーマ定義と、ＸＭＬ文書例に対するＲＤＢスキーマとの対応関係について説明する。
【００５０】
本実施例では、上述したように、要素＜ｎａｍｅ＞と属性＜ｂｕｓｉｎｅｓｓ
Ｋｅｙ＞とが検索対象であるとすると、
ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ（ｂｕｓｉｎｅｓｓＫｅｙ，ｎａｍｅ，ｄｅｓｃｒｉｐｔｉｏｎ，ｃｏｎｔａｃｔｓ）（図８の７１参照）
というＲＤＢスキーマが導出される。
【００５１】
また、本実施例では、上述したようなマッピングルール、つまり、
「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙの属性＜ｂｕｓｉｎｅｓｓ  Ｋｅｙ＞は、ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙテーブルのｂｕｓｉｎｅｓｓ  Ｋｅｙに対応する」（図８の７２参照）、
「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙの子要素ｎａｍｅはｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙテーブルの属性ｎａｍｅに対応する」（図８の７３参照）、
「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙの子要素ｄｅｓｃｒｉｐｔｉｏｎは、ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙテーブルのｄｅｓｃｒｉｐｔｉｏｎに対応する」（図８の７４参照）、
「ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙの子要素ｃｏｎｔａｃｔｓは、ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙテーブルのｃｏｎｔａｃｔｓに対応する」（図７の７５参照）
というマッピングルールが導出される。
【００５２】
図９は本発明の一実施例によるＸＭＬ文書を格納する処理工程を示すフローチャートであり、図１０は本発明の一実施例による検索操作の処理工程を示すフローチャートである。これら図９及び図１０を参照して本発明の一実施例によるＸＭＬ文書を格納する処理工程及び検索操作の処理工程について説明する。尚、図９及び図１０に示す処理はＸＭＬ文書格納／検索装置１１が記録媒体２０のプログラムを実行することで実現される。
【００５３】
まず、ＸＭＬ文書格納手段１３は格納するＸＭＬ文書を入力として受取り、ＸＭＬ文書構文解析手段１３１で構文解析を行い（図９ステップＳ１１）、検索体操判定手段１３２を用いてＸＭＬ−ＲＤＢマッピングルールを基にＸＭＬ文書の要素を検索対象の要素とそれ以外の非検索対象の要素とに分類し（図９ステップＳ１２）、検索対象の要素からＲＤＢスキーマに対応付けられた情報（タグ名、値、属性名、属性値）を取出す。
【００５４】
続いて、ＸＭＬ文書格納手段１３は格納命令生成手段１３３において、分類された要素（検索対象の要素及び非検索対象の要素）をＲＤＢ１１０に格納するためのＳＱＬを生成する。この場合、格納命令生成手段１３３は検索対象の要素であれば（図９ステップＳ１３）、検索対象の要素からＲＤＢスキーマに対応付けられた情報（タグ名、値、属性名、属性値）を取出して格納するためのＳＱＬを生成する（図９ステップＳ１４）。
【００５５】
また、格納命令生成手段１３３は非検索対象の要素であれば（図９ステップＳ１３）、非検索対象の要素をそのまま（ＸＭＬ文書のまま）格納するためのＳＱＬを生成する（図９ステップＳ１５）。格納命令生成手段１３３はこれらステップＳ１４，Ｓ１５によって全て要素を処理すると（図９ステップＳ１６）、ステップＳ１４，Ｓ１５で得たＳＱＬを合成（マージ）して格納操作実行手段３４に渡す（図９ステップＳ１７）。格納操作実行手段３４においては、格納命令生成手段１３３で生成されたＳＱＬを実行してＸＭＬ文書の格納を行う（図９ステップＳ１８）。格納処理後のテーブル例を図７の７６に示す。
【００５６】
一方、ＸＭＬ文書検索手段１４は入力装置１７から入力される検索式を受取ると、検索式解析手段１４１を用いて構文解析を行い（図１０ステップＳ２１）、問合せ生成手段１４２でＸＭＬ−ＲＤＢマッピングルール格納部１５に保存されているマッピングルールを基に生成した、正しいと解析されたＸＭＬ文書に対する問合せからＳＱＬ問合せの生成を行う（図１０ステップＳ２２）。
【００５７】
続いて、ＸＭＬ文書検索手段１４では問合せ実行手段１４３が問合せ生成手段１４２で生成されたＳＱＬを実行することで、ＲＤＢ１１０から結果集合を受取ると（図１０ステップＳ２３）、ＸＭＬ−ＲＤＢマッピングルール格納部１５に保存されているマッピングルールを基に、ＸＭＬ文書生成手段１４４で結果集合から結果のＸＭＬ文書を生成する。
【００５８】
この場合、ＸＭＬ文書生成手段１４４は検索対象の文書要素であれば（図１０ステップＳ２４）、ＸＭＬ−ＲＤＢマッピングルール格納部１５に保存されているマッピングルールを基に、元のＸＭＬ文書の要素を再構成する（図１０ステップＳ２５）。
【００５９】
また、ＸＭＬ文書生成手段１４４は非検索対象の文書要素であれば（図１０ステップＳ２４）、結果集合からＸＭＬ文書の要素を取出す（図１０ステップＳ２６）。ＸＭＬ文書生成手段１４４はこれらステップＳ２５，Ｓ２６によって全て要素を処理すると（図１０ステップＳ２７）、ステップＳ２５，Ｓ２６で得たＸＭＬ文書の要素から検索結果のＸＭＬ文書を生成して出力装置１８に渡す（図１０ステップＳ２８）。
【００６０】
例えば、「名前に”Ａ”という文字列を含むＸＭＬ文書を取得せよ」という問合せは、
ＳＥＬＥＣＴ  ＊
ＦＲＯＭ  ｂｕｓｉｎｅｓｓ  Ｅｎｔｉｔｙ
ＷＨＥＲＥ  ｎａｍｅ  ｌｉｋｅ  ’％Ａ％’
というＳＱＬに変換される。
【００６１】
ＸＭＬ文書生成手段１４４は、このＳＱＬの実行結果に対して、ＸＭＬ−ＲＤＢマッピングルール格納部１５に保存されているマッピングルールを適用して、ＸＭＬ文書に成型し直すことによって、図５に示すＸＭＬ文書が結果として返される。
【００６２】
このように、本実施例では、図８に示すように、検索対象部分のみにおいて値を抽出するため、「値の抽出コスト」と「値をテーブルに格納するコスト」とが減少するので、ＸＭＬ文書の格納コスト（格納処理時間やその格納処理によるリソースの占有時間）を減少させることができる。
【００６３】
また、本実施例では、検索対象となる要素の存在する階層毎にテーブルを用意しているため、図８に示すように、検索対象となる要素の存在する階層が、全階層より少ない場合にはテーブル数が最小となり、ＪＯＩＮ操作の回数が減少するので、ＸＭＬ文書の検索コスト（検索処理時間やその検索処理によるリソースの占有時間）を減少させることができる。
【００６４】
さらに、本実施例では、ＸＭＬ−ＲＤＢマッピングルールを基に、ＸＭＬ文書に対する問合せから、本発明のＲＤＢスキーマ構造に合わせたＳＱＬ問合せの生成を実現することができる。
【００６５】
【発明の効果】
以上説明したように本発明は、ＸＭＬ文書の少なくとも構造を示すＸＭＬ文書のスキーマとＲＤＢの少なくとも構造を示すＲＤＢのスキーマとを基に検索対象のＸＭＬ文書の要素であるＸＭＬ文書要素とＲＤＢのスキーマとの対応付けと非検索対象のＸＭＬ文書の要素であるＸＭＬ文書要素をそのままＲＤＢに格納するという条件とを含むマッピングルールを生成し、そのマッピングルールを利用してＸＭＬ文書の格納を行うことによって、ＸＭＬ文書の格納コスト及びＸＭＬ文書の検索コストを減少させ、ＲＤＢスキーマ構造に合わせたＳＱＬ問合せの生成を実現することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施例によるＸＭＬ文書格納／検索装置の構成を示すブロック図である。
【図２】図１のＸＭＬ−ＲＤＢマッピングルール生成実行手段の構成を示すブロック図である。
【図３】図１のＸＭＬ文書格納手段及びＸＭＬ文書検索手段の構成を示すブロック図である。
【図４】本発明の一実施例で用いられるＸＭＬスキーマの構造例を示す図である。
【図５】本発明の一実施例で用いられるＸＭＬ文書例を示す図である。
【図６】本発明の一実施例によるＲＤＢスキーマとマッピングルールとを導出する処理工程を示すフローチャートである。
【図７】（ａ），（ｂ）は本発明の一実施例におけるマッピングルールの一例を示す図である。
【図８】本発明の一実施例におけるＸＭＬ文書例に対するＲＤＢスキーマの対応関係を示す図である。
【図９】本発明の一実施例によるＸＭＬ文書を格納する処理工程を示すフローチャートである。
【図１０】本発明の一実施例による検索操作の処理工程を示すフローチャートである。
【符号の説明】
１１  ＸＭＬ文書格納／検索装置
１２  ＸＭＬ−ＲＤＢマッピングルール生成実行手段
１３  ＸＭＬ文書格納手段
１４  ＸＭＬ文書検索手段
１５  ＸＭＬ−ＲＤＢマッピングルール格納部
１６  ＲＤＢスキーマ生成手段
１７  入力装置
１８  出力装置
１９  ＲＤＢＭＳ
２０  記録媒体
１１０  ＲＤＢ
１２１  ＸＭＬスキーマ解析手段
１２２  検索対象解析手段
１２３  文書要素分類手段
１２４  ＲＤＢスキーマ構成手段
１２５  ＸＭＬ−ＲＤＢマッピングルール導出手段
１３１  ＸＭＬ文書構文解析手段
１３２  検索対象判定手段
１３３  格納命令生成手段
１３４  格納操作実行手段
１４１  検索式解析手段
１４２  問合せ生成手段
１４３  問合せ実行手段
１４４  ＸＭＬ文書生成手段
７１  ＲＤＢスキーマ
７２〜７５  ＸＭＬ−ＲＤＢマッピングルール
７６  ＲＤＢテーブル例
【図１】
0004207438.tif 000003
【図２】
0004207438.tif 000004
【図３】
0004207438.tif 000005
【図４】
0004207438.tif 000006
【図５】
0004207438.tif 000007
【図６】
0004207438.tif 000008
【図７】
0004207438.tif 000009
【図８】
0004207438.tif 000010
【図９】
0004207438.tif 000011
【図１０】
0004207438.tif 000012