JP2011100206A - 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム - Google Patents

共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2011100206A
JP2011100206A JP2009253164A JP2009253164A JP2011100206A JP 2011100206 A JP2011100206 A JP 2011100206A JP 2009253164 A JP2009253164 A JP 2009253164A JP 2009253164 A JP2009253164 A JP 2009253164A JP 2011100206 A JP2011100206 A JP 2011100206A
Authority
JP
Japan
Prior art keywords
search
query graph
graph pattern
subgraph
subgraphs
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.)
Pending
Application number
JP2009253164A
Other languages
English (en)
Inventor
Tomohide Yamamoto
具英 山本
Kyoshi Iizuka
京士 飯塚
Takahiko Murayama
隆彦 村山
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 JP2009253164A priority Critical patent/JP2011100206A/ja
Publication of JP2011100206A publication Critical patent/JP2011100206A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】共通クエリグラフパターンの数を低減することができる共通クエリグラフパターン生成装置を提供する。
【解決手段】共通クエリグラフパターン生成部12は、生成した検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベース30から取得し、検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲(例えば、検索サブグラフの数が「2」以上の範囲)に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフから共通クエリグラフパターンを生成する。
【選択図】図1

Description

本発明は、共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラムに関するものである。
従来にあっては、グラフ構造データベースからデータを検索するための共通クエリグラフパターンを生成する技術が開示されている(特許文献1を参照)。
この技術では、まず、ユーザから入力された情報または予め設定された情報を基に、グラフ構造データベースから取得した複数のノードまたはプロパティ間に存在するパスを検索するための検索クエリグラフパターンを生成する。そして、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し、取得された検索サブグラフに含まれるグラフ構造およびこのグラフ構造中のプロパティ名の組み合わせの中で複数回出現するものを抽出する。そして、この抽出されたグラフ構造に含まれる任意のノード名およびプロパティ名を変数にすることにより、ユーザにより入力された情報または予め設定された情報に関連する情報が追加されたデータを検索するための共通クエリグラフパターンを生成する。
特願2005−136706号公報
しかしながら、上記の技術においては、共通クエリグラフパターンの数が多すぎてしまうことがある。その中には、当たり前のデータしか検索できないようなものも多く含まれることがある。
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、共通クエリグラフパターンの数を低減することができる共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラムを提供することにある。
上記の課題を解決するために、第1の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段とを備えることを特徴とする。
第2の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、取得された検索サブグラフにおける所定の概念を有するノードの種類の数を検索クエリグラフパターンごとに求め、所定の範囲に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段とを備えることを特徴とする。
第3の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、取得された検索サブグラフの2つ以上を組み合わせ、且つ、組み合わせ後の検索サブグラフ内の検索サブグラフの数が所定の範囲に属するようにし、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段とを備えることを特徴とする。
第4の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードの数を求め、該ノードの数について当該組み合わせ内の検索クエリグラフパターンの数より多い分の数であるターゲットリソース数を求め、所定の範囲に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段とを備えることを特徴とする。
第5の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードを検出し、該各ノードに含まれるインスタンスの種類の数であるターゲット数を求め、所定の範囲に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段とを備えることを特徴とする。
第6の本発明に係る共通クエリグラフパターンの生成方法は、ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップとを備えることを特徴とする。
第7の本発明に係る共通クエリグラフパターンの生成方法は、ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、取得された検索サブグラフにおける所定の概念を有するノードの種類の数を検索クエリグラフパターンごとに求め、所定の範囲に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップとを備えることを特徴とする。
第8の本発明に係る共通クエリグラフパターンの生成方法は、ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、取得された検索サブグラフの2つ以上を組み合わせ、且つ、組み合わせ後の検索サブグラフ内の検索サブグラフの数が所定の範囲に属するようにし、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップとを備えることを特徴とする。
第9の本発明に係る共通クエリグラフパターンの生成方法は、ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードの数を求め、該ノードの数について当該組み合わせ内の検索クエリグラフパターンの数より多い分の数であるターゲットリソース数を求め、所定の範囲に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップとを備えることを特徴とする。
第10の本発明に係る共通クエリグラフパターンの生成方法は、ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードを検出し、該各ノードに含まれるインスタンスの種類の数であるターゲット数を求め、所定の範囲に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップとを備えることを特徴とする。
本発明によれば、共通クエリグラフパターンの数を低減することが可能になる。
本発明の第1の実施の形態における共通クエリグラフパターン生成装置を用いた検索システム1の構成を示す全体図である。 本発明の第1の実施の形態などにおけるグラフ構造データベース内のデータを示す説明図である。 本発明の第1の実施の形態などにおけるグラフ構造データベース内のデータの一部であり、元のリレーショナルデータベースにおけるデータと、このデータをXML形式およびグラフ形式を用いてRDFで表現した状態を示す説明図である。 本発明の第1の実施の形態などにおけるオントロジデータベース内のデータの一部を示す説明図である。 本発明の第1の実施の形態における検索システム1の動作を示すシーケンス図である。 本発明の第1の実施の形態などにおける入力GUIの一例を示す説明図である。 本発明の第1の実施の形態などにおける入力GUIで入力される入力キーワードにつながるプロパティを太線で示したグラフ構造データを示す説明図である。 本発明の第1の実施の形態などにおける検索クエリグラフパターンの一例を示す説明図である。 本発明の第1の実施の形態などにおける検索サブグラフの一例を示す説明図である。 本発明の第1、第2の実施の形態における検索クエリグラフパターンごとの検索サブグラフの内容を表にして示す説明図である。 本発明の第1の実施の形態などにおける組み合わせ後の検索サブグラフの一例を示す説明図である。 本発明の第1の実施の形態などにおける検索サブグラフから生成された共通クエリグラフパターンの一例を示す説明図である。 本発明の第1の実施の形態などにおける共通クエリグラフパターンの変数ノードにキーワードを入力して生成された共通クエリグラフパターンの一例を示す説明図である。 本発明の第1の実施の形態などにおける共通クエリグラフパターンにマッチする共通サブグラフの一例を示す説明図である。 本発明の第1の実施の形態などにおける出力用GUIの一例を示す説明図である。 本発明の第3、第4の実施の形態における検索クエリグラフパターンごとの検索サブグラフの内容を表にして示す説明図である。 本発明の第6の実施の形態における検索クエリグラフパターンの組み合わせと、対応するターゲットリソース数の一例を示す説明図である。 本発明の第6の実施の形態におけるターゲットリソース数を降順にプロットしたグラフG1と、グラフG1の微分値をプロットしたグラフGとを示す説明図である。 本発明の第7の実施の形態における検索クエリグラフパターンの組み合わせと、対応するターゲットリソース数の一部の例を示す説明図である。
以下、本発明の実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態における共通クエリグラフパターン生成装置としての共通クエリグラフ生成部13を有する検索装置10を用いた検索システム1の構成を示す全体図である。
検索システム1は、検索装置10と、ユーザ端末20と、グラフ構造データベース30と、オントロジデータベース40とを有する。
検索装置10は、ユーザ端末20、グラフ構造データベース30、およびオントロジデータベース40にアクセス可能な状態で接続されている。
また、検索装置10は、ユーザに検索内容の情報を入力させるための入力用GUIを生成する入力用GUI生成部11と、この入力用GUIに入力された情報に基づいて共通クエリグラフパターンを生成してこの共通クエリグラフパターンにマッチする情報をグラフ構造データベースから取得する共通クエリグラフパターン生成部12と、生成された共通クエリグラフパターンを蓄積する共通クエリグラフパターン蓄積部13と、ユーザに検索結果を提示するための出力用GUIを生成する出力用GUI生成部14とを有する。
グラフ構造データベース30は、図2に示すようなグラフ構造を持つデータが格納されている。第1の実施の形態におけるグラフ構造データはラベル付き有向グラフデータであり、データのアーク(ノード間を結ぶ矢印)をRDFの仕様に基づいてプロパティと称する。
図3は、これらのグラフ構造データがどのように既存のリレーショナルデータベースなどで管理されているデータから生成され、グラフ化されているかを示す説明図である。図3はグラフ構造データベース30に格納される、図2とは別なデータ例の一部を示したものであり、ドキュメント「T-041」とそのドキュメントの著者「山田太郎」と、そのドキュメントの題名「セマンティックWeb入門」と、そのドキュメントのキーワード「セマンティックWeb」とが与えられているデータを、XML形式およびグラフ形式を用いてRDFで表現したものである。
オントロジデータベース40は、図4に示すようなWeb Ontology Language(OWL)を用いて表現される、言葉の意味や分類体系を定義するためのオントロジデータが格納されている。図4では、プロパティ「rm:キーワード」とプロパティ「ms:用語」とは等価であり、プロパティ「rm:著者」とプロパティ「ms:著者」とは等価であることが示されている。
(検索システム1の動作)
次に、上記のように構成された検索システム1の動作を、図5のシーケンス図を用いて説明する。なお、説明では省略するが、オントロジデータベース40はプロパティの等価性の判断に使用され、判断結果が適宜処理に利用される。
さて、検索システム1の動作では、まず、入力用GUI生成部11において入力用GUIが生成される(S1)。本実施形態において生成される入力用GUIには、図6に示すように、キーワードを入力するスペースと、概念(クラス)を選択する欄が設けられている。
そして、生成された入力用GUIがユーザ端末20に表示され、ユーザによりキーワードの入力および概念が選択される(S2)。第1の実施の形態においては、ユーザによりキーワードとして「セマンティックWeb」が入力され、概念(クラス)として「人」が選択されている。入力されたキーワードおよび選択された概念のデータは共通クエリグラフパターン生成部12に出力される。
共通クエリグラフパターン生成部12では、取得したキーワードを基にグラフ構造データベース30にアクセスが行われる(S3)。
そして、グラフ構造データベース30において、このキーワード「セマンティックWeb」につながるプロパティが抽出される(S4)。抽出されたプロパティのアークが太線で示され、プロパティ名に下線が引かれたグラフ構造データの例を図7に示す。
さらにグラフ構造データベース30において、これらの太線で示されたアークのプロパティ「rm:キーワード」、「rm:用語」、「ms:キーワード」または「ms:用語」を基に、このプロパティ「rm:キーワード」、「rm:用語」、「ms:キーワード」または「ms:用語」と、ユーザにより選択されたクラス「Person:人」のインスタンス「Person:佐藤」、「Person:鈴木」、または「Person:田中」との間にあるパスをグラフ構造データベース30から取得することが可能な検索クエリグラフパターンが全て生成される(S5)。
図8は、生成された検索クエリグラフパターンの一例を示す説明図である。第1の実施の形態においては図8に示すように、ステップS4で抽出されたプロパティ「rm:キーワード」、「rm:用語」、「ms:キーワード」または「ms:用語」と、ユーザにより選択されたクラス「Person:人」と、このクラス「Person:人」のインスタンス「Person:佐藤」、「Person:鈴木」、または「Person:田中」からクラス「Person:人」につながるプロパティ「rdf:type」とが固定された4種類の検索クエリグラフパターンP1〜P4が生成されている。図8において、名称の先頭に「?」マークが記載されているノードは、任意の値が入る可能性がある変数であることを示している。
例えば、「?keyword」は、図7における「セマンティックWeb」のようなインスタンスに対応する変数である。また、「?x」は、図7における「Bプロジェクト」のようなインスタンスに対応する変数である。また、「?p1」は、図7における「pj:担当者」のようなプロパティに対応する変数である。また、「?Person」は、図7における「Person:佐藤」のようなインスタンスに対応する変数である。
次に、生成された4種類の検索クエリグラフパターンを基に、共通クエリグラフパターン生成部12からグラフ構造データベース30にアクセスされる(S6)。
そして、グラフ構造データベース30においてこの検索クエリグラフパターンにマッチする検索サブグラフ(変数ノード「?keyword」と変数ノード「?Person」との間にパスが存在するサブグラフ)が取得される(S7)。
図9は、グラフ構造データベース30から取得された検索サブグラフの一例である検索サブグラフQ1〜Q10を示す説明図である。ここでは、図2における位置が上のものから検索サブグラフQ1〜Q10としている。
図10は、検索クエリグラフパターンごとの検索サブグラフの内容を表にして示す説明図である。
検索クエリグラフパターンP1にマッチする検索サブグラフとしては、検索サブグラフQ1、Q4、Q5、Q8が取得される。その中で「Person:佐藤」を含むものは検索サブグラフQ1の1つであり、「Person:鈴木」を含むものは検索サブグラフQ4、Q5の2つであり、「Person:田中」を含むものは検索サブグラフQ8の1つある。
検索クエリグラフパターンP2にマッチする検索サブグラフとしては、検索サブグラフQ10が取得される。これは「Person:佐藤」を含むものではなく、「Person:鈴木」を含むものでもなく、「Person:田中」を含む検索サブグラフである。
検索クエリグラフパターンP3にマッチする検索サブグラフとしては、検索サブグラフQ2、Q6、Q9が取得される。その中で「Person:佐藤」を含むものは検索サブグラフQ2の1つであり、「Person:鈴木」を含むものは検索サブグラフQ6の1つであり、「Person:田中」を含むものは検索サブグラフQ9の1つある。
検索クエリグラフパターンP4にマッチする検索サブグラフとしては、検索サブグラフQ3、Q7が取得される。その中で「Person:佐藤」を含むものは検索サブグラフQ3の1つであり、「Person:鈴木」を含むものは検索サブグラフQ7の1つであり、「Person:田中」を含むものはない。
次に、共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10から所定の条件を充足しないものを除外する(S8)。
ここでは、事前にあるいはこれまでの過程で当該目的のための比率(以下、比率Rという)が設定されたこととする。比率Rは、0〜1の範囲で設定される。ここでは、例として、比率Rを0.5とする。
なお、比率Rは、例えば、共通クエリグラフパターン生成部12を動作させるコンピュータプログラムが実行される前に指定され、コンピュータプログラムの実行時において共通クエリグラフパターン生成部12によって読み込まれる。または、比率Rは、例えば、共通クエリグラフパターン生成部12を動作させるコンピュータプログラムに予め埋め込まれている。後述の比率RU、比率RL、比率S、比率SU、比率SL、最大数MAX、最小数MIN、比率KU、比率KL、比率TUおよび比率TLも同様である。
さて、まず、共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10においてクラス「Person:人」のインスタンスに関する種類の数Mを算出する。
「Person:人」のインスタンスは、「Person:佐藤」、「Person:鈴木」、「Person:田中」なので、種類の数Mは「3」である。
次に、共通クエリグラフパターン生成部12では、数Mに比率Rを掛け、結果として、数値「1.5」が得られる。次に、共通クエリグラフパターン生成部12では、数値「1.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、検索クエリグラフパターンP1にマッチする検索サブグラフの数「4」が整数「2」以上か否かを判定し、数「4」が整数「2」以上なので、検索クエリグラフパターンP1から取得されたQ1、Q4、Q5、Q8を除外せずに残す。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP2にマッチする検索サブグラフの数「1」が整数「2」以上か否かを判定し、数「1」が整数「2」以上ではないので、検索クエリグラフパターンP2から取得された検索サブグラフQ10を除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP3にマッチする検索サブグラフの数「3」が整数「2」以上か否かを判定し、数「3」が整数「2」以上なので、検索クエリグラフパターンP3から取得された検索サブグラフQ2、Q6、Q9を除外せずに残す。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP4にマッチする検索サブグラフの数「2」が整数「2」以上か否かを判定し、数「2」が整数「2」以上なので、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7を除外せずに残す。
こうして、検索サブグラフQ1〜Q10から検索サブグラフQ10が除外される。
次に、共通クエリグラフパターン生成部12では、残った検索サブグラフの2つ以上を組み合わせた検索サブグラフを1つ以上生成する。ここでは、検索サブグラフQ10を除く検索サブグラフQ1〜Q9を利用して生成可能な最も多くの組み合わせが生成されたこととする。
図11は、組み合わせ後の検索サブグラフの一例を示す説明図である。検索サブグラフQ1、Q2を組み合わせた検索サブグラフは同図に示すようなものとなる。
次に、共通クエリグラフパターン生成部12では、生成された検索サブグラフにおけるノードを変数(名称の先頭に「?」マークが記載されている)に置き換えた共通クエリグラフパターンを生成する(S9)。
生成された共通クエリグラフパターンは、共通クエリグラフパターン生成部12から共通クエリグラフパターン蓄積部13に送出され蓄積される(S10)。
図12は、生成された共通クエリグラフパターンの一例を示す説明図である。検索サブグラフQ1、Q2を組み合わせた検索サブグラフから生成された共通クエリグラフパターンは同図に示すようなものとなる。
ここで、「?keyword」は、図7における「セマンティックWeb」のようなインスタンスに対応する変数である。また、「?x」や「?y」はそれぞれ、図7における「Bプロジェクト」のようなインスタンスに対応する変数である。また、「?Person」は、図7における「Person:佐藤」のようなインスタンスに対応する変数である。
次に、図13に示すように、ステップS9で生成された共通クエリグラフパターンの変数ノード「?keyword」にユーザにより入力されたキーワード「セマンティックWeb」を代入し、この共通クエリグラフパターンを基に、共通クエリグラフパターン生成部12からグラフ構造データベース30にアクセスされる(S13)。
そして、グラフ構造データベース30においてこのキーワード「セマンティックWeb」が代入された共通クエリグラフパターンにマッチする共通サブグラフが取得される(S14)。
図14は、グラフ構造データベース30から取得された共通サブグラフの一例を示す説明図である。図13の共通クエリグラフパターンにマッチする共通サブグラフは図14に示すようなものとなる。この共通サブグラフは、図13に示した共通クエリグラフパターンにおける変数「?x」、「?y」、「?Person」をそれぞれ、インスタンス「Aプロジェクト」、「rm:T-041」、「Person:佐藤」に置き換えたものとなっている。
次に、出力用GUI生成部14は、例えば、図14の共通サブグラフについて、図15に示すような表形式の出力用GUIを生成する(S16)。出力用GUIは、ユーザ端末20に送信され表示される(S17)。
したがって、第1の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲(上記例では検索サブグラフの数が「2」以上の範囲)に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は、第1の実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第1の実施の形態では、検索サブグラフの数の下限を設定したのに対し、第2の実施の形態では、検索サブグラフの上下限を設定する。
共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10から所定の条件を充足しないものを除外する(S8)。
ここでは、事前にあるいはこれまでの過程で当該目的のための比率(以下、比率RUという)と比率(以下、比率RL)が設定されたこととする。比率は、0〜1の範囲で、且つ、比率RU>比率RLとなるように設定される。ここでは、例として、比率RUを0.8、比率RLを0.5とする。なお、一方の比率と比率どうしの差とを設定しておき、その一方の比率と差を使用して、他方の比率を求めてもよい。
まず、共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10においてクラス「Person:人」のインスタンスに関する種類の数Mを算出する。
「Person:人」のインスタンスは、「Person:佐藤」、「Person:鈴木」、「Person:田中」なので、種類の数Mは「3」である。
次に、共通クエリグラフパターン生成部12では、数Mに比率RUを掛け、結果として、数値「2.4」が得られる。
また、共通クエリグラフパターン生成部12では、数Mに比率RLを掛け、結果として、数値「1.5」が得られる。
次に、共通クエリグラフパターン生成部12では、数値「2.4」より大きい最小の整数「3」を求める。
また、共通クエリグラフパターン生成部12では、数値「1.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、検索クエリグラフパターンP1にマッチする検索サブグラフの数「4」が整数「3」未満且つ整数「2」以上か否かを判定し、数「4」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP1から取得されたQ1、Q4、Q5、Q8を除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP2にマッチする検索サブグラフの数「1」が整数「3」未満且つ整数「2」以上か否かを判定し、数「1」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP2から取得された検索サブグラフQ10を除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP3にマッチする検索サブグラフの数「3」が整数「3」未満且つ整数「2」以上か否かを判定し、数「3」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP3から取得された検索サブグラフQ2、Q6、Q9を除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP4にマッチする検索サブグラフの数「2」が整数「3」未満且つ整数「2」以上か否かを判定し、数「2」が整数「3」未満且つ整数「2」以上なので、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7を除外せずに残す。
こうして、検索サブグラフQ1〜Q10から検索サブグラフQ3、Q7以外が除外される。
以下の工程は第1の実施の形態のものと同様であり重複となるので説明を省略する。
したがって、第2の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲(上記例では検索サブグラフの数が「3」未満且つ「2」以上の範囲)に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。第3の実施の形態は、第1の実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第1の実施の形態などでは、検索サブグラフの数の下限、上下限を設定したのに対し、第3の実施の形態では、検索サブグラフにおける所定の概念を有するノードの種類の数の下限を設定する。
共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10から所定の条件を充足しないものを除外する(S8)。
ここでは、事前にあるいはこれまでの過程で当該目的のための比率(以下、比率Sという)が設定されたこととする。比率は、0〜1の範囲で設定される。ここでは、例として、比率Sを0.5とする。
まず、共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10においてクラス「Person:人」のインスタンスに関する種類の数Mを算出する。
「Person:人」のインスタンスは、「Person:佐藤」、「Person:鈴木」、「Person:田中」なので、種類の数Mは「3」である。
次に、共通クエリグラフパターン生成部12では、数Mに比率Sを掛け、結果として、数値「1.5」が得られる。
次に、共通クエリグラフパターン生成部12では、数値「0.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、各検索クエリグラフパターンP1〜P4にマッチする検索サブグラフにおいてクラス「Person:人」のインスタンスに関する種類の数M1〜M4を算出する。
図16に示すように、検索クエリグラフパターンP1にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」、「Person:田中」があるので、種類の数M1は3である。図16において、○印は、該当のインスタンスが1以上あることを示し、×印は、該当のインスタンスがないことを示す。
検索クエリグラフパターンP2にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:田中」があるので、種類の数M2は1である。
検索クエリグラフパターンP3にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」、「Person:田中」があるので、種類の数M3は3である。
検索クエリグラフパターンP4にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」があるので、種類の数M4は2である。
次に、共通クエリグラフパターン生成部12では、数M1「3」が整数「2」以上か否かを判定し、数M1「3」が整数「2」以上なので、検索クエリグラフパターンP1から取得されたQ1、Q4、Q5、Q8を除外せず残す。
また、共通クエリグラフパターン生成部12では、数M2「1」が整数「2」以上か否かを判定し、数M2「1」が整数「2」以上でないので、検索クエリグラフパターンP2から取得された検索サブグラフQ10を除外する。
また、共通クエリグラフパターン生成部12では、数M3「3」が整数「2」以上か否かを判定し、数M3「3」が整数「2」以上なので、検索クエリグラフパターンP3からから取得された検索サブグラフQ2、Q6、Q9を除外せず残す。
また、共通クエリグラフパターン生成部12では、数M4「2」が整数「2」以上か否かを判定し、数M4「2」が整数「2」以上なので、検索クエリグラフパターンP4からから取得された検索サブグラフQ3、Q7を除外せずに残す。
こうして、検索サブグラフQ1〜Q10から検索サブグラフQ10が除外される。
以下の工程は第1の実施の形態のものと同様であり重複となるので説明を省略する。
したがって、第3の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、取得された検索サブグラフにおける所定の概念を有するノード(上記例ではクラス「Person:人」」にプロパティ「rdf:type」でつながるノード)の種類の数(上記例ではクラス「Person:人」」にプロパティ「rdf:type」でつながるノードのインスタンスの種類の数)を検索クエリグラフパターンごとに求め、所定の範囲(上記例では「2」以上の範囲)に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
[第4の実施の形態]
次に、第4の実施の形態について説明する。第4の実施の形態は、第1の実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第3の実施の形態では、検索サブグラフにおける所定の概念を有するノードの種類の数の下限を設定したのに対し、第4の実施の形態では、検索サブグラフにおける所定の概念を有するノードの種類の数の上下限を設定する。
共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10から所定の条件を充足しないものを除外する(S8)。
ここでは、事前にあるいはこれまでの過程で当該目的のための比率(以下、比率SUという)と比率(以下、比率SL)が設定されたこととする。比率は、0〜1の範囲で、且つ、比率SU>比率SLとなるように設定される。ここでは、例として、比率SUを0.8、比率SLを0.5とする。
まず、共通クエリグラフパターン生成部12では、検索サブグラフQ1〜Q10においてクラス「Person:人」のインスタンスに関する種類の数Mを算出する。
「Person:人」のインスタンスは、「Person:佐藤」、「Person:鈴木」、「Person:田中」なので、種類の数Mは「3」である。
次に、共通クエリグラフパターン生成部12では、数Mに比率SUを掛け、結果として、数値「2.4」が得られる。
また、共通クエリグラフパターン生成部12では、数Mに比率SLを掛け、結果として、数値「1.5」が得られる。
次に、共通クエリグラフパターン生成部12では、数値「2.4」より大きい最小の整数「3」を求める。
また、共通クエリグラフパターン生成部12では、数値「1.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、各検索クエリグラフパターンP1〜P4にマッチする検索サブグラフにおいてクラス「Person:人」のインスタンスに関する種類の数M1〜M4を算出する。
図16に示すように、検索クエリグラフパターンP1にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」、「Person:田中」があるので、種類の数M1は3である。
検索クエリグラフパターンP2にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:田中」があるので、種類の数M2は1である。
検索クエリグラフパターンP3にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」、「Person:田中」があるので、種類の数M3は3である。
検索クエリグラフパターンP4にマッチする検索サブグラフの中にクラス「Person:人」のインスタンスとしては、「Person:佐藤」、「Person:鈴木」があるので、種類の数M4は2である。
次に、共通クエリグラフパターン生成部12では、数M1「3」が整数「3」未満且つ整数「2」以上か否かを判定し、数M1「3」が整数「3」未満且つ整数「2」以上でないので、検索クエリグラフパターンP1から取得されたQ1、Q4、Q5、Q8を除外する。
また、共通クエリグラフパターン生成部12では、数M2「1」が整数「3」未満且つ整数「2」以上か否かを判定し、数M2「1」が整数「3」未満且つ整数「2」以上でないので、検索クエリグラフパターンP2から取得された検索サブグラフQ10を除外する。
また、共通クエリグラフパターン生成部12では、数M3「3」が整数「3」未満且つ整数「2」以上か否かを判定し、数M3「3」が整数「3」未満且つ整数「2」以上でないので、検索クエリグラフパターンP3からから取得された検索サブグラフQ2、Q6、Q9を除外する。
また、共通クエリグラフパターン生成部12では、数M4「2」が整数「3」未満且つ整数「2」以上か否かを判定し、数M4「2」が整数「3」未満且つ整数「2」以上なので、検索クエリグラフパターンP4からから取得された検索サブグラフQ3、Q7を除外せずに残す。
こうして、検索サブグラフQ1〜Q10から検索サブグラフQ3、Q7以外が除外される。
以下の工程は第1の実施の形態のものと同様であり重複となるので説明を省略する。
したがって、第4の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、取得された検索サブグラフにおける所定の概念を有するノード(上記例ではクラス「Person:人」」にプロパティ「rdf:type」でつながるノード)の種類の数(上記例ではクラス「Person:人」」にプロパティ「rdf:type」でつながるノードのインスタンスの種類の数)を検索クエリグラフパターンごとに求め、所定の範囲(上記例では「3」未満且つ「2」以上の範囲)に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
[第5の実施の形態]
次に、第5の実施の形態について説明する。第5の実施の形態は、第1〜第4のいずれかの実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第5の実施の形態では、最小数MIN以上且つ最大数MAX以下の範囲に属する数の検索サブグラフを組み合わせる。
ここでは、例として、検索サブグラフQ1〜Q10から除外されたものがなかったこととする(S8)。なお、このステップS8の処理は省略してもよい。
また、事前にあるいはこれまでの過程で当該目的のための整数(上記の最大数MAXである)と整数(上記の最小数MINである)が設定されたこととする。ここでは、例として、最大数MAXを3、最小数MINを2とする。
共通クエリグラフパターン生成部12では、最小数MIN以上且つ最大数MAX以下の範囲に属する整数の1つである「2」に対応すべく2つの検索サブグラフを組み合わせた検索サブグラフを1以上生成する。
また、共通クエリグラフパターン生成部12では、当該範囲に属する整数の1つである「3」に対応すべく3つの検索サブグラフを組み合わせた検索サブグラフを1以上生成する。
以下の工程は第1の実施の形態などのものと同様であり重複となるので説明を省略する。
したがって、第5の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、取得された検索サブグラフの2つ以上を組み合わせ、且つ、組み合わせ後の検索サブグラフ内の検索サブグラフの数が所定の範囲(上記例では、最小数MIN以上且つ最大数MAX以下の範囲)に属するようにし、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
[第6の実施の形態]
次に、第6の実施の形態について説明する。第6の実施の形態は、第5の実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第6の実施の形態では、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせ、当該各組み合わせについての評価値(後述のターゲットリソース数)を計算する。
ここでは、事前にあるいはこれまでの過程で比率(以下、比率KUという)と比率(以下、比率KL)が設定されたこととする。比率は、0〜1の範囲で、且つ、比率KU>比率KLとなるように設定される。ここでは、例として、比率KUを0.8、比率RLを0.5とする。なお、一方の比率と比率どうしの差とを設定しておき、その一方の比率と差を使用して、他方の比率を求めてもよい。
また、事前にあるいはこれまでの過程で最大数MAXと最小数MINが設定されたこととする。ここでは、例として、最大数MAXを3、最小数MINを2とする。
また、例として、検索サブグラフQ1〜Q10から検索サブグラフQ2が除外されたこととする(S8)。また、検索クエリグラフパターンP1〜P4から検索サブグラフQ2に対応する検索クエリグラフパターンP2が除外されたこととする。なお、このステップS8の処理は省略してもよい。
共通クエリグラフパターン生成部12では、最小数MIN以上且つ最大数MAX以下の範囲に属する整数の1つである「2」に対応すべくいずれかの検索クエリグラフパターンを合計で2回使用して、それらを組み合わせたものを1以上生成する。
ここでは、図17に示すように、6通りの組み合わせが生成される。
また、共通クエリグラフパターン生成部12では、最小数MIN以上且つ最大数MAX以下の範囲に属する整数の1つである「3」に対応すべくいずれかの検索クエリグラフパターンを合計で3回使用して、それらを組み合わせたものを1以上生成する。
ここでは、図17に示すように、10通りの組み合わせが生成される。
次に、共通クエリグラフパターン生成部12は、合計で16通りの組のそれぞにつき、ターゲットリソース数を算出する。
(P1,P1の場合)
例えば、検索クエリグラフパターンP1、P1を使用した組の場合は、以下のようにする。まず、組中の検索クエリグラフパターン数mを求める。検索クエリグラフパターン数mは2である。
次に、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8(クラス「人」のインスタンスはそれぞれ検索サブグラフQ1では「Person:佐藤」、検索サブグラフQ4では「Person:鈴木」、検索サブグラフQ5では「Person:鈴木」、検索サブグラフQ8では「Person:鈴木」である。)の1つと、残りの3つの内の1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせ6通り(=4×3÷2)の内、検索サブグラフQ4と検索サブグラフQ5の組み合わせ(以下、組「Q4鈴木、Q5鈴木」と表記する。他の組み合わせも同様に表記する。)、組「Q4鈴木、Q8鈴木」、組「Q5鈴木、Q8鈴木」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:鈴木」のノード)を有する。
共通クエリグラフパターン生成部12は、このようなノードの数「3」を求め、該当のノードの数「3」から検索クエリグラフパターン数m「2」を減算し、その結果「1」を得る。このように結果が正の数ならは、その結果「1」がターゲットリソース数である。
(P4,P4の場合)
例えば、検索クエリグラフパターンP4、P4を使用した組の場合は、以下のようにする。まず、組中の検索クエリグラフパターン数mを求める。検索クエリグラフパターン数mは2である。
次に、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7(クラス「人」のインスタンスはそれぞれQ3佐藤、Q7鈴木である。)の1つと、残りの1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせは1通り(=2×1÷2)であり、それは組「Q4鈴木、Q5鈴木」である。この組み合わせでは、ノードの共有がない。
共通クエリグラフパターン生成部12は、このようなノードの数「0」を求め、該当のノードの数「0」から検索クエリグラフパターン数m「2」を減算し、その結果「−2」を得る。このように結果が「0」または負の数ならは、ターゲットリソース数は「0」である。
(P1、P4の場合)
例えば、検索クエリグラフパターンP1、P4を使用した組の場合は、以下のようにする。まず、組中の検索クエリグラフパターン数mを求める。検索クエリグラフパターン数mは2である。
次に、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8(クラス「人」のインスタンスはそれぞれ検索サブグラフQ1では「Person:佐藤」、検索サブグラフQ4では「Person:鈴木」、検索サブグラフQ5では「Person:鈴木」、検索サブグラフQ8では「Person:鈴木」である。)の1つと、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7(クラス「人」のインスタンスはそれぞれ検索サブグラフQ3では「Person:佐藤」、検索サブグラフQ7では「Person:鈴木」である。)の1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせ8通り(=4×2)の内、組「Q4鈴木、Q7鈴木」、組「Q5鈴木、Q7鈴木」、組「Q8鈴木、Q7鈴木」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:鈴木」のノード)を有する。また、組「Q1佐藤、Q3佐藤」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:佐藤」のノード)を有する。
共通クエリグラフパターン生成部12は、このようなノードの数「4」を求め、該当のノードの数「4」から検索クエリグラフパターン数m「2」を減算し、その結果「2」を得る。このように結果が正の数ならは、その結果「2」がターゲットリソース数である。
なお、詳細説明は略すが、共通クエリグラフパターン生成部12は、他の13通りの組み合わせについても、同様にターゲットリソース数を算出する。
次に、共通クエリグラフパターン生成部12は、ターゲットリソース数の最大値Kを算出する。図17に示すように、ターゲットリソース数の最大値Kは、「3」である。
次に、共通クエリグラフパターン生成部12では、最大値Kに比率KUを掛け、結果として、数値「2.4」が得られる。
また、共通クエリグラフパターン生成部12では、最大値Kに比率KLを掛け、結果として、数値「1.5」が得られる。
次に、共通クエリグラフパターン生成部12では、数値「2.4」より大きい最小の整数「3」を求める。
また、共通クエリグラフパターン生成部12では、数値「1.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、検索クエリグラフパターンP1、P1を使用した組のターゲットリソース数「1」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲットリソース数「1」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、残りの3つの内の1つとからなる検索サブグラフの組み合わせを除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP4、P4を使用した組のターゲットリソース数「0」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲットリソース数「0」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の組み合わせを除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP1、P4を使用した組のターゲットリソース数「2」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲットリソース数「2」が整数「3」未満且つ整数「2」以上なので、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の1つとからなる検索サブグラフの組み合わせを除外せずに残す。
なお、詳細説明は略すが、共通クエリグラフパターン生成部12は、他の13通りの組み合わせについても、同様に検索サブグラフの組み合わせを除外するか否かを判定し、該当する場合は当該検索サブグラフの組み合わせを除外する。
以下の工程は第1の実施の形態などのものと同様であり重複となるので説明を省略する。
なお、数値「2.4」より大きい最小の整数「3」や、数値「1.5」より大きい最小の整数「2」は、閾値でり、かかる閾値を求めるには以下のようにしてもよい。
図18に示すように、共通クエリグラフパターン生成部12では、例えば、ターゲットリソース数を降順にプロットしたグラフG1を生成し、グラフGの微分値をプロットしたグラフG2を生成し、グラフG2の極値に対応するターゲットリソース数TPから閾値を選択してもよい。
したがって、第6の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせ(上記例では16通りの各組み合わせ)について、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードの数を求め、該ノードの数について当該組み合わせ内の検索クエリグラフパターンの数より多い分の数であるターゲットリソース数を求め(上記例では、検索クエリグラフパターンP1、P1を使用した組、検索クエリグラフパターンP4、P4を使用した組、検索クエリグラフパターンP1、P4を使用した組についてのターゲットリソース数の例を示した。)、所定の範囲(上記例では、「3」未満且つ「2」以上の範囲)に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
例えば、多数の従業員を擁する会社のデータが格納されたグラフ構造データベース30を使用した場合、ターゲットリソース数が非常に高くなる傾向がある一方で、そのような高いターゲットリソース数に対応する共通クエリグラフパターンから検索できるデータには、会社を介した共通性を示すもの、つまりは、当たり前のものが多く、有意義ではないが、ターゲットリソース数の上限を設定することは、このような不都合の回避に貢献する。つまり、単にグラフ構造データベース30を見ただけでは分かりにくい共通性の発見に貢献することができる。
[第7の実施の形態]
次に、第7の実施の形態について説明する。第7の実施の形態は、第5の実施の形態に対して、共通クエリグラフパターンの生成方法が異なるのでこの点を中心に説明する。
第7の実施の形態では、第6の実施の形態におけるターゲットリソース数とは別の評価値(後述のターゲット数)を計算する。
ここでは、事前にあるいはこれまでの過程で比率(以下、比率TUという)と比率(以下、比率TL)が設定されたこととする。比率は、0〜1の範囲で、且つ、比率TU>比率TLとなるように設定される。ここでは、例として、比率TUを0.8、比率TLを0.5とする。なお、一方の比率と比率どうしの差とを設定しておき、その一方の比率と差を使用して、他方の比率を求めてもよい。
また、事前にあるいはこれまでの過程で最大数MAXと最小数MINが設定されたこととする。ここでは、例として、最大数MAXを3、最小数MINを2とする。
また、例として、検索サブグラフQ1〜Q10から検索サブグラフQ2が除外されたこととする(S8)。また、検索クエリグラフパターンP1〜P4から検索サブグラフQ2に対応する検索クエリグラフパターンP2が除外されたこととする。なお、このステップS8の処理は省略してもよい。
共通クエリグラフパターン生成部12では、最小数MIN以上且つ最大数MAX以下の範囲に属する整数の1つである「2」に対応すべくいずれかの検索クエリグラフパターンを合計で2回使用して、それらを組み合わせたものを1以上生成する。
ここでは、図19(a)に示すように、6通りの組み合わせが生成される。
また、共通クエリグラフパターン生成部12では、最小数MIN以上且つ最大数MAX以下の範囲に属する整数の1つである「3」に対応すべくいずれかの検索クエリグラフパターンを合計で3回使用して、それらを組み合わせたものを1以上生成する。
ここでは、図19(a)に示すように、10通りの組み合わせが生成される。
次に、共通クエリグラフパターン生成部12は、合計で16通りの組のそれぞにつき、ターゲット数を算出する。
(P1,P1の場合)
例えば、検索クエリグラフパターンP1、P1を使用した組の場合は、以下のようにする。
次に、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、残りの3つの内の1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせ6通り(=4×3÷2)の内、組「Q4鈴木、Q5鈴木」、組「Q4鈴木、Q8鈴木」、組「Q5鈴木、Q8鈴木」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:鈴木」のノード)を有する。
共通クエリグラフパターン生成部12は、このインスタンス「Person:鈴木」のようなインスタンスの種類の数「1」を求める。この数「1」がターゲット数である(図19(b))。
(P4,P4の場合)
例えば、検索クエリグラフパターンP4、P4を使用した組の場合は、以下のようにする。
次に、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の1つと、残りの1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせは1通り(=2×1÷2)であり、それは組「Q4鈴木、Q5鈴木」である。この組み合わせでは、ノードの共有がない。
共通クエリグラフパターン生成部12は、このようなインスタンスの種類の数「0」を求める。この数「0」がターゲット数である(図19(b))。
(P1、P4の場合)
例えば、検索クエリグラフパターンP1、P4を使用した組の場合は、以下のようにする。
次に、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の1つとからなる検索サブグラフの組み合わせを全て取得する。
取得された組み合わせ8通り(=4×2)の内、組「Q4鈴木、Q7鈴木」、組「Q5鈴木、Q7鈴木」、組「Q8鈴木、Q7鈴木」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:鈴木」のノード)を有する。また、組「Q1佐藤、Q3佐藤」は、2つ以上の検索サブグラフに共有されるノード(インスタンス「Person:佐藤」のノード)を有する。
共通クエリグラフパターン生成部12は、このようなインスタンス「Person:鈴木」、「Person:佐藤」のようなインスタンスの種類の数「2」を求める。この数「2」がターゲット数である(図19(b))。
なお、詳細説明は略すが、共通クエリグラフパターン生成部12は、他の13通りの組み合わせについても、同様にターゲットリソース数を算出する。
次に、共通クエリグラフパターン生成部12は、ターゲット数の最大値Tを算出する。例えば、ターゲット数の最大値Tは、「3」であることとする。
次に、共通クエリグラフパターン生成部12では、最大値Tに比率TUを掛け、結果として、数値「2.4」が得られる。
また、共通クエリグラフパターン生成部12では、最大値Tに比率TLを掛け、結果として、数値「1.5」が得られる。
次に、共通クエリグラフパターン生成部12では、数値「2.4」より大きい最小の整数「3」を求める。
また、共通クエリグラフパターン生成部12では、数値「1.5」より大きい最小の整数「2」を求める。
次に、共通クエリグラフパターン生成部12では、まず、検索クエリグラフパターンP1、P1を使用した組のターゲット数「1」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲット数「1」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、残りの3つの内の1つとからなる検索サブグラフの組み合わせを除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP4、P4を使用した組のターゲット数「0」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲット数「0」が整数「3」未満且つ整数「2」以上ではないので、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の組み合わせを除外する。
同様に、共通クエリグラフパターン生成部12では、検索クエリグラフパターンP1、P4を使用した組のターゲット数「2」が整数「3」未満且つ整数「2」以上か否かを判定し、ターゲット数「2」が整数「3」未満且つ整数「2」以上なので、検索クエリグラフパターンP1から取得された検索サブグラフQ1、Q4、Q5、Q8の1つと、検索クエリグラフパターンP4から取得された検索サブグラフQ3、Q7の1つとからなる検索サブグラフの組み合わせを除外せずに残す。
なお、詳細説明は略すが、共通クエリグラフパターン生成部12は、他の13通りの組み合わせについても、同様に検索サブグラフの組み合わせを除外するか否かを判定し、該当する場合は当該検索サブグラフの組み合わせを除外する。
以下の工程は第1の実施の形態などのものと同様であり重複となるので説明を省略する。
なお、数値「2.4」より大きい最小の整数「3」や、数値「1.5」より大きい最小の整数「2」は、閾値でり、かかる閾値を求めるには、第6の実施の形態と同様に、例えば、ターゲット数を降順にプロットしたグラフを生成し、該グラフの微分値をプロットしたグラフを生成し、該グラフの極値に対応するターゲット数TPから閾値を選択してもよい。
したがって、第7の実施の形態における共通クエリグラフパターン生成装置によれば、検索クエリグラフパターンを生成し(S5)、生成された検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得し(S7)、生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせ(上記例では16通りの各組み合わせ)について、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードを検出し、該各ノードに含まれるインスタンスの種類の数であるターゲット数を求め(上記例では、検索クエリグラフパターンP1、P1を使用した組、検索クエリグラフパターンP4、P4を使用した組、検索クエリグラフパターンP1、P4を使用した組についてのターゲット数の例を示した。)、所定の範囲に属するターゲット数(上記例では、「3」未満且つ「2」以上の範囲)に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する(S9)ので、共通クエリグラフパターンの数を低減することができる。
また、第6の実施の形態と同様に、ターゲット数の上限を設定することは、単にグラフ構造データベース30を見ただけでは分かりにくい共通性の発見に貢献することができる。
さて、第1の実施の形態では、「比率Rで定まる範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外する」構成(構成1という)を説明した。
また、第2の実施の形態では、「比率RU、RLで定まる範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外する」構成(構成2という)を説明した。
また、第3の実施の形態では、「比率Sで定まる範囲に属さないノードの種類の数に対応する検索サブグラフを除外する」構成(構成3という)を説明した。
また、第4の実施の形態では、「比率SU、SLで定まる範囲に属さないノードの種類の数に対応する検索サブグラフを除外する」構成(構成4という)を説明した。
また、第5の実施の形態では、「最小数MIN以上且つ最大数MAX以下の範囲に属する数の検索サブグラフを組み合わせる」構成(構成5という)を説明した。
また、第6の実施の形態では、「比率KU、KLで定まる範囲に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフを組み合わせる」構成(構成6という)を説明した。
また、第7の実施の形態では、「比率TU、TLで定まる範囲に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフを組み合わせる」構成(構成7という)を説明した。
これら各構成1〜7は、他の構成とは別に単独で実施できる他、構成1〜4の1つと構成5の組み合わせ、構成5と構成6〜7の1つの組み合わせ、構成1〜4の1つと構成6〜7の1つの組み合わせ、構成1〜4の1つと構成5と構成6〜7の1つの組み合わせ、のように組み合わせて実施することができる。
なお、本実施の形態に係る共通クエリグラフパターン生成装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
1…検索システム
10…検索装置
11…入力用GUI生成部
12…共通クエリグラフパターン生成部
13…共通クエリグラフパターン蓄積部
14…出力用GUI生成部
20…ユーザ端末
30…グラフ構造データベース
40…オントロジデータベース

Claims (11)

  1. グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、
    ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
    取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段と
    を備えることを特徴とする共通クエリグラフパターン生成装置。
  2. グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、
    ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
    取得された検索サブグラフにおける所定の概念を有するノードの種類の数を検索クエリグラフパターンごとに求め、所定の範囲に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段と
    を備えることを特徴とする共通クエリグラフパターン生成装置。
  3. グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、
    ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
    取得された検索サブグラフの2つ以上を組み合わせ、且つ、組み合わせ後の検索サブグラフ内の検索サブグラフの数が所定の範囲に属するようにし、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段と
    を備えることを特徴とする共通クエリグラフパターン生成装置。
  4. グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、
    ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
    生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードの数を求め、該ノードの数について当該組み合わせ内の検索クエリグラフパターンの数より多い分の数であるターゲットリソース数を求め、所定の範囲に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段と
    を備えることを特徴とする共通クエリグラフパターン生成装置。
  5. グラフ構造を持つデータが格納されているグラフ構造データベースに接続され、
    ユーザから入力された情報または予め設定された情報を基に、前記グラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
    生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードを検出し、該各ノードに含まれるインスタンスの種類の数であるターゲット数を求め、所定の範囲に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成手段と
    を備えることを特徴とする共通クエリグラフパターン生成装置。
  6. ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、
    取得された検索サブグラフの数を検索クエリグラフパターンごとに求め、所定の範囲に属さない検索サブグラフの数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップと
    を備えることを特徴とする共通クエリグラフパターン生成方法。
  7. ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、
    取得された検索サブグラフにおける所定の概念を有するノードの種類の数を検索クエリグラフパターンごとに求め、所定の範囲に属さないノードの種類の数に対応する検索サブグラフを除外し、残った検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップと
    を備えることを特徴とする共通クエリグラフパターン生成方法。
  8. ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、
    取得された検索サブグラフの2つ以上を組み合わせ、且つ、組み合わせ後の検索サブグラフ内の検索サブグラフの数が所定の範囲に属するようにし、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップと
    を備えることを特徴とする共通クエリグラフパターン生成方法。
  9. ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、
    生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードの数を求め、該ノードの数について当該組み合わせ内の検索クエリグラフパターンの数より多い分の数であるターゲットリソース数を求め、所定の範囲に属するターゲットリソース数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップと
    を備えることを特徴とする共通クエリグラフパターン生成方法。
  10. ユーザから入力された情報または予め設定された情報を基に、グラフ構造を持つデータが格納されているグラフ構造データベースから取得した複数のノード間に存在するパスである検索サブグラフを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成ステップと、
    生成された検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得ステップと、
    生成された複数の検索クエリグラフパターンの1つ以上を合計で2回以上使用して組み合わせた当該各組み合わせについて、組み合わせ内の各検索クエリグラフパターンから取得された検索サブグラフを組み合わせ、組み合わせ後の検索サブグラフの集合から2つ以上の検索サブグラフに共有されるノードを検出し、該各ノードに含まれるインスタンスの種類の数であるターゲット数を求め、所定の範囲に属するターゲット数に対応する組み合わせ内の検索クエリグラフパターンから取得された検索サブグラフの2つ以上を組み合わせ、組み合わせ後の検索サブグラフ内の所定のノード名およびプロパティ名を変数とした共通クエリグラフパターンを生成する共通クエリグラフパターン生成ステップと
    を備えることを特徴とする共通クエリグラフパターン生成方法。
  11. 請求項1ないし5のいずれかに記載の共通クエリグラフパターン生成装置としてコンピュータを機能させるためのコンピュータプログラム。
JP2009253164A 2009-11-04 2009-11-04 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム Pending JP2011100206A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009253164A JP2011100206A (ja) 2009-11-04 2009-11-04 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009253164A JP2011100206A (ja) 2009-11-04 2009-11-04 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2011100206A true JP2011100206A (ja) 2011-05-19

Family

ID=44191345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009253164A Pending JP2011100206A (ja) 2009-11-04 2009-11-04 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2011100206A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121712A (zh) * 2016-11-28 2018-06-05 北京国双科技有限公司 一种关键词存储方法及装置
JP2021060635A (ja) * 2019-10-02 2021-04-15 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121712A (zh) * 2016-11-28 2018-06-05 北京国双科技有限公司 一种关键词存储方法及装置
CN108121712B (zh) * 2016-11-28 2020-10-30 北京国双科技有限公司 一种关键词存储方法及装置
JP2021060635A (ja) * 2019-10-02 2021-04-15 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP7239433B2 (ja) 2019-10-02 2023-03-14 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Similar Documents

Publication Publication Date Title
US9454599B2 (en) Automatic definition of entity collections
Meghini et al. Representing narratives in digital libraries: The narrative ontology
JP5271808B2 (ja) 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法、および共通クエリグラフパターン生成用プログラム
JP4547300B2 (ja) 共通クエリグラフパターン生成装置、生成方法、生成用プログラム、およびこれらを用いた共通サブグラフ検索装置、検索方法、検索用プログラム
Taheriyan et al. A graph-based approach to learn semantic descriptions of data sources
JPWO2011142134A1 (ja) 情報検索装置、情報検索方法、コンピュータ・プログラムおよびデータ構造
US20150100605A1 (en) Determining collection membership in a data graph
Kargar et al. Efficient duplication free and minimal keyword search in graphs
JP2012252693A (ja) インスタンス経路の探索及び視覚化方法、並びにその装置
Cotelo et al. Dynamic topic‐related tweet retrieval
Wardani et al. Semantic mapping relational to graph model
KR101226162B1 (ko) 온톨로지 데이터를 그래프 데이터로 변환하기 위한 방법 및 그 장치
US8965910B2 (en) Apparatus and method of searching for instance path based on ontology schema
KR101243056B1 (ko) 개체 식별 결과 검색 시스템 및 방법
Ioannou et al. Probabilistic entity linkage for heterogeneous information spaces
JP2011100206A (ja) 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法およびコンピュータプログラム
EL BACHA et al. Ranking of influential users based on user-tweet bipartite graph
US9886497B2 (en) Indexing presentation slides
Surianarayanan et al. Towards quicker discovery and selection of web services considering required degree of match through indexing and decomposition of non–functional constraints
Li et al. Graph summarization for source selection of querying over Linked Open Data
Ahmed et al. A light weight approach for ontology generation and change synchronization between ontologies and source relational databases
Kang et al. Edge-attributed community search for large graphs
Torres et al. From dbpedia to wikipedia: Filling the gap by discovering wikipedia conventions
Eissa et al. Towards recommendation using interest-based communities in attributed social networks
Sediyono et al. Measuring the performance of ontological based information retrieval from a social media