"ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、前記グラフパターンマッチング装置は、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして記憶部に格納するグラフパターンマッチング処理部と、前記グラフパターンマッチング処理部により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索部とを有することを特徴とするグラフパターンマッチングシステム。前記グラフパターンマッチング処理部は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを前記所定のキーに対応する所定の値として前記記憶部に格納することを特徴とする請求項1に記載のグラフパターンマッチングシステム。前記グラフパターンマッチング処理部は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを、前記ユーザ端末に出力する際のユーザインターフェースに合わせた出力形式に加工してから前記所定の値として前記記憶部に格納することを特徴とする請求項1に記載のグラフパターンマッチングシステム。前記グラフパターンマッチング装置は、前記ユーザ端末から検索条件の入力を受け付けるための入力用インターフェースを生成する入力用インターフェース生成部と、前記ユーザ端末に対して検索結果を出力するための出力用インターフェースを生成する出力用インターフェース生成部とをさらに有し、前記マッチング結果検索部は、前記入力用インターフェースにより前記検索条件の入力を受け付けた場合に、前記検索条件を前記所定のキーとして、該検索条件に合致する前記所定の値を前記記憶部から検索することを特徴とする請求項2または3に記載のグラフパターンマッチングシステム。ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を含むグラフパターンマッチングシステムに適用されるグラフパターンマッチング方法であって、前記グラフパターンマッチング装置が、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、予め記憶部に格納するグラフパターンマッチング処理工程と、前記グラフパターンマッチング処理工程により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索工程とを含むことを特徴とするグラフパターンマッチング方法。前記グラフパターンマッチング処理工程は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを前記所定のキーに対応する所定の値として前記記憶部に格納することを特徴とする請求項5に記載のグラフパターンマッチング方法。前記グラフパターンマッチング処理工程は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを、前記ユーザ端末に出力する際のユーザインターフェースに合わせた出力形式に加工してから前記所定の値として前記記憶部に格納することを特徴とする請求項5に記載のグラフパターンマッチング方法。前記グラフパターンマッチング装置が、前記ユーザ端末から検索条件の入力を受け付けるための入力用インターフェースを生成する入力用インターフェース生成工程と、前記グラフパターンマッチング装置が、前記ユーザ端末に対して検索結果を出力するための出力用インターフェースを生成する出力用インターフェース生成工程とをさらに含み、前記マッチング結果検索工程は、前記入力用インターフェースにより前記検索条件の入力を受け付けた場合に、前記検索条件を前記所定のキーとして、該検索条件に合致する前記所定の値を前記記憶部から検索することを特徴とする請求項6または7に記載のグラフパターンマッチング方法。しかしながら、グラフ構造で表現されるデータの中から情報を検索する際、上述した従来の技術では、以下のような問題がある。例えば、複雑なグラフパターンについてマッチング処理を行う場合には、グラフパターンの組合せ数が爆発的に発生するので、マッチング処理の計算量が膨大となる。このため、マッチング処理に多量の計算機資源が必要となり、処理コストをかけることなく、マッチング処理を行うことが難しいという問題がある。また、マッチング処理の計算量が膨大となれば、情報の検索処理に時間が掛かってしまい、例えば、迅速な検索サービスを提供できないという問題がある。さらに、マッチング処理の計算量が膨大である場合には、マッチング処理に計算機資源が占有されてしまい、例えば、複数のユーザの検索処理に対応できないという問題もある。なお、ネットワーク上のデータは、今後、ますます膨れ上がっていくことが予想される為、マッチング処理の対象となるグラフパターンの複雑化、グラフパターンの組合せ数が爆発的に増加することが予想されるが、上述した従来の技術では、処理コストをかけることなく、スケーラビリティを確保することは難しい。また、複雑なグラフパターンに対するマッチング処理の膨大な計算量に対処する為、大量のデータを並列分散処理するオープンソースのプラットフォームなどを利用することも考えられるが、処理対象となるデータをデータベース管理ソフトウェアに一旦格納する必要があり、手間を要するという問題がある。本発明は、上記に鑑みてなされたものであって、検索処理の高速化することが可能なグラフパターンマッチングシステムおよびグラフパターンマッチング方法を提供することを目的とする。上述した課題を解決し、目的を達成するために、本発明は、ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、前記グラフパターンマッチング装置は、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして記憶部に格納するグラフパターンマッチング処理部と、前記グラフパターンマッチング処理部により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索部とを有することを特徴とする。また、本発明は、ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を含むグラフパターンマッチングシステムに適用されるグラフパターンマッチング方法であって、前記グラフパターンマッチング装置が、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、予め記憶部に格納するグラフパターンマッチング処理工程と、前記グラフパターンマッチング処理工程により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索工程とを含むことを特徴とする。本発明によれば、検索処理の高速化を実現できる。以下に、図面を参照しつつ、本願にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の実施例を説明する。後述する各実施例は一実施形態にすぎず、本願にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の実施形態を限定するものではない。また、後述する各実施例は処理内容に矛盾を生じさせない範囲で適宜組み合わせることもできる。[情報提示システムの構成実施例1]図1は、実施例1に係るグラフパターンマッチングシステムの構成を示す機能ブロック図である。実施例1に係るグラフパターンマッチングシステムは、例えば、ユーザからの検索要求に応じたデータ検索サービスを提供する。図1に示すように、実施例1に係るグラフパターンマッチングシステムは、管理者端末10、ユーザ端末20、グラフ構造データ格納DBDataBase30およびグラフパターンマッチング装置100を含んで1つのシステムを構成する。管理者端末10は、実施例1に係るグラフパターンマッチングシステムの管理者により操作される端末である。管理者端末10は、ネットワークを介して、グラフパターンマッチング装置100と通信可能な状態で接続されており、グラフパターンマッチング装置100に作成させるクエリグラフの条件などを、グラフパターンマッチング装置100に送信する。また、管理者端末10は、グラフパターンマッチング装置100に格納させるマッチング結果の格納範囲などを、グラフパターンマッチング装置100に送信する。なお、クエリグラフの条件、マッチング結果の格納範囲については後述する。ユーザ端末20は、グラフパターンマッチング装置100を利用するユーザにより操作される端末である。ユーザ端末20は、入力用UIUserInterfaceを介して、ユーザから検索条件キーワードや終点クラスの入力を受け付けると、グラフパターンマッチング装置100に送信する。また、ユーザ端末20は、グラフパターンマッチング装置100から検索結果を受信すると、出力用UIを介して検索結果を表示出力して、ユーザに提供する。グラフ構造データ格納DBDataBase30は、RDFResourceDescriptionFramework形式などの、複数のデータを相互に関連付けた連鎖型のグラフ構造データを格納する。グラフ構造データは、サブジェクト主体としてのノードを始点とし、オブジェクト客体としてのノードを終点として、サブジェクトとしてのノードとオブジェクトとしてのノードとの間を、プロパティ属性としての有向エッジで連結した有向グラフとして表現される。図2は、グラフ構造データの一例を示す図である。図2に示すように、グラフ構造データは、楕円や四角形の図形で表現されるノード間を、矢印で表現される有向エッジで連結する。ノードには、図2に示すように、クラス、リソース、リテラルの3種類がある。クラスは、リソースの種類を表す特殊なノードであり、リソースと特定のプロパティ例えば、rdf:typeで連結されている。リソースは、様々な事物を示すノードである。リテラルは、リソースに関する様々な属性値を示す特殊なノードである。プロパティは、識別情報であるラベルが付与された有向エッジである。例えば、図2に示すように、ラベル[rm:T-041]が付与されたリソースに対応するノードは、ラベル[person:特許太郎]が付与されたリソースに対応するノードと、ラベル[rm:著者]が付与されたプロパティに対応する有向エッジで結ばれる。同様にして、[rm:T-041]が付与されたリソースに対応するノードは、ラベル[セマンティックWeb入門]が付与されたリテラルに対応するノードと、ラベル[rm:題名]が付与されたプロパティに対応する有向エッジで結ばれる。同様にして、[rm:T-041]が付与されたリソースに対応するノードは、ラベル[セマンティックWeb]が付与されたリテラルに対応するノードと、ラベル[rm:キーワード]が付与されたプロパティに対応する有向エッジで結ばれる。同様にして、[rm:T-041]が付与されたリソースに対応するノードは、ラベル[rm:論文]が付与されたクラスと、ラベル[rdf:type]が付与されたプロパティに対応する有向エッジで結ばれる。さらに、図2に示すように、ラベル[person:特許太郎]が付与されたリソースに対応するノードは、ラベル[特許太郎]が付与されたリテラルに対応するノードと、ラベル[person:氏名]が付与されたプロパティに対応する有向エッジで結ばれる。同様にして、[person:特許太郎]が付与されたリソースに対応するノードは、ラベル[person:人]が付与されたクラスと、ラベル[rdf:type]が付与されたプロパティに対応する有向エッジで結ばれる。このようにして、ノードとエッジが連鎖する連鎖型のグラフ構造が形成され、例えば、図3に示すように、複数のデータが相互に関連付けられたグラフ構造データとなる。グラフ構造データ格納DB30は、例えば、図3に示すようなグラフ構造データを格納する。なお、図3に示すグラフ構造データは、グラフ構造データの一部を示すものに過ぎず、図3に示す以外にも膨大な情報が、ノードとエッジが連鎖する連鎖型のグラフ構造により関連付けされている。図3は、グラフ構造データ格納DBに格納される連鎖型のグラフ構造データの一例を示す図である。図1に戻り、グラフパターンマッチング装置100は、グラフパターン格納DBDataBase110、マッチング結果格納DBDataBase120、クエリグラフパターン生成部130、グラフパターンマッチング処理部140、入力用UI生成部150、マッチング結果検索部160および出力用UI生成部170を有する。グラフパターン格納DB110は、後述するクエリグラフパターン生成部130により生成されたグラフパターンを格納する。グラフパターン格納DB110に格納されるグラフパターンは、後述するグラフパターンマッチング処理部140にて、グラフ構造データ格納DB30からマッチする検索結果グラフ部分グラフを取得するためのグラフマッチングクエリの生成に用いられる。マッチング結果格納DB120は、後述するグラフパターンマッチング処理部140により取得された検索結果グラフのシリアライズデータ後述する図17、図18等参照などを格納する。マッチング結果格納DB120に格納される検索結果グラフのシリアライズデータは、例えば、グラフパターンマッチング処理部140にて取得された検索結果グラフ部分グラフの各リソースの情報や、各リソースのリソースに紐付くリテラル情報を、グラフ構造データ格納DB30から取得して、シリアライズしたものである。クエリグラフパターン生成部130は、管理者端末10から所定の指定条件を受信し、グラフパターンを生成して格納する処理を実行する。例えば、クエリグラフパターン生成部130は、管理者端末10から受信した指定条件に合致するリソースの集合をグラフ構造データ格納DB30から取得して、取得したリソースの集合から探索用のグラフパターンを生成する。そして、クエリグラフパターン生成部130は、探索用のグラフパターンとマッチする部分グラフをグラフ構造データ格納DB30から取得することによりグラフパターンを生成し、グラフパターン格納DB110に格納する。グラフパターンマッチング処理部140は、管理者端末10から所定の指定範囲を受信し、マッチング結果を格納する処理を実行する。例えば、グラフパターンマッチング処理部140は、管理者端末10から受信した指定範囲に合致するリソースの集合をグラフ構造データ格納DB30から取得する。続いて、グラフパターンマッチング処理部140は、管理者端末10から受信した指定範囲始点クラス、終点クラスに合致するグラフパターンをグラフパターン格納DB110から取得する。続いて、グラフパターンマッチング処理部140は、指定範囲始点クラスとグラフパターンとを用いて、グラフマッチングを行うためのクエリを作成し、このクエリによる検索の結果得られるグラフに含まれる全リソースのリテラル情報をグラフ構造データ格納DB30から取得し、シリアライズしてマッチング結果格納DB120に格納する。入力用UI生成部150は、ユーザ端末20から検索条件の入力を受け付けるためのユーザインターフェースを生成する。マッチング結果検索部160は、入力用UI生成部150により生成されたユーザインターフェースを介して、ユーザ端末20から受け付けた検索条件による検索を実行する。出力用UI生成部170は、ユーザ端末20に検索結果を出力するためのユーザインターフェースを生成する。[グラフパターンマッチング装置による処理実施例1]図4~24を用いて、実施例1に係るグラフパターンマッチング装置100による処理の流れを説明する。[グラフパターンの生成格納処理]まず、図4~図10を用いて、グラフパターンの生成格納処理の流れを説明する。図4は、グラフパターン生成格納処理の流れを示す図である。図5は、管理者端末にて指定された始点クラスに接続されるリソースの一例を示す図である。図6は、探索用グラフパターンの一例を示す図である。図7および図9は、探索用グラフパターンにより検索される部分グラフの一例を示す図である。図8および図10は、グラフパターン格納DB110に格納されるグラフパターンの一例を示す図である。図4に示すように、管理者端末10にて、例えば、グラフパターンマッチングシステムの管理者により、作成するクエリグラフの条件が指定されるS101。クエリグラフの条件には、始点クラス、終点クラス、各種パラメータが含まれる。始点クラスは、図4に示す処理により生成するグラフパターンの始点リソースノードの種類を特定するノードである。例えば、図5に示す場合では、ラベル[wd:技術]が付与されたノードを始点クラスとして指定した場合には、ラベル[wd:XML]が付与されたノードおよび[wd:セマンティックWeb]が付与されたノードのそれぞれが始点リソースとなる。終点クラスは、図4に示す処理により生成するグラフパターンの終点リソースの種類を特定するノードである。例えば、図5に示す場合では、ラベル[person:人]のノードを終点クラスとして指定した場合には、ラベル[person:特許二郎]が付与されたノード、ラベル[person:特許太郎]が付与されたノード、ラベル[person:特許一郎]が付与されたノード、およびラベル[person:特許花子]が付与されたノードのそれぞれが終点リソースとなる。各種パラメータは、図4に示す処理により生成するグラフパターンの構造を決定するためのパラメータであり、例えば、始点リソースと終点リソースとの間の中間ノードの数や、始点リソースと終点リソースとの間の各ノード間を連結するエッジの向き、始点リソースと終点リソースとの間の各ノード間を連結するエッジの本数などが含まれる。グラフパターンマッチング装置100のクエリグラフパターン生成部130は、管理者端末10から、作成するクエリグラフの条件を受信すると、受信した条件に含まれる始点クラスのリソースをグラフ構造データ格納DB30に要求するS102。グラフ構造データ格納DB30は、クエリグラフパターン生成部130から始点クラスのリソースの要求を受信すると、受信した始点クラス条件に合致するリソースをグラフ構造データの中から検索し、検索したリソースをクエリグラフパターン生成部130に返却するS103。例えば、クエリグラフパターン生成部130からグラフ構造データ格納DB30に対して、[wd:技術]を始点クラスとするリソースが要求された場合、図5に示すように、グラフ構造データ格納DB30からクエリグラフパターン生成部130に対して、[wd:XML]および[wd:セマンティックWeb]のリソースが返却される。始点クラスに合致するリソースの集合をグラフ構造データ格納DB30から取得すると、クエリグラフパターン生成部130は、制約条件に合致した探索用グラフパターンを生成するS104。制約条件としては、S101で管理者端末10から各種パラメータとして送信された始点クラスと終点クラスの指定や、始点リソースの指定や、始点リソースと終点リソースとの間の中間ノードの数や、始点リソースと終点リソースとの間の各ノード間を連結するエッジの向き、始点リソースと終点リソースとの間の各ノード間を連結するエッジの本数の指定などに該当する。例えば、図6に、所定の制約条件の元で生成した探索用グラフパターンの一例を示す。図6は、探索用グラフパターンの一例を示す図である。図6に示すように、始点クラスが[wd:技術]であり、終点クラスが[person:人]であり、始点リソースが[wd:XML]であり、始点リソースと終点リソースとの間の中間ノードの数が1であり、始点リソースと終点リソースとの間の各ノード間を連結するエッジの向きが変わる中間リソースの数が1以下であり、始点リソースと終点リソースとの間の各ノード間を連結するエッジの本数が1であるという制約条件で生成した探索用グラフパターンとして、P1、P2、P3、P4のようなパターンを生成できる。続いて、クエリグラフパターン生成部130は、ステップS104で生成した探索用グラフパターンの数だけ、クエリ検索をグラフ構造データ格納DB30に依頼するS105。グラフ構造データ格納DB30は、クエリグラフパターン生成部130からの依頼に応じてグラフ構造データのクエリ検索を行い、グラフ構造データの中からグラフマッチする部分グラフを返却するS106。クエリグラフパターン生成部130は、グラフ構造データ格納DB30から取得した部分グラフの中から、結果数の多いグラフパターンを抽出し、抽出したグラフパターンをグラフパターン格納DB110に格納するS107。クエリグラフパターン生成部130は、探索用グラフパターンとマッチする複数の部分グラフの中から、始点クラス、始点リソース、終点クラス、終点リソース、中間リソースの各ノードと、各ノード間を接続するエッジとで構成されるグラフ構造が、部分グラフ間で共通するものを、グラフパターン格納DB110に格納するグラフパターンとして抽出する。例えば、図7に示すように、探索用グラフパターンとマッチする部分グラフとして、部分グラフG1、G2、G3などが検索されたとする。図7に示す部分グラフG1、G2、G3は、各ノードおよびノード間を連結するエッジで構成されるグラフ構造が共通している。そこで、クエリグラフパターン生成部130は、例えば、図8に示すように、共通するノードのラベルを変数startResource,resource1,endResourceに置き換えたグラフパターンpatternID:01を抽出する。また、図9に示すように、探索用グラフパターンとマッチする部分グラフとして、部分グラフG4、G5などが検索されたとする。図9に示す部分グラフG4、G5は、各ノードおよびノード間を連結するエッジで構成されるグラフ構造が共通している。そこで、クエリグラフパターン生成部130は、例えば、図10に示すように、共通するノードのラベルを変数startResource,resource1,resource2,endResourceに置き換えたグラフパターンpatternID:02を抽出する。なお、クエリグラフパターン生成部130は、部分グラフから共通の構造を抽出する場合、予め所持するオントロジーデータOWL:WebOntologyLanguagesに基づいて、リソースやプロパティにラベルを付与する際に用いられているRDFの接頭辞rdf,rm,ms,pj,...と値の組合せ間の等価性を評価する。例えば、図8に示す部分グラフG4に含まれるエッジに付与されたms:用語と、図8に示す部分グラフG5に含まれるエッジに付与されたrm:キーワードとは、オントロジーデータに基づいて、等価なものとして評価する。その結果、クエリグラフパターン生成部130は、図10に示すように、部分グラフG4と、部分グラフG5との間の共通の構造であるグラフパターンを抽出できる。グラフパターン格納DB110には、クエリグラフパターン生成部130により生成されたグラフパターンが格納されるS108。なお、クエリグラフパターン生成部130は、グラフパターン格納DB110にグラフパターンを格納した後、例えば、グラフパターン格納DB110から格納完了の通知を受信するのを待って、終了メッセージを管理者端末10に送信する。なお、上述してきたグラフパターンの生成格納処理図4は、管理者端末10にて指定された、作成するクエリグラフの条件ごとに実行され、各条件に対応するグラフパターンが生成され、グラフパターン格納DB110に格納される。[マッチング結果格納処理]次に、図11~21を用いて、マッチング結果格納処理の流れを説明する。図11は、マッチング結果格納処理の流れを示す図である。図12は、グラフパターンマッチング処理部140により作成されるグラフマッチングクエリ1を示す図である。図13は、グラフパターンマッチング処理部140により作成されるグラフマッチングクエリ2を示す図である。図14は、グラフマッチングクエリ1による検索結果グラフの一例を示す図である。図15は、グラフマッチングクエリ2による検索結果グラフの一例を示す図である。図16は、グラフマッチングクエリ2による検索結果グラフのリテラル情報の一例を示す図である。図17および図18は、グラフマッチングクエリ2の検索結果グラフのシリアライズ例を示す図である。図19は、キーワードおよび始点リソース対応のKey-Valストアのテーブル例Table1を示す図である。図20は、検索条件およびグラフパターンID対応のKey-Valストアのテーブル例Table2を示す図である。図21は、マッチング結果格納対応のKey-Valストアのテーブル例Table3を示す図である。図11に示すように、管理者端末10にて、例えば、グラフパターンマッチングシステムの管理者により、図4の処理で生成したグラフパターンを用いたマッチング結果を格納する範囲、および検索キーワードプロパティが指定されるS201。マッチング結果を格納する範囲は、例えば、始点クラスおよび終点クラスにより指定される。検索キーワードプロパティは、例えば、ユーザ端末20からの検索要求に応じた検索処理を行う場合に、検索条件として入力され得る検索文字列に対応するリテラルを決定するための情報であり、検索条件として入力され得る検索文字列を網羅するように管理者が任意に指定する。なお、検索キーワードプロパティは、後述するS210において、マッチング結果格納DB120にマッチング結果を格納する際のKey:キーワードの決定に用いる。グラフパターンマッチング処理部140は、管理者端末10から、マッチング結果を格納する範囲と、検索キーワードプロパティとを受信すると、受信した範囲に含まれる始点クラスのリソースをグラフ構造データ格納DB30に要求するS202。グラフ構造データ格納DB30は、グラフパターンマッチング処理部140から始点クラスのリソースの要求を受信すると、受信した始点クラス条件に合致するリソースをグラフ構造データの中から検索し、検索したリソースをグラフパターンマッチング処理部140に返却するS203。例えば、グラフパターンマッチング処理部140からグラフ構造データ格納DB30に対して、[wd:技術]を始点クラスとするリソースが要求された場合、グラフ構造データ格納DB30からグラフパターンマッチング処理部140に対して、[wd:XML]および[wd:セマンティックWeb]のリソースが返却される例えば、図5参照。続いて、グラフパターンマッチング処理部140は、管理者端末10にて指定された始点クラスおよび終点クラスのグラフパターンをグラフパターン格納DB110に要求するS204。グラフパターン格納DB110は、グラフパターンマッチング処理部140からの要求に応じて、始点クラスおよび終点クラス条件に合致するグラフパターンを、格納されているグラフパターンの中から検索し、検索したグラフパターンをグラフパターンマッチング処理部140に返却するS205。グラフパターンをグラフパターン格納DB110から取得すると、グラフパターンマッチング処理部140は、ステップS202で取得した始点クラスのリソースと、ステップS205で取得したグラフパターンとを用いてグラフマッチングクエリを作成し、作成したグラフマッチングクエリによる検索をグラフ構造データ格納DB30に依頼するS206。例えば、グラフパターンマッチング処理部140は、始点リソース[wd:セマンティックWeb]と、図8に示すグラフパターンpatternID:01から、図12に示すグラフマッチングクエリ1を作成する。つまり、グラフパターンマッチング処理部140は、グラフパターンpatternID:01の始点リソースのノードに、[wd:セマンティックWeb]を挿入することによりグラフマッチングクエリ1を作成する。同様にして、グラフパターンマッチング処理部140は、始点リソース[wd:セマンティックWeb]と、図10に示すグラフパターンpatternID:02から、図13に示すグラフマッチングクエリ2を作成する。グラフ構造データ格納DB30は、グラフパターンマッチング処理部140からの依頼に応じてグラフ構造データの検索を行い、グラフ構造データの中からグラフマッチする部分グラフを、検索結果グラフとしてグラフパターンマッチング処理部140に返却するS207。例えば、グラフ構造データ格納DB30は、図12に示すグラフマッチングクエリ1の検索結果として、図14に示す検索結果グラフを、グラフパターンマッチング処理部140に返却する。また、例えば、グラフ構造データ格納DB30は、図13に示すグラフマッチングクエリ2の検索結果として、図15に示す検索結果グラフを、グラフパターンマッチング処理部140に返却する。グラフマッチングクエリ1および2による検索結果グラフを取得すると、グラフパターンマッチング処理部140は、検索結果グラフにある全リソースのリテラル情報をグラフ構造データ格納DB30に要求するS208。グラフ構造データ格納DB30は、グラフパターンマッチング処理部140からの要求に応じて、検索結果グラフにある全リソースのリテラル情報をグラフ構造データの中から検索してグラフパターンマッチング処理部140に返却するS209。例えば、グラフ構造データ格納DB30がグラフ構造データの中から検索する、グラフマッチングクエリ2による検索結果グラフの全リソースのリテラル情報について説明する。例えば、グラフマッチングクエリ2による検索結果グラフとして、図15に示すようなグラフが得られた場合、グラフ構造データ格納DB30は、図16に示すように、グラフ構造データの中から、検索結果グラフの全てのリソースのリテラル情報を検索する。例えば、グラフ構造データ格納DB30は、検索の結果、リソース[wd:セマンティックWeb]のリテラルとして[セマンティックWeb]を取得し、リソース[rm:T-041]のリテラルとして[セマンティックWeb入門]を取得し、リソース[ms:PF1-14]のリテラルとして[コンテキスト情報の蓄積]を取得し、リソース[Person:特許太郎]のリテラルとして[特許太郎]を取得する。なお、リテラルは、上述したように、グラフ構造データ図5参照を構成するノードのうち、四角形のノードに付与されたラベルに該当する情報である。グラフパターンマッチング処理部140は、グラフ構造データ格納DB30から検索結果グラフにある全リソースのリテラル情報を取得すると、検索結果グラフをシリアライズし、シリアライズしたデータをマッチング結果格納DB110に格納するS210。例えば、図17に、グラフパターンマッチング処理部140による検索結果グラフのシリアライズ例を示す。グラフパターンマッチング処理部140は、検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルをそのまま抽出する。例えば、グラフパターンマッチング処理部140は、図17に示すように、始点リソースのノードに付与された[wd:セマンティックWeb]をsubjectとし、始点リソースに接続された有向エッジに付与されたラベル[rdftype]をpropertyとし、始点リソースと有向エッジで連結される始点クラスのノードに付与されたラベル[wd:技術]をobjectとして検索結果グラフから抽出して相互に関連付ける。また、図18に、図17とは異なる検索結果グラフのシリアライズ例を示す。グラフパターンマッチング処理部140は、検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを、ユーザ端末20に出力する際のユーザインターフェースに合わせた出力形式に加工する。ユーザ端末20に出力する際のユーザインターフェースに合わせた出力形式が、例えば、図18に示すように、始点リソース、始点リテラルプロパティ、始点リテラル、終点リソース、終点リテラルプロパティ、終点リテラル、中間リソース、中間クラス、中間リテラルプロパティ、中間リテラルで構成されるものとする。このとき、グラフパターンマッチング処理部140は、検索結果グラフの中から、始点リソースおよび終点リソースを両端とするグラフ構造を特定し、始点リソース、始点リテラルプロパティ、始点リテラル、終点リソース、終点リテラルプロパティ、終点リテラル、中間リソース、中間クラス、中間リテラルプロパティ、中間リテラルのそれぞれに付与されたラベルを抽出して、図18に示すような出力形式に加工する。検索結果グラフのシリアライズ後、グラフパターンマッチング処理部140は、検索結果グラフのシリアライズデータデータをkey-Valストアを用いて、マッチング結果格納DB120に格納する。例えば、図19に示すように、グラフパターンマッチング処理部140は、key:キーワードと、keyに対応するVal値:始点クラス,始点リソースを、キーワードおよび始点リソース対応のKey-ValストアのテーブルTable1を用いてマッチング結果格納DB120に格納する。例えば、グラフパターンマッチング処理部140は、key:キーワード→セマンティックWebと、Val値→wd:技術,wd:セマンティックWebとを対応付けて、Key-ValストアのテーブルTable1を用いて格納する図19参照。同様に、グラフパターンマッチング処理部140は、key:キーワード→XMLと、Val値→wd:技術,wd:XMLとを対応付けて、Key-ValストアのテーブルTable1を用いて格納する図19参照。Key:キーワードは、ユーザ端末20からユーザが入力する検索キーワードに相当する文字列である。ステップS201で管理者端末10から入力された検索キーワードプロパティを用いて、ステップS208で得られたリテラル情報の中から、始点リソースに接続する検索キーワードプロパティでつながるリテラルを、key:キーワードとする。例えば、始点クラスが[wd:技術]で、始点リソース[wd:セマンティックWeb]で、検索キーワードプロパティが[wd:name]の場合には、key:キーワードは、[セマンティックWeb]となる。また、図11に示すステップS206でグラフパターン格納DB110から取得したグラフパターンを、key-Valストアを用いて格納する。例えば、グラフパターンマッチング処理部140は、図20に示すように、key:始点クラス,終点クラスと、keyに対応するVal値:グラフパターンIDの集合を、検索条件およびグラフパターンID対応のKey-ValストアのテーブルTable2を用いてマッチング結果格納DB120に格納する。例えば、グラフパターンマッチング処理部140は、key:始点クラス,終点クラス→wd:技術,person:人と、Val値→{pattern01,pattern02}とを対応付けて、Key-ValストアのテーブルTable2を用いて格納する図20参照。また、図11に示すステップS208でグラフ構造データ格納DB30から取得した検索結果グラフと、図11に示すステップS210で取得した検索結果グラフのリテラル情報とをシリアライズしたデータ例えば、図17、図18参照を、key-Valストアを用いて格納する。例えば、グラフパターンマッチング処理部140は、図21に示すように、key:グラフパターンID,始点リソース図11のステップS206で指定と、keyに対応するVal値:グラフマッチング結果シリアライズデータ図11のステップS208およびS210で取得を、マッチング結果対応のKey-ValストアのテーブルTable3を用いてマッチング結果格納DB120に格納する。例えば、グラフパターンマッチング処理部140は、key:グラフパターンID,始点リソース→pattern01,wd:セマンティックWebと、Val値→検索結果シリアライズデータ例えば、図17もしくは図18参照とを対応付けて、Key-ValストアのテーブルTable3を用いて格納する図21参照。同様にして、図11のステップS202で得られた始点リソースと、図11のステップS204で得られたグラフパターンの組合せごとに、図11のステップS208で得られた検索結果グラフおよび図11のステップS210で得られたリテラル情報をシリアライズしたデータ例えば、図17、図18参照を、図21に示すように、Key-ValストアのテーブルTable3を用いてマッチング結果格納DB120に格納する。マッチング結果格納DB120には、グラフパターンマッチング処理部140により検索結果グラフのシリアライズデータが格納されるS211。なお、グラフパターンマッチング処理部140は、マッチング結果格納DB120にシリアライズデータを格納した後、例えば、マッチング結果格納DB120から格納完了の通知を受信するのを待って、終了メッセージを管理者端末10に送信する。なお、上述してきたマッチング結果格納処理図11は、管理者端末10にて指定された、マッチング結果を格納する範囲始点クラス、終点クラスごとに実行され、各範囲条件に対応する検索結果グラフのシリアライズデータがマッチング結果格納DB120に格納される。[検索処理]次に、図22、23および24を用いて、実施例1に係る検索処理の流れを説明する。図22は、検索処理の流れを示す図である。図23は、検索処理の補足説明図である。図24は、検索結果の一例を示す図である。図22に示すように、ユーザ端末20は、検索の要求を行うための開始リクエストをグラフパターンマッチング装置100に送信するS301。グラフパターンマッチング装置100の入力用URI生成部150は、入力用UIを生成してS302、ユーザ端末20に送信する。ユーザ端末20は、グラフパターンマッチング装置100から入力用UIを受信すると、受信した入力用UIを表示するS303。ユーザ端末20は、表示した入力用UI上で、ユーザからキーワードの入力と終点クラスの指定を受け付けるとS304、指定されたキーワードおよび終点クラスを検索条件として、グラフパターンマッチング装置100に送信する。例えば、図23の1に示すように、ユーザ端末20は、ユーザから、表示した入力用UI上で、例えば、キーワードセマンティックWebの入力および終点クラス人の指定を受け付けると、キーワードセマンティックWeb、および終点クラスperson:人を検索条件として、グラフパターンマッチング装置100に送信する。グラフパターンマッチング装置100のマッチング結果検索部160は、グラフパターンマッチング装置100から検索条件を受信すると、受信した検索条件に含まれるキーワードに対応するリソースをマッチング結果格納DB120に要求するS305。マッチング結果格納DB120は、キーワードおよび始点リソース対応のKey-ValストアのTable1図19を参照して、検索条件のキーワードに対応付けられた値始点クラス、始点リソースなどを取得し、マッチング結果検索部160に返却するS306。例えば、マッチング結果格納DB120は、Table1を参照して、検索条件のキーワードに対応付けられた始点クラスwd:技術および始点リソースwd:セマンティックWebを取得する。そして、マッチング結果格納DB120は、始点クラスwd:技術および始点リソースwd:セマンティックWebを、マッチング結果検索部160に返却する。マッチング結果検索部160は、検索条件のキーワードに対応付けられた値始点クラス、始点リソースなどをマッチング結果格納DB120から取得すると、ステップS306で得られた始点リソース、およびステップS304により得られた終点クラスとなるマッチング結果をマッチング結果格納DB120に要求するS307。マッチング結果格納DB120は、条件に合致するマッチング結果を検索して、マッチング結果検索部160に返却するS308。例えば、マッチング結果検索部160は、図23の2に示すように、始点クラスwd:技術、終点クラスperson:人および始点リソースwd:セマンティックWebとなるマッチング結果をマッチング結果格納DB120に要求する。マッチング結果格納DB120は、図23の3に示すように、始点クラスwd:技術および終点クラスperson:人から、検索条件およびグラフパターンID対応のKey-ValストアのTable2図20を参照して、グラフパターンID{pattern01,pattern02}を取得する。続いて、マッチング結果格納DB120は、図23の4に示すように、マッチング結果対応のKey-ValストアのTable3図21を参照して、グラフパターンIDをkeyとして、マッチング結果対応のKey-ValストアのTable3図21から、検索結果シリアライズデータを取得する。そして、マッチング結果格納DB120は、検索結果シリアライズデータを、条件に合致するマッチング結果として、マッチング結果検索部160に返却する。出力用UI生成部170は、検索条件に合致するマッチング結果として、マッチング結果格納DB120から検索結果シリアライズデータを取得すると、取得したシリアライズデータを展開して出力用UIを生成しS309、ユーザ端末20に送信する。なお、マッチング結果格納DB120から取得した検索結果シリアライズデータが、ユーザ端末20の出力形式に加工されている状態図18参照であれば、出力用UI生成部170は、検索結果シリアライズデータを加工することなくそのまま展開して出力用UIを生成できる。ユーザ端末20は、グラフパターンマッチング装置100から受信した出力用UIを出力して、出力結果検索条件に合致するマッチング結果を表示するS310。例えば、キーワードセマンティックWeb、および終点クラスperson:人を検索条件である場合、この検索条件に合致するマッチング結果として、例えば、図24に示すような検索結果が表示される。上述したグラフ構造データ格納DB30、グラフパターン格納DB110およびマッチング結果格納DB120は、例えば、サーバなどの情報処理装置に、DBMSDataBaseManagementSystemを搭載することにより実装できる。また、グラフパターンマッチング装置100は、サーバやパーソナルコンピュータなどの情報処理装置により実装できる。[実施例1による効果]上述してきたように、実施例1に係るグラフパターンマッチングシステムにおいて、グラフパターンマッチング装置は、事前に作成したグラフマッチングクエリによりグラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、Key-Valストアのテーブルを用いてマッチング結果格納DB120に格納する。よって、例えば、ユーザ端末20から検索の要求があった場合、従来のように、検索条件に応じたグラフパターンの作成処理を行う必要がなく、検索条件に応じたマッチング結果をマッチング結果格納DB120から直ぐに検索することができるので、検索処理の高速化を実現できる。また、実施例1では、検索結果グラフのデータをシリアライズして格納する場合、例えば、図17に示すように、検索結果グラフの構造から取得できるデータをそのまま格納するので、大きな処理負担を要することなく、マッチング結果格納DB120に格納するデータを準備できる。また、実施例1では、検索結果グラフのデータをシリアライズして格納する場合、例えば、図18に示すように、ユーザ端末20に出力する際の出力形式に合わせて加工したデータを格納するので、ユーザ端末20に対してより迅速に検索結果を提供できる。以下、本発明にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の他の実施形態として実施例2を説明する。1装置構成等実施例1に係るグラフパターンマッチングシステムの構成、例えば、図1に示すグラフパターンマッチングシステムの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図25に示すように、グラフパターンマッチング装置100において、マッチング結果格納DB120を、入力部と、複数のDBDataBaseと、検索部とで構成してもよい。また、図26に示すように、グラフパターン格納DB110に対応するDBとして外部に予め用意されたグラフパターン格納DB40を使用するようにしてもよい。また、図27に示すように、図26において、図25と同様に、マッチング結果格納DB120を、入力部と、複数のDBDataBaseと、検索部とで構成してもよい。なお、また、図26に示すグラフパターン格納DB40は、図1に示すグラフパターン格納DB110に対応し、図26に示すマッチング結果格納DB210は、図1に示すマッチング結果格納DB120に対応し、図26に示すグラフパターンマッチング処理部220は、図1に示すグラフパターンマッチング処理部140に対応し、図26に示す入力用UI生成部230は、図1に示す入力用UI生成部150に対応し、図26に示す出力用UI生成部240は、図1に示す出力用UI生成部170に対応し、図26に示すマッチング結果検索部250は、図1に示すマッチング結果検索部160に対応する。図25、図26および図27は、グラフパターンマッチングシステムの構成例を示す図である。上述したように、グラフパターンマッチングシステムの各構成要素の分散または統合の具体的形態は、図1、図25~図27に示すものに限られず、各構成要素の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。2グラフパターンマッチング方法実施例1に係るグラフパターンマッチングシステムにより、以下のようなグラフパターンマッチング方法が実現される。すなわち、ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、検索結果を前記ユーザ端末に出力するグラフパターンマッチング装置を含むグラフパターンマッチングシステムに適用されるグラフパターンマッチング方法であって、前記グラフパターンマッチング装置が、事前に作成したグラフマッチングクエリにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして格納するグラフパターンマッチング処理工程例えば、図11のステップS201~S210等参照を含むグラフパターンマッチング方法が実現される。3グラフパターンマッチング装置に所定の手順を実行させるプログラムまた、実施例1で説明した各種の処理例えば、図4、図11などは、パーソナルコンピュータやワークステーションなど、グラフパターンマッチング装置100として実装されるコンピュータに、実施例1で説明した各種の処理と同様の処理機能を実現させるプログラムを実行させることで実現することもできる。そこで、以下では、図28を用いて、実施例1で説明した各種の処理例えば、図4、図11などと同様の機能を実現するコンピュータの一例を説明する。図28は、実施例1の処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。図28に示すように、グラフパターンマッチング装置100として実装されるコンピュータ300は、例えば、メモリ301と、CPUCentralProcessingUnit302を有する。また、コンピュータ300は、図28に示すように、ハードディスクドライブインタフェース303と、光ディスクドライブインタフェース304を有する。また、コンピュータ300は、図28に示すように、シリアルポートインタフェース305と、ビデオアダプタ306と、ネットワークインタフェース307を有する。そして、コンピュータ300は、これらの各部301~307をバス308によって接続する。メモリ301は、図28に示すように、ROMReadOnlyMemory及びRAMRandomAccessMemoryを含む。ROMは、例えば、BIOSBasicInputOutputSystem等のブートプログラムを記憶する。ハードディスクドライブインタフェース303は、図28に示すように、ハードディスクドライブ309に接続される。光ディスクドライブインタフェース304は、図28に示すように、光ディスクドライブ310に接続される。例えば、光ディスクドライブ310には、光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース305は、図28に示すように、例えば、マウス400およびキーボード500に接続される。ビデオアダプタ306は、図28に示すように、例えば、ディスプレイ600に接続される。ここで、図28に示すように、ハードディスクドライブ309は、例えば、OSOperatingSystem、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、上述したグラフパターンマッチング装置100と同様の機能を有するプログラムは、コンピュータ300によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ309に記憶される。つまり、上述の実施例1で説明した処理図4、図11などと同様の処理機能をグラフパターンマッチング装置100としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールが、ハードディスクドライブ309に記憶される。このプログラムモジュールは、例えば、図1に示すクエリグラフパターン生成部130やグラフパターンマッチング処理部140に対応する。また、上述の実施例1で説明した処理図4、図11などと同様の処理機能をグラフパターンマッチング装置100としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールにより用いられるデータは、プログラムデータとして、例えばハードディスクドライブ309に記憶される。例えば、このプログラムデータは、例えば、グラフ構造データ格納DB30やグラフパターン格納DB110に格納されているデータに対応する。そして、CPU302が、ハードディスクドライブ309に記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、上述の実施例1で説明したものと同様の処理図4、図11などを実現するための手順を実行する。なお、上述の実施例1で説明した処理図4、図11などと同様の処理機能をグラフパターンマッチング装置100としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ハードディスクドライブ309に記憶される場合に限られるものではなく、例えば、着脱可能な記憶媒体である光ディスクドライブ310等に記憶されていてもよい。この場合には、CPU302が、光ディスクドライブ310を介して、グラフパターンマッチング装置100と同様の機能を有するプログラムモジュールやプログラムデータを読み出す。あるいは、上述の実施例1で説明した処理図4、図11などと同様の処理機能をグラフパターンマッチング装置100としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ネットワークLANLocalAreaNetwork、WANWideAreaNetworkなどを介して接続された他のコンピュータに記憶されていてもよい。この場合には、CPU302が、ネットワークインタフェース307を介して、グラフパターンマッチング装置100と同様の機能を有するプログラムモジュールやプログラムデータを他のコンピュータから読み出す。なお、プログラムによりCPU302が動作して各種処理を行う代わりに、例えば、ASICApplicationSpecificIntegratedCircuitやFPGAなどの電子回路を用いて処理を行うこともできる。また、メモリ301として、フラッシュメモリなどを用いることもできる。"