(57)【要約】  記憶装置を備えたデータ分析装置でデータを分析するデータ分析方法であって、前記データ分析装置が、分析対象のデータを識別する第１の識別子と、当該第１の識別子に対応する属性を含む次元表を複数設定する第１のステップと、前記データ分析装置が、前記複数の次元表の第１の識別子にそれぞれ対応付けられた第２の識別子を有し、これら第２の識別子に対応する属性を含む履歴表を設定する第２のステップと、前記データ分析装置が、前記第１の識別子と第２の識別子に関連する属性を格納する関係表を設定する第３のステップと、前記データ分析装置が、前記次元表の第１の識別子を参照する前記第１の識別子と第２の識別子に関連する属性を関連付ける第４のステップと、前記データ分析装置が、前記関係表と前記第１の次元表を組み合わせて問合せを行い、当該問合せの結果、第２の次元表を生成する第５のステップと、を含む。
2014041699.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備えたデータ分析装置におけるデータを分析するデータ分析方法であって、
前記データ分析装置が、分析対象のデータを識別する第１の識別子と、当該第１の識別子に対応する属性を含む次元表を複数設定する第１のステップと、
前記データ分析装置が、前記複数の次元表の第１の識別子にそれぞれ対応付けられた第２の識別子を有し、これら第２の識別子に対応する属性を含む履歴表を設定する第２のステップと、
前記データ分析装置が、前記第１の識別子と第２の識別子に関連する属性を格納する関係表を設定し、前記複数の次元表は、前記第１の識別子と第２の識別子に関連する属性を介して前記関係表に関連付けられた第１の次元表を含む第３のステップと、
前記データ分析装置が、前記次元表の第１の識別子を参照する前記第１の識別子と第２の識別子に関連する属性を関連付ける第４のステップと、
前記データ分析装置が、前記関係表と前記第１の次元表についての問合せの処理を行い、当該問合せの処理の結果、第２の次元表を生成する第５のステップと、
を含むことを特徴とするデータ分析方法。
【請求項２】
請求項１に記載のデータ分析方法であって、
前記データ分析装置が、前記生成された第２の次元表と前記複数の次元表と関連する履歴表とが関連付けられた問合せを実行する第６のステップを含むことを特徴とするデータ分析方法。
【請求項３】
請求項１に記載のデータ分析方法であって、
前記第５のステップは、
前記データ分析装置が、前記複数の次元表と関連する前記履歴表とが関連付けられた問合せを実行し、当該問合せの実行の結果、第２の次元表を生成し、前記生成された第２の次元表と前記関係表を関連付けられた問合せを実行する第７のステップを含むことを特徴とするデータ分析方法。
【請求項４】
請求項１に記載のデータ分析方法であって、
前記第５のステップは、
前記関係表と前記第１の次元表とが組み合わせられた問合せは、前記関係表と前記第１の次元表で構成されるグラフ構造から特定された属性を指定することを特徴とするデータ分析方法。
【請求項５】
請求項２に記載のデータ分析方法であって、
前記第６のステップは
前記第２の次元表と前記関係表とが関連付けられた問合せは、前記第２の次元表の属性を指定することを特徴とするデータ分析方法。
【請求項６】
請求項２に記載のデータ分析方法であって、
前記第６のステップは、
前記第２の次元表と前記複数の次元表と関連する履歴表とが関連付けられた問合せを、前記属性と複数の属性値の範囲を指定することを特徴とするデータ分析方法。
【請求項７】
請求項３に記載のデータ分析方法であって、
前記第７のステップは、
前記第２の次元表と前記関係表とが関連付けられた問合せは、前記第２の次元表の属性を指定することを特徴とするデータ分析方法。
【請求項８】
請求項３に記載のデータ分析方法であって、
前記第７のステップは、
前記第２の次元表と前記複数の次元表と関連する履歴表とが関連付けられた問合せを、前記属性と複数の属性値の範囲を指定することを特徴とするデータ分析方法。
【請求項９】
プロセッサと記憶装置を備えて、データを分析するデータ分析装置であって、
分析対象のデータを識別する第１の識別子と、当該第１の識別子に対応する属性を含む次元表を複数設定し、前記複数の次元表の第１の識別子にそれぞれ対応付けられた第２の識別子を有し、これら第２の識別子に対応する属性を含む履歴表を設定し、前記第１の識別子と第２の識別子に関連する属性を格納する関係表を設定し、前記複数の次元表は、前記第１の識別子と第２の識別子に関連する属性を介して前記関係表に関連付けられた第１の次元表を含み、前記次元表の第１の識別子を参照する前記第１の識別子と第２の識別子に関連する属性を関連付ける表定義処理部と、
前記複数の次元表と、前記履歴表及び前記関係表にそれぞれデータを取り込むデータロード部と、
問合せを受け付けて、前記次元表と履歴表及び関係表について問合せを実行し、当該問合せの実行の結果、第２の次元表を生成する問合せ処理部と、
を備えたことを特徴とするデータ分析装置。
【請求項１０】
請求項９に記載のデータ分析装置であって、
前記問合せ処理部は、
前記生成された第２の次元表と前記複数の次元表と関連する履歴表とが関連付けられた問合せを実行することを特徴とするデータ分析装置。
【請求項１１】
請求項９に記載のデータ分析装置であって、
前記問合せ処理部は、
前記複数の次元表と関連する前記履歴表とが関連付けられた問合せを実行し、当該問合せの実行の結果、第２の次元表を生成し、前記生成された第２の次元表と前記関係表を関連付けた問合せを実行することを特徴とするデータ分析装置。
【請求項１２】
請求項９に記載のデータ分析装置であって、
前記問合せ処理部は、
前記関係表と前記第１の次元表とが組み合わせられた問合せは、前記関係表と前記第１の次元表で構成されるグラフ構造から特定された属性を指定することを特徴とするデータ分析装置。
【請求項１３】
請求項１０に記載のデータ分析装置であって、
前記問合せ処理部は、
前記第２の次元表と前記関係表とが関連付けられた問合せは、前記第２の次元表の属性を指定することを特徴とするデータ分析装置。
【請求項１４】
請求項１０に記載のデータ分析装置であって、
前記問合せ処理部は、
前記第２の次元表と前記複数の次元表と関連する履歴表を関連付けた問合せを、前記属性と複数の属性値の範囲を指定することを特徴とするデータ分析装置。
【請求項１５】
プロセッサと記憶装置を備えた計算機でデータを分析する処理プログラムを格納した非一時的な記憶媒体であって、
分析対象のデータを識別する第１の識別子と、当該第１の識別子に対応する属性を含む次元表を複数設定する第１の手順と、
前記複数の次元表の第１の識別子にそれぞれ対応付けられた第２の識別子を有し、これら第２の識別子に対応する属性を含む履歴表を設定する第２の手順と、
前記第１の識別子と第２の識別子に関連する属性を格納する関係表を設定し、前記複数の次元表は、前記第１の識別子と第２の識別子に関連する属性を介して前記関係表に関連付けられた第１の次元表を含む第３の手順と、
前記次元表の第１の識別子を参照する前記第１の識別子と第２の識別子に関連する属性を関連付ける第４の手順と、
前記関係表と前記第１の次元表についての問合せに基づいた処理を行い、当該問合せの処理の結果、第２の次元表を生成する第５の手順と、
を前記計算機に実行させることを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【請求項１６】
請求項１５に記載の処理プログラムを格納した非一時的な記憶媒体であって、
前記生成された第２の次元表と前記複数の次元表と関連する履歴表を関連付けた問合せを実行する第６の手順を含むことを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【請求項１７】
請求項１５に記載の処理プログラムを格納した非一時的な記憶媒体であって、
前記第５の手順は、
前記複数の次元表と関連する前記履歴表とが関連付けられた問合せを実行し、当該問合せの結果、第２の次元表を生成し、前記生成された第２の次元表と前記関係表を関連付けた問合せを実行する第７の手順を含むことを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【請求項１８】
請求項１５に記載の処理プログラムを格納した非一時的な記憶媒体であって、
前記第５の手順は、
前記関係表と前記第１の次元表とが組み合わせられた問合せは、前記関係表と前記第１の次元表で構成されるグラフ構造から特定された属性を指定することを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【請求項１９】
請求項１６に記載の処理プログラムを格納した非一時的な記憶媒体であって、
前記第６の手順は
前記第２の次元表と前記関係表を関連付けられた問合せは、前記第２の次元表の属性を指定することを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【請求項２０】
請求項１６に記載の処理プログラムを格納した非一時的な記憶媒体であって、
前記第６の手順は、
前記第２の次元表と前記複数の次元表と関連する履歴表を関連付けられた問合せを、前記属性と複数の属性値の範囲を指定することを特徴とする処理プログラムを格納した非一時的な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに蓄積されたデータを分析する技術に関する。
【背景技術】
【０００２】
企業などでは、一般的な業務システムとしてはＲＤＢ（Relational Data Base）のデータベースを使用し、膨大なデータを蓄積している。企業では、蓄積した顧客データや販売データを、多次元的に解析して、視覚化することでビジネスの課題を解決するために利用することが検討されている。この種のデータの多次元的な解析手法としては、ＯＬＡＰ（On-line Analytical Processing）が知られており、多次元のデータを操作して、複雑な分析を行うものである。例えば、顧客の商品購入の履歴を解析し、地域別の売上や製品別の売上や、既設単位の売上など、多様な次元から高速に分析を実行する。【０００３】
データベースの解析では、人の消費行動の予測を行うことで、ビジネス的な付加価値を狙うことが求められている（例えば、特許文献１、２、３）。【０００４】
一方、ＲＤＢに対して、ノードとエッジからなるグラフ型データベースも知られている。グラフ型データベースでは、人と人の関係や、物流網における配送状況など複雑な関係を表現するためのデータを、そのままの形で格納し、ＲＤＢのように事前にスキーマ定義を必要としない。このグラフ型データベースを用いて分析を行うグラフ分析では、データのクラスタ性や、距離近似性で、人、モノ、コンテンツを精緻に判断することを目的としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００６−５１３４６２号
【特許文献２】特開平１０−１１６１９０号
【特許文献３】特開２０１１−２９１１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来のＯＬＡＰによるＲＤＢのデータ分析では、基本的にデータの集約であり、精緻なデータ分析がなされていなかった。一方、グラフ分析では、データのクラスタ性や、距離近似性で、人やモノ、コンテンツを精緻に判断することを狙っている。【０００７】
そこで、グラフ分析でデータのクラスタ性や、距離近似性で、人やモノ、コンテンツ間の関係性を解析する。そして、グラフ分析の結果から、データの全体像、相互関係、潜在的な構造を探るため、ＯＬＡＰ及び統計解析などのデータ分析を組み合わせることは、個別のシステムとして実現されている。このため、膨大なデータから精緻な分析を行うためには、複数のアプリケーションアプリを使い分けることで対処することしかできない、という問題があった。【０００８】
また、ＯＬＡＰのデータ分析では、次元表及び履歴表によって構成されるスタースキーマに対して問合せが処理されて問合せ結果が得られるが、次元表への範囲検索によって問合せ対象を絞り込むことがなされていた。即ち、データ分析対象を絞り込む手段は、次元表への範囲検索でしか実現が困難であった。【０００９】
そこで本発明は、複数のアプリケーションを用いることなく、ＲＤＢのデータ分析と、グラフ分析を組み合わせて、精緻なデータ分析を実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、記憶装置を備えたデータ分析装置におけるデータを分析するデータ分析方法であって、前記データ分析装置が、分析対象のデータを識別する第１の識別子と、当該第１の識別子に対応する属性を含む次元表を複数設定する第１のステップと、前記データ分析装置が、前記複数の次元表の第１の識別子にそれぞれ対応付けられた第２の識別子を有し、これら第２の識別子に対応する属性を含む履歴表を設定する第２のステップと、前記データ分析装置が、前記第１の識別子と第２の識別子に関連する属性を格納する関係表を設定し、前記複数の次元表は、前記第１の識別子と第２の識別子に関連する属性を介して前記関係表に関連付けられた第１の次元表を含む第３のステップと、前記データ分析装置が、前記次元表の第１の識別子を参照する前記第１の識別子と第２の識別子に関連する属性を関連付ける第４のステップと、前記データ分析装置が、前記関係表と前記第１の次元表について問合せ処理を行い、当該問合せ処理の結果、第２の次元表を生成する第５のステップと、を含む。
【発明の効果】
【００１１】
本発明によれば、次元表を重複して保持しないので、データ容量を削減することができ、また、グラフ分析及びＯＬＡＰ分析した結果、次元表のデータ件数が削減され、さらに直積計算及びグラフ処理のデータ処理量も削減される。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施例を示し、グラフデータ分析装置の一例を示すブロック図である。
【図２】第１の実施例を示し、データの関連の一例を示すブロック図である。
【図３Ａ】第１の実施例を示し、スタースキーマとキューブの関係を示すブロック図である。
【図３Ｂ】第１の実施例を示し、グラフ構造とグラフ表現の一例を示す図である。
【図４】第１の実施例を示し、関係表を生成する際のデータの関係を示す図である。
【図５Ａ】第１の実施例を示し、スタースキーマを生成する際のデータの関係を示す図である。
【図５Ｂ】第１の実施例を示し、スタースキーマの定義の一例を示す図である。
【図６】第１の実施例を示し、スタースキーマに販売データベースのデータを取り込んだ状態を示す図である。
【図７Ａ】第１の実施例を示し、顧客次元表と顧客関係表の組み合わせをグラフ構造として扱う場合のデータの組み合わせを示す図である。
【図７Ｂ】第１の実施例を示し、顧客次元表と顧客関係表の組み合わせをグラフ構造として扱う場合のデータの組み合わせを示す図である。
【図８】第１の実施例を示し、スタースキーマに販売データベースのデータを取り込み、顧客関係表に通話データベースのデータを取り込んだ状態を示す図である。
【図９】第１の実施例を示し、表定義処理部で行われる処理の一例を示すフローチャートである。
【図１０】第１の実施例を示し、データロード処理部で行われる処理の一例を示すフローチャートである。
【図１１】第１の実施例を示し、商品と顧客に関する統合分析の問合せ処理の一例を示す図である。
【図１２】第１の実施例を示し、再帰的問合せの一例を示す図である。
【図１３Ａ】第１の実施例を示し、スタースキーマの問合せ処理の一例を示す図である。
【図１３Ｂ】第１の実施例を示し、スタースキーマの問合せ結果の一例を示す次元表の図である。
【図１３Ｃ】第１の実施例を示し、スタースキーマの問合せ処理の一例を示す次元表の図である。
【図１４】第１の実施例を示し、問合せ処理部で行われる処理の一例を示すフローチャートである。
【図１５】第１の実施例を示し、グラフデータ分析装置をセントラルデータウェアハウスに適用した例を示す。
【図１６】本発明の第２の実施例を示し、スタースキーマから第２の次元表を生成し、その後、グラフデータを出力する際のデータの関係を示す図である。
【図１７】第２の実施例を示し、スタースキーマから第２の次元表を生成する際のデータの関係を示す図である。
【図１８】第２の実施例を示し、スタースキーマから第２の次元表を生成する際の問合せの一例を示す図である。
【図１９Ａ】第２の実施例を示し、第２の次元表からグラフデータを生成する際の問合せの一例を示す図である。
【図１９Ｂ】第２の実施例を示し、第２の次元表からグラフデータを生成する際のデータの関連を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について添付図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明の第１の実施例のグラフデータ分析装置の一例を示すブロック図である。グラフデータ分析装置１は、データベース１０に格納したＰＤ１〜ＰＤ４のデータに対して、受け付けた問合せに応じた分析を実行し、分析結果を出力する計算機である。【００１５】
グラフデータ分析装置１は、演算を行うＣＰＵ８と、データやプログラムを保持する主記憶装置２と、データベース１０やプログラムを格納する補助記憶装置４と、ネットワーク（図示省略）と通信を行うネットワークインタフェース５と、補助記憶装置４に読み書き行う補助記憶装置インターフェース３と、キーボードやマウスで構成された入力装置６と、ディスプレイやスピーカ等で構成された出力装置７と、から構成される計算機である。【００１６】
主記憶装置２には、オペレーティングシステム（ＯＳ）２０がロードされＣＰＵ８によって実行される。そして、ＯＳ２０上では、問合せを受け付けてデータの分析を行うグラフデータ分析部３０が稼働する。グラフデータ分析部３０は、処理ユニットとして表定義処理部３１０と、データロード処理部３２０と、問合せ処理部３３０とを有する。グラフデータ分析部３０は、処理対象データ及びデータ構造としてスタースキーマ４００と関係表５００を有する。処理ユニットである表定義処理部３１０、データロード処理部３２０並びに問合せ処理部３３０は、主記憶装置２にロードされてからＣＰＵ８によって実行される。【００１７】
ＣＰＵ８は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ８は、表定義プログラムに従って動作することで表定義処理部３１０として機能する。他のプログラムについても同様である。さらに、ＣＰＵ８は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。【００１８】
グラフデータ分析部３０の各機能を実現するプログラム、データまたはデータ構造等の情報は、補助記憶装置４や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。【００１９】
補助記憶装置４には、解析するデータの元となるデータベース１０と、データベース１０の構造や、スタースキーマ４００の構造などの定義を格納した辞書１１と、スタースキーマ４００のファクト表４１０のデータを格納する履歴情報１２が格納される。なお、図示はしないが、上述したように、ＯＳ２０やグラフデータ分析部３０のプログラムを補助記憶装置４に格納することができる。また、図１では、スタースキーマ４００が主記憶装置２に保持される例を示すが、スタースキーマ４００の容量が大きい場合には、スタースキーマ４００の一部を主記憶装置２に保持し、その他を、補助記憶装置４に保持するようにしてもよい。【００２０】
なお、図１において、データベース１０にはＲＤＢで構成されたＰＤ１〜ＰＤ４が格納されている例を示すが、これらのデータベース１０は、分析対象の元のデータであり、外部のデータベースの複製や部分などで構成することができる。【００２１】
そして、履歴情報１２は、データベース１０のデータのうち、分析対象のデータを時系列的に抽出したデータであり、スタースキーマ４００のファクト表４１０として用いられるものである。辞書１１には、履歴情報１２の定義や、スタースキーマ４００の定義や関係表５００の定義が格納される。【００２２】
＜データ分析の概要＞
本発明のグラフデータ分析装置１では、ＯＬＡＰ（On-line Analytical Processing）を用いてＲＤＢを多次元データとして分析を行う際に、履歴情報１２の中のグラフ構造を抽出し、ＯＬＡＰの操作対象となるデータ量を絞り込む点を特徴とする。【００２３】
図２は、本発明で用いるデータの関連の一例を示すブロック図である。本発明では、ＯＬＡＰの操作対象となるキューブ７００は、スタースキーマ４００に対してＯＬＡＰ操作された処理結果である。スタースキーマ４００の定義されたテーブル群は、データベース１０を元データとする履歴情報１２から抽出したデータの実体を備えるファクト表４１０と、分析または集計するデータを定義した複数の次元表４２０ａ〜４２０ｄとから構成される。なお、以下では、次元表の総称を４２０で示す。ファクト表４１０と次元表４２０は、主キーで関連付けられる。【００２４】
図２の例では、データベースＰＤ１が販売データベースで、履歴情報１２としては顧客売上履歴表（図７Ａ、図８参照）を提供する。データベースＰＤ２が通話データベースで、履歴情報１２としては通話履歴表（図４参照）を提供する。【００２５】
そして、図２では、スタースキーマ４００の構造が、ファクト表４１０に対して商品、顧客、期間、地域の次元表４２０から構成される例を示し、グラフ構造として人（顧客）同士の関係性に着目する例を示している。【００２６】
このため、次元表４２０ａは、商品名に関する商品次元表であり（図７Ａ参照）、次元表４２０ｂは、期間に関する期間次元表であり（図７Ａ参照）、次元表４２０ｃは、顧客の識別子に関する顧客元表であり（図７Ａ参照）、次元表４２０ｄは、地域名に関する地域次元表である（図７Ａ参照）。【００２７】
また、グラフ構造６００は人の関係性に着目する例を示し、人の識別子と、人同士の関係性で構成される。グラフ構造６００は、ノードとノード間の関係性を示すエッジから構成され、ノードが主キーを持つ。【００２８】
ここで、スタースキーマ４００の顧客次元表４２０ｃと、人に着目するグラフ構造６００が、同じデータを対象とすることになれば、図３で示すように、スタースキーマ４００の顧客次元表４２０ｃとグラフ構造６００に含まれる５００’と同じものとすることが可能となる。【００２９】
つまり、スタースキーマ４００の次元表４２０のひとつをノードとし、グラフデータ自体はエッジのみを保持すれば良いので、同じデータを含む次元表４２０とノードを結合することで、ノードのデータを重複して保持するのを回避できる。これにより、スタースキーマ４００の次元表４２０と、グラフ構造６００のデータ量を削減することが可能となる。【００３０】
そして、問合せの処理の際には、人に関連したファクト表４１０のＯＬＡＰ分析を行う場合、まず、グラフ構造６００によるグラフデータ分析で、対象の次元表のデータを絞り込む。従来までは、次元表への範囲検索でだけ絞り込みがなされていた。【００３１】
すなわち、グラフデータ分析によって、対象の顧客数を１／ｎに絞り込むことで顧客次元表４２０ｃのデータを削減できる。【００３２】
したがって、ファクト表４１０を絞り込む対象の次元表４２０が、グラフ構造６００で表現可能な場合には、グラフデータ分析によって次元表４２０を絞り込むことが可能となるので、後のＯＬＡＰの操作対象のデータ量が大幅に削減され、分析に要する時間を短縮できるのである。【００３３】
図３Ａは、スタースキーマ４００とキューブ７００の関係を示す図である。スタースキーマ４００の各次元表４２０ａ〜４２０ｄの主キーの値数をｗ、ｘ、ｙ、ｚとする。キューブ７００は、キューブをなす空間の各セル毎の集約値を算出するために、Ｏ（ａ×ｂ×ｃ×ｄ）の計算量が必要である。例えば、商品数×顧客数×期間数×地域数となる。【００３４】
図３Ｂは、グラフ構造とグラフ表現の一例を示す図である。グラフ構造６００は、ノードと（ノード間の関係を表現する）エッジからなり、ノードは主キーを持つ。例えば、グラフ構造６００で人の関係性を表現すると、ノードは人の識別子を主キーとして持つ。【００３５】
図中、グラフ表現６００Ａから、グラフデータ分析（パス解析、中心性解析）した結果、特定の人を含む周辺の人（図では１ホップ内）を算出すると、グラフ表現６００Ｂのように、Ａ〜Ｄの４人のグラフとなる。この結果、ＯＬＡＰの操作対象の人数は１／ｎとなる。【００３６】
ここで、本発明では、履歴情報１２からグラフ構造に対応する関係表５００を生成する。そして、関係表５００と同じ表とされた次元表４２０についてグラフデータ分析を実施することで、ＯＬＡＰの操作対象のデータを絞り込むのである。【００３７】
＜関係表の生成＞
次に、関係表５００を生成するデータの関連の一例を図４に示す。図４はデータベースＰＤ２の通話データベースから、通話履歴表１２０と、電話管理表１２１と、顧客表１２２を用いて、顧客間の関連性を示す関係表５００として、顧客関係表５００Ａを生成する例を示す。この処理は、図１に示したグラフデータ分析部３０の、表定義処理部３１０で行われる。【００３８】
通話履歴表１２０は、通話を識別する通話識別子１２０１と、発信元の電話番号を格納する電話ｆｒｏｍ１２０２と、着信先の電話番号を格納する電話ｔｏ１２０３と、通話時間１２０４と、時刻１２０５等からひとつのレコード（または行）が構成される。なお、時刻１２０５は、通話開始時刻または修了時刻など予め設定した時刻である。【００３９】
電話管理表１２１は、電話ＮＯと１２１０と、当該電話の使用者を示す顧客識別子１２１１を含んでひとつのレコード（または行）が構成される。【００４０】
顧客表１２２は、顧客識別子１２２０と、顧客名１２２１を含んでひとつのレコード（または行）が構成される。【００４１】
本実施例では、顧客識別子と、発信元（電話ｆｒｏｍ１２０２）と、着信先（電話ｔｏ１２０３）から顧客間のエッジに相当するグラフ構造６００を顧客関係表５００Ａとして取得する。なお、上記通話データベースの履歴情報１２では、通話履歴表１２０と、電話管理表１２１と、顧客表１２２から顧客名毎の通話時間の総計などから通話料の算出を行うことができる。【００４２】
まず、表定義処理部３１０は、通話履歴表１２０の電話ｆｒｏｍ１２０２と電話ｔｏ１２０３の電話ＮＯをキーとして、発信元の顧客識別子と、着信先の顧客識別子を電話管理表１２１から取得する。また、各顧客識別子に対応する顧客名１２２１を顧客表１２２から取得する。【００４３】
次に、表定義処理部３１０は、通話履歴表１２０の電話ｆｒｏｍ１２０２を発信元の顧客識別子とした顧客ｆｒｏｍ５０１と、電話ｔｏ１２０３を着信先の顧客識別子とした顧客ｔｏ５０２と、時間１２０４を格納する時間５０３と、時刻１２０５を格納する時刻５０４と、からひとつのレコード（または行）を構成する顧客関係表５００Ａを生成する。【００４４】
次に、表定義処理部３１０は、生成した顧客関係表５００Ａについて、顧客ｆｒｏｍ５０１と顧客ｔｏ５０２の顧客識別子が顧客次元表４２０ｃに対応する定義５１０を設定する。【００４５】
＜スタースキーマ４００の生成＞
次に、スタースキーマ４００を生成するデータの関連の一例を図５Ａ、図５Ｂに示す。図５Ａは、スタースキーマを生成する際のデータの関係を示す図である。図５Ｂは、スタースキーマの定義の一例を示す図である。【００４６】
図５ＡはデータベースＰＤ１の販売データベースから、図２に示した次元表４２０とファクト表４１０を生成する例を示す。この処理は、図１に示したグラフデータ分析部３０の、表定義処理部３１０で行われる。なお、本実施例では、ファクト表４１０として顧客売上履歴表４１０ａを生成する例を示す。【００４７】
表定義処理部３１０は、データベースＰＤ１の販売データベースから顧客売上履歴表４１０ａを生成する。顧客売上履歴表４１０ａは、販売された商品識別子４１１と、当該商品を購入した顧客識別子４１２と、当該商品が販売された地域コード４１３と、当該商品が販売された時期を格納する期間コード４１４と、販売された価格を格納する売価４１５と、販売された個数４１６とを含んでひとつのレコード（または行）が構成される。なお、本実施例では、顧客売上履歴表４１０ａの商品識別子４１１と、顧客識別子４１２と、地域コード４１３と、期間コード４１４とを複数の識別子として扱い、売価４１５と個数４１６を属性として扱う。【００４８】
次に、表定義処理部３１０は、顧客売上履歴表４１０ａの商品識別子４１１を主キーとする商品次元表４２０ａを販売データベースから生成する。商品次元表４２０ａは、主キーとなる、商品識別子４２１と商品名４２２を含んでひとつのレコード（または行）が構成される。そして、本実施例では、商品識別子４２１を顧客売上履歴表４１０ａの商品識別子４１１に関連付けられた識別子として扱い、商品名４２２を属性として扱う。【００４９】
次に、表定義処理部３１０は、顧客売上履歴表４１０ａの顧客識別子４１２を主キーとする顧客次元表４２０ｂを販売データベースから生成する。顧客次元表４２０ｃは、主キーとなる、顧客識別子４２５と顧客名４２６を含んでひとつのレコード（または行）が構成される。そして、本実施例では、顧客識別子４２５を顧客売上履歴表４１０ａの顧客識別子４１２に関連付けられた識別子として扱い、顧客名４２６を属性として扱う。【００５０】
次に、表定義処理部３１０は、顧客売上履歴表４１０ａの地域コード４１３を主キーとする地域次元表４２０ｄを販売データベースから生成する。地域次元表４２０ｄは、主キーとなる地域コード４２７と地域名４２８を含んでひとつのレコード（または行）が構成される。そして、本実施例では、地域コード４２７を顧客売上履歴表４１０ａの地域コード４１３に関連付けられた識別子として扱い、地域名４２８を属性として扱う。【００５１】
次に、表定義処理部３１０は、顧客売上履歴表４１０ａの期間コード４１４を主キーとする期間次元表４２０ｂを販売データベースから生成する。期間次元表４２０ｂは、主キーとなる期間コード４２３と属性としての期間名４２４を含んでひとつのレコード（または行）が構成される。そして、本実施例では、期間コード４２３を顧客売上履歴表４１０ａの期間コード４１４に関連付けられた識別子として扱い、期間名４２４を属性として扱う。【００５２】
図５Ｂは、スタースキーマ４００の定義５２０の一例である。表定義処理部３１０は、図５Ｂの定義５２０を読み込んで、図５Ａに示した、ファクト表４１０（顧客売上履歴表４１０ａ）と次元表４２０を生成する。【００５３】
＜グラフ構造の設定＞
図６は、表定義処理部３１０が図５Ａに示すスタースキーマ４００を生成し、データベースＰＤ１の販売データベースのデータを取り込んだ状態を示す。【００５４】
ここで、顧客次元表４２０ｃは、顧客識別子４２５を主キーとすることから、図２に示したグラフ構造６００のノードと同一のデータで構成できることが分かる。一方、図４で示した顧客関係表５００Ａでは、顧客識別子（顧客ｆｒｏｍ５０１と顧客ｔｏ５０２）間の通話の方向性を顧客間の相関関係を示すエッジとして扱うことができる。【００５５】
そこで、本発明では、顧客次元表４２０ｃの顧客識別子４２５をノードとし、図４で示したように顧客間の通話履歴の相関関係を示す顧客関係表５００Ａの顧客ｆｒｏｍ５０１と顧客ｔｏ５０２をエッジとして用いることで、スタースキーマ４００の顧客次元表４２０ｃと顧客関係表５００Ａを組み合わせることで、グラフ構造６００として扱う。【００５６】
図７Ａは、顧客次元表４２０ｃと顧客関係表５００Ａの組み合わせをグラフ構造６００として扱う場合のデータの組み合わせを示す図である。図中太線で接続したスタースキーマ４００の顧客次元表４２０ｃの顧客識別子４２５をノードとし、顧客関係表５００Ａの顧客ｆｒｏｍ５０１と顧客ｔｏ５０２をエッジのＦｒｏｍ及びＴｏとする。【００５７】
これにより、スタースキーマ４００の顧客次元表４２０ｃをノードとし、顧客関係表５００Ａをエッジとしてグラフ構造６００’を構成することができる。これにより、関係表５００はグラフデータのノードを有すること無く、エッジのみを保持すれば良いので、スタースキーマ４００とグラフ構造６００を合わせたときのデータ量を削減できる、という効果がある。【００５８】
さらに、後述する問合せ処理では、図７Ａのグラフ構造６００’に対してグラフデータ分析を実施し、操作対象のファクト表４１０である顧客売上履歴表４１０ａのデータ量を絞り込むことで、高速にＯＬＡＰによるデータ分析を実現できる。【００５９】
図７Ｂは、顧客次元表４２０ｃと顧客関係表５００Ａの組み合せからグラフ構造６００をとして扱う場合の定義５３０の一例を示す図である。定義５３０は、ノードとなる顧客次元表４２０ｃを定義し、さらに、エッジとなる顧客関係表５００Ａを定義する例である。【００６０】
図８は、図７Ａのスタースキーマ４００と顧客関係表５００Ａに実際のデータをデータベースＰＤ１、ＰＤ２から取り込んだものである。グラフデータ分析部３０は、問合せを受け付けると、スタースキーマ４００の次元表４２０と顧客売上履歴表４１０ａと顧客関係表５００Ａから、顧客についてグラフ構造６００’を用いて絞り込みを行ってから分析を行うことができる。【００６１】
＜表定義処理部＞
図９は、表定義処理部３１０で行われる処理の一例を示すフローチャートである。この処理は、グラフデータ分析装置１が問合せを受け付けたときに実行される。この表定義処理部３１０では、問合せで分析対象となるデータベースを定義する。つまり、表定義処理部３１０は、事柄や物の関係性を格納する関係表５００と、実世界のデータの意味を記述得る次元表４２０と、実世界のデータを一元的な時系列データとして格納する履歴表と、関係表５００と次元表４２０の関連を定義する。【００６２】
表定義処理部３１０は、問合せで指定された分析対象を識別する主キーと、当該キーに関連する１以上の属性を列とする複数の次元表４２０を定義する（Ｓ１）。この処理は、図５Ｂの「ＣＲＥＡＴＥ  ＴＡＢＬＥ  〜次元表」に対応する。【００６３】
次に、表定義処理部３１０は、複数の次元表４２０の主キーを参照する複数の列で主キーを構成し、これら主キーに関連する１以上の属性を列とする履歴表を定義する（Ｓ２）。この処理は、図５Ｂの「ＣＲＥＡＴＥ  ＴＡＢＬＥ  顧客売上履歴表」に対応する。【００６４】
次に、表定義処理部３１０は、次元表４２０の主キーを参照する第１の列及び第２の列と、当該第１の列及び第２の列に関連する１以上の属性を列とする関係表を定義する（Ｓ３）。この処理は、図７Ｂの「ＣＲＥＡＴＥ  ＴＡＢＬＥ  顧客関係表」及び図４の定義５１０に対応する（Ｓ３）。【００６５】
次に、表定義処理部３１０は、次元表４２０の主キーを参照する関係表５００の第１の列及び第２の列と、関係表５００の主キーを関連付ける定義を行う。この処理は、図７Ｂの「ＣＲＥＡＴＥ  ＴＡＢＬＥ  顧客次元表」及び「ＣＲＥＡＴＥ  ＴＡＢＬＥ  顧客関係表」に対応する（Ｓ３）。この処理によって、図８のグラフ構造６００’が設定される。【００６６】
以上の処理によって、図７Ａに示したように、スタースキーマ４００と関係表５００及びグラフ構造６００’が定義される。【００６７】
＜データロード処理部＞
図１０は、グラフデータ分析装置１のデータロード処理部３２０で行われる処理の一例を示すフローチャートである。この処理は、図９の処理が完了した後に実行される。あるいは、管理者などが入力装置６から実行を指示したときに行われる。【００６８】
データロード処理部３２０は、表定義処理部３１０が生成した分析対象の各次元表４２０にデータベース１０からデータをロードする（Ｓ１１）。【００６９】
次に、データロード処理部３２０は、表定義処理部３１０が生成した分析対象の顧客売上履歴表４１０ａ（ファクト表４１０）にデータベース１０からデータをロードする（Ｓ１２）。【００７０】
次に、データロード処理部３２０は、表定義処理部３１０が生成した分析対象の顧客売上履歴表４１０ａ（ファクト表４１０）にデータベース１０からデータをロードする（Ｓ１２）。【００７１】
データロード処理部３２０は、履歴情報１２から、次元表４２０の主キーを参照する列情報と、それらの列に関連する属性を、行として関係表５００にロードする（Ｓ１３）。【００７２】
以上の処理により、スタースキーマ４００の次元表４２０、ファクト表４１０と、次元表４２０を参照する関係表５００にデータベース１０のデータが取り込まれる。この結果、例えば、図８で示すようにスタースキーマ４００と関係表５００にデータが格納される。【００７３】
＜問合せ処理部＞
次に、グラフデータ分析装置１の問合せ処理部３３０で行われる処理の一例を示す。図１１は、商品と顧客に関する統合分析の問合せ処理の一例を示す図である。この処理は、グラフデータ分析装置１がネットワークインタフェース５または入力装置６から問合せを受け付けたときに実行される。【００７４】
図１１の例では、顧客次元表４２０ｃ（第１の次元表）に顧客識別子４２５が「Ａ」〜「Ｕ」のデータが含まれ、グラフ構造６００’のノードを構成する。顧客関係表５００Ａも顧客ｆｒｏｍ５０１と顧客ｔｏに顧客識別子が「Ａ」〜「Ｕ」のデータが含まれている。【００７５】
問合せ処理部３３０では、問い合わせの内容に応じて、顧客識別子（または顧客名）による絞り込みを行う。例えば、地域コード４１３＝ｘ、期間コード４１４＝ｙで売価４１５の合計が１位の顧客に関係する顧客について分析を行う例を示す。【００７６】
まず、問合せ処理部３３０は、地域コード４１３、期間コード４１４が問合せの条件を満たす顧客識別子４１２毎に売価４１５の合計を算出し、この合計が最大の顧客識別子＝「Ａ」を抽出する。【００７７】
次に、問合せ処理部３３０は、顧客識別子４２５＝「Ａ」に関係する顧客識別子を、図１２で後述するように、グラフデータ分析によってグラフ構造６００’から抽出する。この結果、顧客識別子＝「Ａ」〜「Ｄ」の顧客が抽出され、これらの顧客の相関関係が図３Ｂのグラフ表現６００Ｂで示すことが出力される（図中（１））。【００７８】
ここで問合せ処理部３３０は、顧客識別子４２５を「Ａ」〜「Ｄ」に絞り込んだ顧客次元表４２０ｃ’を第２の次元表として以降の分析処理に用いる。すなわち、以降のスタースキーマ４００の分析では、商品次元表４２０ａ、期間次元表４２０ｂ、地域次元表４２０ｄに、第１の次元表を絞り込んだ第２の次元表である顧客次元表４２０ｃ’を顧客売上履歴表４１０ａ（ファクト表４１０）に関連付けて問合せを実行する。【００７９】
これにより、グラフ構造６００’に対応する次元表４２０Ｃ’（第２の次元表）のデータ量を絞り込んでからＯＬＡＰの操作などを行うことができ、少ないデータ量で高速に処理を実現できる。【００８０】
図１２は、問合せ処理部３３０のグラフデータ分析で再帰的な問合せ処理の一例を示す図である。この処理は、近接中心性（中心性解析）を再帰問合せで求める例で、図３Ｂのグラフ表現６００Ａの状態から、顧客識別子＝「Ａ」に関係する顧客を、グラフ表現６００Ｂとして抽出する再帰処理を示す。つまり、図１１の第１の次元表４２０ｃと顧客関係表５００Ａのグラフ構造６００’から第２の次元表４２０ｃ’の顧客識別子４２５をグラフデータ分析で抽出する処理の一例を示す。【００８１】
まず、図１２のＱ１では、問合せ処理部３３０が、顧客関係表５００Ａの顧客ｆｒｏｍ５０１、顧客ｔｏ５０２について、特定のノードから全ノードへの経路と距離を算出する処理を示す。つまり、図４の顧客関係表５００Ａの顧客ｆｒｏｍ５０１と、顧客ｔｏ５０２の距離ｄｉｓｔをそれぞれ算出する。ここで、顧客ｆｒｏｍ５０１と、顧客ｔｏ５０２の距離ｄｉｓｔは、図４で示したように、通話の時間５０３の積算値や通話を行った時間帯などから親密度を求め、親密度が高いほど距離ｄｉｓｔは近い値となる。なお、人間の距離については、上述の親密度の他、周知ないし公知の手法を利用すれば良い。【００８２】
図１２のＱ２では、問合せ処理部３３０が、顧客関係表５００Ａで特定のノードから全ノードへの最短経路（ｍｉｎＰａｔｈ）を求める処理である。この処理では、あるノードが関係する他のノードまでの経路のうち最短の経路を抽出する。【００８３】
次に、Ｑ３では、問合せ処理部３３０が、最短経路の距離の合計を計算し、距離の合計の逆数を計算する。次に、Ｑ４では、問合せ処理部３３０が、最短経路の距離の合計の逆数が最大のノード（例えば「Ａ」）を近接中心性と判定する。【００８４】
次に、図１２のＱ５では、問合せ処理部３３０が、最短経路の距離の合計の逆数が最大となるノードに隣接するノードを求める。この結果、図３Ｂで示すようなグラフ表現６００Ｂが得られる。【００８５】
以上より、問合せ処理部３３０は、図３Ｂのグラフ表現６００Ｂで示すように、グラフ表現６００Ｂの中心となる顧客識別子＝「Ａ」から所定の範囲の顧客識別子＝「Ｂ」〜「Ｄ」をグラフデータ分析によって抽出することができる。【００８６】
図１３Ａ、図１３Ｂ、図１３Ｃは、スタースキーマ４００の問合せ処理の一例を示す。図１３Ａは、地域名４２８＝東京で、顧客名４２６及び期間名４２４毎の売上総計（売価×個数）を求める例である。【００８７】
この例では、問合せＱ０２で、スタースキーマ４００の次元表４２０ｂ、４２０ｃ、４２０ｄの直積集合から分析結果が得られる。この例では、地域名４２８が東京で、期間名が１２年第２四半期で、売価４１５の合計を顧客名４２６毎に求める場合、地域コード４２７＝ＡＡＡで、期間コードと顧客識別子４２５毎に、顧客が購入した商品の売価の合計が得られる。この問合せＱ０２の結果が、図１３Ｂの問合せ結果Ａ０２として出力される。【００８８】
図１４は、問合せ処理部３３０で行われる処理の一例を示すフローチャートである。この処理では、次元表４２０及び顧客関係表５００Ａからクラスタ性と、距離近似性の再帰問合せから第２の次元表を作成し、作成した第２の次元表を含む複数の次元表４２０及びファクト表４１０とを関連付けジョイン及び集約の問合せから結果を得る例である。【００８９】
まず、問合せ処理部３３０は、次元表４２０及び関係表５００に、図１２で示したような再帰問合せを実行し、中間結果として第２の次元表（例えば、図１１の顧客次元表４２０ｃ’）を作成する（Ｓ２１）。【００９０】
次に、問合せ処理部３３０は、中間結果の次元表を含む複数の次元表４２０及び顧客売上履歴表４１０ａにジョイン及び集約の問合せを実行する（Ｓ２２）。そして、実行結果を出力する（Ｓ２３）。【００９１】
例えば、ステップＳ２１では、図１１で示したように、グラフ構造６００’を構成可能な顧客次元表４２０ｃと顧客関係表５００Ａから、図１２に示した近接中心性（中心性解析）を再帰問合せによって算出し、中心性の高い顧客としてグラフ表現６００Ｂに対応する第２の次元表（顧客次元表）４２０ｃ’を算出する。【００９２】
この結果、図１１の第２の次元表４２０ｃ’では、顧客識別子＝Ａを中心として、顧客識別子＝Ａと距離の近い顧客識別子＝Ｂ〜Ｄが抽出される。【００９３】
次に、ステップＳ２２では、例えば、図１３Ａで示したように、第２の次元表４２０ｃ’の顧客名毎の売価の合計を期間名毎に求めると、ステップＳ２３で、顧客識別子＝Ａ〜Ｄの顧客名毎の売価の合計が出力される。【００９４】
この例では、問合せ処理部３３０は、受け付けた問合せから、ある顧客の集団を含む顧客次元表４２０ｃと顧客関係表５００Ａから第２の次元表４２０ｃ’を算出し、顧客の集団内で中心性の高い顧客「Ａ」と、顧客「Ａ」と距離の近い顧客「Ｂ」〜「Ｄ」について、顧客売上履歴表４１０ａから商品の購入状況や購入動向を迅速に抽出することが可能となる。上記問合せの出力より、商品を購入した顧客の集団から中心性の高い顧客を抽出することで、新たな商品の紹介や広告を効率よく行うことができる。例えば、顧客「Ａ」にある商品の紹介を行うことで、顧客「Ａ」と距離の近い顧客「Ｂ」〜「Ｄ」に口コミなどで新たな商品の紹介を伝えることが可能となる。【００９５】
図１５は、グラフデータ分析装置１をセントラルデータウェアハウス（ＣＤＷＨ）に採用した例を示す。グラフデータ分析装置１の構成は、上記図１と同様である。この例では、グラフデータ分析装置１はＥＴＬ（Ｅxtract、Ｔransform、Ｌoad）ツールでデータベースＰＤ１〜ＰＤ４を取得する。そして、問合せを実行してＣＵＢＥ７００やグラフデータ（部分グラフなど）を出力する。グラフデータ分析装置１の出力について、ＯＬＡＰによる分析やグラフデータ分析を行う例を示している。なお、ＥＴＬツールは、外部の計算機で実行すれば良いが、グラフデータ分析装置１で実行しても良い。【００９６】
以上のように、第１の実施例では、次元表の一部をグラフ構造６００’の一部とすることで、データを重複して保持するのを防いで、データ量を削減することができる。また、グラフデータ分析した結果、次元表のデータ件数が削減され、さらに直積計算及びグラフ処理のデータ処理量も削減される。【００９７】
特に、ファクト表４１０を絞り込む対象の次元表４２０が、グラフ構造６００’で表現可能な場合には、グラフデータ分析によって迅速に次元表４２０を絞り込むことが可能となるので、後のＯＬＡＰの操作対象のデータ量が大幅に削減され、分析に要する時間を短縮できるのである。【００９８】
したがって、ファクト表４１０を絞り込む対象の次元表４２０が、グラフ構造６００’で表現可能な場合には、グラフデータ分析によって迅速にファクト表４１０を絞り込むことが可能となるので、後のＯＬＡＰの操作対象のデータ量が大幅に削減され、分析に要する時間を短縮できるのである。
【実施例２】
【００９９】
図１６〜図１９Ｂは第２の実施例を示し、第２の次元表を表構造のスタースキーマ４００から生成し、第２の次元表からグラフデータを出力するようにしたもので、その他の構成は前記第１の実施例と同様である。【０１００】
第２の実施例では、複数の次元表４２０とファクト表４１０（顧客売上履歴表４１０ａ）からＯＬＡＰ分析などにより、第２の次元表（顧客次元表４２０ｃ’）を生成する。そして、第２の次元表（顧客次元表４２０ｃ’）からグラフデータを出力する。【０１０１】
図１６は、スタースキーマ４００から第２の次元表（顧客次元表４２０ｃ’）を生成し、その後、グラフ表現６００Ｂを出力する際のデータの関係を示す図である。【０１０２】
第２の実施例では、図１６で示すように、地域名４２８＝東京で、売上総計（売価４１５×個数４１６）が最大の顧客識別子４１２を求める（１）。そして、当該顧客識別子４１２に関係する顧客のグラフ表現（部分グラフ）６００Ｂを、顧客関係表５００Ａを用いて抽出する（２）。【０１０３】
図１７は、スタースキーマ４００から第２の次元表を生成する際のデータの関係を示す図である。グラフデータ分析装置１の問合せ処理部３３０は、地域名４２８＝東京で、売上総計（売価４１５×個数４１６）が最大の顧客識別子４１２＝「Ａ」を顧客売上履歴表４１０ａと各次元表４２０から算出する。この結果、第２の次元表である顧客次元表４２０ｃ’は、顧客識別子４２５＝「Ａ」のみの表が生成される。【０１０４】
図１８は、スタースキーマ４００から第２の次元表を生成する際の問合せの一例を示す図である。【０１０５】
上述のように、問合せ処理部３３０は、問合せＱ０３を読み込んで、地域名４２８＝東京で、売上総計（売価４１５×個数４１６）が最大の顧客識別子４１２＝「Ａ」を顧客売上履歴表４１０ａと各次元表４２０から算出し、上述のように第２の次元表である顧客次元表４２０ｃ’を生成する。【０１０６】
図１９Ａは、第２の次元表（顧客次元表４２０ｃ’）からグラフ表現６００Ｂを生成する際の問合せの一例を示す図である。図１９Ｂは、第２の次元表（顧客次元表４２０ｃ’）からグラフ表現６００Ｂを生成する際のデータの関連を示す図である。【０１０７】
問合せ処理部３３０は、図１９Ａの問合せＱ０４を読み込んで、第２の次元表（顧客次元表４２０ｃ’）に関係する顧客ｔｏ５０２を顧客関係表５００Ａから抽出する。第２の次元表４２０ｃ’の顧客識別子４２５＝「Ａ」に対応する顧客関係表５００Ａの顧客ｔｏ５０２は、「Ｂ」、「Ｃ」、「Ｄ」であるので、グラフ表現６００Ｂが出力される。【０１０８】
以上のように、第２の実施例においても、第２の次元表でグラフデータを生成するノードのデータ量を削減できる。そして、第１の実施例と同様に、次元表の一部をグラフ構造の一部とすることで、データを重複して保持するのを防いで、データ量を削減することができる。また、表構造のデータを分析した結果、次元表のデータ件数が削減され、さらにグラフデータ処理のデータ量も削減される。【０１０９】
なお、本発明において説明したグラフデータ分析装置１等の構成、各処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。【０１１０】
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。【０１１１】
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【図１】
2014041699.tif 000003
【図２】
2014041699.tif 000004
【図３Ａ】
2014041699.tif 000005
【図３Ｂ】
2014041699.tif 000006
【図４】
2014041699.tif 000007
【図５Ａ】
2014041699.tif 000008
【図５Ｂ】
2014041699.tif 000009
【図６】
2014041699.tif 000010
【図７Ａ】
2014041699.tif 000011
【図７Ｂ】
2014041699.tif 000012
【図８】
2014041699.tif 000013
【図９】
2014041699.tif 000014
【図１０】
2014041699.tif 000015
【図１１】
2014041699.tif 000016
【図１２】
2014041699.tif 000017
【図１３Ａ】
2014041699.tif 000018
【図１３Ｂ】
2014041699.tif 000019
【図１３Ｃ】
2014041699.tif 000020
【図１４】
2014041699.tif 000021
【図１５】
2014041699.tif 000022
【図１６】
2014041699.tif 000023
【図１７】
2014041699.tif 000024
【図１８】
2014041699.tif 000025
【図１９Ａ】
2014041699.tif 000026
【図１９Ｂ】
2014041699.tif 000027
【国際調査報告】
2014041699.tif 000028
2014041699.tif 000029
2014041699.tif 000030
2014041699.tif 000031