(57)【特許請求の範囲】
【請求項１】
データセットの複数の要素のうちの所与の複数の要素の１つまたは複数のフィールドに含まれるデータを検証するために１つまたは複数の検証規則を指定するためのコンピューティングシステムであって、前記コンピューティングシステムが、
条件式を評価し、データセットの少なくとも１つの要素に１つまたは複数の検証規則を適用するか否かを判定するように構成された処理モジュールと、
２次元グリッドで配列された複数のセルをレンダリングするユーザインターフェースを生成し、検証パラメータで検証規則を構成するユーザインターフェースモジュールと
を含み、
前記２次元グリッドが、
前記２次元グリッドの第１の方向に延びる前記セルの１つまたは複数の第１のサブセットであって、各第１のサブセットが、前記データセットの前記複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１つまたは複数の第１のサブセットと、
前記２次元グリッドの第２の異なる方向に延びる前記セルの複数の第２のサブセットであって、前記複数の第２のサブセットが、それぞれの検証規則に関連付けられる、複数の第２のサブセットと、
オペレーションおよび値を含む条件式を受け取る入力要素を有し、前記２次元グリッドの前記第２の方向に延びる条件セルのセットであって、前記条件セルのセット内の複数のセルが１つまたは複数のそれぞれのフィールドに関連付けられる、条件セルのセットと、を含み、
前記処理モジュールは、さらに、
前記条件セルのうちの所与の１つにおける前記値に従って、データセットの１つの要素の少なくとも１つのフィールドに１つまたは複数の検証規則を適用するように構成され、前記条件セルのうちの前記所与の１つは、満足すべき所与の条件式を有し、前記所与の条件式が満足されることで、前記条件セルのうちの前記所与の１つに関連付けられた検証規則が入力された前記値を含む前記少なくとも１つのフィールドに適用されることとなる、
コンピューティングシステム。
【請求項２】
条件が満足されたときに前記１つまたは複数のそれぞれのフィールドに関連付けられた少なくとも１つの検証規則が前記関連付けられたフィールドに適用されるように、前記入力要素が前記条件を受け取る、請求項１に記載のシステム。
【請求項３】
前記条件が、前記関連付けられたフィールドと異なる第２のフィールドの値に依存する、請求項２に記載のシステム。
【請求項４】
前記データセットの第１の要素の第１のフィールド内のデータに検証規則を適用することをさらに含み、前記適用は、
前記第１のフィールドに関連付けられた条件セルの入力要素において受け取られた入力に基づいて、選択された検証規則に関連付けられた条件を判定することと、
前記条件が満足されたことを判定することと、
前記選択された検証規則を前記第１のフィールドに適用することとを含む、請求項１に記載のシステム。
【請求項５】
前記条件セルの前記入力要素が、演算子および前記演算子に関連付けられた値を受け取るように構成される、請求項４に記載のシステム。
【請求項６】
前記条件が満足されたことを判定することが、
前記演算子を前記演算子に関連付けられた前記値および前記データセットの前記第１の要素の第２のフィールド内の値に適用することであって、前記第２のフィールドがフィールド識別子によって識別される、適用することを含む、請求項５に記載のシステム。
【請求項７】
２次元グリッドで配列された複数のセルをレンダリングするステップであって、前記２次元グリッドが、
前記２次元グリッドの第１の方向に延びる前記セルの１つまたは複数の第１のサブセットであって、各第１のサブセットが、データセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１つまたは複数の第１のサブセットと、
前記２次元グリッドの第２の異なる方向に延びる前記セルの複数の第２のサブセットであって、前記複数の第２のサブセットが、それぞれの検証規則に関連付けられる、複数の第２のサブセットと、
オペレーションおよび値を含む条件式を受け取る入力要素を有し、前記２次元グリッドの前記第２の方向に延びる条件セルのセットであって、前記条件セルのセット内の複数のセルが１つまたは複数のそれぞれのフィールドに関連付けられる、条件セルのセットと、を含む、レンダリングするステップと、
前記条件セルのうちの所与の１つに入力された値に従って、前記データセットの１つの要素の少なくとも１つのフィールドに１つまたは複数の検証規則を適用するステップであって、前記条件セルのうちの前記所与の１つは、前記入力された値によって満足すべき所与の条件式を有し、前記所与の条件式が満足されることで、前記条件セルのうちの前記所与の１つに関連付けられた検証規則が、前記入力された値を含む前記少なくとも１つのフィールドに適用されることとなる、適用するステップと
を含む、コンピュータで実装された方法。
【請求項８】
条件が満足されたときに前記１つまたは複数のそれぞれのフィールドに関連付けられた少なくとも１つの検証規則が前記関連付けられたフィールドに適用されるように、前記入力要素が前記条件を受け取る、請求項７に記載の方法。
【請求項９】
前記条件が、前記関連付けられたフィールドと異なる第２のフィールドの値に依存する、請求項８に記載の方法。
【請求項１０】
前記データセットの第１の要素の第１のフィールド内のデータに検証規則を適用するステップをさらに含み、前記適用するステップは、
前記第１のフィールドに関連付けられた条件セルの入力要素において受け取られた入力に基づいて、選択された検証規則に関連付けられた条件を判定するステップと、
前記条件が満足されたことを判定するステップと、
前記選択された検証規則を前記第１のフィールドに適用するステップとを含む、請求項７に記載の方法。
【請求項１１】
前記条件セルの前記入力要素が、演算子および前記演算子に関連付けられた値を受け取るように構成される、請求項７に記載の方法。
【請求項１２】
前記条件が満足されたことを判定するステップが、
前記演算子を前記演算子に関連付けられた前記値および前記データセットの前記第１の要素の第２のフィールド内の値に適用するステップであって、前記第２のフィールドが、フィールド識別子によって識別される、適用するステップを含む、請求項１０に記載の方法。
【請求項１３】
１つまたは複数のコンピュータによって実行されたとき前記１つまたは複数のコンピュータに、
２次元グリッドで配列された複数のセルをレンダリングすることであって、前記２次元グリッドが、
前記２次元グリッドの第１の方向に延びる前記セルの１つまたは複数の第１のサブセットであって、各第１のサブセットが、データセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１つまたは複数の第１のサブセットと、
前記２次元グリッドの第２の異なる方向に延びる前記セルの複数の第２のサブセットであって、前記複数の第２のサブセットが、それぞれの検証規則に関連付けられる、複数の第２のサブセットと、
オペレーションおよび値を含む条件式を受け取る入力要素を有し、前記２次元グリッドの前記第２の方向に延びる条件セルのセットであって、前記条件セルのセット内の複数のセルが１つまたは複数のそれぞれのフィールドに関連付けられる、条件セルのセットと、を含む、レンダリングすることと、
前記条件セルのうちの所与の１つにおける前記値に従って、前記データセットの１つの要素の少なくとも１つのフィールドに１つまたは複数の検証規則を適用することであって、前記条件セルのうちの前記所与の１つは、満足すべき所与の条件式を有し、前記所与の条件式が満足されることで、前記条件セルのうちの前記所与の１つに関連付けられた検証規則が、入力された前記値を含む前記少なくとも１つのフィールドに適用されることとなる、適用することと
を実施させるコンピュータプログラム命令により符号化されたコンピュータ記憶媒体。
【請求項１４】
条件が満足されたときに前記１つまたは複数のそれぞれのフィールドに関連付けられた少なくとも１つの検証規則が前記関連付けられたフィールドに適用されるように、前記入力要素が前記条件を受け取る、請求項１３に記載の媒体。
【請求項１５】
前記条件が、前記関連付けられたフィールドと異なる第２のフィールドの値に依存する、請求項１４に記載の媒体。
【請求項１６】
前記データセットの第１の要素の第１のフィールド内のデータに検証規則を適用することをさらに含み、前記適用することは、
前記第１のフィールドに関連付けられた条件セルの入力要素において受け取られた入力に基づいて、選択された検証規則に関連付けられた条件を判定することと、
前記条件が満足されたことを判定することと、
前記選択された検証規則を前記第１のフィールドに適用することとを含む、請求項１３に記載の媒体。
【請求項１７】
前記条件セルの前記入力要素が、演算子および前記演算子に関連付けられた値を受け取るように構成される、請求項１６に記載の媒体。
【請求項１８】
前記条件が満足されたことを判定することが、
前記演算子を前記演算子に関連付けられた前記値および前記データセットの前記第１の要素の第２のフィールド内の値に適用することであって、前記第２のフィールドが、フィールド識別子によって識別される、適用することを含む、請求項１７に記載の媒体。
【請求項１９】
２次元グリッドで配列された複数のセルをレンダリングするための表示装置であって、前記２次元グリッドが、
前記２次元グリッドの第１の方向に延びる前記セルの複数の第１のサブセットであって、前記複数の第１のサブセットの各第１のサブセットが、データセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、複数の第１のサブセットと、
前記２次元グリッドの第２の異なる方向に延びる前記セルの複数の第２のサブセットであって、前記複数の第２のサブセットが、それぞれの検証規則に関連付けられる、複数の第２のサブセットと、
条件セルのセットであって、各条件セルが条件式を受け取る入力要素を有し、前記条件式がフィールドを識別し、かつオペレーションおよび値を含む、条件セルのセットと
を含む、表示装置と、
プロセッサ装置と、
前記条件セルのうちの所与の１つにおける前記値に従って、データセットの１つの要素の少なくとも１つのフィールドに１つまたは複数の検証規則を適用するための、前記プロセッサ装置に動作可能に結合されたメモリであって、前記条件セルのうちの前記所与の１つは、満足すべき所与の条件式を有し、前記所与の条件式が満足されることで、前記条件セルのうちの前記所与の１つに関連付けられた検証規則が、入力された前記値を含む前記少なくとも１つのフィールドに適用されることとなる、メモリと
を含む、コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本説明は、規則を指定し、データに適用することに関する。
【背景技術】
【０００２】
ビジネスアプリケーションを含む、多くの現代のアプリケーションは、様々なソースからコンパイルすることができるデータの大きな組（すなわち、「データセット」）を処理する。データをデータセットに提供する様々なソースは、異なるレベルのデータ品質を有することがある。アプリケーションが適正に機能することを確実にするために、データセットにおける十分なレベルのデータ品質を維持すべきである。十分なレベルのデータ品質を維持するために、データセットは、データ検証システムによって処理することができる。そのようなシステムでは、検証規則をデータセットに適用してから検証規則がアプリケーションに提供される。いくつかの例において、データ検証システムは、データ品質の程度が所定の閾値を下回る場合、データ品質の程度を計算し、アプリケーションの管理者に警告するために検証規則の結果を使用する。他の例において、データ検証システムは、検証規則のうちの１つまたは複数に失敗したデータを扱うためのモジュールを含む。例えば、データ検証システムは、検証規則のうちの１つまたは複数に失敗したデータを破棄し、または修復することができる。
【０００３】
概して、データ検証システムによって適用される検証規則は、データ検証システムの管理者によって定義される。
【発明の概要】
【０００４】
概して、本明細書に説明する主題の一革新的態様は、第１の軸と第２の軸とを有する２次元グリッドで配列された複数のセルをレンダリングするように構成されたユーザインターフェースモジュールを含む、プロセッサと処理命令とを含むシステムを含む態様１に具現化することができ、２次元グリッドは、２次元グリッドの第１の軸に沿った方向に延びるセルの１つまたは複数のサブセットであって、１つまたは複数のサブセットの各サブセットが、データセットの複数の要素のうちの１つの要素のそれぞれのフィールドに関連付けられる、１つまたは複数のサブセットと、２次元グリッドの第２の軸に沿った方向に延びるセルの複数のサブセットであって、複数のサブセットのうちの１つまたは複数が、それぞれの検証規則に関連付けられる、複数のサブセットとを含む。方法は、２次元グリッドの第２の軸に沿った方向に延びるセルのサブセットをレンダリングするステップを含み、サブセット内の各セルは、第２の軸によって識別されるグリッド内の対応する位置におけるそれぞれのフィールドに関連付けられ、条件付きセルとして使用することができる。フィールドに関連付けられた条件セルは、条件式の形で入力を受け取るための入力要素を含む。条件セルからの条件式を評価するように構成された処理モジュールは、その評価に基づいて、１つまたは複数の検証規則をデータセットの少なくとも１つの要素に適用する。
【０００５】
この態様の他の実施形態は、各々が方法の動作を実施するように構成された、対応するコンピュータシステム、装置、および１つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。１つまたは複数のコンピュータのシステムが、オペレーションの際に、システムに動作を実施させるように構成された、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって特定の動作を実施するように構成することができる。１つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたとき、装置に特定の動作を実施させる命令を含むことによって動作を実施するように構成することができる。
【０００６】
上述のおよび他の実施形態は、各々、単独であれ、組合せであれ、以下の特徴のうちの１つまたは複数を任意選択により含むことができる。
【０００７】
態様１による態様２は、第２の軸に関連付けられた少なくとも１つの検証規則が、条件が満足されたとき関連付けられたフィールドに適用されるように入力要素が条件を受け取ることができることを含む。
【０００８】
態様１または２による態様３は、条件が、関連付けられたフィールドと異なる第２のフィールドの値に依存することができることを含む。
【０００９】
態様１、２、および３による態様４は、セルの入力要素において受け取った任意の入力に基づいて、第１の要素の第１のフィールドに関連付けられた第２の軸に沿った方向に延びるセルのサブセットからのセルに関連付けられた選択された検証規則を判定することと、第１のフィールドに関連付けられた条件セルの入力要素において受け取った入力に基づいて、選択された検証規則に関連付けられた条件を判定することと、条件が満足されたことを判定することと、選択された検証規則を第１のフィールドに適用することとを含む、データセットの第１の要素の第１のフィールド内のデータに検証規則を適用することを含む。
【００１０】
態様１、２、３、または４による態様５は、条件セルの入力要素が、演算子および演算子に関連付けられた値を受け取るように構成することができることを含む。
【００１１】
態様１、２、３、４または５による態様６は、条件が満足されたことを判定することが、演算子を演算子に関連付けられた値およびデータセットの第１の要素の第２のフィールド内の値に適用することであって、第２のフィールドがフィールド識別子によって識別される、適用することを含むことができることを含む。
【００１２】
開示されるシステムの態様は、以下の利点のうちの１つまたは複数を有することができる。ユーザインターフェースにより、ビジネスユーザは検証規則を識別することが可能になり得る。検証規則のアプリケーションは、データ要素におけるフィールドの値を条件とすることができる。データセットを検証することにより、そのデータセットを使用するアプリケーションの性能を高めることができる。条件付き検証規則は、検証規則の不要なアプリケーションを避けることによってシステム性能を改善することができる。条件付き検証規則は、システムの複雑性を低減することができるが、一般的でないテストの場合に具体的な検証規則を容易に適用することが可能になる。
【００１３】
本発明の他の特徴および利点は、以下の説明および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１４】
【図１】条件付き技法を使用することができる例示的なデータ処理システムを示す図である。
【図２】データセットにおけるデータ要素を条件付きで検証するために検証規則を指定するためのユーザインターフェースの例を示す図である。
【図３】条件付き検証規則の例を示す図である。
【発明を実施するための形態】
【００１５】
データ処理システムは、データを異なるソースから受け入れ、データに基づいて出力を生じる。システムによって処理されたデータは、異常、誤り、または問題を含むことがある。これらのデータ品質問題は、例えば、誤字などの不正確な入力、データの破損などの機械故障によって引き起こされた誤り、データの符号化の誤識別などの翻訳の誤りによって引き起こされた誤りによることがある。誤りは、欠損または報告されていないデータ、不適切にフォーマットされたデータ、結果としてデータ使用者における誤解釈されたデータとなるデータ作成者における仕様の変更、結果としてデータとの不一致となる基準コードセットの誤り、同期問題（例えば、新たな基準データが定刻に出現し損ない、ソースデータが古い基準データに一致しない）、新たなコード値の導入などにもよることがある。概して、データ品質システムの目的は、通常、データ改善プログラムの一部として、測定される必要があるデータにおける問題を検知することにある（問題の数は時間とともに下がるはずである）。
【００１６】
データ検証とは、データの品質を測定するプロセスのことである。概して、１つまたは複数のデータ検証テストが、データソースに対して実行される。データの品質は定量化され、必要に応じ、データの品質を改善するために処置を講じることができる。
【００１７】
ユーザインターフェースが、検証規則を作成するプロセスを簡略化することができる。概して、検証規則は、データ品質を判定するためにデータに適用することができる１つまたは複数の検証テストの組である。例えば、検証規則は、データのフィールドが特定のデータ型であるか否かを判定する検証テスト、およびデータのフィールドが特定のサイズであるか否かを判定する検証テストを含むことができる。本明細書に説明するシステム、方法、および媒体は、従来技術に比べて少なくとも以下の利点のうちのいくつかを有する。ユーザインターフェースにより、ビジネスユーザは検証規則を識別することが可能になり得る。論理規則をビジネス用語に関連付けることができる。データセット内のフィールドをビジネス用語に関連付けることもできる。デフォルト検証規則を関連付けに基づいて判定することができる。論理規則は、データセットを検証するのに費やされる時間を減少させることができる。別の有用な基準点は、参照によりその内容が組み込まれている、「ＳＰＥＣＩＦＹＩＮＧ  ＡＮＤ  ＡＰＰＬＹＩＮＧ  ＲＵＬＥＳ  ＴＯ  ＤＡＴＡ」という名称で２０１２年１０月１７日に出願された米国特許出願第１３／６５３，９９５号に説明されているように、規則を指定し、データに適用するためのシステムである。
【００１８】
ビジネス用語が、データに具現化される概念を表す。例えば、「ｃｕｓｔ＿ｔｂｌ」という名前の関係データベーステーブルが、「ｐｈｏｎｅ＿ｎｏ．」という名前のフィールドを含むことができる。「ｐｈｏｎｅ＿ｎｏ」フィールド内に値を有する「ｃｕｓｔ＿ｔｂｌ」内の行が、その特定の電話番号を有する顧客が存在することを表す。この例において、「顧客」は少なくとも「ｃｕｓｔ＿ｔｂｌ」に具現化されるビジネス用語であり、「ｐｈｏｎｅ＿ｎｕｍｂｅｒ」は「ｐｈｏｎｅ＿ｎｏ」フィールドに具現化されるビジネス用語である。
【００１９】
図１は、条件付き技法を使用することができる例示的なデータ処理システム１００を示す。システム１００は、データソース１０２を含む。データソース１０２は、その各々が様々な記憶フォーマットのいずれか（例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、またはメインフレームによって使用されるネイティブフォーマット）でデータ（「データセット」と呼ばれることがある）を記憶することができる、記憶デバイスまたはオンラインデータストリームとの接続部など、データの１つまたは複数のソースを含むことができる。
【００２０】
ＵＮＩＸなどの適切なオペレーティングシステムの制御下で実行環境１０４を１つまたは複数の汎用コンピュータ上でホストすることができる。例えば、実行環境１０４は、多重ノード並列演算環境を含むことができ、これは、ローカル（例えば、SMPコンピュータなどのマルチプロセッサシステム）またはローカルで分散されたプロセッサ（例えば、クラスタまたはMPPとして結合された複数のプロセッサ）のいずれか、リモートまたはリモートで分散されたプロセッサ（例えば、ローカルエリアネットワーク（LAN）および／またはワイドエリアネットワーク（WAN）を介して結合された複数のプロセッサ）、または任意のそれらの組合せの複数の中央処理装置（CPU）を使用するコンピュータシステムの構成を含むことができる。
【００２１】
実行環境は、ユーザインターフェース（UI）モジュール１０６と、処理モジュール１０８とを含む。ＵＩモジュール１０６は、データソース１０２からのデータを処理するための処理モジュール１０８によって使用される検証規則を指定する際に利用されるユーザインターフェース１１２（例えば、表示画面上のグラフィカルビュー）を介してユーザ１１０から受け取った入力を管理する。
【００２２】
処理モジュール１０８は、データをデータソース１０２から読み取り、ＵＩモジュール１０６によって取得した検証情報に基づいて検証手順を実施する。データソース１０２を提供する記憶デバイスは、実行環境１０４にローカルであり得、例えば、実行環境１０４を起動するコンピュータに接続された記憶媒体（例えば、ハードドライブ１１４）上に記憶される。代替的または追加的に、記憶デバイスは実行環境１０４にリモートであり得、例えば、リモート接続を介して実行環境１０４を起動するコンピュータと通信してリモートシステム（例えば、メインフレーム１１６）上でホストされる。
【００２３】
概して、データソース１０２からアクセスされるデータセットは、いくつかのデータ要素を含み、データ要素は、所定のレコード構造またはデータベーステーブル内の行によりフォーマットされたレコードであり得る。各データ要素は、いくつかのフィールドの値、例えば、場合によりヌルまたは空値を含む、レコード構造またはデータベーステーブル内の列内で定義される属性を含むことができる。フィールド内の値の様々な特徴またはあるフィールド内の値の有無は、有効または無効とみなすことができる。例えば、「Ｓｍｉｔｈ」の文字列を含む「ｌａｓｔ＿ｎａｍｅ」フィールドは、有効とみなすことができるが、ブランクである「ｌａｓｔ＿ｎａｍｅ」フィールドは、無効とみなすことできる。フィールドが有効であるか無効であるかを判定する条件は、異なるフィールドによって異なることができる。例えば、「Ｒａｎｄｏｌ」の文字列を含む「ｍｉｄｄｌｅ＿ｎａｍｅ」フィールドは有効とみなすことができ、ブランクである「ｍｉｄｄｌｅ＿ｎａｍｅ」フィールドも有効とみなすことができる。
【００２４】
概して、データセット内のフィールドは、ビジネス規則の物理的表現を表すことができる。例えば、「顧客」データセット内の「ｆｉｒｓｔ＿ｎａｍｅ」フィールド（例えば、関係データベースに記憶された可変長文字列であることができる）は、顧客の名であるデータを含むことができ、したがって、「ｆｉｒｓｔ＿ｎａｍｅ」というビジネス用語に関連付けられる。すなわち、顧客データセットのデータ要素の「ｆｉｒｓｔ＿ｎａｍｅ」フィールド内の「Ｊｏｈｎ」の文字列は、「Ｊｏｈｎ」という名を有するビジネス顧客の存在を表す。他のデータセットは、異なるやり方で同じビジネス概念を表すことができる。例えば、第２のデータセットは、「ｆｉｒｓｔ＿ｎａｍｅ」というビジネス用語にも対応することができる「ｆｎａｍｅ」というフィールドを含むことができる。
【００２５】
図２は、データセット内のデータ要素を条件付きで検証するために検証規則を指定するためのユーザインターフェース１１２の例である。ユーザインターフェース１１２は、１つまたは複数の条件付き検証規則を指定し、確認するユーザ１１０を手助けするように構成される。概して、検証規則は、１つまたは複数の検証テストを含むことができ、検証テストの各々は、別の検証規則のアプリケーションを要求することができる。いくつかの検証テストは、データセットのデータ要素における値を条件とすることができる。
【００２６】
ＵＩモジュール１０６はユーザインターフェース１１２をレンダリングする。ユーザインターフェース１１２を、例えば、コンピュータモニタ上でレンダリングすることができる。ユーザインターフェース１１２は、第１の軸２２６と第２の軸２２８とを有する２次元グリッド２２５で配列された、いくつかのセル２２４を含む。セル２２４の１つまたは複数のサブセット２３０（詳細な説明の残りにおいて行２３０と呼ばれる）が、２次元グリッド２２５の第１の軸２２６に沿った方向に延びる。行２３０の各々は、フィールド２１８に関連付けられる。いくつかの配列において、行２３０の各々の第１の（すなわち、左端の）セルは、行２３０に関連付けられたデータ要素２１８の名前を含む。この例において、各行の第１のセルは、「フィールド１」、「フィールド２」、．．．「フィールドＭ」のデータ要素名を含む。
【００２７】
セル２２４の複数のサブセット２３２（詳細な説明の残りにおいて列２３２と呼ばれる）は、第２の軸２２８に沿って延びる。列２３２のうちの１つまたは複数は、検証テスト２３４に関連付けられる。列２３２は、データ要素（行によって識別される）に関連付けられた検証規則が適用される状況を識別する「条件」列２５０を含むことができる。いくつかの例において、残りの列２３２の各々の第１の（すなわち、最上部の）セルは、列に関連付けられた検証テスト２３４の名前または条件列２５０の「条件付きテスト」または「条件」などの名前を含む。この例において、検証規則名は、「検証テスト１」、「検証テスト２」、．．．「検証テストＮ」である。いくつかの例において、第１の軸２２６および第２の軸２２８の方向は交換することができ、フィールド２１８に関連付けられた行２３０を列にならせ、検証テスト２３４に関連付けられた列２３２を行にならせることに留意されたい。
【００２８】
１つまたは複数の検証テスト列２３２が、２次元グリッド２２５に加えられた後、ユーザ１１０は、どの検証テスト２３４がどのデータ要素２１８に適用されるべきかを指定することができる。指定することができる異なる種類の検証テストの例は、参照により本明細書に組み込まれている、「ＥＤＩＴＩＮＧ  ＡＮＤ  ＣＯＭＰＩＬＩＮＧ  ＢＵＳＩＮＥＳＳ  ＲＵＬＥＳ」という名称の米国特許第８，０６９，１２９号に説明されている。
【００２９】
ユーザインターフェース１１２は、ユーザが所与の行の検証規則をテストするための事前条件を設定することが可能になる条件列２５０を含む。ユーザは、「フィールド１」２１８のデータ要素にテストパラメータ１，１  ２３６を用いて、「条件１」２５２を満たしてから「検証テスト１」を適用すべきであることを指定することができる。
【００３０】
条件は、検証の対象であるまたはない可能性があるデータ要素を参照することができる。例えば、条件は、データ要素におけるフィールドが所定の値に一致する値、可能な値の範囲もしくは組に含まれる値、または提供された正規表現に一致する値を有することを要求することができる。フィールドは、検証テストの対象であるフィールドであるまたはない可能性がある。例えば、条件１  ２５２は、フィールド３  ２５４の値をテストしてから検証テスト１  ２３４をフィールド１  ２１８の値に適用することができる。条件は、データ要素が値を有することを要求することができる（例えば、データ要素はヌル値インジケータを含まない）。いくつかの実装形態において、条件はデータ駆動であり得る。例えば、データ駆動条件は、あるタイプのレコード、ある範囲のアカウント、値の組における国を含むことができる。条件には、ルックアップファイルが関与することがあり、または別の入力ファイルもしくはデータベーステーブルにおける参照データが関与することがある。
【００３１】
いくつかの実装形態において、条件を設定することは、フィールド、オペレーション、および値を識別することを含むことができる。オペレーションは、例えば、ブール関数であり得る。フィールドは、どのデータ要素が条件によって評価されようとしているのかを識別し、オペレーションはどのようにフィールドが評価されようとしているのかを識別し、値は、条件が評価に基づいて満足されたか否かを判定するのに使用される。例えば、以下の条件に対して、
Ｃｏｕｎｔｒｙ＝‘ＵＳ’
フィールドは国であり、演算子は‘＝’であり、値は‘ＵＳ’である。データ要素の国フィールド内の値が‘ＵＳ’に等しい場合、条件は満足され、値が‘ＵＳ’でない場合、条件は満足されない。
【００３２】
いくつかの実装形態において、ユーザが条件をフィールドに加えたとき、ユーザインターフェースは、自動的に、そのフィールドの新たな検証テスト行を作成する。例えば、条件２５２のフィールド１  ２１８への追加に応答して、ユーザインターフェースは、新たな行２５６を挿入する。各々が同じフィールドを指すユーザインターフェースにおける複数の行を連続して、すなわち上から下まで評価することができる。検証されるデータ要素におけるフィールドは、適用されるべきであるとシステムが判定するいずれかの検証テストに失敗した場合、検証規則に失敗である。例えば、システムが、条件１  ２５２が満足されると判定し、テストパラメータ１，１  ２３６を有する検証テスト１  ２３４をデータ要素内の値に適用し、その値が検証テストを満たさない場合、データ要素のフィールドは失敗し、失敗カウンタ２４０がインクリメントされる。
【００３３】
いくつかの実装形態において、フィールドが条件付きテストのいずれかに合格すると、それに続く検証テストはそのフィールドに適用されない。例えば、検証テスト１  ２５２が満足されたとシステムが判定した場合、検証テスト２５６は適用されない。
【００３４】
他の実装形態において、条件が満たされる各検証規則が適用される。いくつかの実装形態において、システムは、最終検証規則を他の検証規則がフィールドに何も適用されない場合だけ実行されるキャッチオール検証規則と指定することができる。いくつかの実装形態において、ユーザは、所定の条件を供給することによって、例えば、キーワード（「else」などの）を条件テスト列に使用することによって、検証規則をキャッチオール検証規則と指定することができる。概して、キャッチオール検証規則は、他の検証規則がそのフィールドに対して実行されなかった場合および場合のみフィールド上で実行される検証規則である。いくつかの実装形態において、条件付きがフィールドに使用されるときはいつも、キャッチオールがそのフィールドに自動的に提供される。
【００３５】
いくつかの実装形態において、検証規則の組が、各々１つまたは複数の検証規則に関連付けられた複数の異なる条件テストを含むことができる。例えば、ビジネス規則は、国コードが‘ＵＳ’であるとき適用される検証規則の１つの組、および州コードが「ＭＡ」であるとき適用される１つまたは複数の検証規則の別の組を有することができる。また、性が「Ｗ」で始まるとき、検証規則の他の組を適用することができる。各々
【００３６】
いくつかの実装形態において、単一の条件だけが、所与の検証規則の組に対してトリガされ、例えば、単一の条件が真であった後、関連付けられた１つまたは複数の検証規則が適用され、次いで、検証規則の組が終了する。
【００３７】
他の実装形態において、各条件がテストされ、いずれかのトリガされた条件に関連付けられた検証規則のすべてが適用される。
【００３８】
いくつかの実装形態において、検証規則の組は、条件付き検証規則および非条件付き検証規則を含むことができる。非条件付き検証規則は、任意の条件がトリガされたか否かにかかわらず、適用することができる。
【００３９】
図３は、条件付き検証規則の例を示す。例えば、図２のユーザインターフェース２１２であり得るユーザインターフェース３００が、「Ｐｏｓｔａｌ＿Ｃｏｄｅ」フィールドの検証規則を定義するテーブル３０６を含む。
【００４０】
第１の検証３０８は、国が「ＵＳ」である場合、郵便番号は、「（９９９９９）｜（９９９９９−９９９９）」のフォーマットでなければならないことを指示する。第２の検証３１０は、国が「ＣＡ」である場合、郵便番号は「Ａ９Ａ  ９Ａ９」のフォーマットでなければならないことを指示する。第３の検証３１２は、国が「ＵＫ」である場合、郵便番号は「Α（（Α９）｜９）（Α｜９）？９ＡＡ」のフォーマットでなければならないことを指示する。第４の検証３１４は、条件「Ｅｌｓｅ」によって指定されたキャッチオールの規定である。この例において、第４の検証規則は、郵便番号が「（９９９９９）｜（９９９９９−９９９９）」のフォーマットであることをテストする。
【００４１】
ユーザインターフェース３００は、国フィールドが「ＵＳ」、「ＣＡ」、「ＵＫ」の値のうちの１つを含むか否かを判定する第５の検証３１６も含む。
【００４２】
上記の技法は、コンピュータ上での実行のためのソフトウェアを使用して実装することができる。例えば、ソフトウェアは、各々少なくとも１つのプロセッサ、少なくとも１つのデータ記憶システム（揮発性および不揮発性メモリおよび／または記憶素子を含む）、少なくとも１つの入力デバイスもしくはポート、および少なくとも１つの出力デバイスもしくはポートを含む、１つまたは複数のプログラムされたまたはプログラム可能なコンピュータシステム（分散された、クライアント／サーバ、またはグリッドなどの様々なアーキテクチャであり得る）上で実行される１つまたは複数のコンピュータプログラムで手順を形成する。ソフトウェアは、例えば、データフローグラフの設計および構成に関連した他のサービスを提供する、より大きなプログラムの１つまたは複数のモジュールを形成することができる。グラフのノードおよび要素は、コンピュータ可読媒体に記憶されたデータ構造またはデータリポジトリに記憶されたデータモデルに適合する他の編成されたデータとして実装することができる。
【００４３】
ソフトウェアは、汎用または専用プログラマブルコンピュータによって可読の、ＣＤ−ＲＯＭなどの記憶媒体上に提供することができ、またはネットワークの通信媒体を介してそれが実行されるコンピュータの記憶媒体に送達することができる（伝搬信号で符号化される）。機能のすべては、専用コンピュータ上で、またはコプロセッサなどの専用ハードウェアを使用して実施することができる。ソフトウェアは、ソフトウェアによって指定された演算の異なる部分が異なるコンピュータによって実施される、分散方式で実装することができる。各そのようなコンピュータプログラムは、好ましくは、本明細書に説明する手順を実施するために記憶媒体またはデバイスがコンピュータシステムによって読み取られたとき、コンピュータを構成し、動作させるために、汎用または専用プログラマブルコンピュータによって可読の記憶媒体またはデバイス（例えば、固体メモリもしくは媒体、または磁気もしくは光媒体）上に記憶され、またはダウンロードされる。本発明のシステムは、コンピュータプログラムにより構成された、コンピュータ可読記憶媒体として実装されるとみなすこともでき、その場合、そのように構成された記憶媒体により、コンピュータシステムが、本明細書に説明する機能を実施するために具体的なおよび事前に定義された方式で動作する。
【００４４】
本発明のいくつかの実施形態を説明してきた。それにもかかわらず、本発明の精神および範囲から逸脱することなく様々な変更を加えることができることを理解されよう。例えば、上記の工程のいくつかは、順序に依存しないことができ、したがって、記載された順序と異なる順序で実施することができる。
【００４５】
上述の説明は、添付の特許請求の範囲によって定義される、本発明の範囲を例示し、限定しないことが意図されることを理解されたい。例えば、上記のいくつかの機能工程は、実質的に全処理に影響することなく異なる順序で実施することができる。他の実施形態は、以下の特許請求の範囲内にある。
【図１】
0006720144.tif 000002
【図２】
0006720144.tif 000003
【図３】
0006720144.tif 000004