(57)【要約】【課題】作成中の検索条件のコンテキストにあう検索対象内の要素を自動的に判断し、必要とする検索対象内の要素を容易に探すことを可能にする。【解決手段】検索条件により参照されるデータのスキーマ情報を持つデータソース情報を保持するデータソーススキーマ情報格納手段８０５と、検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報を保持するターゲットスキーマ情報格納手段８０４と、作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報から判断するコンテキスト判断手段８０６とを備え、コンテキスト判断手段８０６により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示する。【選択図】  図８
2009294794.tif 000002
【特許請求の範囲】
【請求項１】
検索条件作成を支援するための検索条件作成支援方法において、
検索条件により参照されるデータのスキーマ情報を持つデータソース情報を保持する保持工程と、
検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報を保持する保持工程と、
作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持工程で保持した情報から判断するコンテキスト判断工程とを有し、
前記コンテキスト判断工程により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする検索条件作成支援方法。
【請求項２】
前記コンテキスト判断工程は、前記ターゲット情報の保持工程の要素名もしくは要素のデータ型もしくはデータの構造に関する情報と、前記データソース情報の保持工程の持つ要素名もしくは要素のデータ型もしくはデータの構造に関する情報とを用いて類似度を算出することを特徴とする請求項１に記載の検索条件作成支援方法。
【請求項３】
検索条件作成を支援するための検索条件作成支援装置において、
検索条件により参照されるデータのスキーマ情報を持つデータソース情報の保持手段と、
検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報の保持手段と、
作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持手段の持つ情報から判断するコンテキスト判断手段とを備え、
前記コンテキスト判断手段により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする検索条件作成支援装置。
【請求項４】
前記コンテキスト判断手段は、前記ターゲット情報の保持手段のターゲット情報を用いて、作成中の検索条件と前記データソース情報の保持手段のデータソース情報の類似度を算出し、該データソース情報が任意の値以上である場合、コンテキストにあうと判断することを特徴とする請求項３に記載の検索条件作成支援装置。
【請求項５】
検索条件により参照されるデータのスキーマ情報を持つデータソース情報を保持する保持工程と、
検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報を保持する保持工程と、
作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持工程で保持した情報から判断するコンテキスト判断工程とを有し、
前記コンテキスト判断工程により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする検索条件作成支援方法。
【請求項６】
請求項５に記載の検索条件作成支援方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索条件作成を支援するための検索条件作成支援方法、検索条件作成支援装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ Ｑｕｅｒｙ Ｌａｎｇｕａｇｅ）やＸＱｕｅｒｙ（ＸＭＬ Ｑｕｅｒｙ）といった検索条件を表現する検索言語の作成を支援する環境として、統合開発環境が存在する。統合開発環境では、コード補間や文法のあやまりを指摘するだけでなく、作成中の検索条件の検索対象となるデータおよびスキーマをあらかじめ指定しておくことにより、検索対象を指定するコードを容易に作成可能な工夫がなされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、検索条件において参照することになる検索対象の数もしくは検索対象の要素数が多数に及ぶと、検索条件において参照したい検索対象もしくは検索対象内の要素を探すこと自体が困難であるという問題があった。
【０００４】
そこで、本発明は作成中の検索条件のコンテキストにあう検索対象内の要素を自動的に判断し、必要とする検索対象内の要素を容易に探すことを可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の検索条件作成支援方法は、検索条件作成を支援するための検索条件作成支援方法において、検索条件により参照されるデータのスキーマ情報を持つデータソース情報を保持する保持工程と、検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報を保持する保持工程と、作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持工程で保持した情報から判断するコンテキスト判断工程とを有し、前記コンテキスト判断工程により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする。
また、本発明の検索条件作成支援装置は、検索条件作成を支援するための検索条件作成支援装置において、検索条件により参照されるデータのスキーマ情報を持つデータソース情報の保持手段と、検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報の保持手段と、作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持手段の持つ情報から判断するコンテキスト判断手段とを備え、前記コンテキスト判断手段により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする。
また、本発明の検索条件作成支援方法は、検索条件により参照されるデータのスキーマ情報を持つデータソース情報を保持する保持工程と、検索条件を実行することにより生成されるデータのスキーマ情報を持つターゲット情報を保持する保持工程と、作成中の検索条件のコンテキストとあうデータソースを前記ターゲット情報の保持工程で保持した情報から判断するコンテキスト判断工程とを有し、前記コンテキスト判断工程により、検索条件のコンテキストとあうデータソースであると判断されたデータソースを該データソース以外のデータソースとして表示することを特徴とする。
また、本発明のプログラムは、上記に記載の検索条件作成支援方法の各工程をコンピュータに実行させるためのプログラムである。
【発明の効果】
【０００６】
本発明によれば、作成中の検索条件のコンテキストにあう検索対象を自動的に判断し、必要とする検索対象を提示することで、検索条件作成における検索対象を探し出す必要がなくなる。これにより、検索条件作成作業の負担を軽減する効果がある。
【発明を実施するための最良の形態】
【０００７】
＜第１の実施の形態＞
本実施形態では、図１から図２２を用いて、作成中のＸＱｕｅｒｙのコンテキストにあわせて、動的に検索対象であるデータソース（ＸＭＬ）の表示が変更される例について説明を行う。
【０００８】
図１は、本発明に係る検索条件作成支援装置を有する情報処理装置より構成されるネットワークシステムを示す図である。ネットワークシステムは各種データの伝送媒体となるネットワーク１００上に複数の情報処理装置１０１〜１０５が接続されている。ネットワーク１００は例えばＥｔｈｅｒｎｅｔ（登録商標）のようなＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）あるいはインターネットのような広域情報通信網であってもよい。各情報処理装置１０１〜１０５は図２において後述する通信装置２０８を介して接続されている。
【０００９】
図２は、本実施の形態に係る情報処理装置のハードウェア構成を示す図である。図２において２０１は、マイクロプロセッサＣＰＵ（ＣＰＵ）であり、各処理のための演算、論理判断等を行い、バス２０９を介してそれらのバスに接続された各構成要素を制御する。
【００１０】
２０２は読み出し専用の固定メモリＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。２０３は書き込み可能なＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）であり、各構成要素からの各種データの一時記憶に用いられる。
【００１１】
２０４は入力装置であり、情報（データ）の入力に用いられる。２０５は陰極線管ＣＲＴ（Ｃａｔｈｏｄ−Ｒａｙ Ｔｕｂｅ）や液晶パネル等の表示装置であり、表示装置２０５におけるドット構成の表示パターンおよびカーソルの表示を表示装置コントローラ２０６で制御する。
【００１２】
２０７は外部記憶装置であり、種々の情報が格納される。また、これらのデータおよびプログラムを格納する記憶媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード、光磁気ディスクなどを用いることができる。
【００１３】
２０８は通信装置であり、Ｅｔｈｅｒｎｅｔ（登録商標）などのネットワークに接続し、ネットワークシステムにおいて複数の情報処理装置同士を接続する役割を担う。係る各構成要素からなる情報処理装置においては、入力装置２０４からの各種の入力および通信装置２０８から供給されるネットワーク経由の各種入力に応じて作動する。
【００１４】
入力装置２０４からの入力および通信装置２０８からの入力が供給されると、まず、インタラプト信号がＣＰＵ２０１に送られる。そのＣＰＵ２０１が外部記憶装置２０７内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って、各種の制御が行われる。また、システムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【００１５】
図３は、本実施形態における統合開発環境を示す図である。図３を用いて、本実施形態の簡単なイメージを説明する。各処理の詳細については、図５以降を用いて後述する。
【００１６】
３０１はメニュー部であり、統合開発環境における様々な機能を使用するためのメニューを提示する。例えば、ＸＱｕｅｒｙの新規作成やコピー、ペーストなどの編集機能、統合開発環境の環境設定などのメニューがある。
【００１７】
３０２はエディタ部であり、ＸＱｕｅｒｙの記述、編集作業を行う。ＸＱｕｅｒｙの記述に文法上の誤りがある場合は、誤りのある部分をハイライト表示することで誤りを指摘する。
【００１８】
エディタ部３０２では、データソース表示部３０３、ターゲットスキーマ表示部３０４、ＸＱｕｅｒｙ機能表示部３０５で表示されるデータからドラック＆ドロップ等の指示によりＸＱｕｅｒｙを半自動的に生成する。例えば、ターゲットスキーマ表示部３０４に表示されているａｂｃ要素をエディタ部３０２にドラッグ＆ドロップすることにより、エディタ部３０２にはａｂｃ要素をルート要素として出力するＸＱｕｅｒｙが生成される。
【００１９】
３０３はデータソース表示部であり、統合開発環境において作成するＸＱｕｅｒｙで参照することとなるＸＭＬを図４で示すようなツリー構造で表示する（図４に関する詳細は、後述する）。表示されるデータソースは、ユーザによって指定されたＸＭＬデータとなる。
【００２０】
エディタ部３０２において、ＸＱｕｅｒｙを作成中の場合、作成中のＸＱｕｅｒｙのコンテキストに従い、表示されるデータが動的に変化する。例えば、ユーザの指定したＸＭＬデータが図４に示すものであり、作成中のＸＱｕｅｒｙが図５、ターゲットスキーマが図６に示すものである場合を考える。
【００２１】
図５で示す作成中のＸＱｕｅｒｙにおいて、ユーザが実際に編集を行っている部分を図５のユーザ編集部分５０１であるとする。ユーザ編集部分５０１は、要素ＸＹＺのデータに関する処理を記述する部分である。要素ＸＹＺのデータ型は、図６で示すターゲットスキーマ中の要素ＸＹＺのデータ型６０１からｉｎｔｅｇｅｒ型であることがわかる。従って、データソース表示部３０３に表示されるツリー構造は図７のようにｉｎｔｅｇｅｒ型のデータを持つ要素のみから構成されるツリー構造に動的に変化する。コンテキストの判断処理については、図１９を用いて後述する。
【００２２】
３０４はターゲットスキーマ表示部であり、統合開発環境において作成するＸＱｕｅｒｙを実行することにより生成されるべきＸＭＬデータのスキーマを表示する。表示形式は、データソース表示部３０３で表示されるデータと同様に図４で示すようなツリー構造である。表示されるターゲットスキーマは、ユーザが指定を行うことにより設定される。
【００２３】
３０５はＸＱｕｅｒｙ機能表示部であり、ＸＱｕｅｒｙの仕様で定められる関数や式などが一覧表示される。表示される関数や式などには、例えばｆｏｒ文や対象ＸＭＬデータを指定するためのｄｏｃ関数などがある。
【００２４】
３０６はコンソール表示部であり、ＸＱｕｅｒｙを実行した結果や各種エラー情報などを表示する。３０７はステータスバー部であり、エディタ中の行及び列番号や各種処理の実行結果を示す情報を提示する。
【００２５】
図４は、図３におけるデータソース表示部３０３およびターゲットスキーマ表示部３０４において表示されるデータの一例を示した図である。
【００２６】
４０１は、データのルート要素であり、ツリー構造の最上位の要素として表示される。４０２は、要素間の関係を示す関係子であり、関係子の下位にあたる要素間の関係を示す。ここでは、“Ｓｅｑ”が関係子であり、関係子の下位にあたる要素、ｎａｍｅ要素とａｄｄｒｅｓｓ要素が順序を持つことを示している。関係子には、“Ｓｅｑ”以外にも、出現回数の制限を示すものなど、ターゲットスキーマもしくはデータソースのスキーマを記述したスキーマ言語において表現可能な関係が存在する。
【００２７】
４０３は、要素を示す。要素は、その上位構造および下位構造に要素、要素自身に属性を持つ可能性がある。４０４は、属性を示す。属性は、要素の子要素と同様に要素の下位に表示される。４０５は、要素４０３もしくは属性４０４のデータの型を示す。データ型には、文字列を示すｓｔｒｉｎｇなど、関係子４０２と同様にターゲットスキーマもしくはデータソースのスキーマを記述したスキーマ言語において表現可能な型が存在する。
【００２８】
４０６は、展開可能なツリー構造が存在することを示す展開子である。例えば、図４においては、ｎａｍｅ要素はさらに展開することが可能であり、ｎａｍｅ要素の下位には、要素もしくは属性が存在することを示している。展開子が存在しない要素は、下位に要素もしくは属性を持たないことを示している。展開子が存在する要素の場合、入力機器の指示により、ツリー構造を展開できる。展開子が存在しない要素の場合は、入力機器の指示により、ツリー構造を格納することが可能で、格納することにより、展開子が現れる。
【００２９】
図８は、本実施形態の検索条件作成支援装置を構成する機能ブロック図である。図８に示すように検索条件作成支援装置は、入力手段８０１、表示手段８０２、検索条件編集手段８０３、ターゲットスキーマ情報格納手段８０４、データソーススキーマ情報格納手段８０５を有する。さらには、コンテキスト判断手段８０６、ＸＱｕｅｒｙ構文情報格納手段８０７を有する。
【００３０】
入力手段８０１は、操作者によるデータ入力などを受け付ける。データ入力や指示等は、キーボードやマウスといった入力デバイスによって行われる。表示手段８０２は、検索条件作成のための統合開発環境を表示する。統合開発環境では、図３において簡単に述べたように、作成中の検索条件や設定されたターゲットスキーマ、データソースなどが表示される。
【００３１】
検索条件編集手段８０３では、入力手段８０１を用いて入力された検索条件の情報を保持する。入力手段８０１を用いて入力される検索条件は、後述するターゲットスキーマ情報格納手段８０４もしくはデータソーススキーマ情報格納手段８０５のスキーマ情報からＸＱｕｅｒｙを半自動的に作成されるものもある。
【００３２】
８０４はターゲット情報を格納、保持するターゲットスキーマ情報格納手段、８０５はデータソース情報を格納、保持するデータソーススキーマ情報格納手段である。
【００３３】
ターゲットスキーマ情報格納手段８０４に格納されているスキーマ情報からＸＱｕｅｒｙを自動的に生成する処理に関しては図９を用いて後述する。データソーススキーマ情報格納手段８０５に格納されているスキーマ情報からＸＱｕｅｒｙを自動的に生成する処理に関しては図１３を用いて後述する。
【００３４】
検索条件編集手段８０３に保持された検索条件は、後述するＸＱｕｅｒｙ構文情報格納手段８０７に保持される情報を用いて、検索言語の構文規則に正しくしたがっているかの検証が行われる。検証の結果、構文に誤りがある場合は、誤りがある部分の情報が表示手段８０２に通知される。
【００３５】
ターゲットスキーマ情報格納手段８０４では、入力手段８０１を用いて設定されたターゲットスキーマの情報を格納する。格納されたターゲットスキーマの情報は、検索条件編集手段８０３において、検索条件を自動生成する際（図９において後述）および後述するコンテキスト判断手段８０６において、検索条件のコンテキストを判断する際（図１９において後述）に使用される。
【００３６】
データソーススキーマ情報格納手段８０５では、入力手段８０１を用いて設定されたデータソースのスキーマ情報を格納する。格納されたデータソーススキーマ情報は、検索条件編集手段８０３において、検索条件を自動生成する際に使用される（図１３において後述）。
【００３７】
コンテキスト判断手段８０６では、検索条件編集手段８０３およびターゲットスキーマ情報格納手段８０４の情報を用いて、作成中の検索条件のコンテキストにあうデータソースをデータソーススキーマ情報格納手段８０５から検索する。そして、検索結果を表示手段８０２に通知する。検索処理に関しては、図１９を用いて後述する。
【００３８】
ＸＱｕｅｒｙ構文情報格納手段８０７では、ＸＱｕｅｒｙの仕様で規定される様々な構文の情報を保持する。ＸＱｕｅｒｙ構文情報は、検索条件編集手段８０３において、編集されている検索条件が正しい構文で記述されているかの検証を行うために使用される。また、ＸＱｕｅｒｙを自動的に生成する際にも使用される（ＸＱｕｅｒｙを自動的に生成する処理に関しては、図９および図１３において後述する）。
【００３９】
図９は、ターゲットスキーマ情報格納手段８０４に格納されるスキーマ情報からＸＱｕｅｒｙを生成する処理を示すフローチャートである。
【００４０】
ステップＳ９００では、ユーザから指示されたスキーマ情報を特定する。図４で示すようなツリー構造中の要素をユーザが指示することによりスキーマ情報を特定する。
【００４１】
ステップ９０１では、ステップＳ９００において特定されたスキーマ情報が、スキーマが示すデータのルート要素であるかの判断を行う。判断の結果がルート要素である場合は、ステップＳ９０３へ移る。判断結果がルート要素ではない場合は、ステップＳ９０２へ移る。ルート要素判断処理は、指示された要素に祖先となる要素が存在するかを既存のスキーマ解析技術を用いて調べることにより行う。
【００４２】
例えば、図１０に示すスキーマにおいて、ｂｏｏｋｓ要素１００１がユーザにより指示された場合は、ｂｏｏｋｓ要素１００１には祖先となる要素が存在しないため、ルート要素であると判断される。ｂｏｏｋ要素１００２がユーザにより指示された場合は、ｂｏｏｋ要素１００２に祖先となる要素が存在するためルート要素ではないと判断される。
【００４３】
ステップＳ９０２では、ステップＳ９００で特定された部分スキーマの最上位要素をルート要素として新しいスキーマ情報を生成する。例えば、図１０で示すスキーマにおいてｂｏｏｋ要素１００２がステップＳ９００において特定された部分スキーマの最上位要素である場合、ｂｏｏｋ要素１００２をルート要素とするスキーマ情報を生成する。生成されるスキーマ情報には、ｂｏｏｋ要素１００２の子孫構造もそのままの形式で生成される。すなわち、ｂｏｏｋ要素１００２の子要素であるｔｉｔｌｅ要素１００３、ａｕｔｈｏｒ要素１００４、ｐｒｉｃｅ要素１００５、ｃｏｎｔｅｎｔ要素１００６を子要素に持つｂｏｏｋ要素をルートとするスキーマ情報が生成される（図１１参照）。
【００４４】
ステップＳ９０３では、ステップＳ９００もしくはステップＳ９０２で特定もしくは生成されたスキーマ情報の解析を行う。スキーマ情報の解析処理は、既存のスキーマ解析技術を用いて行い、データの構造および各要素、属性の名前、データ型を取得する。
【００４５】
ステップＳ９０４では、ステップＳ９０３において解析されたスキーマ情報からＸＱｕｅｒｙ（クエリ）を生成する。ＸＱｕｅｒｙ生成処理は、スキーマ情報の持つ要素をＸＱｕｅｒｙにおけるエレメントコンストラクタにより表現する。そして、各要素の内容として入るべきデータに関するクエリを記述する部分をユーザにより記述する必要があることを示すユーザ定義識別子（不図示）で表現する。
【００４６】
例えば、スキーマ情報が図１１で示すものである場合、図１２で示すＸＱｕｅｒｙが生成される。図１１のスキーマ情報に含まれる要素は、ｂｏｏｋ要素１１０１、ｔｉｔｌｅ要素１１０２、ａｕｔｈｏｒ要素１１０３、ｐｒｉｃｅ要素１１０４、ｃｏｎｔｅｎｔ要素１１０５である。
【００４７】
よって、図１２のＸＱｕｅｒｙでは、エレメントコンストラクタ１２０１として記述される。内容を持つ要素は、ｔｉｔｌｅ要素１１０２、ａｕｔｈｏｒ要素１１０３、ｐｒｉｃｅ要素１１０４、ｃｏｎｔｅｎｔ要素１１０５であるので、図１２のＸＱｕｅｒｙでは、ユーザ定義識別子１２０２と記述される。
【００４８】
図１３は、データソーススキーマ情報格納手段８０５に格納されるスキーマ情報からＸＱｕｅｒｙを生成する処理を示すフローチャートである。
【００４９】
ステップＳ１３００では、ユーザから指示されたスキーマ情報を特定する。図１４に示すようなツリー構造で表されるデータソースの一覧から任意の要素をユーザが指示することによりスキーマ情報を特定する。
【００５０】
ステップＳ１３０１では、ステップＳ１３００において特定された部分スキーマを既存のスキーマ解析技術により解析可能なスキーマ情報として生成する。生成処理に関しては、図９におけるステップＳ９００からステップＳ９０２における処理と同様の方法である。
【００５１】
ステップＳ１３０２では、ステップＳ１３０１において生成されたスキーマ情報の解析を行う。スキーマ情報の解析処理は、既存のスキーマ解析技術を用いて行い、データの構造および各要素、属性の名前、データ型を取得する。
【００５２】
ステップＳ１３０３では、ステップＳ１３０２において解析されたスキーマ情報からデータソースを参照するためのＸＱｕｅｒｙとして使用可能な構文を検索する。ＸＱｕｅｒｙ候補の検索は、図８のＸＱｕｅｒｙ構文情報格納手段８０７の情報を検索することにより行う。
【００５３】
例として、データソーススキーマが図１４に示すものであり、ユーザにより指示されたデータソースをｗｒｉｔｔｅｒ要素１４０１である場合を考える。ｗｒｉｔｔｅｒ要素１４０１のデータ型は、ｓｔｒｉｎｇ型１４０２であることがわかるので、ＸＱｕｅｒｙ構文情報格納手段８０７からｓｔｒｉｎｇ型を返すことが可能な構文が検索される。例えば、図１５に示すようなＸＱｕｅｒｙが候補として検索される。
【００５４】
ステップＳ１３０４では、ステップＳ１３０３において検索されたＸＱｕｅｒｙ候補一覧をユーザに提示する。ユーザは、提示された候補の１つを指示することにより、作成するＸＱｕｅｒｙが決定される。
【００５５】
ステップＳ１３０５では、ステップＳ１３０４においてユーザにより決定されたＸＱｕｅｒｙを現在編集中のＸＱｕｅｒｙとマージすることにより、新しいＸＱｕｅｒｙを生成する。
【００５６】
例えば、ＸＱｕｅｒｙを図１７で示すものとし、ユーザ定義識別子１７０１に図１４中のｗｒｉｔｔｅｒ要素１４０１をドラッグ＆ドロップしたとする（ｗｒｉｔｔｅｒ要素１４０１を含む実際のデータは図１６に示す）。
【００５７】
さらに、ステップＳ１３０４で決定されたＸＱｕｅｒｙ構文を図１５におけるＸＰａｔｈ式＋ｔｅｘｔ（）１５０１とすると、結果として、編集後（マージ後）のＸＱｕｅｒｙは図１８に示すものになる。
【００５８】
図１８の変更部１８０１が実際に変更された部分である。ユーザ定義識別子１７０１がｗｒｉｔｔｅｒ要素１４０１を特定するＸＰａｔｈ式とｔｅｘｔ関数（“ｄｏｃ（”ｂｏｏｋ．ｘｍｌ“）／ｂｏｏｋ／ｗｒｉｔｔｅｒ／ｔｅｘｔ（）”）に変更されていることがわかる。
【００５９】
図１９は、編集中のＸＱｕｅｒｙのコンテキストを判断して、コンテキストにあうデータソースを検索する処理を示すフローチャートである。
【００６０】
ステップＳ１９００では、ユーザにより編集が行われているＸＱｕｅｒｙの部分を特定する。
【００６１】
ステップＳ１９０１では、ステップＳ１９００において特定された編集部分に入るべきデータのスキーマ情報を取得する。
【００６２】
データのスキーマ情報は、図８におけるターゲットスキーマ情報格納手段８０４に格納されているターゲットスキーマ情報を参照することにより取得される。
【００６３】
例えば、図２０に示すＸＱｕｅｒｙを編集中であるとし、ターゲットスキーマを図２１に示すものであるとする。図２０のカーソル２００１は現在ユーザが編集中の部分である。カーソル２００１は、＜ｂｏｏｋ＞と＜／ｂｏｏｋ＞との間に存在するため、ユーザがｂｏｏｋ要素２００２の内容を記述しようとしていることを表している。ｂｏｏｋ要素２００２の内容は図２１のターゲットスキーマからｓｔｒｉｎｇ型のデータ型を持つｔｉｔｌｅ要素２１０１であることがわかる。
【００６４】
ステップＳ１９０２では、ステップＳ１９０１において取得したスキーマ情報をもとに、該スキーマ情報と関連するデータソースを検索する。
【００６５】
検索処理は、ステップＳ１９０１において取得したスキーマ情報中の要素名、構造、データ型を用いてデータソーススキーマに同一の要素名、構造、データ型が含まれているかどうかの判断を行うことにより実現する。
【００６６】
例えば、図２０および図２１の例を考えると、ｔｉｔｌｅという要素名もしくはｓｔｒｉｎｇ型のデータを持つ要素をデータソースから検索することになる。
【００６７】
ステップＳ１９０３では、ステップＳ１９０２において検索したデータソースを表示する。なお、ここでは表示するデータソースを検索したデータソース以外のデータソースとして表示するものとする。図２０および図２１の例の場合、図２２に示すようにｔｉｔｌｅ要素もしくはｓｔｒｉｎｇ型のデータを持つ要素が表示される。ここでは、同じ要素名もしくは構造、データ型であるものを検索したが、必ずしも完全に一致するものでなくてもよい。同義語辞書やクラスタなど、既存の検索技術を使用して、完全一致以外のものも検索結果とすることも考えられる。
【００６８】
例えば、同義語辞書などを用いて同じ意味を持つ要素名であれば、検索にヒットしたとしても良いし、要素間の入れ替えを許すなど構造のあいまい性などをもたせても良い。また、既存の類似度算出技術を使用して、検索結果の類似度を算出し、類似度順に検索結果を提示しても良い。具体的には類似度の任意の値以上である場合に、コンテキストにあうと判断するようにしたりする。
【００６９】
なお、本発明の目的は前述した実施例の機能を実現するソフトウェアのプログラムコードをシステム供給し、そのシステムのコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００７０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７１】
プログラムコードを供給するための記憶媒体としては、例えば、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００７２】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、プログラムコードの指示に基づき、その機能拡張ボード等に備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態におけるネットワークシステム構成図を示す図である。
【図２】本発明の実施形態における装置構成図を示す図である。
【図３】本発明の実施形態における統合開発環境を示す図である。
【図４】本発明の実施形態におけるデータのツリー構造の一例を示す図である。
【図５】本発明の実施形態におけるＸＱｕｅｒｙの一例を示す図である。
【図６】本発明の実施形態におけるターゲットスキーマの一例を示す図である。
【図７】本発明の実施形態におけるデータソースの一例を示す図である。
【図８】本発明の実施形態における機能ブロック図を示す図である。
【図９】本発明の実施形態におけるターゲットスキーマを用いたＸＱｕｅｒｙ生成処理を示すフローチャートである。
【図１０】本発明の実施形態におけるターゲットスキーマのツリー構造の一例を示す図である。
【図１１】本発明の実施形態におけるターゲットスキーマにおける部分スキーマのツリー構造の一例を示す図である。
【図１２】本発明の実施形態におけるターゲットスキーマから生成されたＸＱｕｅｒｙの一例を示す図である。
【図１３】本発明の実施形態におけるデータソースを用いたＸＱｕｅｒｙ生成処理を示すフローチャートである。
【図１４】本発明の実施形態におけるデータソースのツリー構造の一例を示す図である。
【図１５】本発明の実施形態におけるクエリ候補提示の一例を示す図である。
【図１６】本発明の実施形態におけるデータソース（ｂｏｏｋ．ｘｍｌ）を示す図である。
【図１７】本発明の実施形態におけるユーザ定義識別子編集前のＸＱｕｅｒｙを示す図である。
【図１８】本発明の実施形態におけるユーザ定義識別子編集後のＸＱｕｅｒｙを示す図である。
【図１９】本発明の実施形態におけるコンテキスト判断処理（データソース検索処理）を示すフローチャートである。
【図２０】本発明の実施形態における編集中のＸＱｕｅｒｙの一例を示す図である。
【図２１】本発明の実施形態におけるターゲットスキーマの一例を示す図である。
【図２２】本発明の実施形態におけるデータソースの一例を示す図である。
【符号の説明】
【００７５】
１００  ネットワーク
１０１、１０２、１０３、１０４、１０５  情報処理装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  入力装置
２０５  表示装置
２０６  表示コントローラ
２０７  外部記憶装置
２０８  通信装置
３０１  メニュー部
３０２  エディタ部
３０３  データソース表示部
３０４  ターゲットスキーマ表示部
３０５  ＸＱｕｅｒｙ機能表示部
３０６  コンソール表示部
３０７  ステータスバー部
８０１  入力手段
８０２  表示手段
８０３  検索条件編集手段
８０４  ターゲットスキーマ情報格納手段
８０５  データソーススキーマ情報格納手段
８０６  コンテキスト判断手段
８０７  ＸＱｕｅｒｙ構文情報格納手段
【図１】
2009294794.tif 000003
【図２】
2009294794.tif 000004
【図３】
2009294794.tif 000005
【図４】
2009294794.tif 000006
【図５】
2009294794.tif 000007
【図６】
2009294794.tif 000008
【図７】
2009294794.tif 000009
【図８】
2009294794.tif 000010
【図９】
2009294794.tif 000011
【図１０】
2009294794.tif 000012
【図１１】
2009294794.tif 000013
【図１２】
2009294794.tif 000014
【図１３】
2009294794.tif 000015
【図１４】
2009294794.tif 000016
【図１５】
2009294794.tif 000017
【図１６】
2009294794.tif 000018
【図１７】
2009294794.tif 000019
【図１８】
2009294794.tif 000020
【図１９】
2009294794.tif 000021
【図２０】
2009294794.tif 000022
【図２１】
2009294794.tif 000023
【図２２】
2009294794.tif 000024