(57)【特許請求の範囲】
【請求項１】
データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示する方法であって、
前記データ管理システムに格納されており、ダイヤグラムを生成するための開始点としての第１データ項目を特定するリクエストを受信するステップと、
所定形式の所与のデータ項目と関連する前記データ管理システム内のデータ項目を選択するための複数の選択仕様を含む格納された構成情報を取り出すステップであって、各選択仕様は、別々の所定形式と関係付けられている、取り出しステップと、
前記第１データ項目及び前記第１データ項目の形式と関係付けられている前記選択仕様を用いて問い合わせを動的に定式化するステップと、
前記動的に定式化された問い合わせを用いて、１つ以上のデータ項目から成るセットを特定するよう前記データ管理システムに問い合わせるステップと、
前記特定されたセット内の多数の返送されたデータ項目ごとに、前記返送されたデータ項目の形式と関係付けられている前記構成情報からの選択仕様に従って、追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせ、かつ前記返送されたデータ項目の前記形式に基づいて、特定された追加のデータ項目ごとに問い合わせを生成するステップと、
前記構成情報を用いて特定されたデータ項目間の関連性を示すダイヤグラムを生成するステップと、
前記生成されたダイヤグラムをユーザインターフェース上で提示するステップと、
を含む方法。
【請求項２】
前記データ管理システムに問い合わせるステップは、
前記データ管理システムにより前記問い合わせを処理するステップと、
前記１つ以上のデータ項目から成るセットを特定する前記データ管理システムからの問い合わせ結果を受信するステップと、
を含む、請求項１の方法。
【請求項３】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目の属性により参照されるデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項２の方法。
【請求項４】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目を参照する属性を有するデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項２の方法。
【請求項５】
前記データ管理システムにより前記問い合わせを処理するステップは、前記管理システムを再帰的にナビゲートするステップと、多数の前記再帰ステップごとに見出した少なくとも幾つかのデータ項目を返すステップとを含む、請求項２の方法。
【請求項６】
追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせるステップは、
問い合わせの多数回の繰返しを実行するステップであって、各繰返しは、１つ以上のデータ項目から成る別の１セットを判定するステップを含み、それぞれのデータ項目は、前回の繰返しからの１つ以上のデータ項目から成る前回のセットにおける少なくとも１つのデータ項目と関連している、実行ステップを含む、請求項１の方法。
【請求項７】
問い合わせの繰返しは、前記１つ以上のデータ項目から成る前回のセットにおける何れかと関連しているデータ項目がそれ以上見つからなくなるまで実行される、請求項６の方法。
【請求項８】
多数の格納された構成ファイルからの前記構成情報を含む構成ファイルの選択を前記ユーザインターフェースから受信するステップを更に含む、請求項１の方法。
【請求項９】
前記構成情報は、前記第１データ項目を表す前記生成されたダイヤグラムのノードのラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１の方法。
【請求項１０】
前記構成情報は、前記第１データ項目と別のデータ項目との間の関連性を表す前記生成されたダイヤグラムの辺のラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１の方法。
【請求項１１】
前記所定の形式はそれぞれ、データフローグラフ処理システムの異なる部分と対応する、請求項１の方法。
【請求項１２】
少なくとも１つの所定の形式は、処理コンポーネントを表すノード、および前記処理コンポーネント間のデータフローを表すリンクを含むデータフローグラフの一部を表すデータ項目と対応する、請求項１１の方法。
【請求項１３】
少なくとも１つの所定の形式は、データセット内のフィールドを表すデータ項目と対応する、請求項１１の方法。
【請求項１４】
前記第１データ項目は、データセットまたは実行可能プログラムの少なくとも一部と対応する格納データを記述するメタデータを含む、請求項１の方法。
【請求項１５】
前記格納データは前記データ管理システムと異なる第１データソースに格納され、前記生成されたダイヤグラムは、前記格納データを表すノードと、前記第１データソースおよび前記データ管理システムと異なる第二データソースに格納されている、データセットまたは実行可能プログラムの少なくとも一部と対応するデータを表すノードと、の間の、データ系統関連性を表す辺を含む、請求項１４の方法。
【請求項１６】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データに影響される要素を表すノードと、の間の、下流データ系統関連性を表す辺を含む、請求項１４の方法。
【請求項１７】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データを導き出すソースを表すノードと、の間の、上流データ系統関連性を表す辺を含む、請求項１４の方法。
【請求項１８】
データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのシステムであって、
データ項目を格納するデータ管理システムと、
前記データ管理システムに格納されており、ダイヤグラムを生成するための開始点としての第１データ項目を特定するリクエストを受信するよう構成される入力インターフェースを含むユーザインターフェースと、
所定形式の所与のデータ項目と関連する前記データ管理システム内のデータ項目を選択するための複数の選択仕様を含む構成情報を格納する格納システムであって、各選択仕様は別々の所定の形式と関係付けられている、格納システムと、
前記第１データ項目及び前記第１データ項目の形式と関係付けられている前記選択仕様を用いて問い合わせを動的に定式化する、
前記動的に定式化された問い合わせを用いて、１つ以上のデータ項目から成るセットを特定するよう前記データ管理システムに問い合わせるとともに、
前記特定されたセット内の多数の返送されたデータ項目ごとに、前記返されたデータ項目の形式と関係付けられている前記構成情報からの選択仕様に従って追加のデータ項目を特定するかどうかを判定するよう前記データ管理システムに問い合わせ、かつ前記返送されたデータ項目の前記形式に基づいて、特定された追加のデータ項目ごとに問い合わせを生成する
ように構成された、データ管理システムインターフェースと、
ダイヤグラム生成器を実行して、前記構成情報を用いて特定されたデータ項目間の関連性を示すダイヤグラムを生成するよう構成された１つ以上のプロセッサと、
を備え、
前記ユーザインターフェースは、前記生成したダイヤグラムを提示するよう構成された出力インターフェースを含むシステム。
【請求項１９】
データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのシステムであって、
前記データ管理システムに格納されており、ダイヤグラムを生成するための開始点としての第１データ項目を特定するリクエストを受信する手段と、
所定形式の所与のデータ項目と関連する前記データ管理システム内のデータ項目を選択するための複数の選択仕様を含む格納された構成情報を取り出す手段であって、前記各選択仕様は、それぞれ別の所定の形式と関係付けられている、取り出し手段と、
前記第１データ項目及び前記第１データ項目の形式と関係付けられている前記選択仕様を用いて問い合わせを動的に定式化する手段と、
前記動的に定式化された問い合わせを用いて、１つ以上のデータ項目から成るセットを特定するよう前記データ管理システムに問い合わせるとともに、前記特定されたセット内の多数の返送されたデータ項目ごとに、前記返送されたデータ項目の形式と関係付けられている前記構成情報からの選択仕様に従って追加のデータ項目を特定するかどうかを判定するよう前記データ管理システムに問い合わせ、かつ前記返送されたデータ項目の前記形式に基づいて、特定された追加のデータ項目ごとに問い合わせを生成する手段と、
前記構成情報を用いて特定したデータ項目間の関連性を示すダイヤグラムを生成する手段と、
ユーザインターフェース上に、前記生成したダイヤグラムを提示する手段と、
を備えるシステム。
【請求項２０】
データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのコンピュータプログラムを格納する、コンピュータで読取り可能な媒体であって、
前記データ管理システムに格納されており、ダイヤグラムを生成するための開始点としての第１データ項目を特定するリクエストを受信する動作と、
所定形式の所与のデータ項目と関連する前記データ管理システム内のデータ項目を選択するための複数の選択仕様を含む格納された構成情報を取り出す動作であって、前記各選択仕様は、別々のそれぞれの所定の形式と関係付けられている、取り出し動作と、
前記第１データ項目及び前記第１データ項目の形式と関係付けられている前記選択仕様を用いて問い合わせを動的に定式化する動作と、
前記動的に定式化された問い合わせを用いて、１つ以上のデータ項目から成るセットを特定するよう前記データ管理システムに問い合わせる動作と、
前記特定されたセット内の多数の返されたデータ項目ごとに、前記返されたデータ項目の形式と関係付けられている前記構成情報からの選択仕様に従って、追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせ、かつ前記返送されたデータ項目の前記形式に基づいて、特定された追加のデータ項目ごとに問い合わせを生成する動作と、
前記構成情報を用いて特定されたデータ項目間の関連性を示すダイヤグラムを生成する動作と、
前記生成されたダイヤグラムをユーザインターフェース上で提示する動作と、
を、コンピュータに実行させる命令を含む、媒体。
【請求項２１】
前記データ管理システムに問い合わせることは、
前記データ管理システムにより前記問い合わせを処理することと、
前記１つ以上のデータ項目から成るセットを特定する前記データ管理システムからの問い合わせ結果を受信することと、
を含む、請求項１８のシステム。
【請求項２２】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目の属性により参照されるデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項２１のシステム。
【請求項２３】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目を参照する属性を有するデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項２１のシステム。
【請求項２４】
前記データ管理システムにより前記問い合わせを処理することは、前記管理システムを再帰的にナビゲートすることと、多数の前記再帰のステップごとに見出した少なくとも幾つかのデータ項目を返すこととを含む、請求項２１のシステム。
【請求項２５】
追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせることは、
問い合わせの多数回の繰返しを実行することであって、各繰返しは、１つ以上のデータ項目から成る別の１セットを判定することを含み、それぞれのデータ項目は、前回の繰返しからの１つ以上のデータ項目から成る前回のセットにおける少なくとも１つのデータ項目と関連している、実行することを含む、請求項１８のシステム。
【請求項２６】
問い合わせの繰返しは、前記１つ以上のデータ項目から成る前回のセットにおける何れかと関連しているデータ項目がそれ以上見つからなくなるまで実行される、請求項２５のシステム。
【請求項２７】
多数の格納された構成ファイルからの前記構成情報を含む構成ファイルの選択を前記ユーザインターフェースから受信することを更に含む、請求項１８のシステム。
【請求項２８】
前記構成情報は、前記第１データ項目を表す前記生成されたダイヤグラムのノードのラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１８のシステム。
【請求項２９】
前記構成情報は、前記第１データ項目と別のデータ項目との間の関連性を表す前記生成されたダイヤグラムの辺のラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１８のシステム。
【請求項３０】
前記所定の形式はそれぞれ、データフローグラフ処理システムの異なる部分と対応する、請求項１８のシステム。
【請求項３１】
少なくとも１つの所定の形式は、処理コンポーネントを表すノード、および前記処理コンポーネント間のデータフローを表すリンクを含むデータフローグラフの一部を表すデータ項目と対応する、請求項３０のシステム。
【請求項３２】
少なくとも１つの所定の形式は、データセット内のフィールドを表すデータ項目と対応する、請求項３０のシステム。
【請求項３３】
前記第１データ項目は、データセットまたは実行可能プログラムの少なくとも一部と対応する格納データを記述するメタデータを含む、請求項１８のシステム。
【請求項３４】
前記格納データは前記データ管理システムと異なる第１データソースに格納され、前記生成されたダイヤグラムは、前記格納データを表すノードと、前記第１データソースおよび前記データ管理システムと異なる第二データソースに格納されている、データセットまたは実行可能プログラムの少なくとも一部と対応するデータを表すノードと、の間の、データ系統関連性を表す辺を含む、請求項３３のシステム。
【請求項３５】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データに影響される要素を表すノードと、の間の、下流データ系統関連性を表す辺を含む、請求項３３のシステム。
【請求項３６】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データを導き出すソースを表すノードと、の間の、上流データ系統関連性を表す辺を含む、請求項３３のシステム。
【請求項３７】
前記データ管理システムに問い合わせることは、
前記データ管理システムにより前記問い合わせを処理することと、
前記１つ以上のデータ項目から成るセットを特定する前記データ管理システムからの問い合わせ結果を受信することと、
を含む、請求項１９のシステム。
【請求項３８】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目の属性により参照されるデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項３７のシステム。
【請求項３９】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目を参照する属性を有するデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項３７のシステム。
【請求項４０】
前記データ管理システムにより前記問い合わせを処理することは、前記管理システムを再帰的にナビゲートすることと、多数の前記再帰のステップごとに見出した少なくとも幾つかのデータ項目を返すこととを含む、請求項３７のシステム。
【請求項４１】
追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせることは、
問い合わせの多数回の繰返しを実行することであって、各繰返しは、１つ以上のデータ項目から成る別の１セットを判定することを含み、それぞれのデータ項目は、前回の繰返しからの１つ以上のデータ項目から成る前回のセットにおける少なくとも１つのデータ項目と関連している、実行することを含む、請求項１９のシステム。
【請求項４２】
問い合わせの繰返しは、前記１つ以上のデータ項目から成る前回のセットにおける何れかと関連しているデータ項目がそれ以上見つからなくなるまで実行される、請求項４１のシステム。
【請求項４３】
多数の格納された構成ファイルからの前記構成情報を含む構成ファイルの選択を前記ユーザインターフェースから受信することを更に含む、請求項１９のシステム。
【請求項４４】
前記構成情報は、前記第１データ項目を表す前記生成されたダイヤグラムのノードのラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１９のシステム。
【請求項４５】
前記構成情報は、前記第１データ項目と別のデータ項目との間の関連性を表す前記生成されたダイヤグラムの辺のラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項１９のシステム。
【請求項４６】
前記所定の形式はそれぞれ、データフローグラフ処理システムの異なる部分と対応する、請求項１９のシステム。
【請求項４７】
少なくとも１つの所定の形式は、処理コンポーネントを表すノード、および前記処理コンポーネント間のデータフローを表すリンクを含むデータフローグラフの一部を表すデータ項目と対応する、請求項４６のシステム。
【請求項４８】
少なくとも１つの所定の形式は、データセット内のフィールドを表すデータ項目と対応する、請求項３６のシステム。
【請求項４９】
前記第１データ項目は、データセットまたは実行可能プログラムの少なくとも一部と対応する格納データを記述するメタデータを含む、請求項１９のシステム。
【請求項５０】
前記格納データは前記データ管理システムと異なる第１データソースに格納され、前記生成されたダイヤグラムは、前記格納データを表すノードと、前記第１データソースおよび前記データ管理システムと異なる第二データソースに格納されている、データセットまたは実行可能プログラムの少なくとも一部と対応するデータを表すノードと、の間の、データ系統関連性を表す辺を含む、請求項４９のシステム。
【請求項５１】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データに影響される要素を表すノードと、の間の、下流データ系統関連性を表す辺を含む、請求項４９のシステム。
【請求項５２】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データを導き出すソースを表すノードと、の間の、上流データ系統関連性を表す辺を含む、請求項４９のシステム。
【請求項５３】
前記データ管理システムに問い合わせることは、
前記データ管理システムにより前記問い合わせを処理することと、
前記１つ以上のデータ項目から成るセットを特定する前記データ管理システムからの問い合わせ結果を受信することと、
を含む、請求項２０の媒体。
【請求項５４】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目の属性により参照されるデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項５３の媒体。
【請求項５５】
前記問い合わせは、前記データ管理システムをナビゲートして、前記第１データ項目を参照する属性を有するデータ項目を取り出す少なくとも１つのナビゲーション動作を含む、請求項５３の媒体。
【請求項５６】
前記データ管理システムにより前記問い合わせを処理することは、前記管理システムを再帰的にナビゲートすることと、多数の前記再帰のステップごとに見出した少なくとも幾つかのデータ項目を返すこととを含む、請求項５３の媒体。
【請求項５７】
追加のデータ項目が特定されるかどうかを判定するよう前記データ管理システムに問い合わせることは、
問い合わせの多数回の繰返しを実行することであって、各繰返しは、１つ以上のデータ項目から成る別の１セットを判定することを含み、それぞれのデータ項目は、前回の繰返しからの１つ以上のデータ項目から成る前回のセットにおける少なくとも１つのデータ項目と関連している、実行することを含む、請求項２０の媒体。
【請求項５８】
問い合わせの繰返しは、前記１つ以上のデータ項目から成る前回のセットにおける何れかと関連しているデータ項目がそれ以上見つからなくなるまで実行される、請求項５７の媒体。
【請求項５９】
多数の格納された構成ファイルからの前記構成情報を含む構成ファイルの選択を前記ユーザインターフェースから受信することを更に含む、請求項２０の媒体。
【請求項６０】
前記構成情報は、前記第１データ項目を表す前記生成されたダイヤグラムのノードのラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項２０の媒体。
【請求項６１】
前記構成情報は、前記第１データ項目と別のデータ項目との間の関連性を表す前記生成されたダイヤグラムの辺のラベルを構築するための前記第１データ項目の形式と関係付けられているラベル仕様を含む、請求項２０の媒体。
【請求項６２】
前記所定の形式はそれぞれ、データフローグラフ処理システムの異なる部分と対応する、請求項２０の媒体。
【請求項６３】
少なくとも１つの所定の形式は、処理コンポーネントを表すノード、および前記処理コンポーネント間のデータフローを表すリンクを含むデータフローグラフの一部を表すデータ項目と対応する、請求項６２の媒体。
【請求項６４】
少なくとも１つの所定の形式は、データセット内のフィールドを表すデータ項目と対応する、請求項６２の媒体。
【請求項６５】
前記第１データ項目は、データセットまたは実行可能プログラムの少なくとも一部と対応する格納データを記述するメタデータを含む、請求項２０の媒体。
【請求項６６】
前記格納データは前記データ管理システムと異なる第１データソースに格納され、前記生成されたダイヤグラムは、前記格納データを表すノードと、前記第１データソースおよび前記データ管理システムと異なる第二データソースに格納されている、データセットまたは実行可能プログラムの少なくとも一部と対応するデータを表すノードと、の間の、データ系統関連性を表す辺を含む、請求項６５の媒体。
【請求項６７】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データに影響される要素を表すノードと、の間の、下流データ系統関連性を表す辺を含む、請求項６５の媒体。
【請求項６８】
前記生成されたダイヤグラムは、前記格納データを表すノードと、前記格納データを導き出すソースを表すノードと、の間の、上流データ系統関連性を表す辺を含む、請求項６５の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００８年２月２６日出願の米国特許出願第６１／０３１，６７２号に対する米国特許法第１１９条（ｅ）に基づく優先権を主張し、その全文を引用して本明細書に組み込む。
【０００２】
本明細書の説明は、データ関連性のグラフ表現に関する。
【背景技術】
【０００３】
企業は、データウエアハウス、顧客関係管理、およびデータマイニング等の、各種の複雑なデータ処理システムを使用して、データを管理することがある。多くのデータ処理システムにおいては、データベースファイル、運用システム、フラットファイル、インターネット等の多くの様々なデータソースから、中央の収納庫にデータが引き出される。データは変換してからシステムにロードされることが多い。変換には、クレンジング、統合および抽出が含まれ得る。システムに格納されたデータに生じた変換を記録するために、メタデータを使用できる。メタデータは、他のデータの起源、履歴、相互関係等を記述するデータである。システムによっては、ユーザインターフェースがメタデータ管理のために提供される。メタデータや、これとは別の方法で、システム内に格納された（される）あるいはシステムが処理するデータを表したり参照したりするものを含む、格納されたデータ項目は、オブジェクト指向・関係あるいは格納データを管理するための他の技法や構造を用いて、アクセスすることができる。例えば、メタデータを含むデータ項目には、表、ファイルその他のデータセット、またはデータセットを生成するアプリケーションもしくはデータ処理要素、に関する情報を含めることができる。
【発明の概要】
【０００４】
一態様において、概して、データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示する方法は、以下のステップを含む：データ管理システムに格納されている第１データ項目を特定するリクエストをユーザインターフェースから受信するステップ；所定形式の所与のデータ項目と関連するデータ管理システム内のデータ項目を選択するための複数の選択仕様を含む、格納された構成情報を取り出すステップであって、各選択仕様は、別々の所定形式と関係付けられている；第１データ項目の形式に関係付けられている構成情報からの選択仕様に従って、１つ以上のデータ項目から成るセットを特定するようデータ管理システムに問い合わせるステップ；特定されたセット内の多数の返送データごとに、返送されたデータ項目の形式と関係付けられている構成情報からの選択仕様に従って、追加のデータ項目が特定されるかどうかを判定するようデータ管理システムに問い合わせるステップ；構成情報を用いて特定されたデータ項目間の関連性を示すダイヤグラムを生成するステップ；及び、生成されたダイヤグラムをユーザインターフェース上で提示するステップ。
【０００５】
以下の特徴の１つ以上を含む態様があり得る。
【０００６】
選択仕様に従って、１つ以上のデータ項目から成るセットを特定するようデータ管理システムに問い合わせるステップは、リクエストに応じて選択仕様を用いて問い合わせを動的に定式化するステップと、データ管理システムにより問い合わせを処理するステップと、１つ以上のデータ項目から成るセットを特定するデータ管理システムからの問い合わせ結果を受信するステップと、を含む。
【０００７】
問い合わせは、データ管理システムをナビゲートして、第１データ項目の属性によって参照されるデータ項目を取り出す、少なくとも１つのナビゲーション動作を含む。
【０００８】
問い合わせは、データ管理システムをナビゲートして、第１データ項目を参照する属性を有するデータ項目を取り出す、少なくとも１つのナビゲーション動作を含む。
【０００９】
データ管理システムにより問い合わせを処理するステップは、管理システムを再帰的にナビゲートするステップと、多数の再帰ステップごとに見出した少なくとも幾つかのデータ項目を返送するステップとを含む。
【００１０】
追加のデータ項目が特定されるかどうかを判定するようデータ管理システムに問い合わせるステップは、問い合わせの多数回の繰返しを実行するステップを含む。ここで、各繰返しは、１つ以上のデータ項目から成る別の１セットを判定するステップを含み、それぞれのデータ項目は、前回の繰返しからの１つ以上のデータ項目から成る前回のセットにおける少なくとも１つのデータ項目と関連している。
【００１１】
問い合わせの繰返しは、１つ以上のデータ項目から成る前回のセットにおける何れかと関連しているデータ項目がそれ以上見つからなくなるまで実行される。
【００１２】
本方法は、多数の格納された構成ファイルからの構成情報を含む構成ファイルの選択を、ユーザインターフェースから受信するステップを更に含む。
【００１３】
構成情報は、第１データ項目を表す生成ダイヤグラムのノードのラベルを構築するために、第１データ項目の形式と関係付けられているラベル仕様を含む。
【００１４】
構成情報は、第１データ項目と別のデータ項目との間の関連性を表す生成ダイヤグラムの辺（edge）のラベルを構築するために、第１データ項目の形式と関係付けられているラベル仕様を含む。
【００１５】
各所定の形式は、データフローグラフ処理システムの異なる部分と対応する。
【００１６】
少なくとも１つの所定の形式は、処理コンポーネントを表すノードと、処理コンポーネント間のデータフローを表すリンクと、を含むデータフローグラフの一部を表すデータ項目と対応する。
【００１７】
少なくとも１つの所定の形式は、データセット内のフィールドを表すデータ項目と対応する。
【００１８】
第１データ項目は、データセットまたは実行可能プログラムの少なくとも一部と対応する格納データを記述するメタデータを含む。
【００１９】
格納データは、データ管理システムとは異なる第１データソースに格納され、生成ダイヤグラムは、格納データを表すノードと、第１データソースおよびデータ管理システムとは異なる第２データソースに格納されている、データセットまたは実行可能プログラムの少なくとも一部と対応するデータを表すノードと、の間の、データ系統関連性を表す辺を含む。
【００２０】
生成ダイヤグラムは、格納データを表すノードと、格納データに影響される要素を表すノードと、の間の、下流データ系統関連性を表す辺を含む。
【００２１】
生成ダイヤグラムは、格納データを表すノードと、格納データを導き出すソースを表すノードと、の間の、上流データ系統関連性を表す辺を含む。
【００２２】
別の態様において、概して、データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのシステムは、以下のものを含む：データ項目を格納するデータ管理システム；データ管理システムに格納された第１データ項目を特定するリクエストを受信するよう構成される入力インターフェースを含むユーザインターフェース；所定形式の所与のデータ項目と関連するデータ管理システム内のデータ項目を選択するための複数の選択仕様を含む構成情報を格納する格納システムであって、各選択仕様は、別々の所定形式と関係付けられている；第１データ項目の形式と関係付けられている構成情報からの選択仕様に従って、１つ以上のデータ項目から成るセットを特定するようデータ管理システムに問い合わせるとともに、特定されたセット内の多数の返送データ項目ごとに、返送データ項目の形式と関係付けられている構成情報からの選択仕様に従って追加のデータ項目を特定するかどうかを判定するようデータ管理システムに問い合わせるよう構成されるデータ管理システムインターフェース；及び、ダイヤグラム生成器を実行して、構成情報を用いて特定されたデータ項目間の関連性を示すダイヤグラムを生成するよう構成された１つ以上のプロセッサ。ユーザインターフェースには、生成したダイヤグラムを提示するように構成された出力インターフェースが含まれる。
【００２３】
別の態様において、概して、データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのシステムは、以下のものを含む：データ管理システムに格納された第１データ項目を特定するリクエストをユーザインターフェースから受信する手段；所定形式の所与のデータ項目と関連するデータ管理システム内のデータ項目を選択するための複数の選択仕様を含む格納された構成情報を取り出す手段であって、各選択仕様は、別々の所定形式と関係付けられている；第１データ項目の形式と関係付けられている構成情報からの選択仕様に従って、１つ以上のデータ項目から成るセットを特定するようデータ管理システムに問い合わせるとともに、特定されたセット内の多数の返送データ項目ごとに、返送データ項目の形式と関係付けられている構成情報からの選択仕様に従って追加のデータ項目を特定するかどうかを判定するようデータ管理システムに問い合わせる手段；構成情報を用いて特定したデータ項目間の関連性を示すダイヤグラムを生成する手段；及び、生成したダイヤグラムをユーザインターフェース上に提示する手段。
【００２４】
別の態様において、概して、コンピュータで読み取り可能な媒体は、データ管理システムに格納されているデータ項目間の関連性を示すダイヤグラムを提示するためのコンピュータプログラムを格納する。このコンピュータプログラムは、コンピュータに以下の動作を実行させる命令を含む：データ管理システムに格納されている第１データ項目を特定するリクエストをユーザインターフェースから受信する動作；所定形式の所与のデータ項目と関連するデータ管理システム内のデータ項目を選択するための複数の選択仕様を含む格納された構成情報を取り出す動作であって、各選択仕様は、別々の所定形式と関係付けられている；第１データ項目の形式と関係付けられている構成情報からの選択仕様に従って、１つ以上のデータ項目から成るセットを特定するようデータ管理システムに問い合わせるとともに、特定されたセット内の多数の返送されたデータごとに、返送データ項目の形式と関係付けられている構成情報からの選択仕様に従って、追加のデータ項目が特定されるかどうかを判定するようデータ管理システムに問い合わせる動作；構成情報を用いて、特定されたデータ項目間の関連性を示すダイヤグラムを生成する動作；及び、生成されたダイヤグラムをユーザインターフェース上で提示する動作。
【００２５】
各態様には以下の利点の１つ以上を含めることができる。
【００２６】
データベースユーザは、特定のデータが別々のデータソースからどのように導かれるのかを調べたいことがある。例えば、データベースユーザは、データセットまたはデータオブジェクトをどのソースからインポートするのかについて、知りたいこともある。データセットがどのソースから導き出されるかをソースまで遡って追跡することを上流データ系統追跡と呼ぶ。データベースユーザは、特定のデータセットがどのように使用されるのか、例えば、どのアプリケーションが所与のデータセットを読み出すのかを調べたいこともある（下流データ系統追跡）。データセットが他のデータセットとどのように関連しているのかについて、データベースユーザが関心を抱くこともある。例えば、ユーザは、データセットが修正されたかどうか、どの表が影響を受けるのかについて、知りたいこともある。ここで説明する技法は、関連データが幾重にも分散する異機種ソースに広がる問い合わせを含む、多様なデータ関連性の問い合わせに対する答えを、ユーザが見出すのに役立つ。
【００２７】
本発明の他の特徴および利点は以下の説明および請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００２８】
【図１】例示的なデータ処理システムの図である。
【図２】データ閲覧用のウェブユーザインターフェースの実施例である。
【図３】データ関連性ダイヤグラムを生成するプロセスを説明する概略図である。
【図４Ａ】例示的なデータ関連性ダイヤグラムを示す。
【図４Ｂ】データ項目を取り出すプロセスのフローチャートである。
【図５】例示的なデータ関連性ダイヤグラムを示す。
【図６】データ関連性ダイヤグラムを生成するプロセスのフローチャートである。
【図７Ａ】構成ファイルの実施例である。
【図７Ｂ】構成ファイルの実施例である。
【図８】データ関連性ダイヤグラムのノードに関する詳細情報を表示するための例示的なインターフェースを示す。
【発明を実施するための形態】
【００２９】
ユーザは、ユーザインターフェースを用いて、データ処理システムにある新しいデータ項目を閲覧、修正、または創成することができる。幾つかのデータ項目はプログラムまたはプログラムモジュール（例えば、ソースコードまたは実行可能コード）と対応し、幾つかのデータ項目は、プログラムを表すメタデータ、データセット、データソース、または他のデータ項目の集合体と対応する。様々なユーザタイプに合わせて、各種のユーザインターフェースを提供できる。例えば、システム用アプリケーションを開発するユーザ（開発者）は、ある形式のインターフェースを使用し、アプリケーションを実行したり、アプリケーションの結果を閲覧したりするユーザは別の形式のインターフェースを使用し得る。
【００３０】
図１は、ユーザがデータフローグラフを用いてアプリケーションを構築可能なユーザインターフェースであるグラフ型開発環境（ＧＤＥ）１０２を含む例示的なデータ処理システム１００を示す。データフローグラフは、コンポーネントと呼ばれる機能モジュールと、フローと呼ばれるデータ流路とを使用して、あるコンポーネントから別のコンポーネントへのデータ移動を表す。これにより、グラフベースアプリケーションは、コンポーネント（データ格納コンポーネントまたは実行可能計算コンポーネント）を表すグラフ内の頂点と、コンポーネント間のデータフローを表す、グラフ内の頂点を接続する有向リンクすなわち「辺」と、による有向グラフによって表すことができる。データフローグラフ（単に「グラフ」とも呼ばれる）はモジュール要素である。それぞれのグラフは１つ以上の他のグラフから作り上げられ、特定のグラフはさらに大規模なグラフのコンポーネントとなり得る。ＧＤＥ１０２により、開発者は、所与のユーザ特定環境に合わせた実行可能グラフとしてアプリケーションを開発、試験および展開できる。ＧＤＥ１０２を用いて構築される図１に示す例示的なデータフローグラフは、データを生成するコンポーネント１１２と、フロー１１６を経由してデータを受け取るコンポーネント１１４とを含み、フロー１２０を経由して出力データセット１１８にデータを提供する。
【００３１】
ＧＤＥ１０２は、収納庫１０４および並列処理環境１０６と通信する。収納庫１０４は、例えば、グラフベースアプリケーションの開発、実行、およびグラフベースアプリケーションと他のシステム（例えば、他のオペレーティングシステム）との間のメタデータ交換をサポートするよう設計されたスケーラブルなオブジェクト指向データベースシステムである。収納庫１０４は、例えば、文書、レコード形式（例えば、表のレコードのフィールド形式およびデータ形式）、変換関数、グラフ、ジョブおよびモニタ情報を含む、あらゆる形式のメタデータの格納システムである。並列処理環境１０６は、ＧＤＥ１０２内にユーザが構築したデータフローグラフが提示するプログラムを解釈し、グラフ内で定義されたプロセス論理およびリソースに基づいてコンピュータ命令を生成し、１つ以上のプロセッサおよび／またはコンピュータシステム（均質でなくてもよい）上でこれらの命令を実行する。
【００３２】
管理要素（executive）１１０は、オプションの収納庫ベースのジョブスケジュールシステムである。管理要素１１０は、収納庫１０４内のオブジェクトとしてジョブおよびジョブ待ち行列を管理する。
【００３３】
メタデータインターフェース１０８（例えば、ウェブブラウザベースのインターフェース）は、収納庫１０４に格納された、メタデータから構成されるかメタデータを含むかあるいはメタデータを参照するデータ項目用の、ユーザインターフェースを提供する。メタデータインターフェース１０８を通じて、ユーザは、収納庫１０４にアクセスし、既存のデータ項目を閲覧し、既存のデータ項目を変更し、新規のデータ項目を創成し、アプリケーションパラメータを規定できる。幾つかのデータ項目は、例えば、データフローグラフもしくは他の実行可能プログラム、グラフのソースもしくはグラフの結果を提供するデータセット、またはグラフの開発者についての情報を表す。メタデータインターフェース１０８は、また、管理要素１１０のジョブおよびジョブ待ち行列を見たり操作したりするインターフェースを、ユーザに提供する。メタデータインターフェース１０８を通じて、ユーザは、データフローグラフのランタイムパラメータの値を規定し、管理要素１１０がデータフローグラフから生成されたジョブを実行できるようにする。
【００３４】
参照することにより本明細書に組み込まれる、米国特許出願第１０／９７９，７４２号、発明の名称「Managing  Related  Data  Objects（関連するデータオブジェクトの管理法）」は、関連するデータ項目に対するインターフェースを管理および提供する技法を開示している。ここに開示されている技法によって、ユーザは、ウェブブラウザ上でビューを定義できる。ユーザはこのビューを用いて、データ項目に含まれる、および／またはデータ項目と関係している所望の情報にアクセスできる。それぞれのビューは、データ項目の形式と関係付けられるとともに、描画すべきデータを定義する１つ以上の「ビューエレメントビューエレメント」を含む。各ビューエレメントには、ビューと関係付けられるカテゴリ内のデータ項目の取り出しを可能にするエレメントディスクリプタが含まれる。
【００３５】
図２に、ウェブブラウザに提示されるビューの実施例を示す。表示には、ナビゲーションバー２０２、コンテンツセクション２０４、およびフッタ２０６が含まれる。コンテンツセクション２０４は、ユーザが定義するビューに従って表示される。この場合、ビューには、４つのビューエレメント：カテゴリ名２０８（例えば、人事）、カテゴリーメンバー氏名２１０（例えば、Jim  Anchower）、この従業員が責任をもつ業務を示すビューエレメント２１２、およびこの従業員が責任をもつデータファイルを示すビューエレメント２１４が含まれる。
【００３６】
ユーザがデータ項目の履歴および収納庫１０４内の他のデータ項目との関連性について関心を持つ場合、手動プロセスにより所望の情報を検索できる。ユーザは、インターフェース１０８を用いて、リンクしたデータ項目を順次閲覧できる。代替として、ユーザは、プログラミング言語を用いてデータベースに問い合わせることもできる。どちらの手法においても、ユーザは、履歴情報を抽出するために、第１の問い合わせを送信し、問い合わせ結果を待ち、問い合わせ結果のフィールド情報を抽出し、抽出したフィールド情報に基づいて第２の問い合わせを送信する必要がある。この段階的な手動プロセスは、データ系統が長いデータ項目の履歴または深く組み込まれるデータオブジェクトの関連性にユーザが関心を持つ場合に面倒なことになる。
【００３７】
ユーザが、例えばデータ系統、あるいは他の形式のデータ関連性と関係する、その都度の問い合わせを提出でき、動的に、かつユーザ設定可能な方法で、データ関連性の情報を取り出せるのは利点である。また、問い合わせ結果をダイヤグラムで提示することも利点である。
【００３８】
図３を参照すると、所望の情報を抽出する別の手法の例示的な実施の形態において、ユーザは、ユーザインターフェース３００（例えば、ＧＤＥ１０２またはメタデータインターフェース１０８のようなインターフェース）上に提示されるデータ項目３０２を選択することにより、データ関連性ダイヤグラムの生成プロセスを開始する。ダイヤグラム生成器３２０（例えば、オペレーティングシステム１０６上で実行されるアプリケーション）は、データ管理システムインターフェース（例えば、問い合わせを送信し、応答を受信する通信ポート）を用いて、データ管理システム３４０（例えば、収納庫１０４に実装されているデータベース）と相互作用して、選択されたデータ項目３０２と関連するデータ項目を取り出し、ユーザインターフェース３００上でユーザに提示するためのデータ関連性ダイヤグラムを自動的に生成する。選択されたデータ項目３０２は、図３のＤ１としてラベル付けされる。ユーザは、入力インターフェース（例えば、ボタン、メニュー等）を用いて、関心のあるデータ関連性ダイヤグラムの形式（例えばデータの系統図）と、選択した開始データ項目の上流、下流、またはその両方のデータ項目との関連性をデータ関連性ダイヤグラムが示すべきかどうかを指示するオプションの「上流」（例えば、このデータ項目をソースから導き出す方法、またはこのデータ項目を用いて入力データをソースから受信する方法）および／または「下流」（例えば、影響を受ける要素がこのデータ項目を受信する方法、またはこのデータ項目を用いて影響を受ける要素の出力データを生成する方法）のような何らかの関係情報と、を選択する。リクエスト３１４がダイヤグラム生成器３２０に対して行われ、選択されたデータ項目Ｄ１の指示が引数として渡される。データ項目Ｄ１は、出力インターフェース（例えば、スクリーン上のウィンドウ）を用いてユーザに提示されるダイヤグラムを生成する開始点として使用される。
【００３９】
ダイヤグラム生成器３２０は、リクエスト３１４を受信し、リクエスト３１４と対応する構成ファイルを求めて構成ファイル格納庫３６０内を検索する。典型的な構成ファイル３８０は、１つ以上の選択仕様３８２、３８４等を含み、それぞれが対応する所定のデータ項目形式と関係付けられている。例えば、各データ項目形式は、データフローグラフ処理環境の内の異なる部分と対応できる。幾つかのデータ項目形式は、グラフを表すデータ項目と対応できる。幾つかのデータ項目形式は、グラフ内のコンポーネントを表すデータ項目と対応できる。幾つかのデータ項目形式は、データセットを表すデータ項目と対応できる。幾つかのデータ項目形式は、データセット内のフィールドを表すデータ項目と対応できる。
【００４０】
選択仕様は、データ管理システム３４０に格納されているデータ項目の間をナビゲートしてデータ項目を選択するために、選択動作または一連の選択動作を規定する。選択動作には、例えば、あるデータ項目から次のデータ項目にナビゲートする方法を指示するナビゲーション動作、または、フィルタ等の関数を実行してどのデータ項目を返送するかを決定する別の形式の動作、を含めることができる。構成ファイル３８０内では、各データ項目形式が選択仕様と関係付けられる。例えば、選択仕様３８２が形式Ａと関係付けられ、選択仕様３８４が形式Ｂと関係付けられる。データ項目形式を、例えば、属性（または、「フィールド」または「コラム」）およびこれらの属性間の関連性（例えば、要素関連性ダイヤグラムにより表される関連性）を定義するデータベーススキーマに従って規定してもよい。
【００４１】
ダイヤグラム生成器３２０は、リクエスト３１４と対応する構成ファイル３８０を構成ファイル格納庫３６０から取り出し、その構成ファイルを使用してデータ管理システム３４０に対するクエリ（問い合わせ）３３０を発行する。
【００４２】
ダイヤグラム生成器３２０とデータ管理システム３４０との間に、一連の多数のクエリ相互作用が生じることもある。ダイヤグラム生成器３２０は、Ｄ１の形式と関係付けられた選択仕様に基づいてデータ管理システム３４０をナビゲートするために、第１のクエリの開始点としてＤ１を使用し、１つ以上の追加データ項目を含み得るクエリ結果を受信する。例えば、Ｄ１の形式が形式Ｂの場合、ダイヤグラム生成器３２０は、選択仕様３８４を選択し、選択仕様３８４内に含まれる一連の選択動作を含むクエリを定式化する。クエリは、例えば、データ管理システム３４０が解釈可能なクエリ言語で定式化される。各クエリで、１つ以上のデータ項目から成るセットが取り出され得る。場合によっては、クエリがデータ項目を何も返さないこともある。
【００４３】
実施例として図３に示すように、Ｄ１で開始されるデータ管理システム３４０は、選択仕様３８４を用いて１つ以上のデータ項目から成るセットを取り出す。選択仕様は、データ管理システム３４０内でナビゲートしてデータ項目のセットを取り出すべき関連性の種類（例えば、一次キー／外部キーの関連性）を規定する。本実施例では、取り出されたデータ項目セットはＤ２、Ｄ３およびＰ１を含み、ダイヤグラム生成器に返送される。データ項目Ｄ２およびＤ３は、Ｄ１と同一形式の形式Ｂである。データ項目Ｐ１は、別の形式である形式Ａである。
【００４４】
取り出されたデータ項目セットのデータ項目ごとに、ダイヤグラム生成器３２０はそのデータ項目の形式と関係付けられる選択仕様を検索し、データ管理システム３４０にクエリを送信して、その形式と関係付けられる選択仕様内の選択動作に従って別のデータ項目セットを取り出す。Ｄ２およびＤ３用の選択仕様は、Ｄ２およびＤ３がＤ１と同一形式なので選択仕様３８４である。Ｐ１は選択仕様３８２が関係付けられる形式Ａなので、Ｐ１の選択仕様は選択仕様３８２である。データ管理システムは、取り出したセット内のデータ項目ごとに、１つ以上のデータ項目から成る新規セットを取り出そうと試みるので、第１のＤ２、Ｄ３およびＰ１のセットに対して、Ｄ２およびＤ３には選択仕様３８４、Ｐ１には選択仕様３８２を用いて、１つ以上のデータ項目から成る３つの新規セットを取り出せる可能性がある。場合によっては、新規のデータ項目セットを取り出すよう試みても、データ項目が何も見つからないこともある。ダイヤグラム生成器３２０に返送されるＤ２、Ｄ３またはＰ１に対して取り出した１つ以上のデータ項目から成る新規セットのそれぞれに含まれるデータ項目ごとに、ダイヤグラム生成器３２０は、そのデータ項目形式に対する選択仕様を見つけ、データ管理システム３４０に新規クエリを送出する。次いで、データ管理システム３４０は、仕様内で選択動作を実行し、ダイヤグラム生成器への１つ以上のデータ項目から成る別のセットを取り出すよう試みる。
【００４５】
図４Ａおよび図４Ｂで、このループプロセスをさらに説明する。図４Ａは、このプロセスの繰返しごとに取り出したデータ項目のセットと、これらデータ項目に到達するためにトラバースした関連性のリンクとを示す。Ｄ１は開始データ項目である（繰返しｉ０）。Ｄ１から取り出されたデータ項目のセットには、Ｄ２、Ｄ３およびＰ１が含まれる（繰返しｉ１）。Ｄ２から取り出された１つ以上のデータ項目から成るセットには、データ項目Ｄ４だけが含まれる。Ｄ３から取り出されたデータ項目はない。Ｐ１から取り出された１つ以上のデータ項目から成るセットには、Ｐ２およびＤ５の二つのデータ項目が含まれる。これで次の繰返し（ｉ２）では３つのデータ項目が取り出された。Ｄ４から取り出された１つ以上のデータ項目から成るセットには、Ｐ３が含まれる（繰返しｉ３）。Ｐ３から取り出されたデータ項目のセットには、Ｐ５が含まれる（繰返しｉ４）。Ｐ２、Ｄ５およびＰ５から取り出されたデータ項目はない。
【００４６】
図４Ｂにデータ項目を取り出すための例示的なプロセスのフローチャートを示す。データ項目Ｄｓで開始し、ステップ４１０でＤｓの形式を特定する。Ｄｓの形式と関係付けられる選択仕様がステップ４１２で決定される。選択仕様で定義される選択動作がステップ４１４で実行され、１つ以上のデータ項目から成るセットが取り出される可能性がある（ステップ４１６）。プロセスは、データ項目がそれ以上見つからなくて選択動作が必要なくなると終了する。
【００４７】
図４Ａの実施例では、クエリ結果としてダイヤグラム生成器３２０に返送されるデータ項目は、データ管理システム３４０でデータ項目を関連付ける方法に相当する辺により接続されるノードとして表される。例えば、辺は、対応するデータ項目間の一次キー／外部キーの関連性を表すことができる。辺は、例えば、上記の米国特許出願第１０／９７９、７４２号に記載されているような任意の多様な関連性を表すことができる。
【００４８】
図５は、ユーザインターフェース３００のウィンドウ５００に提示される、取り出されたデータ項目に基づいて、ダイヤグラム生成器３２０が生成するデータ関連性ダイヤグラムの実施例である。図５の矩形および角丸矩形は、データ項目を表すノードである。ノード間の接続は、ノード間の関連性を表す有向辺である。矢印の向きは、下流データ項目が、上流データ項目で表される要素に影響を受ける要素を表していることを示す。例えば、図５に示すダイヤグラムでは、ノードは、各種データセット内のフィールドを表すメタデータおよびこれらのデータセット内のデータを処理するグラフと対応する。角丸矩形は「フィールド」形式のデータ項目を表す。矩形は、すぐ左にあるデータ項目と関係付けられる入力に作用し、すぐ右にあるデータ項目と関係付けられる出力を提供するアプリケーションである、「グラフ」形式のデータ項目を表す。例えば、グラフのコンポーネントは、（メタデータが第１データ項目に格納されている）第１フィールド内のデータにアクセスし、（メタデータが第２データ項目内に格納されている）第２フィールド内にデータを出力し得る。
【００４９】
第１データ項目５１０のフィールドcust_idは、データ関連性ダイヤグラム生成のためにユーザが選択する開始データ項目である。図５のダイヤグラムは、フィールドcust_id５１０がどのように使用されているかの図、すなわち、下流データ系統ダイヤグラムを表す。アプリケーションdb_unload.mpはフィールドcust_idからデータを読み込み、処理して、２つのフィールドcust_id内にデータを出力する。次いで、アプリケーションExample#４は２つのフィールドの１つからデータを読み込み、処理し、フィールドid内にデータを出力する。次いで、フィールドidは、４つのフィールド内にデータを出力するアプリケーションreporting.mpにより読み込まれる。最後にアプリケーションdb_load.mpが、アプリケーションreporting.mpから得られる４つのフィールドの２つを読み込み、別の４つのフィールドを書き込む。
【００５０】
図５のデータ関連性ダイヤグラムは、実施例を図２に示すメタデータブラウザに表示されるデータ項目cust_idをユーザがクリックすると、ユーザに提示されるものである。データ関連性情報を調べたいデータ項目をユーザがクリックした時点からダイヤグラムが提示されるまでの例示的なプロセスを、図６に示すフローチャートで説明する。
【００５１】
図６は、データ関連性ダイヤグラムを生成するための、動的且つユーザ構成可能なプロセスを示す。ユーザは、関心のあるデータ項目を選択して（例えば、クリックして）プロセスを開始し、使用すべき構成ファイルを、例えば、対応するラジオボタンをクリックして指定する（図３参照）。すると、ユーザリクエストがユーザのために送信される。ステップ６０１で、ダイヤグラム生成器３２０がユーザリクエストを受信する。ユーザリクエストは、開始するデータ項目、およびユーザが所望するデータ関連性ダイヤグラムを生成するために使用すべき適切な構成ファイルを指示するのに必要となり得る何らかの他の情報を特定する。ステップ６０２で、ダイヤグラム生成器は、構成ファイル格納庫３６０から構成ファイルを取り出す。ステップ６０３はループプロセスである。ループプロセスは、第１データ項目、すなわち開始データ項目で開始する。ループの繰返しは、前回の繰返しから返送されるそれぞれのデータ項目に（または、最初の繰返しでは開始データ項目に）ついて、以下のステップを含む：ステップ６５２−データ項目の形式を特定する。ステップ６５４−形式と関係付けられる選択仕様を決定する。ステップ６５６−選択仕様に含まれる選択動作を実行する。ステップ６５８−ステップ６５６の結果として１つ以上のデータ項目から成るセットを取り出す。ステップ６６０−ループプロセスが、まだ処理中の取り出したデータ項目が何かあるかどうかをチェックすることにより終了すべきかどうかを決定する。
【００５２】
上記の実施例では、ループプロセスは取り出された個々のデータ項目に基づいている。代替として、第１データ項目から離れたステップ（例えば、要素関連性ダイヤグラム内の辺）に基づく第１レベルループプロセスと、第１レベルループ繰返しごとに取り出された１つ以上のデータ項目から成るセットに含まれるデータ項目に基づく第２レベルループプロセスとによりネストされたループプロセスを構築することができる。
【００５３】
（構成ファイルが定義する選択仕様内の選択動作に従って）取り出すべきデータ項目がそれ以上存在しない場合、ステップ６０４で、ループプロセスは終了し、データ項目の集合体およびループプロセス中に得られる相互関連性が処理され、データ関連性ダイヤグラムが、返送されたクエリ結果の処理に基づいて生成される。ループプロセス内で取り出された全てのデータ項目が返送され、データ関連性ダイヤグラム上に描画される。代替として、ダイヤグラム生成器３２０は、ステップ６０４で実行される処理の幾つかまたは全てをやめて、ループプロセスが実行されているときに、データ関連性ダイヤグラムを描画してもよい。
【００５４】
選択動作が定式化され得るクエリ言語の一実施例が、米国特許出願第１０／９７９、７４２号に記載され、これには、データシステムの格納データを管理及び解析する方法が開示されている。その出願では、データ格納庫から所望のデータを取り出すための、ナビゲート動作およびエクスプレッション動作を含む、選択動作が記載されている。ナビゲート動作では、以下の４つの形式：walk、inv_walk、gather_all、find_ultimateが定義されている。
【００５５】
walk動作は、注釈規則およびカテゴリの２つのパラメータをとる。walk動作は、指定した注釈規則が参照する指定カテゴリのデータ項目を返送する。幾つかの実施の形態においては、データ項目は、定義済みスキーマに従って関連付けられたオブジェクトと対応し、データ項目の形式は、定義済みスキーマ内のカテゴリにより決定される。
【００５６】
inv_walk動作も、注釈規則およびカテゴリの２つのパラメータをとる。inv_walk動作は、inv_walk動作が呼び出されるデータ項目を参照する注釈規則を持つ指定カテゴリcat内のデータ項目を返送する。
【００５７】
gather_all動作は、一連の１つ以上のナビゲート動作をパラメータとする。これは再帰的にナビゲート動作を実行し、再帰呼出しの各ステップで見出した全てのデータオブジェクトを返送する。
【００５８】
find_ultimate動作も、一連の１つ以上のナビゲート動作をパラメータとする。これは再帰的にナビゲート動作を実行し、再帰呼出しの最後に見出した全ての「リーフノード」データオブジェクトを返送する。
【００５９】
上記４つの動作により、ユーザは、一連のナビゲート動作を構成して、データベースに格納されているデータオブジェクトをナビゲートすることができる。ナビゲート動作の構成は、構成ファイル内に選択仕様として格納することができる。
【００６０】
ユーザは、選択仕様内にエクスプレッション動作を組み込むこともできる。エクスプレッション動作は、１つ以上のデータ項目から成るセット上で動作する。例えば、エクスプレッション動作sort(expr)は、exprにより１つ以上のデータ項目から成るセットをソートする。エクスプレッション動作filter(expr)は、exprにより１つ以上のデータ項目から成るセットにフィルタをかける。エクスプレッション動作eval(expr)は、１つ以上のデータ項目から成るセット上でexprを評価する。
【００６１】
開始データ項目の所与の形式に対して、構成ファイルは、１つ以上の選択動作（上記のナビゲート動作およびエクスプレッション動作等）を持つ選択仕様を使用して、その開始データ項目と関連する１つ以上のオブジェクトから成るセットを特定する。構成ファイルには、データ項目の所与の形式に対する選択仕様の他にラベル仕様を含めることもできる。ラベル仕様を用いて、データ関連性ダイヤグラム内の開始項目を表すノードのラベルを構築する。
【００６２】
図７Ａ、図７Ｂ、図７Ｃに、ナビゲート動作およびエクスプレッション動作を選択動作として構成した選択仕様を有する構成ファイルの３つの実施例を示す。
【００６３】
図７Ａに、データ項目の３つの形式：「主題領域」、「論理要素」および「要素関連性」に対して定義された３つの選択仕様を有する構成ファイルの実施例を示す。「主題領域」形式であるデータ項目に対しては、sel_specとして指定された対応する選択仕様は、カテゴリ「論理要素（LogicalEntity）」に属し、且つこの選択仕様が課される１つ以上のデータ項目から成るセットを参照する注釈規則SubjectAreaOIDを有する、１つ以上のデータ項目から成るセットを返す、ナビゲート動作inv_walk("SubjectAreaOID","LogicalEntity")を含む。「論理要素」形式であるデータ項目に対しては、sel_specとして指定された選択仕様は、ナビゲート動作inv_walk、続いてエクスプレッション動作フィルタ（filter）、続いて二つのナビゲート動作walk、の４つの動作の構成を含む。「要素関連性」形式であるデータ項目に対しては、sel_specとして指定された対応する選択仕様は、ナビゲート動作walkを含む。label_specとして指定されたラベル仕様は、エクスプレッション動作evalを含む。このエクスプレッション動作から返される値は、生成されるデータ関連性ダイヤグラム内のデータ項目を表すノードにラベルを付けるために使用される。本実施例では、エクスプレッション動作evalから得られる値は、「要素関連性」形式であるデータ項目のノードラベルとして使用される。
【００６４】
図７Ｂに、データ項目の「システム」形式に対して定義された選択仕様を有する構成ファイルの一部を示す。本実施例では、同一形式のデータ項目に対して定義される２つの異なる選択仕様があり、それにより、ダイヤグラム生成器３２０は、データ関連性ダイヤグラムの上流および下流方向に対して異なる選択動作を使用できるようになる。従って、最終的なデータ関連性ダイヤグラムにおいて、開始データ項目は、両端のどちらかではなく中央のどこかに配置される。＃Downstreamと指定される下流では、データ項目形式「システム」が、２つのinv_walkナビゲート動作と２つのwalkナビゲート動作の構成を有する選択仕様と対応する。＃Upstreamと指定される上流でも同様に、データ項目形式「システム」が、２つのinv_walkナビゲート動作と２つのwalkナビゲート動作の構成を有する選択仕様と対応するが、但し、所与のデータセットが読み出されているかまたは書き込まれているかどうかを示す注釈規則が下流方向と比較されて交換される。
【００６５】
構成ファイルには、ノードラベルを定義するラベル仕様、およびナビゲート動作を始めるノードからの辺のラベルを定義するラベル仕様を含めることもできる。辺の両端のどちらかのノードの形式に基づくラベルを、辺のラベル付けに使用できる。代替として、構成ファイル内の変数に割当てられる値を介して、ユーザが辺のラベルをカスタム化することもできる。
【００６６】
幾つかの実施の形態においては、選択仕様には、ダイヤグラム生成器３２０が一度に１つのクエリではなく多数のクエリを同時に実行できるように、そして単一のノードではなく複数セットのノードのシーケンスを返送できるように、１セットの多数の選択動作を含めることができる。この特徴は、ノード間に特定種類の依存性がある場合に、ダイヤグラムを正確に描画するのに便利である。
【００６７】
上記説明の例示的な選択仕様はある特定の言語で書かれているが、言うまでもなく、本明細書で開示される方法論は、データ格納庫内に格納されるデータをナビゲートまたは追跡するために使用される他の言語にも等しく適用できる。
【００６８】
これまで説明してきたデータ関連性ダイヤグラム生成プロセスは、構成ファイルの選択仕様を定義することにより、ユーザが、所望する特定選択動作の実行方法を構成できるという意味で、ユーザ設定可能である。
【００６９】
ユーザは、さらに、図６に示すループプロセスを管理することにより、データ関連性ダイヤグラム生成プロセスを構成することができる。ループプロセスは、何らかのクエリ結果でそれ以上データ項目が返送されなくなるまで、必要な繰返しを何回でも行うことができる。代替として、ユーザは、n≦n_max等の終了条件を付けることによりループプロセスの繰返し回数を制限することができ、ここで、nを上記説明のネストされたループスキームで実行される第一レベルの繰返し回数として、n_maxを選択された開始データ項目を表すノードから離れていくパスに沿う辺の最大数となるようにする。ユーザは、ダイヤグラム描画プロセスで最終的なダイヤグラム上に表示するノード数および辺数を直接制御することもできる。
【００７０】
幾つかの実施の形態においては、ユーザは、データ関連性ダイヤグラムとデータ閲覧のためのユーザインターフェースとの間を行きつ戻りつできる。例えば、データ閲覧インターフェースでは、ユーザは、第１データ項目を選択して、そのデータ項目のデータ関連性ダイヤグラムをリクエストできる。データ関連性ダイヤグラムでは、ユーザは、第１データ項目と関係するノードとは異なるノードを選択して、対応するデータ項目用のデータ閲覧インターフェースにユーザインターフェースをリダイレクトすることができる。
【００７１】
幾つかの実施の形態においては、ユーザは、詳細情報を知るためにデータ関連性ダイヤグラム内のノードを選択でき、例えば、図８に示すウィンドウ８００にあるようなポップアップウィンドウに表示してもよい。
【００７２】
上記説明の技法は、コンピュータ上で実行するためのソフトウエアを用いて実装することもできる。例えば、本ソフトウエアは、少なくとも１つのプロセッサ、少なくとも１つのデータ格納システム（揮発性および不揮発性メモリおよび／または格納素子を含む）、少なくとも１つの入力装置またはポート、および少なくとも１つの出力装置またはポートをそれぞれ含む、プログラムされるか、またはプログラム可能な一台以上のコンピュータシステム（分散型、クライアント／サーバ、またはグリッド等の各種アーキテクチャで構成されてもよい）上で実行される１つ以上のコンピュータプログラム内の手順を形成する。本ソフトウエアは、例えば、データフローグラフの設計および構成と関連する他のサービスを提供する、大規模なプログラムの１つ以上のモジュールを形成してもよい。グラフのノードおよび要素は、データ収納庫に格納されるデータモデルと適合するコンピュータで読み取り可能な媒体または他の組織化されたデータに格納されるデータ構造として実装することができる。
【００７３】
本ソフトウエアは、汎用または専用のプログラム可能コンピュータで読み取り可能なＣＤ−ＲＯＭ等の格納媒体上で提供されるか、またはネットワークの通信媒体を通じてソフトウエアが実行されるコンピュータに配布されてもよい。全ての機能を専用コンピュータで実行してもよく、またはコプロセッサ等の専用のハードウエアを用いて実行してもよい。本ソフトウエアは、ソフトウエアが指定する計算の様々な部分が異なるコンピュータで実行される分散様式で実装してもよい。このようなコンピュータプログラムはそれぞれ、格納媒体または装置をコンピュータシステムが読み取って本明細書で説明した手順を実行する場合、コンピュータを構成し、動作させるために、汎用または専用のプログラム可能コンピュータが読み取れる格納媒体または装置（例えば、固体のメモリか媒体、または磁気式か光学式の媒体）に格納するか、またはダウンロードされるのが好ましい。本発明のシステムは、コンピュータプログラムにより構成されるコンピュータで読み取り可能な格納媒体として実装されると見なすこともでき、そのように構成された格納媒体は、特定の、かつ所定の方法でコンピュータシステムを動作させ、本明細書で説明した機能を実行させる。
【００７４】
本発明の幾つかの実施の形態を説明してきた。とはいえ、言うまでもなく本発明の精神および範囲を逸脱することなく、各種の改変がなされてもよい。例えば、上記のステップの幾つかは順不同でもよく、従って説明したのと異なる順序で実行することができる。
【００７５】
言うまでもなく、上記説明は、説明を目的としたものであり、付帯のクレームの範囲により定義される本発明の範囲を限定するものではない。例えば、上記の幾つかの機能ステップは、実質的に全体の処理に影響を与えることなく異なる順序で実行してもよい。他の実施の形態は以下のクレームの範囲内にある。
【図１】
0005643654.tif 000002
【図２】
0005643654.tif 000003
【図３】
0005643654.tif 000004
【図４Ａ】
0005643654.tif 000005
【図４Ｂ】
0005643654.tif 000006
【図５】
0005643654.tif 000007
【図６】
0005643654.tif 000008
【図７Ａ】
0005643654.tif 000009
【図７Ｂ】
0005643654.tif 000010
【図８】
0005643654.tif 000011