JP2013054602A - グラフパターンマッチングシステムおよびグラフパターンマッチング方法 - Google Patents

グラフパターンマッチングシステムおよびグラフパターンマッチング方法 Download PDF

Info

Publication number
JP2013054602A
JP2013054602A JP2011193302A JP2011193302A JP2013054602A JP 2013054602 A JP2013054602 A JP 2013054602A JP 2011193302 A JP2011193302 A JP 2011193302A JP 2011193302 A JP2011193302 A JP 2011193302A JP 2013054602 A JP2013054602 A JP 2013054602A
Authority
JP
Japan
Prior art keywords
graph
search
graph pattern
pattern matching
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011193302A
Other languages
English (en)
Inventor
Kyoshi Iizuka
京士 飯塚
Takahiko Murayama
隆彦 村山
Kenji Otomo
健治 大友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011193302A priority Critical patent/JP2013054602A/ja
Publication of JP2013054602A publication Critical patent/JP2013054602A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】検索処理の高速化を実現することを課題とする。
【解決手段】実施例1に係るグラフパターンマッチングシステムは、管理者端末10、ユーザ端末20、グラフ構造データ格納DB(Data Base)30およびグラフパターンマッチング装置100を含んで1つのシステムを構成する。グラフパターンマッチング装置100は、グラフパターン格納DB(Data Base)110、マッチング結果格納DB(Data Base)120、クエリグラフパターン生成部130、グラフパターンマッチング処理部140、入力用UI生成部150、マッチング結果検索部160および出力用UI生成部170を有する。
【選択図】図1

Description

本発明は、グラフパターンマッチングシステムおよびグラフパターンマッチング方法に関する。
近年、セマンティックWeb技術が注目されている(非特許文献1参照)。セマンティックWeb技術は、Webページ上にあるデータに対して、データが持つ意味(セマンティック)を付与することにより、人を仲立ちとすることなく、コンピュータ同士での機械的な処理を可能とする技術である。
具体的には、セマンティックWeb技術では、Web上にあるデータの意味をコンピュータが解釈可能な状態とする為に、Web上にあるデータに対して、RDF(Resource Description Framework)を用いて記述されたメタデータが付与される。メタデータを記述するために用いるRDFは、リソースを主語とし、プロパティを述語、プロパティの値を目的語とする3つの要素を用いたモデルで表現することができ、例えば、主語(リソース)に対応するノードと目的語(プロパティの値)に対応するノードとを、述語(プロパティ)に対応する矢印(アーク)で結んだ有向ラベル付きグラフとして表現される。そして、目的語が主語となる場合には、さらに、この目的語を主語とするノードから、矢印およびノードが連鎖する連鎖型のグラフ構造のモデルが構築される。よって、例えば、各Webに、RDFを用いて記述されたメタデータを公開することにより、複数のWebを連鎖型のグラフ構造で表現することができ、Web間の関係を遡ることが可能となる。このようにして、セマンティックWeb技術では、インターネット上に散在する複数のデータソースを相互に関連付けることで、複数のデータソースから、より高度で精度の高いデータ検索の実現を図る。
例えば、RDFを用いたグラフ構造のデータに対して、SPARQL(SPARQL Protocol and RDF Query Language)などのRDFクエリ言語を用いて、ARQ(A SPARQL Processor for Jena)などのクエリエンジンによるグラフパターンのマッチング処理を実行することにより、必要な情報を検索する技術がある(非特許文献2参照)。
また、RDFを用いたグラフ構造のデータの中から情報を検索する際、ユーザにより入力されたキーワードを含むノードおよびそのノードと同じラベルを持つアークにつながるノードのそれぞれと、ユーザにより指定された概念のインスタンスとして存在するノードとの間にある共通の構造を検索するための検索クエリグラフパターンを生成し、この検索クエリグラフパターンに基づいて抽出されたサブグラフの構造から、さらに共通のグラフ構造を有する共通クエリグラフパターンを自動的に生成する技術などもある(特許文献1)。
「SPARQL Query Language for RDF」、[Online]、[平成23年8月1日検索]、インターネット(URL:http://www.w3.org/TR/rdf-sparql-query/) 「A SPARQL Processor for Jena」、[Online]、[平成23年8月1日検索]、インターネット(URL:http://jena.sourceforge.net/ARQ/)
特開2006−313501号公報
しかしながら、グラフ構造で表現されるデータの中から情報を検索する際、上述した従来の技術では、以下のような問題がある。
例えば、複雑なグラフパターンについてマッチング処理を行う場合には、グラフパターンの組合せ数が爆発的に発生するので、マッチング処理の計算量が膨大となる。このため、マッチング処理に多量の計算機資源が必要となり、処理コストをかけることなく、マッチング処理を行うことが難しいという問題がある。
また、マッチング処理の計算量が膨大となれば、情報の検索処理に時間が掛かってしまい、例えば、迅速な検索サービスを提供できないという問題がある。さらに、マッチング処理の計算量が膨大である場合には、マッチング処理に計算機資源が占有されてしまい、例えば、複数のユーザの検索処理に対応できないという問題もある。
なお、ネットワーク上のデータは、今後、ますます膨れ上がっていくことが予想される為、マッチング処理の対象となるグラフパターンの複雑化、グラフパターンの組合せ数が爆発的に増加することが予想されるが、上述した従来の技術では、処理コストをかけることなく、スケーラビリティを確保することは難しい。
また、複雑なグラフパターンに対するマッチング処理の膨大な計算量に対処する為、大量のデータを並列分散処理するオープンソースのプラットフォームなどを利用することも考えられるが、処理対象となるデータをデータベース管理ソフトウェアに一旦格納する必要があり、手間を要するという問題がある。
本発明は、上記に鑑みてなされたものであって、検索処理の高速化することが可能なグラフパターンマッチングシステムおよびグラフパターンマッチング方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、前記グラフパターンマッチング装置は、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして記憶部に格納するグラフパターンマッチング処理部と、前記グラフパターンマッチング処理部により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索部とを有することを特徴とする。
また、本発明は、ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を含むグラフパターンマッチングシステムに適用されるグラフパターンマッチング方法であって、前記グラフパターンマッチング装置が、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、予め記憶部に格納するグラフパターンマッチング処理工程と、前記グラフパターンマッチング処理工程により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索工程とを含むことを特徴とする。
本発明によれば、検索処理の高速化を実現できる。
図1は、実施例1に係るグラフパターンマッチングシステムの構成を示す機能ブロック図である。 図2は、グラフ構造データの一例を示す図である。 図3は、グラフ構造データ格納DBに格納される連鎖型のグラフ構造データの一例を示す図である。 図4は、グラフパターン生成格納処理の流れを示す図である。 図5は、管理者端末にて指定された始点クラスに接続されるリソースの一例を示す図である。 図6は、探索用グラフパターンの一例を示す図である。 図7は、探索用グラフパターンにより検索される部分グラフの一例を示す図である。 図8は、グラフパターン格納DBに格納されるグラフパターンの一例を示す図である。 図9は、探索用グラフパターンにより検索される部分グラフの一例を示す図である。 図10は、グラフパターン格納DBに格納されるグラフパターンの一例を示す図である。 図11は、マッチング結果格納処理の流れを示す図である。 図12は、グラフパターンマッチング処理部により作成されるグラフマッチングクエリ1を示す図である。 図13は、グラフパターンマッチング処理部により作成されるグラフマッチングクエリ2を示す図である。 図14は、グラフマッチングクエリ1による検索結果グラフの一例を示す図である。 図15は、グラフマッチングクエリ2による検索結果グラフの一例を示す図である。 図16は、グラフマッチングクエリ2による検索結果グラフのリテラル情報の一例を示す図である。 図17は、グラフマッチングクエリ2の検索結果グラフのシリアライズ例を示す図である。 図18は、グラフマッチングクエリ2の検索結果グラフのシリアライズ例を示す図である。 図19は、キーワードおよび始点リソース対応のKey−Valストアのテーブル例(Table1)を示す図である。 図20は、検索条件およびグラフパターンID対応のKey−Valストアのテーブル例(Table2)を示す図である。 図21は、マッチング結果格納対応のKey−Valストアのテーブル例(Table3)を示す図である。 図22は、検索処理の流れを示す図である。 図23は、検索処理の補足説明図である。 図24は、検索結果の一例を示す図である。 図25は、グラフパターンマッチングシステムの構成例を示す図である。 図26は、グラフパターンマッチングシステムの構成例を示す図である。 図27は、グラフパターンマッチングシステムの構成例を示す図である。 図28は、実施例1の処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
以下に、図面を参照しつつ、本願にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の実施例を説明する。後述する各実施例は一実施形態にすぎず、本願にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の実施形態を限定するものではない。また、後述する各実施例は処理内容に矛盾を生じさせない範囲で適宜組み合わせることもできる。
[情報提示システムの構成(実施例1)]
図1は、実施例1に係るグラフパターンマッチングシステムの構成を示す機能ブロック図である。実施例1に係るグラフパターンマッチングシステムは、例えば、ユーザからの検索要求に応じたデータ検索サービスを提供する。
図1に示すように、実施例1に係るグラフパターンマッチングシステムは、管理者端末10、ユーザ端末20、グラフ構造データ格納DB(Data Base)30およびグラフパターンマッチング装置100を含んで1つのシステムを構成する。
管理者端末10は、実施例1に係るグラフパターンマッチングシステムの管理者により操作される端末である。管理者端末10は、ネットワークを介して、グラフパターンマッチング装置100と通信可能な状態で接続されており、グラフパターンマッチング装置100に作成させるクエリグラフの条件などを、グラフパターンマッチング装置100に送信する。また、管理者端末10は、グラフパターンマッチング装置100に格納させるマッチング結果の格納範囲などを、グラフパターンマッチング装置100に送信する。なお、クエリグラフの条件、マッチング結果の格納範囲については後述する。
ユーザ端末20は、グラフパターンマッチング装置100を利用するユーザにより操作される端末である。ユーザ端末20は、入力用UI(User Interface)を介して、ユーザから検索条件(キーワードや終点クラス)の入力を受け付けると、グラフパターンマッチング装置100に送信する。また、ユーザ端末20は、グラフパターンマッチング装置100から検索結果を受信すると、出力用UIを介して検索結果を表示出力して、ユーザに提供する。
グラフ構造データ格納DB(Data Base)30は、RDF(Resource Description Framework)形式などの、複数のデータを相互に関連付けた連鎖型のグラフ構造データを格納する。グラフ構造データは、サブジェクト(主体)としてのノードを始点とし、オブジェクト(客体)としてのノードを終点として、サブジェクトとしてのノードとオブジェクトとしてのノードとの間を、プロパティ(属性)としての有向エッジで連結した有向グラフとして表現される。
図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は、グラフパターン格納DB(Data Base)110、マッチング結果格納DB(Data Base)120、クエリグラフパターン生成部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:Web Ontology Languages)に基づいて、リソースやプロパティにラベルを付与する際に用いられている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」とし、始点リソースに接続された有向エッジに付与されたラベル[rdf:type]を「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は、例えば、サーバなどの情報処理装置に、DBMS(Data Base Management System)を搭載することにより実装できる。また、グラフパターンマッチング装置100は、サーバやパーソナルコンピュータなどの情報処理装置により実装できる。
[実施例1による効果]
上述してきたように、実施例1に係るグラフパターンマッチングシステムにおいて、グラフパターンマッチング装置は、事前に作成したグラフマッチングクエリによりグラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、Key−Valストアのテーブルを用いてマッチング結果格納DB120に格納する。よって、例えば、ユーザ端末20から検索の要求があった場合、従来のように、検索条件に応じたグラフパターンの作成処理を行う必要がなく、検索条件に応じたマッチング結果をマッチング結果格納DB120から直ぐに検索することができるので、検索処理の高速化を実現できる。
また、実施例1では、検索結果グラフのデータをシリアライズして格納する場合、例えば、図17に示すように、検索結果グラフの構造から取得できるデータをそのまま格納するので、大きな処理負担を要することなく、マッチング結果格納DB120に格納するデータを準備できる。
また、実施例1では、検索結果グラフのデータをシリアライズして格納する場合、例えば、図18に示すように、ユーザ端末20に出力する際の出力形式に合わせて加工したデータを格納するので、ユーザ端末20に対してより迅速に検索結果を提供できる。
以下、本発明にかかるグラフパターンマッチングシステムおよびグラフパターンマッチング方法の他の実施形態として実施例2を説明する。
(1)装置構成等
実施例1に係るグラフパターンマッチングシステムの構成、例えば、図1に示すグラフパターンマッチングシステムの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、図25に示すように、グラフパターンマッチング装置100において、マッチング結果格納DB120を、入力部と、複数のDB(Data Base)と、検索部とで構成してもよい。また、図26に示すように、グラフパターン格納DB110に対応するDBとして外部に予め用意されたグラフパターン格納DB40を使用するようにしてもよい。また、図27に示すように、図26において、図25と同様に、マッチング結果格納DB120を、入力部と、複数のDB(Data Base)と、検索部とで構成してもよい。なお、また、図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と、CPU(Central Processing Unit)302を有する。また、コンピュータ300は、図28に示すように、ハードディスクドライブインタフェース303と、光ディスクドライブインタフェース304を有する。また、コンピュータ300は、図28に示すように、シリアルポートインタフェース305と、ビデオアダプタ306と、ネットワークインタフェース307を有する。そして、コンピュータ300は、これらの各部301〜307をバス308によって接続する。
メモリ301は、図28に示すように、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース303は、図28に示すように、ハードディスクドライブ309に接続される。光ディスクドライブインタフェース304は、図28に示すように、光ディスクドライブ310に接続される。例えば、光ディスクドライブ310には、光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース305は、図28に示すように、例えば、マウス400およびキーボード500に接続される。ビデオアダプタ306は、図28に示すように、例えば、ディスプレイ600に接続される。
ここで、図28に示すように、ハードディスクドライブ309は、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。
すなわち、上述したグラフパターンマッチング装置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に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)など)を介して接続された他のコンピュータに記憶されていてもよい。この場合には、CPU302が、ネットワークインタフェース307を介して、グラフパターンマッチング装置100と同様の機能を有するプログラムモジュールやプログラムデータを他のコンピュータから読み出す。
なお、プログラムによりCPU302が動作して各種処理を行う代わりに、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を用いて処理を行うこともできる。また、メモリ301として、フラッシュメモリ(flash memory)などを用いることもできる。
10 管理者端末
20 ユーザ端末
30 グラフ構造データ格納DB
40 グラフパターン格納DB
100 グラフパターンマッチング装置
110 グラフパターン格納DB
120 マッチング結果格納DB
130 クエリグラフパターン生成部
140 グラフパターンマッチング処理部
150 入力用UI生成部
160 マッチング結果検索部
170 出力用UI生成部
200 グラフパターンマッチング装置
210 マッチング結果格納DB
220 グラフパターンマッチング処理部
230 入力用UI生成部
240 出力用UI生成部
250 マッチング結果検索部
300 コンピュータ
301 メモリ
302 CPU
303 ハードディスクドライブインタフェース
304 光ディスクドライブインタフェース
305 シリアルポートインタフェース
306 ビデオアダプタ
307 ネットワークインタフェース
308 バス
309 ハードディスクドライブ
310 光ディスクドライブ
400 マウス
500 キーボード
600 ディスプレイ

Claims (8)

  1. ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、
    前記グラフパターンマッチング装置は、
    事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして記憶部に格納するグラフパターンマッチング処理部と、
    前記グラフパターンマッチング処理部により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索部と
    を有することを特徴とするグラフパターンマッチングシステム。
  2. 前記グラフパターンマッチング処理部は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを前記所定のキーに対応する所定の値として前記記憶部に格納することを特徴とする請求項1に記載のグラフパターンマッチングシステム。
  3. 前記グラフパターンマッチング処理部は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを、前記ユーザ端末に出力する際のユーザインターフェースに合わせた出力形式に加工してから前記所定の値として前記記憶部に格納することを特徴とする請求項1に記載のグラフパターンマッチングシステム。
  4. 前記グラフパターンマッチング装置は、
    前記ユーザ端末から検索条件の入力を受け付けるための入力用インターフェースを生成する入力用インターフェース生成部と、
    前記ユーザ端末に対して検索結果を出力するための出力用インターフェースを生成する出力用インターフェース生成部と
    をさらに有し、
    前記マッチング結果検索部は、前記入力用インターフェースにより前記検索条件の入力を受け付けた場合に、前記検索条件を前記所定のキーとして、該検索条件に合致する前記所定の値を前記記憶部から検索することを特徴とする請求項2または3に記載のグラフパターンマッチングシステム。
  5. ユーザ端末から受信した検索条件に応じて、ノード間を有向エッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を含むグラフパターンマッチングシステムに適用されるグラフパターンマッチング方法であって、
    前記グラフパターンマッチング装置が、事前に作成したグラフパターンにより前記グラフ構造データの検索を行い、検索により得られる検索結果グラフのデータをシリアライズして、予め記憶部に格納するグラフパターンマッチング処理工程と、
    前記グラフパターンマッチング処理工程により前記記憶部に格納された前記検索結果グラフのデータに基づいて、前記検索条件に応じた検索処理を行うマッチング結果検索工程と
    を含むことを特徴とするグラフパターンマッチング方法。
  6. 前記グラフパターンマッチング処理工程は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを前記所定のキーに対応する所定の値として前記記憶部に格納することを特徴とする請求項5に記載のグラフパターンマッチング方法。
  7. 前記グラフパターンマッチング処理工程は、前記グラフ構造データの検索条件を決定するための該グラフ構造データに含まれるノードに付与されたラベルおよび前記検索に用いたグラフパターンを所定のキーとし、該所定のキーに対応付けて、前記検索結果グラフに含まれる各ノードに付与されたラベルおよびノード間を連結する有向エッジに付与されたラベルを、前記ユーザ端末に出力する際のユーザインターフェースに合わせた出力形式に加工してから前記所定の値として前記記憶部に格納することを特徴とする請求項5に記載のグラフパターンマッチング方法。
  8. 前記グラフパターンマッチング装置が、前記ユーザ端末から検索条件の入力を受け付けるための入力用インターフェースを生成する入力用インターフェース生成工程と、
    前記グラフパターンマッチング装置が、前記ユーザ端末に対して検索結果を出力するための出力用インターフェースを生成する出力用インターフェース生成工程と
    をさらに含み、
    前記マッチング結果検索工程は、前記入力用インターフェースにより前記検索条件の入力を受け付けた場合に、前記検索条件を前記所定のキーとして、該検索条件に合致する前記所定の値を前記記憶部から検索することを特徴とする請求項6または7に記載のグラフパターンマッチング方法。
JP2011193302A 2011-09-05 2011-09-05 グラフパターンマッチングシステムおよびグラフパターンマッチング方法 Withdrawn JP2013054602A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011193302A JP2013054602A (ja) 2011-09-05 2011-09-05 グラフパターンマッチングシステムおよびグラフパターンマッチング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011193302A JP2013054602A (ja) 2011-09-05 2011-09-05 グラフパターンマッチングシステムおよびグラフパターンマッチング方法

Publications (1)

Publication Number Publication Date
JP2013054602A true JP2013054602A (ja) 2013-03-21

Family

ID=48131516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011193302A Withdrawn JP2013054602A (ja) 2011-09-05 2011-09-05 グラフパターンマッチングシステムおよびグラフパターンマッチング方法

Country Status (1)

Country Link
JP (1) JP2013054602A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014207827A1 (ja) * 2013-06-25 2014-12-31 株式会社日立製作所 データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP2015011695A (ja) * 2013-07-02 2015-01-19 セコム株式会社 通信照合装置及びアプリケーション検査装置
WO2015125209A1 (ja) * 2014-02-18 2015-08-27 株式会社日立製作所 情報構造化システム及び情報構造化方法
JP2016009337A (ja) * 2014-06-24 2016-01-18 ヤフー株式会社 Rdfデータの検索装置及びrdfデータの検索方法
US11941003B2 (en) 2020-02-26 2024-03-26 Fujitsu Limited Search method and search apparatus for searching graph data based on search query

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014207827A1 (ja) * 2013-06-25 2014-12-31 株式会社日立製作所 データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP6001173B2 (ja) * 2013-06-25 2016-10-05 株式会社日立製作所 データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP2015011695A (ja) * 2013-07-02 2015-01-19 セコム株式会社 通信照合装置及びアプリケーション検査装置
WO2015125209A1 (ja) * 2014-02-18 2015-08-27 株式会社日立製作所 情報構造化システム及び情報構造化方法
JPWO2015125209A1 (ja) * 2014-02-18 2017-03-30 株式会社日立製作所 情報構造化システム及び情報構造化方法
JP2016009337A (ja) * 2014-06-24 2016-01-18 ヤフー株式会社 Rdfデータの検索装置及びrdfデータの検索方法
US11941003B2 (en) 2020-02-26 2024-03-26 Fujitsu Limited Search method and search apparatus for searching graph data based on search query

Similar Documents

Publication Publication Date Title
Tummarello et al. Sig. ma: Live views on the web of data
Mayer et al. An extensible discovery service for smart things
US8788526B2 (en) Data model for machine data for semantic search
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
Liu et al. Data-driven composition for service-oriented situational web applications
JP4547300B2 (ja) 共通クエリグラフパターン生成装置、生成方法、生成用プログラム、およびこれらを用いた共通サブグラフ検索装置、検索方法、検索用プログラム
KR20160124079A (ko) 인-메모리 데이터베이스 탐색을 위한 시스템 및 방법
WO2018019289A1 (zh) 基于结构化网络知识自动生成中文本体库的方法、系统、计算机设备和计算机可读介质
JP2013054602A (ja) グラフパターンマッチングシステムおよびグラフパターンマッチング方法
WO2021006977A1 (en) Delta graph traversing system
Singh et al. Ontology development using Hozo and semantic analysis for information retrieval in Semantic Web
Thor et al. Data integration support for mashups
US8666951B2 (en) Managing multiple versions of enterprise meta-models using semantic based indexing
Jung et al. Ontology modeling for rest open apis and web service mash-up method
Corcho et al. A platform for the development of semantic web portals
US8965910B2 (en) Apparatus and method of searching for instance path based on ontology schema
JP2013145508A (ja) グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法
JP2009187401A (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
GB2520993A (en) Indexing presentation slides
Castellano et al. A web text mining flexible architecture
CN115185973A (zh) 一种数据资源共享方法、平台、装置及存储介质
Zamula et al. MneMojno—Design and deployment of a Semantic web service and a mobile application
Huynh et al. Integrating bibliographical data of computer science publications from online digital libraries
JP2009205253A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
Tacchini et al. Experiments with Wikipedia Cross-Language Data Fusion.

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202