【手続補正書】
【提出日】平成23年2月4日(2011.2.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいてクエリ式を処理する方法であって、該方法は、前記コンピュータシステムに記憶されたコンピュータ実行可能命令を前記コンピュータシステムが実行することによって実施され、
前記クエリ式にアクセスすることであって、前記クエリ式は複数のクエリ句を含み、前記複数のクエリ句は、次のクエリ句にリンクした少なくとも第１のクエリ句を含み、前記複数のクエリ句の順序は、該順序がクエリコンプリヘンションの基礎のコンピューティング言語とは独立するように、該クエリコンプリヘンション内で定義され、
前記第１のクエリ句は、照会可能ソース型、第１のクエリ演算子、および前記ソース型の要素型を含み、前記要素型は制御変数に関連し、前記制御変数は前記クエリ演算子によって決定される関連するスコープを有し、前記照会可能ソース型は、照会されるソースデータのタイプを示し、前記要素型は、前記第１のクエリ句の結果の要素型を示し、前記クエリ演算子は、クエリ演算子パターンに従って定義されたメソッドにマッピングし、
前記次のクエリ句は、前記第１のクエリ句の結果に適用される次の要素型および次のクエリ演算子を含み、前記次の要素型は前記次のクエリ句の結果の要素型を示し、前記次のクエリ演算子は次のクエリ演算子パターンに従って定義された次のメソッドにマッピングすること、
前記照会可能ソース型に基づいて前記ソースデータ内から前記要素型の１組の要素を得るために、前記第１のクエリ句を評価することであって、前記ソースデータ上の前記クエリ演算子を実装するためのメソッドを呼び出すことを含むこと、
前記次のクエリ句の次のソース型が前記要素型であることを推論することであって、前記推論は、前記クエリ演算子を考慮した前記ソース型に基づき、前記クエリコンプリヘンション全体を変換する必要なしに、リアルタイムで実施されること、
前記１組の要素を前記次のクエリへ渡すことであって、前記関連する制御変数は、前記次のクエリ句が前記制御変数の前記スコープをサポートする場合に渡されること、
前記次のクエリ句への前記推論した要素型に基づいて、インクリメンタルにコンテキスト情報を提供すること、および、
前記次のソース型および前記コンテキスト情報に基づいて前記１組の要素内から前記次の要素型の次の１組の要素を得るために、前記次のクエリ句を評価することであって、前記１組の要素上の前記次のクエリ演算子を実装するために前記次のメソッドを呼び出すことを含むこと
を含むことを特徴とする方法。
【請求項２】
前記第１のクエリ演算子はカルテシアン積構造であり、前記要素型は、前記ソース型に関する全てのスコープ内制御変数の集約である匿名型であることを特徴とする請求項１に記載の方法。
【請求項３】
前記クエリ演算子パターンは、前記ソースデータの引数を含み、前記要素型の照会可能型を返す関数を引数として受け取るように構成された、射影またはマッピングクエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第２のクエリ演算子パターンは、前記要素型の引数を含み、前記要素型の照会可能型を返す関数を引数として受け取るように構成された、フィルタリングまたは制限クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のクエリ演算子パターンは、前記要素型の引数を含み、前記要素型の順序付けされたコレクションを返す関数を引数として受け取るように構成された、ソートまたは順序付けクエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記クエリ演算子パターンは、前記要素型の照会可能型を返すように構成された重複除去クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記次のクエリ演算子パターンは、前記ソース型としての前記要素型のコレクションを引数として受け取るように構成され、前記要素型の照会可能型を返す、集合クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記次のクエリ演算子パターンは、前記要素型の引数を含み、前記要素型の照会可能型を返す関数を引数として受け取るように構成された、条件付き選択またはフィルタリングクエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記次のクエリ演算子パターンは、前記要素型の引数を含み、数値型を返す関数を引数として受け取るように構成された、集約クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記次のクエリ演算子パターンは、前記要素型の引数を含み、前記次の要素型の照会可能型を返す関数を引数として受け取るように構成された、集約クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記次のクエリ演算子パターンは、前記要素型の引数を含み、ブールに暗黙的に変換可能な型を返す関数を引数として受け取るように構成された、マッチングクエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記次のクエリ演算子パターンは、前記要素型の引数と追加の要素型の引数とを含み、前記次の要素型の照会可能型を返す関数を引数として受け取るように構成された、結合クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記次のクエリ演算子パターンは、前記要素型の引数と追加の要素型のコレクションである引数とを含み、前記次の要素型の照会可能型を返す関数を引数として受け取るように構成された、ネストされた結合クエリ演算子を含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記次のクエリ演算子パターンは、型Ｋの引数と前記要素型のコレクションである引数とを含み、前記次の要素型の照会可能型を返す関数を引数として受け取るグループ化クエリ演算子を含み、型Ｋはキーであることを特徴とする請求項１に記載の方法。
【請求項１５】
前記クエリ演算子を考慮した前記ソース型に基づき、前記次のクエリ句の次のソース型が前記要素型であることを推論することは、コンテキストコンポーネントが、前記次のソース型が前記要素型であることをリアルタイムで推論することを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記コンテキストコンポーネントは、前記推論した要素型に基づいてインクリメンタルにコンテキスト情報を提供することを特徴とする請求項１５に記載の方法。
【請求項１７】
クエリ式を処理する方法をコンピュータシステムに実行させるコンピュータプログラムであって、前記方法は、
前記クエリ式にアクセスすることであって、前記クエリ式は複数のクエリ句を含み、前記複数のクエリ句は、次のクエリ句にリンクした少なくとも第１のクエリ句を含み、前記複数のクエリ句の順序は、該順序がクエリコンプリヘンションの基礎のコンピューティング言語とは独立するように、該クエリコンプリヘンション内で定義され、
前記第１のクエリ句は、照会可能ソース型、第１のクエリ演算子、および前記ソース型の要素型を含み、前記要素型は制御変数に関連し、前記制御変数は前記クエリ演算子によって決定される関連するスコープを有し、前記照会可能ソース型は、照会されるソースデータのタイプを示し、前記要素型は、前記第１のクエリ句の結果の要素型を示し、前記クエリ演算子は、クエリ演算子パターンに従って定義されたメソッドにマッピングし、
前記次のクエリ句は、前記第１のクエリ句の結果に適用される次の要素型および次のクエリ演算子を含み、前記次の要素型は前記次のクエリ句の結果の要素型を示し、前記次のクエリ演算子は次のクエリ演算子パターンに従って定義された次のメソッドにマッピングすること、
前記照会可能ソース型に基づいて前記ソースデータ内から前記要素型の１組の要素を得るために、前記第１のクエリ句を評価することであって、前記ソースデータ上の前記クエリ演算子を実装するためのメソッドを呼び出すことを含むこと、
前記次のクエリ句の次のソース型が前記要素型であることを推論することであって、前記推論は、前記クエリ演算子を考慮した前記ソース型に基づき、前記クエリコンプリヘンション全体を変換する必要なしに、リアルタイムで実施されること、
前記１組の要素を前記次のクエリへ渡すことであって、前記関連する制御変数は、前記次のクエリ句が前記制御変数の前記スコープをサポートする場合に渡されること、
前記次のクエリ句への前記推論した要素型に基づいて、インクリメンタルにコンテキスト情報を提供すること、および、
前記次のソース型および前記コンテキスト情報に基づいて前記１組の要素内から前記次の要素型の次の１組の要素を得るために、前記次のクエリ句を評価することであって、前記１組の要素上の前記次のクエリ演算子を実装するために前記次のメソッドを呼び出すことを含むこと、
を含むことを特徴とするコンピュータプログラム。
【請求項１８】
クエリ式を処理するユーザインタフェースを備えたコンピュータシステムであって、前記ユーザインターフェースは、
関係データベースをクエリする前記クエリ式にアクセスすることであって、前記クエリ式は複数のクエリ句を含み、前記複数のクエリ句は、次のクエリ句が続く少なくとも第１のクエリ句を含み、前記複数のクエリ句の順序は、該順序がクエリコンプリヘンションの基礎のコンピューティング言語とは独立するように、該クエリコンプリヘンション内で定義され、
前記第１のクエリ句は、照会可能ソース型、第１のクエリ演算子、および前記ソース型の要素型を含み、前記要素型は制御変数に関連し、前記制御変数は前記クエリ演算子によって決定される関連するスコープを有し、前記照会可能ソース型は、照会されるソースデータのタイプを示し、前記要素型は、前記第１のクエリ句の結果の要素型を示し、前記クエリ演算子は、クエリ演算子パターンに従って定義されたメソッドにマッピングし、
前記次のクエリ句は、前記第１のクエリ句の結果に適用される次の要素型および次のクエリ演算子を含み、前記次の要素型は前記次のクエリ句の結果の要素型を示し、前記次のクエリ演算子は次のクエリ演算子パターンに従って定義された次のメソッドにマッピングし、
前記照会可能ソース型に基づいて前記ソースデータ内から前記要素型の１組の要素を得るために、前記第１のクエリ句を評価することであって、前記ソースデータ上の前記クエリ演算子を実装するためのメソッドを呼び出すことを含み、
前記次のクエリ句の次のソース型が前記要素型であることを推論することであって、前記推論は、前記クエリ演算子を考慮した前記ソース型に基づき、前記クエリコンプリヘンション全体を変換する必要なしに、リアルタイムで実施され、
前記１組の要素を前記次のクエリへ渡すことであって、前記関連する制御変数は、前記次のクエリ句が前記制御変数の前記スコープをサポートする場合に渡され、
前記次のクエリ句への前記推論した要素型に基づいて、インクリメンタルにコンテキスト情報を提供し、
前記次のソース型および前記コンテキスト情報に基づいて前記１組の要素内から前記次の要素型の次の１組の要素を得るために、前記次のクエリ句を評価することであって、前記１組の要素上の前記次のクエリ演算子を実装するために前記次のメソッドを呼び出すことを含む
ように構成されたことを特徴とするコンピュータシステム。