(57)【要約】【課題】  様々なグラフデータベースを他の関係データベースやWeb等の情報源と統合検索することを可能にする。【解決手段】  本発明は、情報源のデータ項目やグラフ探索の機能を仮想的なテーブルとして管理する情報源辞書、ユーザの指定する概念と情報源の持つデータ項目の対応を保持する用語辞書、ユーザの指定する概念間のつながりを管理する概念グラフ辞書、該情報源から情報を取得するときに機能入力の可不可、機能を実行するときに指定しなければならない必須のデータ項目の情報を保持する情報源能力辞書を有し、ユーザからの問合せに含まれる概念と情報源の項目との対応関係と、情報源側で実行される問合せ処理情報が含まれており、さらに該ユーザが指定した概念に対応するデータ項目が情報源能力辞書に登録された制約を破る候補を排除して問合せ候補を作成し、情報源問合せを生成する。【選択図】  図２
2014229276.tif 000002
【特許請求の範囲】
【請求項１】
Webサイト及び、グラフデータベース、関係データベースを含む情報源群に分散しているデータを統合的に検索するグラフデータベース統合検索装置であって、
ユーザに問合せを発行させ、処理結果である複数の問合せ候補をユーザ端末に表示し、表示された問合せ候補を選択する手段を提供し、該ユーザが選択した問合せ候補を転送し、実行結果を表示するユーザインタフェース手段と、
情報源のデータ項目やグラフ探索の機能を仮想的なテーブルとして管理する情報源辞書、ユーザの指定する概念と前記情報源の持つデータ項目の対応を保持する用語辞書、ユーザの指定する概念間のつながりを管理する概念グラフ辞書、該情報源から情報を取得するときに機能入力の可不可、機能を実行するときに指定しなければならない必須のデータ項目の情報を保持する情報源能力辞書を有するメタデータ管理手段と、
前記ユーザインタフェース手段を介して前記ユーザからの問合せを受け取り、該ユーザが指定した概念に対応するデータ項目が前記情報源能力辞書に登録された制約を破る候補を排除し、該問合せに含まれる概念と情報源の項目との対応関係と、情報源側で実行される問合せ処理情報を含む問合せ候補を作成する問合せ変換手段と、
生成された前記問合せ候補から、情報源問合せを生成し、該情報源問合せに対する結果を取得して前記ユーザインタフェース手段に出力する問合せ実行手段と、
前記問合せ実行手段からの前記情報源問合せを、前記情報源に発出し、仮想テーブルに対応する表形式に情報に成形して返却する情報源アクセスドライバ手段と、
を有することを特徴とするグラフデータベース統合検索装置。
【請求項２】
前記メタデータ管理手段は、
グラフ探索機能名とグラフ探索機能が必要とする入力項目と出力項目と、該グラフ探索機能が出力項目を導出するために必要となる情報源データ項目の表現形式を持つシステム能力辞書を更に有し、
前記問合せ変換手段は、
問合せに対応するグラフ探索機能を実行するときに、実行する部分グラフ探索機能と情報源側で実行する部分グラフ探索機能を、前記システム能力辞書を利用して処理を分割する手段を有し、
前記問合せ実行手段は、
前記問合せ変換手段で分割された処理を実行する手段を有する
請求項１記載のグラフデータベース統合検索装置。
【請求項３】
前記メタデータ管理手段は、
グラフ探索機能名と、グラフ探索機能を複数のグラフ探索下位機能の合成で求められる場合のグラフ探索機能と該グラフ探索下位機能との関係を保持するシステム能力分割辞書を更に有し、
前記問合せ変換手段は、
前記システム能力分割辞書を参照して、当該グラフデータベース統合検索装置側に対する問合せに対応するグラフ探索機能を、グラフ探索下位機能に分解できる場合、前記問合せ実行手段に対して、情報源側でグラフ探索を実行するよう制御する手段を含む
請求項２記載のグラフデータベース統合検索装置。
【請求項４】
Webサイト及び、グラフデータベース、関係データベースを含む情報源群に分散しているデータを統合的に検索するグラフデータベース統合検索方法であって、
ユーザに問合せを発行させ、処理結果である複数の問合せ候補をユーザ端末に表示し、表示された問合せ候補を選択する手段を提供し、該ユーザが選択した問合せ候補を転送し、実行結果を表示するユーザインタフェース手段と、
情報源のデータ項目やグラフ探索の機能を仮想的なテーブルとして管理する情報源辞書、ユーザの指定する概念と前記情報源の持つデータ項目の対応を保持する用語辞書、ユーザの指定する概念間のつながりを管理する概念グラフ辞書、該情報源から情報を取得するときに機能入力の可不可、機能を実行するときに指定しなければならない必須のデータ項目の情報を保持する情報源能力辞書を有するメタデータ管理手段と、
情報源問合せを、前記情報源に発出し、仮想テーブルに対応する表形式に情報に成形して返却する情報源アクセスドライバ手段と、
問い合わせ変換手段と、問合せ実行手段と、
を有する装置において、
前記問合せ変換手段が、
前記ユーザインタフェース手段を介して前記ユーザからの問合せを受け取り、該ユーザが指定した概念に対応するデータ項目が前記情報源能力辞書に登録された制約を破る候補を排除し、該問合せに含まれる概念と情報源の項目との対応関係と、情報源側で実行される問合せ処理情報を含む問合せ候補を作成する問合せ変換ステップと、
前記問合せ実行手段が、前記問合せ変換ステップで生成された前記問合せ候補から、情報源問合せを生成し、該情報源問合せに対する結果を取得して前記ユーザインタフェース手段に出力する問合せ実行ステップと、
を行うことを特徴とするグラフデータベース統合検索方法。
【請求項５】
前記メタデータ管理手段に、
グラフ探索機能名とグラフ探索機能が必要とする入力項目と出力項目と、該グラフ探索機能が出力項目を導出するために必要となる情報源データ項目の表現形式を持つシステム能力辞書を更に有するとき、
前記問合せ変換ステップにおいて、
問合せに対応するグラフ探索機能を実行するときに、実行する部分グラフ探索機能と情報源側で実行する部分グラフ探索機能を、前記システム能力辞書を利用して処理を分割し、
前記合せ実行ステップにおいて、
前記問合せ変換手段で分割された処理を実行する
請求項４記載のグラフデータベース統合検索方法。
【請求項６】
前記メタデータ管理手段に、
グラフ探索機能名と、グラフ探索機能を複数のグラフ探索下位機能の合成で求められる場合のグラフ探索機能と該グラフ探索下位機能との関係を保持するシステム能力分割辞書を更に有するとき、
前記問合せ変換ステップにおいて、
前記システム能力分割辞書を参照して、当該グラフデータベース統合検索装置側に対する問合せに対応するグラフ探索機能を、グラフ探索下位機能に分解できる場合、情報源側でグラフ探索を実行するよう制御する
請求項５記載のグラフデータベース統合検索方法。
【請求項７】
コンピュータを、
請求項１乃至３のいずれか１項に記載のグラフデータベース統合検索装置の各手段として機能させるためのグラフデータベース統合検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフデータベース統合検索装置及び方法及びプログラムに係り、特に、グラフデータベース、Webなどの情報源に分散しているデータを統合的に検索するためのグラフデータベース統合検索装置及び方法及びプログラムに関する。
【０００２】
詳しくは、異種分散データベース、メディエータ、グラフデータベースなどのデータベース技術、グラフ探索等のグラフアルゴリズム技術、グラフ探索を利用した旅行日程作成支援のような旅行計画問合せや計画作成支援技術のためのグラフデータベース統合検索装置及び方法及びプログラムに関する。
【背景技術】
【０００３】
これまで、異種分散データベースやメディエータと呼ばれるシステムによって、異種の複数のデータベースやWeb情報元を仮想的に統合検索することが可能である。例えば、MediPresto/Mシステムは、それを関係データベースのモデルを用いて行うことができる技術がある（例えば、非特許文献１参照）。
【０００４】
MediPresto/Mは、Web情報源に対する検索機能を持つ。Web情報源に対する検索機能とは、Google（登録商標）等が実現している、検索したいキーワードに対して、そのキーワードを含むWebページを出力するような検索技術ではなく、Webページに含まれる表構造等を仮想的なデータベースのテーブルと見做し、そのデータを取り出し、他の関係データベース等からえられるテーブルと結合するなどのデータベース的な統合処理を行うことができる検索機能である。さらに、Web情報源に対する検索機能では、フォーム等における入力項目も仮想的なデータ項目と見做すことによって、SQLに相当する問合せを、検索条件をhttpの"get"や"post"のパラメータに変換することによって、フォームに対する返却情報も仮想的なテーブルとして検索が可能である。この例を図１に示す。
【０００５】
また、XMLとマルチメディア検索に対する異種分散情報源検索を実現する方法がある（例えば、非特許文献２，３参照）。
【０００６】
一方、近年、旅行日程作成支援等の目的で、交通路を検索するサービスやナビゲーションシステムが普及しており、それを実現するためのグラフ探索技術の研究開発が進んでいる。そして、そのようなグラフ探索を実現するためのグラフ専用のデータベースであるグラフデータベースの普及も進みつつある。グラフデータベースは、ノードとエッジで表現されるグラフ情報をデータベースとして格納し、幅優先・深さ優先・最短経路等のグラフ探索機能を効率よく実現できる。その実例としてNeo4jがある。
【０００７】
グラフデータベースを利用したグラフ探索技術として、時間制約付き寄り道探索が提案されている（例えば、非特許文献４参照）。これは、出発地・到着地・経由地のカテゴリ・ユーザの時間制約を与えると、出発地から経由地を経て到着地に達する経路で、時間制約を満たすものを求めるような探索である。このような探索では、経由地のカテゴリ情報やサービス提供時間の情報を分散して管理されることが多く、分散したグラフデータベースを検索する技術が求められる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Honishi, T., Suzuki, G., Kobayashi, N., Konishi, K.: A Mediation System Based on Universal Relation Modeling, 20th International conference on Conceptual Modeling Proceedings (ER2001), SE3, pp. 1-4 (2001).
【非特許文献２】林孝志，小西一也，堀口恭太郎，綱川光明，鈴木源吾，芳西崇：異種情報源統合のためのXML問合せ最適化と情報源問合せ能力管理，情報処理学会論文誌 Vol.44 No. SIG12(TOD 19) pp. 1- 10 (2003).
【非特許文献３】Hayashi, T., Suzuki, G., Iizuka, Y., Konishi, K., Honishi, T.: Distributed Multimedia Information Retrieval that Accepts Arbitrary Media Key, 7th Workshop on Multimedia Information Systems, pp. 153 -162 (2001).
【非特許文献４】鈴木源吾，榎本俊文，小林伸幸，山室雅司，鬼塚真：時間制約をもつ寄り道経路探索システムの実現と評価，情報処理学会論文誌 Vol. 53 No. 2 pp. 857 - 867 (2012).
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の図１で示すように、Web情報源に対する検索機能を利用すると、グラフ探索を提供しているWeb情報源から結果を得ることが可能であり、他の情報源と結合することも、上記のMediPresto/M等により可能である。
【００１０】
しかし、Web情報源では、入力と出力に制限がある。入力に指定できる項目は限定しているし、必ず指定しなければならない項目もある。出力する項目で入力することはできない。よって、そのような制約のある情報源は検索しないように問合せ候補から除外すべきである。
【００１１】
また、グラフ探索を実現する場合、例えば、図１の場合、Web情報源でこの時間制約の条件を指定できる寄り道探索の機能を完全に実現する必要がある。しかし、実際には全ての情報が一つの情報源にない場合が多く、カテゴリ情報やサービス提供時間が分散していることがある。そのときに容易に複数の分散したグラフデータベースを統合検索する方法はこれまでになかった。
【００１２】
また、情報源によっては、時間制約の条件を指定できない寄り道探索しかできなかったり、単純な最短経路検索しかできなかったりと、情報源の能力にばらつきがある。そのようなグラフ探索を行う情報源の能力のバラツキを解消することも既存の技術ではできなかった。
【００１３】
本発明は上記の点に鑑みなされたもので、様々なグラフデータベースを他の関係データベースやWeb等の情報源と統合検索することが可能なグラフデータベース統合検索装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決するため、一態様によれば、Webサイト及び、グラフデータベース、関係データベースを含む情報源群に分散しているデータを統合的に検索するグラフデータベース統合検索装置であって、
ユーザに問合せを発行させ、処理結果である複数の問合せ候補をユーザ端末に表示し、表示された問合せ候補を選択する手段を提供し、該ユーザが選択した問合せ候補を転送し、実行結果を表示するユーザインタフェース手段と、
情報源のデータ項目やグラフ探索の機能を仮想的なテーブルとして管理する情報源辞書、ユーザの指定する概念と前記情報源の持つデータ項目の対応を保持する用語辞書、ユーザの指定する概念間のつながりを管理する概念グラフ辞書、該情報源から情報を取得するときに機能入力の可不可、機能を実行するときに指定しなければならない必須のデータ項目の情報を保持する情報源能力辞書を有するメタデータ管理手段と、
前記ユーザインタフェース手段を介して前記ユーザからの問合せを受け取り、該ユーザが指定した概念に対応するデータ項目が前記情報源能力辞書に登録された制約を破る候補を排除し、該問合せに含まれる概念と情報源の項目との対応関係と、情報源側で実行される問合せ処理情報を含む問合せ候補を作成する問合せ変換手段と、
生成された前記問合せ候補から、情報源問合せを生成し、該情報源問合せに対する結果を取得して前記ユーザインタフェース手段に出力する問合せ実行手段と、
前記問合せ実行手段からの前記情報源問合せを、前記情報源に発出し、仮想テーブルに対応する表形式に情報に成形して返却する情報源アクセスドライバ手段と、を有するグラフデータベース統合検索装置が提供される。
【発明の効果】
【００１５】
上述のように本発明によれば、様々なグラフデータベースを他の関係データベースやWeb等の情報源と統合検索することができる。さらに、情報源能力辞書を用いることにより、入出力について矛盾のない適切な情報源を問合せ候補とすることができる。また、システム能力辞書を用いることにより、グラフ探索処理を適切な分担によって効率的に実行することができる。
【図面の簡単な説明】
【００１６】
【図１】Web情報源に対する検索の例である。
【図２】本発明の一実施の形態におけるグラフデータベース統合検索装置の構成図である。
【図３】本発明の一実施の形態における情報源辞書・用語辞書・概念グラフ辞書を用いた問合せ候補作成処理のフローチャートである。
【図４】本発明の一実施の形態における情報源能力辞書を加えた問合せ候補作成処理のフローチャートである。
【図５】本発明の一実施の形態におけるシステム能力辞書を加えた問合せ候補作成処理のフローチャートである。
【図６】本発明の一実施の形態におけるシステム能力分割辞書を加えた問合せ候補作成処理のフローチャートである。
【図７】本発明の第１の実施例におけるグラフデータベース統合検索装置の単純な利用方法を示す図である。
【図８】本発明の第２の実施例における時間制約つき寄り道探索の例である。
【図９】本発明の第２の実施例における寄り道探索能力の整理である。
【図１０】本発明の第２の実施例における寄り道探索の分散パターンである。
【図１１】本発明の第２の実施例における寄り道探索のための処理の組み合わせである。
【図１２】本発明の第２の実施例における寄り道探索能力の分担（基本導出法）の例である。
【図１３】本発明の第２の実施例における寄り道探索能力の分担（動的導出法）の例である。
【図１４】本発明の第２の実施例の問合せの例（その１）である。
【図１５】本発明の第２の実施例の問合せの例（その２）である。
【図１６】本発明の第２の実施例の問合せの例（その３）である。
【発明を実施するための形態】
【００１７】
以下、図面と共に本発明の実施の形態を説明する。
【００１８】
図２は、本発明の一実施の形態におけるグラフデータベース統合検索装置の構成を示す。
【００１９】
同図に示すシステムは、ユーザ（ユーザ端末）１０、グラフデータベース統合検索装置１００、関係DB２００、グラフDB３００、Web４００、XML５００からなり、グラフデータベース統合検索装置１００には、ユーザ端末１０、及び、情報源として関係DB２００、グラフDB３００、Web４００、XML５００が接続されている。
【００２０】
グラフデータベース統合検索装置１００は、メタデータ管理部１１０、ユーザインタフェース部１２０、問合せ変換部１３０、問合せ実行部１４０、情報源アクセスドライバ１５０を有する。
【００２１】
ユーザインタフェース部１２０は、本装置１００に対するユーザの問合せを受け取り、問合せ変換部１３０による処理結果である複数の問合せ候補をユーザ１０に提示し、ユーザに実行する問合せを選択させ、問合せ実行指示を受け取り、問合せ実行部１４０が作成する問合せ結果をユーザ１０に提示する。ユーザの問合せは、概念と概念に対する条件の組み合わせとなる。例えば、時間制約付き寄り道探索において、「品川」を出発し、「ラーメン」というカテゴリを持つノードを経由し、「２２時」までに「食事サービス」を終了し、「横須賀」に到着する寄り道経路を求める問合せとして、
select寄り道経路where発駅＝'品川'and着駅＝'横須賀'andカテゴリ＝'ラーメン'and時間制約＝'食事，２２時'
と指定する。どの情報源から取得するかは指定しない。
【００２２】
問合せ変換部１３０は、ユーザからの問合せを取得して、複数のデータベースを統合検索するための問合せ候補を生成する。用いる辞書により以下の４つのパターン（[１]〜［４］）の処理がある。
【００２３】
［1］情報源辞書・用語辞書・概念グラフ辞書を用いて問合せ候補を作成：
問合せ変換部１３０は、上記の形式の問合せを受け取り、メタデータ管理部１１０に含まれる３つの辞書（情報源辞書１１１、用語辞書１１２、概念グラフ辞書１１３）を利用して、複数の問合せ候補を作成し、ユーザインタフェース部１２０に返却する。問合せ候補とは、複数のデータベースを統合検索する問合せに対応し、以下に相当する情報を持つ。
【００２４】
・概念対応：概念と実際のデータベースのデータ項目との対応（指定した概念毎複数）
・情報源処理：情報源（関係DB２００，グラフＤＢ３００，Web４００，XML５００等）側に発行されるSQL情報（情報源毎複数）
・システム処理：システム（当該グラフデータベース統合検索装置１００）側で発行される関係DBの操作情報（結合（join）等）とその操作のパラメータ（結合条件等）
情報源処理のSQLは、SQL相当の情報であることを示し、実装上は構造体等で渡されることもある。システム処理は、複数の情報源から取得した情報を本装置１００側で統合する処理であり、典型的な例は、RDB(Relational DataBase)のJOIN処理となる。
【００２５】
メタデータ管理部１１０は、情報源辞書１１１、用語辞書１１２、概念グラフ辞書１１３、情報源能力辞書１１４、システム能力辞書１１５、システム能力分割辞書１１６を有する。以下に各辞書について説明する。
【００２６】
＜情報源辞書１１１＞
情報源辞書１１１とは、情報源がどのような項目を持っているかを管理する。情報源辞書１１１は、以下のデータを保持する。
【００２７】
・情報源名：情報源の名前;
・情報源種別名：情報源が関係DB・Web情報・グラフDBであるかの種別;
・情報源接続情報：情報源に接続するための補助情報。Web情報のURLやデータベースのデータベース名等;
・テーブル名：テーブルの名前（Web情報・グラフDBの場合は仮想テーブルを意味する）
・データ項目名：データ項目の名前（Web情報・グラフDBの場合は仮想データ項目を意味する）;
・表現形式：データ項目が表す文字列・整数・日付等の表現形式;
＜用語辞書１１２＞
用語辞書１１２とは、ユーザが指定する概念名と情報源のデータ項目の対応を管理している。ユーザが指定する概念名がデータ項目に一致するとは限らないので、その名前の違いを解消する同義語辞書の役割を持つ。用語辞書１１２は以下のデータを保持する。
【００２８】
・概念名：ユーザが指定する概念の名前;
・情報源名：概念が存在する情報源の名前;
・テーブル名：概念が存在するテーブルの名前;
・データ項目名：概念に対応するデータ項目の名前;
＜概念グラフ辞書１１３＞
概念グラフ辞書１１３は、ユーザが指定する概念間の関係を表すグラフであり、
・ユーザが指定する概念の名前をノード;
・概念間のつながりをエッジ;
としている。概念名は、初期状態ではデータベースの項目名を集める等の方法で作成する。概念間のつながりは、集められたデータベースの項目が同じテーブルに入っていれば、それをエッジとする。また、テーブル間で外部キーとキーのような参照関係がある場合、それもエッジとする。情報源（テーブルの集まりと考える）をまたがって、外部キーとキーに相当する対応関係があれば、それもエッジとする。これらは、事前のデータベースの分析作業によって作成されるものとする。
【００２９】
情報源辞書１１１と用語辞書１１２と概念グラフ辞書１１３の関係について以下に述べる。
【００３０】
用語辞書１１２は、概念グラフにある概念の名前と、その概念が実際に存在するデータベースのデータ項目との対応関係を表している（情報源名とテーブル名はテーブル項目を一意に特定するための補助情報である）。情報源辞書１１１はデータ項目の表現形式と、データ項目を含む情報源の種別（つまり情報源から情報を取得するための手段に対応する。Web情報⇒URLから取得、RDB⇒データベース名から取得等）を表している。よって、基本的な利用の仕方は以下となる。
【００３１】
・ユーザから入力された問合せに含まれる概念名が概念グラフ辞書１１３の概念グラフにあるかを調べる。
【００３２】
・見つかった概念名から、用語辞書１１２を用いて対応するデータ項目を見つける。
【００３３】
・そのデータ項目がどのような種類の情報源で、どのように接続したらよいか、また、表現形式は何かを得るために情報源辞書１１１を調べる。
【００３４】
［問合せ候補作成］
まず、問合せ変換部１３０が情報源辞書１１１、用語辞書１１２、概念グラフ辞書１１３を用いて問合せ候補を作成する基本手順を以下に示す。この手順により、複数のデータベースのアクセスする候補が作成される。
【００３５】
図３は、本発明の一実施の形態における問合せ候補作成処理のフローチャートである。
【００３６】
ステップ１０１）問合せ変換部１３０は、問合せに含まれる概念を概念グラフ辞書１１３から探し、見つかった場合はステップ１０２に移行し、見つからない場合は、当該処理を終了する。
【００３７】
ステップ１０２）概念名に基づいて、用語辞書１１２を検索し、得られた情報源名に基づいて情報源辞書１１１を参照して見つかった概念間を接続する全てのパス（経路）を求める。
【００３８】
ステップ１０３）用語辞書１１２から見つかった概念に対応する情報源のデータ項目を情報源辞書１１１から見つける。
【００３９】
ステップ１０４）情報源辞書１１１を参照して、見つかったパスと情報源のデータ項目の組み合わせを求める。
【００４０】
ステップ１０５）組み合わせの中で情報源処理とシステム処理を分離する。具体的には、情報源から取得できる部分は情報源処理とし、複数の情報源をまたがる場合をシステム処理とする。
【００４１】
ステップ１０６）  情報源処理をSQLに変換し、問合せ実行部１４０に出力する。
【００４２】
［２］情報源辞書・用語辞書・概念グラフ辞書・情報源能力辞書を用いて問合せ候補を作成：
まず、情報源能力辞書１１４について説明する。
【００４３】
＜情報源能力辞書１１４＞
情報源能力辞書１１４は、情報源辞書１１１と重複する項目あるので、それらは適宜正規化して管理する。
【００４４】
情報源能力辞書１１４は、以下の情報を保持する。
【００４５】
・情報源名：情報源の名前
・テーブル名：テーブルの名前
・データ項目名：データ項目の名前
・入力指定可不可：データ項目に対して入力指定することが可能かを表すフラグ
・出力指定可不可：データ項目に対して出力指定することが可能かを表すフラグ
・必須項目識別：そのデータ項目を入力として指定が必須かどうか
前述の［１］の処理に報源能力辞書１１４を加えて、問合せ変換部１３０による問合せ候補を作成する手順を以下に示す。
【００４６】
図４は、本発明の一実施の形態における情報源能力辞書を加えた問合せ候補作成処理のフローチャートである。
【００４７】
ステップ２０１）問合せ変換部１３０は、問合せに含まれる概念を概念グラフ辞書１１３から探し、見つかった場合はステップ１０２に移行し、見つからない場合は、当該処理を終了する。
【００４８】
ステップ２０２）概念名に基づいて用語辞書１１２を参照し、得られた情報源名に基づいて情報源辞書１１１を参照して見つかった概念間を接続する全てのパス（経路）を求める。
【００４９】
ステップ２０３）さらに、用語辞書１１２から見つかった概念に対応する情報源のデータ項目を情報源辞書１１１から見つける。
【００５０】
ステップ２０４）  ステップ２０３で見つかったデータ項目に対応する概念に条件が指定されているかを判定し、条件が指定されている場合はステップ２０５に移行し、指定されていない場合はステップ２０７に移行する。具体的には、問合せに含まれる条件により判断する。例えば、問合せに含まれる概念「評価」には条件（図７の例における「where 評価＞２」）が指定されているため、ステップ２０５に移行する。
【００５１】
ステップ２０５）  条件が指定されている場合、データ項目名に基づいて、情報源能力辞書１１４の入力指定可不可の項目を参照し、そのデータ項目が入力可であるか確認し、不可であればステップ２０６に移行し、可であればステップ２０７に移行する。
【００５２】
ステップ２０６）  入力不可となっているデータ項目を問合せ候補作成から除外し、当該処理を終了する。
【００５３】
ステップ２０７）  ステップ２０３で見つかったデータ項目に対応する概念を求めることが指定されているかを判定し、指定されている場合にはステップ２０８に移行し、指定されていない場合はステップ２１０に移行する。
【００５４】
ステップ２０８）  概念を求めることが指定されている場合には、情報源能力辞書１１４の出力指定可不可の項目を参照し当該データ項目が出力可であるかを確認し、不可であればステップ２０９に移行し、そうでない場合はステップ２１０に移行する。
【００５５】
ステップ２０９）  出力不可となっているデータ項目を問合せ候補作成から除外し、当該処理を終了する。
【００５６】
ステップ２１０）  情報源名に基づいて、情報源辞書１１１を参照して、見つかったパスと情報源のデータ項目の組み合わせを求める。
【００５７】
ステップ２１１）組み合わせの中で情報源処理とシステム処理を分離する。具体的には、情報源から取得できる部分は情報源処理とし、複数の情報源をまたがる場合をシステム処理とする。
【００５８】
ステップ２１２）  各情報源がどの機能を実行できるかを、仮想テーブルを利用し、情報源能力辞書１１５のテーブル名の値を設定する。例えば、情報源名＝DB1、テーブル名＝寄り道探索、データ項目名＝発ノードのように設定する。情報源能力辞書１１５の入力必須項目に一つも指定されていない場合はステップ２１３に移行し、そうでない場合はステップ２１４に移行する。
【００５９】
ステップ２１３）  必須項目が指定されていない場合は当該組み合わせの情報源処理を候補から削除し、当該処理を終了する。
【００６０】
ステップ２１４）  必須項目が指定されている場合は、上記の情報源処理をSQLに変換し、問合せ実行部１４０に出力する。
【００６１】
上記の処理において、ステップ２０４，２０５，２０６，２０７，２０８，２０９、２１２，２１３（図４では＊で示す）処理が、図３の処理と比較して拡張された手順である。当該手順により、Web情報源４００、グラフデータベース３００等の機能を実現する情報源に対して、不可能な要求を発出することを回避することが可能となる。
【００６２】
［３］情報源辞書・用語辞書・概念グラフ辞書・情報源能力辞書・システム能力辞書を用いて問合せ候補を作成：
まず、システム能力辞書１１５について説明する。
【００６３】
＜システム能力辞書１１５＞
システム能力辞書１１５は以下の項目からなる。
【００６４】
・システム機能名：ダイクストラ探索、寄り道探索などのグラフ探索機能の名前である。システム側で実現可能な探索能力の一覧ということもできる。本装置１００の管理単位としてはテーブルに対応する。
【００６５】
・ノード必須項目：システム機能の処理を実現するために必要なノードに必要な項目とその表現形式を示す。
【００６６】
・エッジ必須項目：システム機能の処理を実現するために必要なエッジに必要な項目とその表現形式を示す。
【００６７】
・入力項目：システム機能の処理を実現するために必要な項目のリスト；
・出力項目：システム機能の処理を実現するために必要な項目のリスト；
入力項目、出力項目は、それぞれ用語辞書１１２に登録し、ユーザが指定した概念から、システム機能に対応付けられるようにしておく。
【００６８】
また、情報源辞書１１１で、情報源種別名がグラフデータベース３００の種別である場合は、以下の情報も併せて管理する（情報源毎に定義される）。これはシステム能力がどの仮想テーブルをノード・エッジと見做すかを認識するために必要である。
【００６９】
・ノードテーブル名：グラフデータベース情報源のどれがノードを表現しているか；
・エッジテーブル名：グラフデータベース情報源のどれがエッジを表現しているか；
システム能力辞書１１５を加えて、グラフデータベース３００の能力を組み合わせる方法について説明する。
【００７０】
システム能力辞書１１５とは、本装置１００が持つグラフ探索能力を表す辞書である。もし、情報源のグラフDB３００側にグラフ探索能力が欠けている場合、そのグラフDB３００のノード情報とエッジ情報を用いて本装置１００側でグラフ探索を実現できるかを、当該システム能力辞書１５０で判定する。
【００７１】
最も単純な例は、ノード間の最短経路を求めるダイクストラ探索である。ダイクストラ探索は、エッジにコストの情報を持っていることが必須であり、その表現形式は数値である必要がある。逆にそれ以外の情報はノード・エッジのつながりの情報のみで構わない。もし、情報源がダイクストラ探索を行う能力がないと仮定したとき、エッジにコストの情報さえ持っていれば、それを本装置１００側で取得して探索処理を実行することは可能である（速度は遅くなると予想される）。コストを情報源が持っていなければダイクストラを代行するのは当然不可能である。
【００７２】
システム能力辞書１１５を加えてグラフデータベース３００に対する問合せ候補を生成する手順を示す。
【００７３】
図５は、本発明の一実施の形態におけるシステム能力辞書を加えた問合せ候補作成処理のフローチャートである。
【００７４】
ステップ３０１）問合せ変換部１３０は、問合せに含まれる概念を概念グラフ辞書１１３から探し、見つかった場合はステップ１０２に移行し、見つからない場合は、当該処理を終了する。
【００７５】
ステップ３０２）概念名に基づいて、用語辞書１１２を検索し、得られた情報源名に基づいて情報源辞書１１１を参照して見つかった概念間を接続する全てのパス（経路）を求める。
【００７６】
ステップ３０３）見つかった概念に対応する情報源のデータ項目とシステム機能の入出力項目を用語辞書１１２から見つける。
【００７７】
ステップ３０４）用語辞書１１２から見つかった概念に対応する情報源のデータ項目を情報源辞書１１１から見つける。
【００７８】
ステップ３０５）  システム機能のみで構成される候補である場合はステップ３０６に移行し、そうでない場合はステップ３０７に移行する。
【００７９】
ステップ３０６）  システム機能のみで構成される候補は、情報源とつながりを持てないので、組み合わせから削除し、当該処理を終了する。
【００８０】
ステップ３０７）システム機能の処理と情報源処理とを組み合わせて構成される候補は、そのシステム機能が情報源を用いて実現可能かを判定する。具体的にはステップ３０８〜３０９の処理を行って判定する。
【００８１】
まず、システム機能が必要な必須項目を求める。
【００８２】
ステップ３０８）  情報源に対応するノードテーブルとエッジテーブルを情報源辞書１１１から求める。
【００８３】
ステップ３０９）  情報源能力辞書１１５を参照して、ノードテーブルとエッジテーブルに必須項目があるか調べ、不足していればステップ３１０に移行する。充足している場合はステップ３１１に移行する。
【００８４】
ステップ３１０）  必須項目が不足している場合は当該候補を組み合わせから削除し、当該処理を終了する。
【００８５】
ステップ３１１）組み合わせの中で情報源処理とシステム処理を分離する。具体的には、情報源から取得できる部分は情報源処理とし、複数の情報源をまたがる場合をシステム処理とする。
【００８６】
ステップ３１２）  情報源処理をSQLに変換し、問合せ実行部１４０に出力する。
【００８７】
上記のフローチャートにおいて、ステップ３０５〜３１０の処理（図５では＊で示す）が図３のフローチャートとの差分である。
【００８８】
［４］情報源辞書・用語辞書・概念グラフ辞書・情報源能力辞書・システム能力辞書・。システム能力分割辞書を用いて問合せ候補を生成：
次に、［３］の処理にシステム能力分割辞書１１６を用いて問合せ候補を作成する処理を説明する。
【００８９】
最初にシステム能力分割辞書１１６について説明する。
【００９０】
＜システム能力分割辞書１１６＞
システム能力分割辞書１１６は、以下の情報を保持する。
【００９１】
・システム機能名：寄り道探索などのグラフ探索機能の名前である；
・部分機能リスト：システム機能の処理を実現するために必要な部分機能とその実行順番を示す；
以下に、システム能力分割辞書１１６を加えて、グラフデータベース３００に対する問合せを最適化する方法を示す。
【００９２】
以下の処理は、情報源側にできるだけ多くの機能を実行させるような制御を行う。厳密にはデータベースの一般論としてコスト評価した最適化が必要であるが、グラフ処理はノード・エッジへの大量の細かいアクセスが発生するために、情報源側での実行を厚くしておく方が良好な結果が得られるという経験則から以下のような制御を行う。
【００９３】
図６は、本発明の一実施の形態におけるシステム能力分割辞書を加えた問合せ候補作成処理のフローチャートである。
【００９４】
ステップ４０１）問合せ変換部１３０は、問合せに含まれる概念を概念グラフ辞書１１３から探し、見つかった場合はステップ１０２に移行し、見つからない場合は、当該処理を終了する。
【００９５】
ステップ４０２）概念名に基づいて、用語辞書１１２を参照し、得られた情報源名に基づいて情報源辞書１１１を参照して見つかった概念間を接続する全てのパス（経路）を求める。
【００９６】
ステップ４０３）見つかった概念に対応する情報源のデータ項目とシステム機能の入出力項目を用語辞書１１２から見つける。
【００９７】
ステップ４０４）用語辞書１１２から見つかった概念に対応する情報源のデータ項目を情報源辞書１１１から見つける。
【００９８】
ステップ４０５）  システム機能のみで構成される候補である場合はステップ４０６に移行し、そうでない場合はステップ４０７に移行する。
【００９９】
ステップ４０６）  システム機能のみで構成される候補は、情報源とつながりを持てないので、組み合わせから削除し、当該処理を終了する。
【０１００】
ステップ４０７）  システム機能の処理と情報処理とを組み合わせて構成される候補かを判定し、組み合わせて構成される場合にはステップ４０８に移行し、そうでない場合は当該処理を終了する。
【０１０１】
ステップ４０８）  問合せが呼び出している機能を、指定された概念名と対応するデータ項目名からシステム能力辞書１１５を用いて特定する。具体的には、概念名と機能名が類似・指定されたデータ項目がシステム能力辞書１１５の必須項目に含まれることで特定する。
【０１０２】
ステップ４０９）  ステップ４０３で用語辞書１１２から求めたテーブル名で機能に対応するものをシステム能力辞書１１５を参照することにより取得し、変数「情報源側機能名」に代入する。
【０１０３】
ステップ４１０）  ステップ４０８で求められた機能とステップ４０９で求められた機能の差分機能を、システム能力分割辞書１１６を参照することにより求め、変数「データ統合側機能名」に代入する。なお、当該処理は、機能名に基づいてシステム能力分割辞書１１６を参照して処理分割を繰り返し調べるものとする。ここで、差分機能とは、全体機能を、「データ統合側機能」と「情報源側機能」に分割するために、"全体機能−情報源側機能"とし、当該「情報源側機能」を除いた機能を変数「データ統合側機能名」に代入することを意味する。
【０１０４】
ステップ４１１）  変数「情報源側機能名」をシステム能力辞書１１５の機能名として検索し、そのノード必須項目とエッジ必須項目を求める。
【０１０５】
ステップ４１２）  ステップ４１１で求めたノード必須項目とエッジ必須項目を、情報源能力辞書１１４を参照して機能を実行する情報源から求める。
【０１０６】
ステップ４１３）  全ての必須項目が見つかった場合はステップ４１８に移行し、見つからない場合はステップ４１４に移行する。
【０１０７】
ステップ４１４）  変数「情報源側機能名」をシステム能力分割辞書１１６の機能名に指定し、処理分割を求める。
【０１０８】
ステップ４１５）  システム能力分割辞書１１６の処理分割の項目に処理分割がない場合はステップ４１６に移行し、ある場合はステップ４１７に移行する。
【０１０９】
ステップ４１６）情報源側で行える機能がないため、ノード・エッジの取得遺体は全てデータ統合側で実施し、問合せ実行部１４０の処理に移行する。
【０１１０】
ステップ４１７）  システム能力分割辞書１１６を参照して、ステップ４１４で求めた処理分割の下位処理を変数「情報源側機能名」に代入し、処理分割の差分機能を変数「データ統合側機能名」に追加し、ステップ４１１に戻る。
【０１１１】
ステップ４１８）  ステップ４１３において全ての必須項目が見つかった場合は、変数「情報源側機能名」に対応する機能に対応するSQLを生成し、問合せ実行部１４０に出力する。
【０１１２】
問合せ実行部１４０は、上記の［１］〜［４］に示した問合せ変換部１３０により生成された問合せ候補から、グラフ問合せ、SQL、HTTP要求等の情報源固有の問合せとなる情報源問合せを生成し、情報源アクセスドライバ１５０に情報源問合せを渡し、その結果を受け取り、本装置１００側の処理と組み合わせることによって、最終的な問合せ結果を作成し、ユーザインタフェース部１２０を介してユーザに提供する。
【０１１３】
情報源アクセスドライバ部１５０は、SQL相当の内部形式から、情報源固有の問合せであるSQLやHTTPに変換し、表形式の情報を取得する機能を実現する。
【実施例】
【０１１４】
以下に、上記の実施の形態の処理を具体的に説明する。
【０１１５】
［第１の実施例］
まず、基本的な実施例として、問合せ変換部１３０において、情報源辞書１１１と用語辞書１１２と概念グラフ辞書１１３を用いて、どのようにユーザの問合せから、問合せ候補が生成され、問合せが実施されるかを述べる。
【０１１６】
図７は、本発明の第１の実施例におけるグラフデータベース統合検索装置の単純な利用方法を示す。
【０１１７】
同図には、概念と概念間の関係を表した概念グラフ辞書１１３が示してある。
【０１１８】
Table１に情報源辞書１１１の例を示す。
【０１１９】
【表１】
2014229276.tif 000003
説明を分かり易くするために、情報源辞書１１１を正規化していないが、実装する場合は適宜正規化しても構わない。Table１の例では、情報源は３つあり、それぞれ店に関する情報を管理している。
【０１２０】
Table2には用語辞書１１２の例を示す。
【０１２１】
【表２】
2014229276.tif 000004
用語辞書１１２でユーザが指定する概念と、データベースの項目の対応がとられる。例えば、Table２の例では「評価」とユーザが指定したものは、データ項目では「評判」となり、名前の付け方の異種性はここで解消される。
【０１２２】
情報源能力辞書１１３の例をTable３に示す。
【０１２３】
【表３】
2014229276.tif 000005
この例は、DB2のノードテーブルの分類というデータ項目出力はできるが、入力には指定できない。つまり、分類を条件にする検索はできないということを意味する。また、必須項目については、DB３の店テーブルの評判が店を調べるときに必須である。よってテーブルの評判が条件に指定されていれば、DB３は候補になるが、指定されていない場合は除外される。図７の例では、「評判」は条件に指定されているので、DB３が候補となっているが、もし問合せで指定されていなければ、候補から除外される。
【０１２４】
以下に、問合せ変換部１３０の処理を説明する。
【０１２５】
（１）ユーザが指定した問合せ要求には、「ノード名」「カテゴリ」「評価」という概念が指定されている。まず、その概念を概念グラフ辞書１１３上に見つける。
【０１２６】
（２）次に、この概念のつながりを概念グラフ辞書１１３を用いて補完する。
【０１２７】
（３）次に、それらの概念やつながりが対応するデータベースのデータ項目を、情報源辞書１１１を使って求める。
【０１２８】
（４）それらを組み合わせることによって以下の問合せ候補が得られることになる。これは、DB1とDB３の組み合わせが候補１で、DB2とDB３の組み合わせが候補２となっている。
【０１２９】
・候補１：
−概念対応：ノード名⇒DB1. ノード. ノード名
−概念対応：カテゴリ⇒DB1. ノード. カテゴリ
−概念対応：評価⇒DB3. 店. 評判
−情報源処理：DB1, select ノード名, カテゴリ from ノード
−情報源処理：DB3, select 店名 from 店 where 評判＞2
−システム処理：join(結果1, 結果2, DB1. ノード. ノード名= DB3. 店. 店名)
ユーザはこの問合せ候補より、適切な候補を選択し検索実行する。問合せ候補には、実行するために必要な全ての情報が含まれており、問合せ実行部１４０はそれを解釈し、情報源アクセスドライバ１５０にSQLを渡し、グラフデータベース統合検索装置１００側の処理と組み合わせることによって問合せ結果をユーザに返却する。検索結果として図７に示すような３件が得られることになる。
【０１３０】
［第２の実施例］
次に、本実施例では、時間制約付き寄り道探索を例として用い、全ての辞書を組み合わせたグラフデータベース統合検索装置の処理例を説明する。
【０１３１】
図８は、本発明の第２の実施例における時間制約付き寄り道探索の例である。
【０１３２】
本実施例では、例えば、時間制約付き寄り道探索において、『品川を出発し、ラーメンというカテゴリを持つノードを経由し、２２時までに食事サービスを終了し、横須賀に到着する寄り道経路』を求める場合を考える。
【０１３３】
この場合の問合せは、
select 寄り道経路 where 発駅＝'品川'and 着駅＝'横須賀'and カテゴリ＝'ラーメン' and 時間制約＝'食事,22時'
のように記述することができる。
【０１３４】
時間制約付き寄り道探索の方法は、非特許文献４に示されているが、時間制約のない寄り道探索を利用する基本導出法と、時間制約のチェックを探索に組み込んだ動的導出法がある。
【０１３５】
基本導出法は、時間制約なしの寄り道探索と時間制約チェックの２つの処理に分解できる。一方、動的導出法は２つの処理には分解できない。
【０１３６】
以上を整理した結果を図９に示す。同図において、共通単位処理とは、全てのグラフデータベース３００が実現することができる処理である。情報源の能力レベルとしては、同図の能力の組み合わせで、
レベル１：基本能力
レベル２：寄り道探索
レベル３：時間制約寄り道探索
と整理できる。
【０１３７】
これらの内容を、予めシステム能力辞書１１５とシステム能力分割辞書１１６と情報源辞書１１１に登録しておく。レベル１とレベル２は、単純に機能を情報源辞書１１１に仮想テーブルとして定義するだけで十分である。
【０１３８】
システム能力辞書１１５には、B2（寄り道探索・B3（基本導出法））・D3（動的導出法）が登録される（B２'は単独の能力として意味がなく内部的にのみ使われる）。B2の寄り道探索をするために必要な項目は、エッジのコスト（数値）とノードのカテゴリ（文字列等）であるからそれを登録しておく。B3とD3の時間制約付き寄り道探索をするために必要な項目は、エッジのコスト（時間の長さ）とノードのカテゴリ（文字列等）とノードのサービス提供時間（時間区間）であるからそれを登録しておく。
【０１３９】
さらにシステム能力分割辞書１１６には、B3（基本導出法）がB2とB2'からなることを登録しておく。
【０１４０】
時間制約付き寄り道探索を実現する上で、データの分散パターンは図１０のように整理される。パターン２の場合、左の情報源にはカテゴリは持っているが、サービス時間は持たない。パターン３の場合、左の情報源にはカテゴリを持たない。
【０１４１】
この例におけるシステム能力辞書１１５のテーブルの例をTable４に、システム能力分割辞書１１６の例をTable５に示す。これらのテーブルではダイクストラの例も分かり易くするために挿入している。
【０１４２】
【表４】
2014229276.tif 000006
【０１４３】
【表５】
2014229276.tif 000007
それぞれの分散パターンに対して、グラフデータベース統合検索装置１００により問合せ候補を生成する。問合せ候補は以下のような戦略がとられていた。
【０１４４】
・できるだけ一つの情報源から情報を得られるように。
【０１４５】
・得られない場合は他の情報と統合する。
【０１４６】
・能力が不足している場合は、グラフデータベース統合検索装置１００側で代替する。
【０１４７】
上記の戦略に従うと、それぞれの導出法に対して、システム能力辞書１１５とシステム能力分割辞書１１６を利用することによって、図１１のような処理の組み合わせの結果が得られる。情報源の能力と分散形態により処理の分担が決定される（最適化ルール）。前述の図３のフローチャートに示した基本導出法の場合は、当該処理にシステム能力分割辞書１１６を用いた処理を加えることによって、情報源能力がレベル２相当の機能を情報源で実施できることになり、性能の向上を期待できる。
【０１４８】
以上の結果によって得られる能力の分担をわかりやすく図１２、図１３に示す。図１２は、基本導出法を示し、図１３は動的導出法を示す。これらの図からわかるように、図１２に示す寄り道探索を情報源側で実行できる可能性がある場合には分散向きであり、図１３に示すように、処理分解できない場合は、プッシュダウンケースが少ないため、分散は不向きであるといえる。
【０１４９】
以下に、図１０のパターン１,２,３のそれぞれのケースについて、図６のフローに対応付けて説明する。
【０１５０】
＜分散パターン１：集中＞
このときの用語辞書１１２の例を以下に示す。
【０１５１】
【表６】
2014229276.tif 000008
情報源名はDB4であり、テーブル名は「時間制約寄り道探索・基本導出法」であり、図１１の処理の組み合わせは、観点１＝L３、観点２＝集中、基本導出法に相当するものとする。
【０１５２】
図１４に示すような問合せが入力された場合、図６のステップ４０３で得られる結果は、以下の通りとなる。
【０１５３】
【表７】
2014229276.tif 000009
これにより、ステップ４０８の処理を行うことにより、全体機能名として「時間制約寄り道探索基本」が得られる。次に、ステップ４０３で求められたテーブル名で機能に対応するものをシステム能力辞書１１５を参照して得られた「時間制約寄り道探索基本」を、変数の『情報源側機能名』に代入する（ステップ４０９）。
【０１５４】
次に、ステップ４０８で求めた機能「時間制約寄り道探索基本」とステップ４０９で求めた機能「時間制約寄り道探索基本」は差分がないため、変数『データ統合側機能名』は空白となる（ステップ４１０）。
【０１５５】
変数『情報源側機能名』＝「時間制約寄り道探索基本」として、システム能力辞書１１５を検索すると、以下のノード必須項目とエッジ必須項目が得られる（ステップ４１１）。
【０１５６】
【表８】
2014229276.tif 000010
ステップ４１１で求めたノード必須項目（カテゴリ（文字列））・サービス時間（時間区間）とエッジ必須項目（コスト（時間長））を、情報源能力辞書１１４を参照して機能を実行する情報源から求めると、以下の情報が得られる（ステップ４１２）。
【０１５７】
【表９】
2014229276.tif 000011
上記のステップ４１１の処理で全ての必須項目が見つかったので（ステップ４１３,Yes）、変数『情報源側機能名』に対応する「時間制約寄り道探索基本」についてのSQLを生成する（ステップ４１８）。
【０１５８】
上記により当該情報源側処理は「B3」となる。
【０１５９】
＜分散パターン２:分散１＞
このときの用語辞書１１２の例を以下に示す。
【０１６０】
【表１０】
2014229276.tif 000012
なお、上記の用語辞書１１２において、概念名「寄り道経路」及び「サービス時間（時間区間）」は、時間制約つき寄り道探索に利用できる可能性があるため、仮想的な概念名を入れておくものとする。
【０１６１】
情報源名はDB4であり、図１１の処理の組み合わせは、観点１＝L２、観点２＝分散１、基本導出法に相当するものとする。
【０１６２】
図１５に示すような問合せが入力された場合、図６のステップ４０３で得られる結果は、以下の通りとなる。
【０１６３】
【表１１】
2014229276.tif 000013
ステップ４０８の処理を行うことにより、全体機能名として「時間制約寄り道探索基本」が得られる。次に、ステップ４０３で求められたテーブル名で機能に対応するものをシステム能力辞書１１５を参照して得られた「寄り道探索」を、変数の『情報源側機能名』に代入する（ステップ４０９）。
【０１６４】
ステップ４０８で得られた機能「時間制約寄り道探索基本」とステップ４０９で得られた機能「寄り道探索」の差分機能として、システム能力分割辞書１１６を参照して得られた「制約処理」を変数『データ統合側機能名』に代入する（ステップ４１０）。
【０１６５】
変数『情報源側機能名』に基づいてシステム能力辞書１１５を参照し、以下のノード必須項目（カテゴリ（文字列））とエッジ必須項目（コスト（数値））を得る（ステップ４１１）。
【０１６６】
【表１２】
2014229276.tif 000014
次に、ステップ４１１で求めたノード必須項目（カテゴリ（文字列））とエッジ必須項目（コスト（数値））を、情報源能力辞書１１４を参照して機能を実行する情報源から以下のように求める（ステップ４１２）。
【０１６７】
【表１３】
2014229276.tif 000015
上記の処理で全ての必須項目が見つかったので（ステップ４１３、Yes）、変数『情報源側機能名』＝「寄り道探索」に対応するSQLを生成する（ステップ４１８）。
【０１６８】
＜分散パターン３:分散２＞
このときの用語辞書１１２の例を以下に示す。
【０１６９】
【表１４】
2014229276.tif 000016
なお、上記の用語辞書１１２は、能力は持つが、項目（この例ではカテゴリ）が欠けている場合を示している。例えば、寄り道探索のカテゴリとして指定できるデータ項目が限定されている場合等を想定している。
【０１７０】
情報源名はDB4であり、図１１の処理の組み合わせは、観点１＝L２、観点２＝分散２、基本導出法に相当するものとする。
【０１７１】
図１６に示すような問合せが入力された場合、図６のステップ４０３で得られる結果は、以下の通りとなる。
【０１７２】
【表１５】
2014229276.tif 000017
ステップ４０８の処理を行うことにより、全体機能名として「時間制約寄り道探索基本」が得られる。次に、ステップ４０３で求められたテーブル名で機能に対応するものとして、システム能力辞書１１５を参照して得られた「寄り道探索」を、変数の『情報源側機能名』に代入する（ステップ４０９）。
【０１７３】
ステップ４０８で得られた機能「時間制約寄り道探索基本」とステップ４０９で得られた機能「寄り道探索」の差分機能として、システム能力分割辞書１１６を参照して得られた「制約処理」を変数『データ統合側機能名』に代入する（ステップ４１０）。
【０１７４】
変数『情報源側機能名』＝「寄り道探索」に基づいてシステム能力辞書１１５を参照し、以下のノード必須項目（カテゴリ（文字列））とエッジ必須項目（コスト（数値））を得る（ステップ４１１）。
【０１７５】
【表１６】
2014229276.tif 000018
次に、ステップ４１１で求めたノード必須項目（カテゴリ（文字列））とエッジ必須項目（コスト（数値））を、情報源能力辞書１１４を参照して機能を実行する情報源から以下のように求める（ステップ４１２）。
【０１７６】
【表１７】
2014229276.tif 000019
上記のように、エッジ必須項目しか見つからなかったので（ステップ４１３、No）、変数『情報源側機能名』＝「寄り道探索」に基づいてシステム能力分割辞書１１６を参照し、処理分割があるか否かを判定する（ステップ４１４）。システム能力分割辞書１１６に処理分割がないため（ステップ４１５、Yes）、情報源側で行える機能がない（情報源側機能名＝空）、データ統合側機能名を「時間制約寄り道探索基本」とし、ノード・エッジの取得以外は全て統合側で実施（システム機能の処理）するものとする。（ステップ４１６）。
【０１７７】
なお、上記のグラフデータベース統合検索装置の各構成要素の動作をプログラムとして構築し、グラフデータベース統合検索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１７８】
本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１７９】
１０  ユーザ（ユーザ端末）
１００  グラフデータベース統合検索装置
１１０  メタデータ管理部
１１１  情報源辞書
１１２  用語辞書
１１３  概念グラフ辞書
１１４  情報源能力辞書
１１５  システム能力辞書
１１６  システム能力分割辞書
１２０  ユーザインタフェース部
１３０  問合せ変換部
１４０  問合せ実行部
１５０  情報源アクセスドライバ
２００  関係DB
３００  グラフDB
４００  Web
５００  XML
【図１】
2014229276.tif 000020
【図２】
2014229276.tif 000021
【図３】
2014229276.tif 000022
【図４】
2014229276.tif 000023
【図５】
2014229276.tif 000024
【図６】
2014229276.tif 000025
【図７】
2014229276.tif 000026
【図８】
2014229276.tif 000027
【図９】
2014229276.tif 000028
【図１０】
2014229276.tif 000029
【図１１】
2014229276.tif 000030
【図１２】
2014229276.tif 000031
【図１３】
2014229276.tif 000032
【図１４】
2014229276.tif 000033
【図１５】
2014229276.tif 000034
【図１６】
2014229276.tif 000035