【手続補正書】
【提出日】平成22年2月26日(2010.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
埋め込み言語の明示的な表現を使用してデータへのクエリ実行を容易にするシステムであって、
ＩＥｎｕｍｅｒａｂｌｅインターフェイスおよびＩＥｎｕｍｅｒａｂｌｅ＜Ｔ＞インターフェイスのうちの少なくとも１つ、ならびに少なくとも１つの各々関連する標準クエリ演算子拡張技法とを使用して、データのコレクション（２０２）に採用されるべきデータ操作を受信するＩＥｎｕｍｅｒａｂｌｅコンポーネント（１０４、６０４）と、
前記少なくとも１つのＩＥｎｕｍｅｒａｂｌｅインターフェイスおよび前記ＩＥｎｕｍｅｒａｂｌｅ＜Ｔ＞インターフェイスと、少なくとも１つの各々関連する標準クエリ演算子とをミラーリングする少なくとも１つの関数を使用して、前記データのコレクション（２０２）およびクエリを式ツリーとして表すことにより、前記データのコレクションにクエリを行うジェネリックインターフェイスを提供するミラーコンポーネント（１０２、６０２）と
を備えることを特徴とするシステム。
【請求項２】
前記式ツリーとしての前記データのコレクションの前記表現は、ＩＱｕｅｒｙａｂｌｅおよびＩＱｕｅｒｙａｂｌｅ＜Ｔ＞のうちの少なくとも１つによって実施されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記ＩＥｎｕｍｅｒａｂｌｅコンポーネントは、特に前記データのコレクションで機能するジェネリックコレクション型を提供し、
前記ＩＥｎｕｍｅｒａｂｌｅコンポーネントは、前記ジェネリックコレクション型と互換性のある固有のプログラミング言語を使用して前記データのコレクションに標準クエリ演算子拡張メソッドを採用し、
前記標準クエリ演算子拡張メソッドは、Ｗｈｅｒｅ、Ｓｅｌｅｃｔ、ＳｅｌｅｃｔＭａｎｙ、フィルタ関数、グループ関数、および変換関数のうちの少なくとも１つであり、かつ
前記固有のプログラミング言語はオブジェクト指向言語であることを特徴とする請求項１に記載のシステム。
【請求項４】
前記ＩＥｎｕｍｅｒａｂｌｅコンポーネントは、少なくとも１つのデリゲートを引数として使用し、前記引数はネームスペースで定義されることを特徴とする請求項１に記載のシステム。
【請求項５】
前記ミラーコンポーネントは、標準インターフェイスＩＱｕｅｒｙａｂｌｅ＜Ｔ＞と非ジェネリックの対の一方のＩＱｕｅｒｙａｂｌｅインターフェイスを使用して、式ツリーを介するクエリの深い埋め込みのサポートを知らせ、
前記ＩＱｕｅｒｙａｂｌｅ＜Ｔ＞インターフェイスおよび前記ＩＱｕｅｒｙａｂｌｅインターフェイスのうちの少なくとも１つは、前記式ツリーを使用してリレーショナルデータ、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）オブジェクト、オブジェクト指向言語、およびプログラミング言語のうちの少なくとも１つにクエリを行い、前記データ操作を実施することができることを特徴とする請求項１に記載のシステム。
【請求項６】
前記ミラーコンポーネントは、ＩＱｕｅｒｙａｂｌｅおよびＩＱｕｅｒｙａｂｌｅ＜Ｔ＞のうちの少なくとも１つを使用して前記ＩＥｎｕｍｅｒａｂｌｅインターフェイスおよび前記ＩＥｎｕｒｎｅｒａｂｌｅ＜Ｔ＞インターフェイスのうちの少なくとも１つに関連付けられている標準クエリ演算子拡張メソッドを複製し、前記関数はＷｈｅｒｅ、Ｓｅｌｅｃｔ、ＳｅｌｅｃｔＭａｎｙ、フィルタ関数、グループ関数、および変換関数のうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項７】
前記ミラーコンポーネントは、ＩＥｎｕｍｅｒａｂｌｅおよびＩＥｎｕｒｎｅｒａｂｌｅ＜Ｔ＞標準クエリ演算子拡張メソッドのうちの少なくとも１つにデリゲートが入力として使用される場合と同様に、ＩＱｕｅｒｙａｂｌｅおよびＩＱｕｅｒｙａｂｌｅ＜Ｔ＞標準クエリ演算子拡張メソッドのうちの少なくとも１つに前記式ツリーを入力として使用することを特徴とする請求項１に記載のシステム。
【請求項８】
前記式ツリーを使用して、クエリプロセッサに関連付けられているプログラミング言語および前記クエリプロセッサに関連するフォーマットのうちの少なくとも１つとは無関係に前記データのコレクションにクエリを行う前記クエリプロセッサをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項９】
前記データのコレクションには、ローカル、リモート、および有線経由のうちの少なくとも１つによりクエリが行われることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記データのコレクションには、ローカルコンピュータのメモリ内のデータにクエリを行う場合と同様の方法でリモートにクエリが行われることを特徴とする請求項８に記載のシステム。
【請求項１１】
クエリプロセッサへのプラグ可能アーキテクチャの提供を容易にするコンピュータ実施の方法であって、
データのコレクションに実施されるべきデータ操作を受信するステップ（７０２、８０２、９０２）と、
前記データのコレクションの式ツリーを作成するステップ（８０４、９０４）と、
ＩＥｎｕｍｅｒａｂｌｅおよびＩＥｎｕｍｅｒａｂｌｅ＜Ｔ＞のうちの少なくとも１つのミラーリングされた関数を使用して前記式ツリーに前記データ操作を実施するステップ（７０４、８０６、９０６）と、
ジェネリックインターフェイスを使用して、データ操作およびミラーリングされた機能に基づいて前記データにクエリを行うステップ（７０４、８０６、９０６）と
を備えることを特徴とする方法。
【請求項１２】
クエリプロセッサに関連付けられているプログラミング言語および前記クエリプロセッサに関連するフォーマットのうちの少なくとも１つとは無関係に、前記クエリプロセッサが前記式ツリーにクエリを行うことができるようにするステップをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
ＩＥｎｕｍｅｒａｂｌｅおよびＩＥｎｕｍｅｒａｂｌｅ＜Ｔ＞標準クエリ演算子拡張メソッドのうちの少なくとも１つをミラーリングするＩＱｕｅｒｙａｂｌｅインターフェイス標準クエリ演算子拡張メソッドおよびＩＱｕｅｒｙａｂｌｅ＜Ｔ＞インターフェイス標準クエリ演算子拡張メソッドのうちの少なくとも１つをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記式ツリーを使用する前記ＩＱｕｅｒｙａｂｌｅインターフェイスおよび標準クエリ演算子拡張メソッドとＩＱｕｅｒｙａｂｌｅ＜Ｔ＞インターフェイス標準クエリ演算子拡張メソッドを使用して、Ｗｈｅｒｅ、Ｓｅｌｅｃｔ、ＳｅｌｅｃｔＭａｎｙ、フィルタ関数、グループ関数、および変換関数のうちの少なくとも１つがミラーリングされることを特徴とする請求項１３に記載の方法。
【請求項１５】
埋め込み言語の明示的な表現を使用してデータへのクエリ実行を容易にするコンピュータ実施のシステムであって、
データのコレクションに採用されるべきデータ操作を受信する手段（１０４、６０４、７０２、８０２、９０２）と、
前記データのコレクションを式ツリーとして表す手段（１０２、６０２、８０４、９０４）と、
前記式ツリーをデリゲートではなく入力として受信し、前記少なくとも１つのＩＥｎｕｍｅｒａｂｌｅインターフェイスおよび標準クエリ演算子拡張メソッドと前記ＩＥｎｕｍｅｒａｂｌｅ＜Ｔ＞インターフェイスおよび標準クエリ演算子拡張メソッドをミラーリングする少なくとも１つの関数を使用するジェネリックインターフェイスを採用して前記データのコレクションにクエリを行う手段（１０２、６０２、７０４、８０６、９０６）とを備えることを特徴とするシステム。