(57)【特許請求の範囲】
【請求項１】
グラフデータベースに対するクエリを実行する機能を備えた情報処理装置において、プロパティを追加し、該追加したプロパティを追加プロパティとしてクエリに利用可能とするクエリ作成支援方法であって、
ユーザが作成したクエリに基づいて、プロパティおよびリテラルの条件の少なくともひとつを候補として表示する第１のステップと、
前記第１のステップで表示した候補から、所望の候補をユーザに選択させる第２のステップと、
前記第２のステップで選択された候補に基づいて、前記追加プロパティを登録する第３のステップと、
を備えるクエリ作成支援方法。
【請求項２】
前記ユーザが作成したクエリに記述されたプロパティの数およびリテラルの条件の数の少なくとも一つが、所定閾値を超えた場合、前記第１のステップを実行する、請求項１に記載のクエリ作成支援方法。
【請求項３】
前記第２のステップにおいて、
前記所望の候補として複数のプロパティをユーザが選択した際に、
選択した複数のプロパティのうち、前記追加プロパティの目的語を持つプロパティに対して、終端リソースの指定を可能とする、請求項１に記載のクエリ作成支援方法。
【請求項４】
前記第２のステップにおいて、
ユーザの入力に基づいて、
前記追加プロパティのプロパティ名の設定を行うとともに、当該追加プロパティを追加するスキーマの設定を行う、請求項３に記載のクエリ作成支援方法。
【請求項５】
前記第２のステップにおいて、
前記所望の候補としてリテラルの条件をユーザが選択した際に、
ユーザの入力に基づいて、
前記追加プロパティのプロパティ名の設定を行うとともに、当該追加プロパティを追加するスキーマ、および、当該追加プロパティの目的語として追加するリテラルの設定を行う、請求項１に記載のクエリ作成支援方法。
【請求項６】
前記第３のステップにおいて、
前記追加プロパティを、前記グラフデータベースのグラフ形式のデータに直接記述する、請求項１に記載のクエリ作成支援方法。
【請求項７】
前記第３のステップにおいて、
前記追加プロパティを、前記グラフデータベースのグラフ形式のデータとは別に、追加プロパティ情報として定義し、
前記追加プロパティ情報は、
前記第２のステップで選択されたプロパティ、前記追加プロパティの主語となるリソース、および追加プロパティの目的語となるリソースを記述することにより、追加プロパティを定義した情報である、請求項３に記載のクエリ作成支援方法。
【請求項８】
前記第３のステップにおいて、
前記追加プロパティを、前記グラフデータベースのグラフ形式のデータとは別に、追加プロパティ情報として定義し、
前記追加プロパティ情報は、
前記第２のステップで選択されたリテラルの条件、前記追加プロパティの主語となるリソース、および前記追加プロパティの目的語となるリテラルを記述することにより、追加プロパティを定義した情報である、請求項５に記載のクエリ作成支援方法。
【請求項９】
各プロパティに対して重み付けをした非重要プロパティ情報を記憶し、
前記第３のステップにおいて、
前記第２のステップで選択されなかったプロパティに対する、前記重み付けを変更する、請求項２に記載のクエリ作成支援方法。
【請求項１０】
前記ユーザが作成したクエリに記述されたプロパティの数およびリテラルの条件の数の少なくとも一つが、所定閾値を超えるか否か判定する際に、
前記重み付けに基づいて所定のプロパティを除外してカウントする、請求項９に記載のクエリ作成支援方法。
【請求項１１】
入力装置、出力装置、処理装置、及び記憶装置を備える情報処理装置であって、
記憶したグラフデータを入力されたクエリで検索するクエリ実行モジュールと、
ユーザが入力したクエリのプロパティ数および条件数の少なくとも一つに基づいて、追加プロパティの登録処理を行うかどうかを判定する、クエリ検証モジュールと、
前記追加プロパティの登録処理を行うために、ユーザに選択されたプロパティに基づいて追加プロパティを定義する、追加プロパティ登録モジュールと、
前記追加プロパティを含めて、クエリに利用可能なプロパティを検索する、利用可能プロパティ検索モジュールと、
を備える情報処理装置。
【請求項１２】
前記追加プロパティ登録モジュールは、
前記追加プロパティの登録処理を行うために、ユーザに選択されたか否かにより、各プロパティの重み付けを変更し、
前記クエリ検証モジュールは、
前記重み付けを用いて、前記判定を行う、
請求項１１記載の情報処理装置。
【請求項１３】
前記追加プロパティ登録モジュールは、
前記追加プロパティを前記グラフデータに追加する機能、および、前記追加プロパティを追加プロパティ記憶部に記憶させる機能の少なくともひとつを持ち、
前記利用可能プロパティ検索モジュールは、
前記グラフデータ、および、前記追加プロパティ記憶部の少なくともひとつを検索する、
請求項１１に記載の情報処理装置。
【請求項１４】
前記追加プロパティ登録モジュールは、
前記追加プロパティの登録処理を行うために、ユーザにプロパティを選択させ、前記追加プロパティのプロパティ名と、当該追加プロパティを追加するスキーマの設定を行う設定画面を表示させる、
請求項１１に記載の情報処理装置。
【請求項１５】
前記追加プロパティ登録モジュールは、
ユーザにプロパティを選択させる際に、ユーザが選択したプロパティのうち、前記追加プロパティの目的語を持つプロパティに対して、終端リソースの指定を可能とする、
請求項１４に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クエリの作成を支援する技術に関する。
【背景技術】
【０００２】
近年、政府や地方自治体等の公共機関が蓄積しているデータの一部を、ネットワークを介して公開している場合がある。公開されているデータはオープンデータと呼ばれる。オープンデータは、CSV（comma−separated values）やXML（Extensible Markup Language）等の形式だけでなく、グラフ構造のRDF（Resource Description Framework）形式でも公開されている。グラフ構造のデータは、様々な組織でそれぞれ公開されているデータ間の関係をリンクとして定義できる。このため、組織を超えてデータを利用しやすくなる、という利点を持つ。
【０００３】
しかし、グラフ構造のデータに対するクエリを作成する際、予めクエリ対象データの構造を知らなければ、どのようなプロパティを利用して所望の情報を取得すれば良いかわからない。
【０００４】
そこで、データ構造がわからなくても、クエリを作成できることが望ましい。これに関連して、クエリ対象の表形式のデータから、クエリに利用可能な条件の候補を提示する方法が知られている(例えば、特許文献１参照)。
【０００５】
これにより、予め、クエリ対象の表形式のデータから、クエリに利用可能な条件の候補となるデータ項目を抽出し、抽出したデータ項目を選択することでクエリを作成可能になる、という効果が期待できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−３２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、クエリ対象のデータに含まれていないプロパティを抽出して、クエリに利用可能な候補として提示することはできない。このため、データに含まれている複数のプロパティを組み合わせたり、条件を補ったりして所望の結果を得るためのクエリを作成しなければならない。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、クエリ対象のデータに含まれていないプロパティであっても、利用可能なプロパティとすることを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明の一側面は、グラフ構造のデータからなるデータベース（以降「グラフデータベース」という）に対するクエリを実行する機能を備えた情報処理装置において、プロパティを追加し、追加したプロパティを追加プロパティとしてクエリに利用可能とするクエリ作成支援方法である。この方法では、ユーザが作成したクエリに基づいて、プロパティおよびリテラルの条件の少なくともひとつを候補として表示する第１のステップと、第１のステップで表示した候補から、所望の候補をユーザに選択させる第２のステップと、第２のステップで選択された候補に基づいて、前記追加プロパティを登録する第３のステップとを備える。
【００１０】
好ましい具体例では、ユーザが作成したクエリに記述されたプロパティの数およびリテラルの条件の数の少なくとも一つが、所定閾値を超えた場合、前記第１のステップを実行して、追加プロパティの追加を行う。
【００１１】
本発明の他の一側面は、入力装置、出力装置、処理装置、及び記憶装置を備える情報処理装置である。この装置では、記憶したグラフデータを入力されたクエリで検索するクエリ実行モジュールと、ユーザが入力したクエリのプロパティ数および条件数の少なくとも一つに基づいて、追加プロパティの登録処理を行うかどうかを判定する、クエリ検証モジュールと、追加プロパティの登録処理を行うために、ユーザに選択されたプロパティに基づいて追加プロパティを定義する、追加プロパティ登録モジュールと、追加プロパティを含めて、クエリに利用可能なプロパティを検索する、利用可能プロパティ検索モジュールと、を備える。  本発明の好ましい具体例では、この情報処理装置は、追加プロパティを設定するために必要な画面をユーザに表示する。表示される画面は、典型的な例では、ネットワークを介して接続されたユーザ端末の表示装置に表示される。
【００１２】
本発明の他の一側面は、グラフデータベースに対して実行されるクエリの内容を検証し、クエリに含まれるプロパティ数やリテラルの条件数などからプロパティを追加するか否かを判断し、追加されたプロパティを含めて利用可能なプロパティを検索して提示することが出来るクエリ作成支援装置である。
【００１３】
このクエリ作成支援装置は、グラフデータを記憶する機能、グラフデータベースに対しクエリを実行する機能、クエリの内容を検証する機能、プロパティを追加する機能、利用可能なプロパティを検索する機能、を備えた装置において、グラフデータを記憶するグラフデータベースに対して実行されるクエリの内容を、クエリの内容を検証する機能により検証し、クエリに含まれるプロパティ数やリテラルの条件数などからプロパティを追加するか否かを判断しする。そして、新しいプロパティを、プロパティを追加する機能により追加し、グラフデータベースに対するクエリを作成する際に、利用可能なプロパティを検索する機能が、追加したプロパティを含めて利用可能なプロパティを検索し、追加したプロパティを含めて利用可能なプロパティとして提示することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、実際に利用されるプロパティやリテラルの条件を追加でき、追加されたプロパティを含めて利用可能なプロパティを検索して提示することで、より簡単にクエリを記述できる、という効果が期待できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例におけるデータ問い合わせサービスシステム1の全体構成例を示すブロック図。
【図２】本発明の実施例におけるデータリポジトリサーバ101のハードウェア構成例を示すブロック図。
【図３】本発明の実施例におけるユーザ端末102のハードウェア構成例を示すブロック図。
【図４】本発明の実施例におけるデータリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(人間)401の内容例を示す概念図。
【図５】本発明の実施例におけるデータリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(会社)501の内容例を示す概念図。
【図６】本発明の実施例におけるデータリポジトリサーバ101からユーザ端末102へインターネット等のネットワーク103を介して送信される情報を、出力部304においてユーザ端末102のユーザに提示したクエリ作成画面601の構成例を示す平面図。
【図７】本発明の実施例におけるクエリ作成画面601のクエリ作成エリア605に入力されたクエリの実行結果を表示するクエリ実行結果画面701の構成例を示す平面図。
【図８】本発明の実施例におけるデータリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(人間)401に追加プロパティを記述したデータ例(人間)(追加プロパティ)801の内容例を示す概念図。
【図９】本発明の実施例におけるデータリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(会社)501に追加プロパティを記述したデータ例(会社)(追加プロパティ)901の内容例を示す概念図。
【図１０】本発明の実施例におけるデータリポジトリサーバ101からユーザ端末102へインターネット等のネットワーク103を介して送信される情報を、出力部304においてユーザ端末102のユーザに提示した追加プロパティ・リテラル登録画面1001の構成例、及び追加プロパティ・リテラル登録画面1001を構成するプロパティ追加タブ1002の構成例、を示す平面図。
【図１１】本発明の実施例における追加プロパティ・リテラル登録画面1001を構成するプロパティとリテラル追加タブ1003の構成例を示す平面図。
【図１２】本発明の実施例におけるクエリ作成画面601にて追加プロパティを利用したクエリを作成する際の作成例を示す平面図。
【図１３】本発明の実施例におけるデータリポジトリサーバ101の追加プロパティ記憶部209に記憶される追加プロパティ情報1301の内容例を示す表図。
【図１４】本発明の実施例におけるデータリポジトリサーバ101の非重要プロパティ記憶部208に記憶される非重要プロパティ情報1401の内容例を示す表図。
【図１５】本発明の実施例におけるクエリ作成画面601、及び追加プロパティ・リテラル登録画面1001、を利用して追加プロパティを登録する際の追加プロパティ登録フロー1501を示すフロー図。
【図１６】本発明の実施例におけるクエリ作成画面601を利用して追加プロパティを含むクエリを作成する際のクエリ作成フロー1601を示すフロー図。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施の形態について説明する。本実施例では、グラフデータベースに対して実行されるクエリの内容を検証し、クエリに記述されたプロパティ数やリテラルの条件数などからプロパティを追加するか否かを判断し、追加されたプロパティを含めて利用可能なプロパティを検索して提示するシステムを説明する。
【００１７】
ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１８】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１９】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００２０】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【００２１】
図１は、本発明を適用するデータ問い合わせサービスシステム1の全体構成例を示す図である。
【００２２】
データ問い合わせサービスシステム1は、インターネット等のネットワーク103に接続されたデータリポジトリサーバ102、インターネット等のネットワーク103に接続された複数のユーザ端末102、から構成されるサービスシステムである。
【００２３】
図２は、データリポジトリサーバ101のハードウェア構成例を示す図である。データリポジトリサーバ101は、一般的なサーバ装置により実現でき、制御部201、ネットワークインタフェース部202、ウェブサービス提供部203、利用可能プロパティ検索部204、クエリ検証部205、追加プロパティ登録部206、クエリ実行部207、非重要プロパティ記憶部208、追加プロパティ記憶部209、グラフデータ記憶部210、グラフデータ更新部211、を具備する。各部はBUS(バス)212等により接続されている。
【００２４】
ネットワークインタフェース部202は、制御部201により転送されたIPパケットを、インターネット等のネットワーク103を介してユーザ端末102に送信する。また、ネットワークインタフェース部202は、インターネット等のネットワーク103を介してデータリポジトリサーバ101が受信したIPパケットを、制御部201に転送する。ネットワークインタフェース部202は、例えばネットワークカード等で構成される。
【００２５】
ウェブサービス提供部203は、インターネット等のネットワーク103を介してユーザ端末102に、ウェブブラウザ上で表示可能なフォーマット、例えばhtml、で記述されたデータを送信する。また、ウェブサービス提供部203は、ユーザ端末102のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク103を介して受信し、受信した情報を基に利用可能プロパティ検索部204、クエリ検証部205、追加プロパティ登録部206、クエリ実行部207、等での処理を実行する。ウェブサービス提供部203は、例えば上記のウェブサービス機能を有するプログラムである。
【００２６】
なお、処理部で実行される各種のプログラム、またはその一部を、「部」「ユニット」「手段」「機能」「モジュール」等と呼称する場合がある。また、本実施例の構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウエアでも実現できる。
【００２７】
利用可能プロパティ検索部204は、ユーザ端末102のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク103を介して受信し、受信した情報を基に、グラフデータ記憶部210に記憶されたデータに対し、利用可能なプロパティを検索する機能を有するプログラムである。
【００２８】
クエリ検証部205は、ユーザ端末102のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク103を介して受信し、受信した情報を基にクエリに記述されたプロパティ数、リテラルの条件数、追加プロパティの有無、などを検索し、追加プロパティを作成するか否か、クエリに追加プロパティが含まれているか否か、を検証する機能を有するプログラムである。
【００２９】
追加プロパティ登録部206は、ユーザ端末102のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク103を介して受信し、受信した情報を基に、プロパティを追加プロパティ記憶部209に登録したり、非重要プロパティ記憶部208に非重要プロパティ情報を追加したりする機能を有するプログラムである。
【００３０】
クエリ実行部207は、ユーザ端末102のウェブブラウザ上での操作内容等の情報をインターネット等のネットワーク103を介して受信し、受信した情報を基に、グラフデータ記憶部210に記憶されたデータに対し、クエリを実行する機能を有するプログラムである。
【００３１】
非重要プロパティ記憶部208は、クエリ検証部205が実行する処理の対象となるデータの一部または全部、及び追加プロパティ登録部206が実行する処理の結果の一部または全部、を記憶するものである。非重要プロパティ記憶部208は、記憶するデータの大きさやフォーマット等に応じてRDB（Relational Database)、ファイルサーバ、KVS（Key−Value Store）等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００３２】
追加プロパティ記憶部209は、クエリ検証部205が実行する処理の対象となるデータの一部または全部、及び追加プロパティ登録部206が実行する処理の結果の一部または全部を記憶するものである。追加プロパティ記憶部209は、記憶するデータの大きさやフォーマット等に応じてRDBやファイルサーバ、KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。
【００３３】
グラフデータ記憶部210は、利用可能プロパティ検索部204や、クエリ実行部207、が実行する処理の対象となるデータの一部または全部を記憶するものである。グラフデータ記憶部210は、記憶するデータの大きさやフォーマット等に応じてRDBやファイルサーバ、KVS等、それぞれ異なる記憶方式を備えた複数の記憶部により構成されていてもよい。グラフデータ記憶部210に記憶されているデータと同等のデータの一部または全部は、インターネット等のネットワーク103に接続されたその他の複数のサーバにより提供されていてもよい。
【００３４】
グラフデータ更新部211は、グラフデータ記憶部210に記憶されているデータを更新する機能を有するプログラムである。
【００３５】
制御部201は、CPU等で構成され、上記各プログラムを実行する。制御部201は、ウェブサービスを提供する。制御部201はグラフデータ記憶部210に記憶されたデータに対し、利用可能なプロパティを検索する。制御部201はクエリを検証する。制御部201は、プロパティを追加プロパティ記憶部209に登録したり、非重要プロパティ記憶部208にプロパティ情報を追加したりする。
【００３６】
制御部201は、グラフデータ記憶部210に記憶されたデータに対し、クエリを実行する。制御部201は、クエリ検証部205が実行する処理の対象となるデータの一部または全部、及び追加プロパティ登録部206が実行する処理の結果の一部または全部、を記憶する。
【００３７】
制御部201は、クエリ検証部205が実行する処理の対象となるデータの一部または全部、及び追加プロパティ登録部206が実行する処理の結果の一部または全部を記憶する。制御部201は、利用可能プロパティ検索部204や、クエリ実行部207、が実行する処理の対象となるデータの一部または全部を記憶する。制御部201は、グラフデータ記憶部210に記憶されているデータを更新する。
【００３８】
尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。また、図２に示す各要素は、物理的に分離している必要はなく、一つの要素が他を兼ねてもよい。また、一般的なサーバが備える、入力装置、出力装置等は特に図２には示していない。
【００３９】
図３は、ユーザ端末102のハードウェア構成例を示す図である。
【００４０】
ユーザ端末102は、一般的なコンピュータにより実現でき、制御部301、ネットワークインタフェース部302、入力部303、出力部304、を具備する。各部はBUS(バス)305等により接続されている。
【００４１】
ネットワークインタフェース部302は、制御部301により転送されたIPパケットを、インターネット等のネットワーク103を介してデータリポジトリサーバ101に送信するとともに、インターネット等のネットワーク103を介してユーザ端末102が受信したIPパケットを制御部301に転送するものであり、ネットワークカード等で構成される。
【００４２】
入力部303は、外部からの入力を制御部301に伝えるものであり、キーボードやマウス等で構成される。
【００４３】
出力部304は、制御部301からの情報を外部に出力するものであり、ディスプレイやプリンタ等で構成される。
【００４４】
制御部301はCPU等で構成され、上記各プログラムを実行する。制御部301は入力部303からの入力情報を受け付ける。制御部301は出力部304へ出力情報を送出する。尚、上記各プログラムの機能は、LSI等のハードウェアにより実現してもよい。
【００４５】
図４は、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(人間)401の内容例を示す図である。
【００４６】
データ例(人間)401には、Personというtypeを持つhttp://example.com/example1.1というリソースと、http://example.com/example1.2というリソースと、http://example.com/example1.3というリソースと、http://example.com/example1.4というリソースがある。
【００４７】
http://example.com/example1.1というリソース(主語)は、http://example.com/example1.2というリソース(目的語)を持つ（親）というプロパティ(述語)と、http://example.com/example1.3というリソース(目的語)を持つ（祖父）というプロパティ(述語)と、「田中三郎」というリテラル(目的語)を持つ（氏名）というプロパティ(述語)を持っている。
【００４８】
http://example.com/example1.2というリソースは、http://example.com/example1.3というリソースを持つ（親）というプロパティと、「田中二郎」というリテラルを持つ（氏名）というプロパティを持っている。
【００４９】
http://example.com/example1.3というリソースは、http://example.com/example1.4というリソースを持つ（兄）というプロパティと、「田中一郎」というリテラルを持つ（氏名）というプロパティを持っている。
【００５０】
http://example.com/example1.4というリソースは、「田中太郎」というリテラルを持つ（氏名）というプロパティを持っている。
【００５１】
図５は、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(会社)501の内容例を示す図である。
【００５２】
データ例(会社)501には、Companyというtypeを持つhttp://example.com/example2というリソースがある。
【００５３】
http://example.com/example2というリソース(主語)は、「株式会社」exampleというリテラル(目的語)を持つ企業名というプロパティ(述語)と、「神奈川県横浜市」というリテラルを持つ所在地というプロパティと、「3」というリテラルを持つ従業員というプロパティを持っている。
【００５４】
図６は、データリポジトリサーバ101からユーザ端末102へインターネット等のネットワーク103を介して送信される情報を、出力部304においてユーザ端末102のユーザに提示したクエリ作成画面601の構成例を示す図である。
【００５５】
クエリ作成画面601は、ウェブブラウザ等のウインドウ上に表示される。クエリ作成画面601は、利用可能プロパティ検索対象リソース入力ボックス602、利用可能プロパティ検索ボタン603、利用可能プロパティ検索結果604、クエリ作成エリア605、クエリ実行ボタン606、が配置される。
【００５６】
利用可能プロパティ検索対象リソース入力ボックス602には、利用可能プロパティ検索の対象となるリソースのURIを入力する。
【００５７】
利用可能プロパティ検索ボタン603を押下すると、利用可能プロパティ検索対象リソース入力ボックス602に入力された内容が、インターネット等のネットワーク103を介してデータリポジトリサーバ101に送信され、データリポジトリサーバ101の利用可能プロパティ検索部204が、利用可能プロパティ検索対象リソース入力ボックス602に入力されたリソースが利用可能なプロパティを、グラフデータ記憶部210に記憶されたデータを対象に検索する。利用可能なプロパティの検索は、プロパティやリテラル等をワイルドカードとして実施する。
【００５８】
例えば、データ例(人間)401のhttp://example.com/example1.1というリソースを対象に利用可能なプロパティを検索すると、（親）、（祖父）、（氏名）というプロパティが利用可能であるという検索結果を得ることができ、利用可能プロパティ検索結果604のように例示される。また、http://example.com/example1.3というリソースを対象に利用可能なプロパティを検索すると、（兄）、（氏名）というプロパティが利用可能であるという検索結果を得ることができる。
【００５９】
利用可能プロパティ検索結果604には、利用可能プロパティ検索ボタン603を押下した結果得られた利用可能プロパティが表示される。
【００６０】
クエリ作成エリア605には、利用可能プロパティ検索結果604に表示された利用可能プロパティ等を利用して作成したクエリを入力する。
【００６１】
例えば、データ例(人間)401の、（氏名）というプロパティに「田中三郎」というリテラルを持つリソースの、（祖父）というプロパティの目的語となるリソースの、（兄）というプロパティの目的語となるリソースの、（氏名）というプロパティの目的語となるリテラルを取得するクエリは、クエリ作成エリア605に例示されるように入力される。
【００６２】
クエリ実行ボタン606を押下すると、クエリ作成エリア605に入力されたクエリが、インターネット等のネットワーク103を介してデータリポジトリサーバ101に送信され、クエリ実行部207が、グラフデータ記憶部210に記憶されたデータに対し、クエリを実行する。
【００６３】
図７は、クエリ作成画面601のクエリ作成エリア605に入力されたクエリの実行結果を表示するクエリ実行結果画面701の構成例を示す図である。
【００６４】
クエリ実行結果画面701は、ウェブブラウザ等のウインドウ上に表示される。クエリ実行結果画面701は、実行したクエリ表示エリア702、クエリ実行結果テーブル703、が配置される。
【００６５】
実行したクエリ表示エリア702には、クエリ作成画面601のクエリ作成エリア605に入力されたクエリが表示される。
【００６６】
例えば、図６のクエリ作成画面601のクエリ作成エリア605に例示されているクエリが入力された場合は、作成したクエリ表示エリア702に例示されるように表示される。
【００６７】
クエリ実行結果テーブル703には、クエリ作成画面601のクエリ作成エリア605で作成されたクエリが実行された結果が表示される。例えば、データ例(人間)401に対し、クエリ作成画面601のクエリ作成エリア605に例示されているクエリを実行した場合は、クエリ実行結果703に例示されるように表示される。
【００６８】
図８は、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(人間)401に追加プロパティを記述したデータ例(人間)(追加プロパティ)801の内容例を示す図である。
【００６９】
データ例(人間)(追加プロパティ)801には、追加プロパティ(大伯父)802、が記述されている。
【００７０】
データ例(人間)(追加プロパティ)801には、http://example.com/example1.1というリソースがある。
【００７１】
http://example.com/example1.1というリソース(主語)は、http://example.com/example1.4というリソース(目的語)を持つ（大伯父）というプロパティ(述語)を持っている。
【００７２】
図９は、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータ例(会社)501に追加プロパティを記述したデータ例(会社)(追加プロパティ)901の内容例を示す図である。
【００７３】
データ例(会社)(追加プロパティ)901には、追加プロパティ(企業規模)902、が記述されている。
【００７４】
データ例(会社)(追加プロパティ)901には、http://example.com/example2というリソースがある。
【００７５】
http://example.com/example2というリソース(主語)は、「小規模」というリテラル(目的語)を持つ（企業規模）というプロパティ(述語)を持っている。
【００７６】
図１０は、データリポジトリサーバ101からユーザ端末102へインターネット等のネットワーク103を介して送信される情報を、出力部304においてユーザ端末102のユーザに提示した追加プロパティ・リテラル登録画面1001の構成例及びプロパティ追加タブ1002の構成例を示す図である。
【００７７】
追加プロパティ・リテラル登録画面1001は、ウェブブラウザ等のウインドウ上に表示される。追加プロパティ・リテラル登録画面1001は、プロパティ追加タブ1002、プロパティとリテラル追加タブ1003、が配置される。
【００７８】
プロパティ追加タブ1002及びプロパティとリテラル追加タブ1003は、タブとしてではなく、画面としてそれぞれ独立していてもよい。また、プロパティ追加タブ1002及びプロパティとリテラル追加タブ1003に配置される各部品が同一のタブやページに配置されていてもよい。
【００７９】
プロパティ追加タブ1002は、追加プロパティ名入力ボックス1004、スキーマ選択ボックス1005、作成したクエリ表示エリア1006、利用プロパティ・リテラル条件選択エリア1007、利用プロパティ・リテラル条件選択チェックボックス1008、利用プロパティ・リテラル条件表示テキストボックス1009、終端リソース指定ラジオボタン1010、追加プロパティ登録ボタン1011、が配置される。
【００８０】
追加プロパティ名入力ボックス1004には、追加プロパティ名を入力する。例えば、クエリ作成画面601のクエリ作成エリア605に例示されているクエリでは、http://example.com/example1.1というリソースからみて大伯父の関係にあたるhttp://example.com/example1.4というリソースの氏名を取得するクエリを記述している。
【００８１】
そこで、http://example.com/example1.1というリソースを主語とし、http://example.com/example1.4というリソースを目的語にした場合の述語を大伯父とし、追加プロパティ名入力ボックス1004に、新しく追加するプロパティ名として「大伯父」と入力する。
【００８２】
スキーマ選択ボックス1005には、クエリに利用したスキーマが候補として表示され、新しく追加するプロパティを追加するスキーマを選択する。新しく追加するプロパティをクエリに利用したスキーマ以外に追加する場合は、スキーマ選択ボックス1005に、直接スキーマのURLを入力する。
【００８３】
作成したクエリ表示エリア1006には、クエリ作成画面601のクエリ作成エリア605で作成されたクエリが表示される。
【００８４】
例えば、クエリ作成画面601のクエリ作成エリア605に例示されているクエリを作成した場合は、作成したクエリ表示エリア1006に例示されるように表示される。
【００８５】
利用プロパティ・リテラル条件選択エリア1007には、追加プロパティに必要なプロパティやリテラル条件の候補等が表示される。これらは、作成したクエリ1006から、その要素を抽出し、プロパティやリテラル条件の候補として表示することにより、ユーザが必要なものを選択することを容易にしている。
【００８６】
追加プロパティに必要なプロパティやリテラル条件の候補は利用プロパティ・リテラル条件表示テキストボックス1009に表示される。追加プロパティに必要なプロパティやリテラル条件の選択には利用プロパティ・リテラル条件選択チェックボックス1008を利用する。追加プロパティの目的語となるリソースの選択には終端リソース指定ラジオボタン1010を利用する。
【００８７】
利用プロパティ・リテラル条件選択エリア1007には、作成したクエリ1006に含まれるプロパティやリテラル条件を全て表示してもよい。ただし、必要性の低いものは予め表示から除くようにしてもよい。例えば、図６のクエリ作成画面601のクエリ作成エリア605に例示されているクエリを入力した場合は、利用プロパティ・リテラル条件選択エリア1007に例示されるように表示される。
【００８８】
クエリ作成画面601のクエリ作成エリア605に例示されているクエリでは、WHERE句に、4つの条件が記述されているが、（?x）を取得するクエリであるため、（?c p1:氏名 ?x）という条件は追加プロパティに必要ではなく、利用プロパティ・リテラル条件選択エリア1007には必要なプロパティやリテラル条件の候補として表示されない。
【００８９】
クエリ作成画面601のクエリ作成エリア605に例示されているクエリにおいて、大伯父という関係に必要なプロパティは、（祖父）と（兄）であり、氏名が「田中三郎」であるという条件(?a p1:氏名 田中三郎)は必要ではない。そこで、祖父という関係(?a p1:祖父 ?b)と兄という関係(?b p1:兄 ?c)が表示されている利用プロパティ・リテラル条件表示テキストボックス1009に対応する、利用プロパティ・リテラル条件選択チェックボックス1008をチェックする。
【００９０】
クエリ作成画面601のクエリ作成エリア605に例示されているクエリにおいて、大伯父という関係は祖父の兄であり、追加プロパティの目的語は（兄）というプロパティの目的語である（?c）である。そこで、（?c）を目的語に持つ（兄）というプロパティが表示されている、利用プロパティ・リテラル条件テキストボックス1009に対応する終端リソース指定ラジオボタン1010を選択する。
【００９１】
なお、作成したクエリ1006から、クエリ作成エリア605に示すクエリを抽出する際に、後述の非重要プロパティ情報1401を用いて、非重要でない（重要な）プロパティのみを表示するように構成することもできる。
【００９２】
追加プロパティ登録ボタン1011を押下すると、追加プロパティ名入力ボックス1004に入力した内容や、利用プロパティ・リテラル条件選択エリア1007に入力した内容などが、インターネット等のネットワーク103を介してデータリポジトリサーバ101に送信される。データリポジトリサーバ101では、追加プロパティ登録部206が、追加プロパティを追加プロパティ記憶部209に登録したり、非重要プロパティ記憶部208にプロパティ情報を追加したりする。
【００９３】
追加プロパティは、図８のデータ例(人間)(追加プロパティ)801の追加プロパティ(大伯父)802のように、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータに直接記述することができる。また、図１３の追加プロパティ情報1301の追加プロパティ(大伯父)1302のように、データリポジトリサーバ101の追加プロパティ記憶部209に記憶されてもいい。
【００９４】
非重要プロパティは、図１４の非重要プロパティ情報1401のように、データリポジトリサーバ101の非重要プロパティ記憶部208に記憶される。
【００９５】
図１１は、追加プロパティ・リテラル登録画面1001を構成する、プロパティとリテラル追加タブ1003の構成例を示す図である。
【００９６】
プロパティとリテラル追加タブ1003は、追加プロパティ名入力ボックス1101、スキーマ選択ボックス1102、追加リテラル入力ボックス1103、作成したクエリ表示エリア1104、利用プロパティ・リテラル条件選択エリア1105、利用プロパティ・リテラル条件選択チェックボックス1106、利用プロパティ・リテラル条件表示テキストボックス1107、追加プロパティとリテラル登録ボタン1108、が配置される。
【００９７】
プロパティとリテラル追加タブ1003に例示されている内容は、クエリ作成画面601のクエリ作成エリア605に、データ例(社会)501に対し、所在地が神奈川県横浜市で、従業員数が5名以下の企業規模が小規模の企業名を検索するためのクエリを入力したことを想定する。
【００９８】
追加プロパティ名入力ボックス1101には、追加プロパティ名を入力する。そこで、追加プロパティ名入力ボックス1101に、新しく追加するプロパティ名として「企業規模」と入力する。
【００９９】
さらに、従業員数が5名以下の企業規模が小規模の企業の（企業規模）というプロパティの目的語として、追加リテラル入力ボックス1103に、新しく追加するリテラルとして「小規模」と入力する。
【０１００】
スキーマ選択ボックス1102には、クエリに利用したスキーマが候補として表示され、新しく追加するプロパティを追加するスキーマを選択する。新しく追加するプロパティをクエリに利用したスキーマ以外に追加する場合は、スキーマ選択ボックス1102に、直接スキーマのURLを入力する。
【０１０１】
作成したクエリ表示エリア1104には、クエリ作成画面601のクエリ作成エリア605で作成されたクエリが表示される。
【０１０２】
利用プロパティ・リテラル条件選択エリア1105には、追加プロパティに必要なプロパティやリテラル条件の候補等が表示される。
【０１０３】
追加プロパティに必要なプロパティやリテラル条件の候補は利用プロパティ・リテラル条件表示テキストボックス1107に表示される。追加プロパティに必要なプロパティやリテラル条件の選択には利用プロパティ・リテラル条件選択チェックボックス1106を利用する。
【０１０４】
作成したクエリ表示エリア1104に例示されているクエリでは、WHERE句に、3つの条件が記述されているが、（?x）を取得するクエリであるため、（?a p2:企業名 ?x）という条件は追加プロパティに必要ではなく、利用プロパティ・リテラル条件選択エリア1105には必要なプロパティやリテラル条件の候補として表示されない。
【０１０５】
作成したクエリ表示エリア1104に例示されているクエリにおいて、企業規模という関係に必要なプロパティは、従業員数であり、所在地が神奈川県横浜市であるという条件(?a p2:所在地 神奈川県横浜市)は必要ではない。そこで、従業員数という関係(?a p2:従業員数 <= 5)が表示されている利用プロパティ・リテラル条件表示テキストボックス1107に対応する利用プロパティ・リテラル条件選択チェックボックス1106をチェックする。
【０１０６】
また、図１０と同様に、後述の非重要プロパティ情報1401を用いて、非重要でない（重要な）プロパティのみを利用プロパティ・リテラル条件選択エリア1105に表示するように構成することもできる。
【０１０７】
追加プロパティとリテラル登録ボタン1108を押下すると、追加プロパティ名入力ボックス1101や追加リテラル1103に入力した内容、利用プロパティ・リテラル条件選択エリア1105に入力した内容などが、インターネット等のネットワーク103を介してデータリポジトリサーバ101に送信され、追加プロパティ登録部206が、追加プロパティを追加プロパティ記憶部209に登録したり、非重要プロパティ記憶部208にプロパティ情報を追加したりする。
【０１０８】
追加プロパティは、データ例(会社)(追加プロパティ)901の追加プロパティ(企業規模)902のように、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータに直接記述されてもいいし、追加プロパティ情報1301の追加プロパティ(企業規模)1303ように、データリポジトリサーバ101の追加プロパティ記憶部209に記憶されてもいい。
【０１０９】
非重要プロパティは、非重要プロパティ情報1401のように、データリポジトリサーバ101の非重要プロパティ記憶部208に記憶される
図１２は、クエリ作成画面601にて追加プロパティを利用したクエリを作成する際の作成例を示す図である。
【０１１０】
クエリ作成画面601の利用可能プロパティ表示エリア604には、追加プロパティを含む利用可能プロパティ例1201が表示されている。
【０１１１】
例えば、データ例(人間)(追加プロパティ)801のhttp://example.com/example1.1というリソースを対象に利用可能なプロパティを検索すると、（親）、（祖父）、（氏名）だけではなく、（大伯父）というプロパティも利用可能であるという検索結果を得ることが出来る。
【０１１２】
クエリ作成エリア605には、利用可能プロパティ検索結果604に表示された追加プロパティを含む利用可能プロパティ例1201等を利用して作成したクエリ作成例1202が表示されている。
【０１１３】
例えば、データ例(人間)(追加プロパティ)801の、（氏名）というプロパティに「田中三郎」というリテラルを持つリソースの、（大伯父）というプロパティの目的語となるリソースの、（氏名）というプロパティの目的語となるリテラルを取得するクエリを、追加プロパティを利用してクエリ作成例1202のように作成することが出来る。
【０１１４】
図１３は、データリポジトリサーバ101の追加プロパティ記憶部209に記憶される追加プロパティ情報1301の内容例を示す図である。追加したプロパティは、例えば図８の（大伯父）のように、直接グラフデータベースに追加することもできる。しかし、グラフデータベース本体を改変せずに、別の追加プロパティ情報として保存することもできる。
【０１１５】
追加プロパティ情報1301は、追加されたプロパティの主語や目的語となるリソースやリテラルが記述されている。
【０１１６】
例えば、図１０のプロパティ追加タブ1002に例示されている内容を登録した場合、追加プロパティ情報は追加プロパティ(大伯父)1302に例示されているように記述される。図１１のプロパティとリテラル追加タブ1003に例示されている内容を登録した場合、追加プロパティ情報は追加プロパティ(企業規模)1303に例示されているように記述される。
【０１１７】
追加プロパティ(大伯父)1302では、追加プロパティの主語となるリソースをrootというプロパティにて指定する。そして、主語となるリソースの祖父の兄の関係にあたるリソースが、主語となるリソースの大伯父という関係であることを表している。
【０１１８】
以上のように、追加プロパティ情報には、例えば、追加されたプロパティ（述語）、追加プロパティの主語となるリソース、および追加プロパティの目的語となるリソースが記述されている。
【０１１９】
追加プロパティ(企業規模)1303では、追加プロパティの主語となるリソースをrootというプロパティにて指定する。そして、従業員数が5名以下であれば、（企業規模）という述語(プロパティ)があり、企業規模という述語の目的語として「小規模」というリテラルがあることを表している。
【０１２０】
以上のように、追加プロパティ情報の他の例には、リテラルの条件、追加されたプロパティ（述語）、追加プロパティの主語となるリソース、および追加プロパティの目的語となるリテラルが記述されている。目的語となるリテラル（例えば「小規模」）は、リテラルの条件（例えば「従業員数が５名以下」）で定義される。
【０１２１】
追加プロパティを使用する場合には、上記の追加プロパティ情報を検索し、当該追加プロパティを構成しているプロパティやリテラルを知ることができる。
【０１２２】
上記の追加プロパティ情報1301のフォーマットは、追加されたプロパティの主語や目的語となるリソースやリテラルが理解できればよく、種々変更可能である。
【０１２３】
図１４は、データリポジトリサーバ101の非重要プロパティ記憶部208に記憶される非重要プロパティ情報1401の内容例を示す図である。
【０１２４】
非重要プロパティ情報1401は、プロパティURI1402、プロパティのPREFIX1403、プロパティの名称1404、プロパティの表示回数1405、非重要回数1406、非重要度1407により構成される。
【０１２５】
クエリ作成画面601のクエリ実行ボタン606が押下された際、データリポジトリサーバ101のクエリ検証部205は、クエリ作成エリア605に入力されたプロパティの情報が非重要プロパティ情報1401に登録されているかどうか確認し、登録されていない場合、新しくプロパティ情報(レコード)としてプロパティURI1402、PREFIX1403、名称1404を非重要プロパティ情報1401に登録する。
【０１２６】
プロパティ追加タブ1002の追加プロパティ登録ボタン1011、もしくはプロパティとリテラル追加タブ1003の追加プロパティとリテラル登録ボタン1108が押下された際、データリポジトリサーバ101のクエリ検証部205は、利用プロパティ・リテラル条件選択エリア1007の利用プロパティ・リテラル条件表示テキストボックス1009、もしくは利用プロパティ・リテラル条件選択エリア1105の利用プロパティ・リテラル条件表示テキストボックス1107に表示されているプロパティと同じ名称を持つプロパティ情報の表示回数1405を1増加させる。
【０１２７】
プロパティ追加タブ1002の追加プロパティ登録ボタン1011（もしくはプロパティとリテラル追加タブ1003の追加プロパティとリテラル登録ボタン1108）が押下された際、データリポジトリサーバ101のクエリ検証部205は、利用プロパティ・リテラル条件選択エリア1007の利用プロパティ・リテラル条件表示テキストボックス1009（もしくは利用プロパティ・リテラル条件選択エリア1105の利用プロパティ・リテラル条件表示テキストボックス1107）に表示され、かつ対応する利用プロパティ・リテラル条件選択チェックボックス1008（もしくは利用プロパティ・リテラル条件選択チェックボックス1106）がチェックされていないプロパティと同じ名称を持つプロパティ情報の非重要回数1406を1増加させる。さらに、非重要回数1406を表示回数1405で割り、非重要度1407を算出する。
【０１２８】
非重要プロパティ情報1401の非重要度1407は、各プロパティ1402が追加プロパティ登録時に利用されなかった割合を示している。非重要度1407が大きなプロパティは、追加プロパティを定義する際に、不要な関係や条件であることを示している。非重要度1407は、クエリ検証部205の検証制度を向上するために利用する。なお、重要か非重要かは相対的な尺度であるから、非重要度1407の代わりに、追加プロパティ登録時に利用されたプロパティの重み付けを大きくする、重要度のフラグを用いてもよいことはいうまでもない。
【０１２９】
上記の非重要プロパティ情報1401のフォーマットは、追加されたプロパティの主語や目的語となるリソースやリテラルが判別できる範囲で、種々変更可能である。
【０１３０】
図１５は、クエリ作成画面601、及び追加プロパティ・リテラル登録画面1001、を利用して追加プロパティを登録する際の追加プロパティ登録フロー1501を示す図である。
【０１３１】
ユーザ端末102のユーザは、利用可能プロパティ検索対象リソース入力ボックス602に、利用可能プロパティ検索の対象となるリソースのURIを入力し、利用可能プロパティ検索ボタン603を押下する(s1502)。
【０１３２】
データリポジトリサーバ101は、利用可能プロパティ検索対象リソース入力ボックス602に入力された内容を、インターネット等のネットワーク103を介して受信する。そして、利用可能プロパティ検索部204が、利用可能プロパティ検索対象リソース入力ボックス602に入力されたリソースが利用可能なプロパティを、グラフデータ記憶部210に記憶されたデータを対象に検索する。利用可能プロパティ検索ボタン603を押下した結果、検索で得られた利用可能プロパティを、利用可能プロパティ検索結果604に表示する(s1503)。
【０１３３】
ユーザ端末102のユーザは、利用可能プロパティ検索結果604に表示された利用可能プロパティ等を利用してクエリを作成する。クエリ作成エリア605に作成したクエリを入力し、クエリ実行ボタン606を押下する(s1504)。
【０１３４】
データリポジトリサーバ101は、クエリ作成エリア605に入力された内容を、インターネット等のネットワーク103を介して受信する。そして、クエリ検証部205が、クエリ作成エリア605に入力されたクエリから、プロパティ数や条件数を取得する。
【０１３５】
例えば、図６のクエリ作成画面601のクエリ作成エリア605に例示されているクエリでは、プロパティ数は、（氏名）、（兄）、（祖父）の3つとなり、条件数は氏名が「田中三郎」であるという1つである(s1505)。
【０１３６】
ここで、クエリ検証(s1505)の精度は、非重要プロパティ情報1401を利用して向上を図ることができる。例えば、図１４に示す非重要度1407は、プロパティ名称1404（氏名）で高く、（兄）、（祖父）で低い。これは、例えば（大伯父）という関係を定義しようとした場合、（氏名）というプロパティは意味がなく、（兄）、（祖父）というプロパティが重要であることを意味する。非重要プロパティ情報1401には、このような追加プロパティ生成時に取得した過去データが蓄積されている。そこで、クエリ検証(s1505)では、例えば、非重要度1407に所定閾値を設け、閾値より非重要度1407が高いプロパティについては、除外してカウントする。例えば図１４の例で、非重要度1407が0.8以上を除外するとすれば、図６の例では、プロパティ数は、（兄）、（祖父）の2つとなる。
【０１３７】
なお、上記のように閾値より非重要度1407が高いプロパティについて、除外してカウントした場合、除外したプロパティについては、図１０で説明した利用プロパティ・リテラル条件選択エリア1007に表示する候補からは、除くように構成することができる。
【０１３８】
クエリ検証部205が、プロパティ数や条件数が閾値を超えたと判定した場合、追加プロパティ登録部206はユーザ端末102に指示を送り、追加プロパティ・リテラル登録画面1001を表示する。閾値は、事前に決定してもいいし、都度計算等により変更してもいい(s1506)。なお、プロパティ数としては、検索のホップ数を用いてもよい。
【０１３９】
このようにクエリ検証(s1505)で閾値を用いることにより、複雑なクエリが発生した際に、新規にプロパティやリテラルを追加する機会を設けることができる。また、閾値を満たさない場合は、新規にプロパティやリテラルを追加する必要性が小さいので、(s1507)〜(s1509)をスキップしてクエリを実行する(s1510)。
【０１４０】
追加プロパティ・リテラル登録画面1001上で、ユーザ端末102のユーザは、プロパティを追加する場合はプロパティ追加タブ1002を追加し、プロパティとリテラルを追加する場合はプロパティとリテラル追加タブ1003を選択する(s1507)。なお、追加プロパティ・リテラル登録画面1001を表示する前に、ユーザに、プロパティなどの追加を行うかどうかを選択させる入力画面を表示してもよい。
【０１４１】
プロパティ追加タブ1002を選択した場合は、追加プロパティ名1004、利用プロパティ・リテラル条件選択エリア1007の利用プロパティ・リテラル条件選択チェックボックス1008、終端リソース指定ラジオボタン1010、を選択し、追加プロパティ登録ボタン1011を押下する。終端リソースを指定することにより、プロパティの構造を明確に定義することができる。
【０１４２】
プロパティとリテラル追加タブ1003を選択した場合は、追加プロパティ名1101、追加リテラル1103、利用プロパティ・リテラル条件選択エリア1105の利用プロパティ・リテラル条件選択チェックボックス1106を選択し、追加プロパティとリテラル登録ボタン1108を押下する(s1507)。
【０１４３】
データリポジトリサーバ101は、追加プロパティ名入力ボックス1004、利用プロパティ・リテラル条件選択チェックボックス1008、終端リソース指定ラジオボタン1010、追加プロパティ名入力ボックス1101、追加リテラル入力ボックス1103、利用プロパティ・リテラル条件選択チェックボックス1008、などに入力・選択された内容を、インターネット等のネットワーク103を介して受信する。受信した内容に基づいて、追加プロパティ登録部206が、追加プロパティを定義し、追加プロパティ情報1301として追加プロパティ記憶部209に登録する。あるいは、グラフデータ記憶部210のデータに、直接追加プロパティを記述する(s1508)。また、非重要プロパティ記憶部208にプロパティ情報を追加する(s1509)。
【０１４４】
データリポジトリサーバ101は、クエリ作成画面601のクエリ作成エリア605に入力されたクエリを、グラフデータ記憶部210に記憶されたデータに対し実行する。そして、クエリの実行結果をクエリ実行結果画面701のクエリ実行結果703に表示する(s1510)。
【０１４５】
ユーザ端末102のユーザは、クエリ実行結果画面701のクエリ実行結果703に表示されたクエリ実行結果を確認する(s1511)。
【０１４６】
図１６は、クエリ作成画面601を利用して追加プロパティを含むクエリを作成する際のクエリ作成フロー1601を示す図である。
【０１４７】
ユーザ端末102のユーザは、利用可能プロパティ検索対象リソース入力ボックス602に、利用可能プロパティ検索の対象となるリソースのURIを入力し、利用可能プロパティ検索ボタン603を押下する(s1602)。
【０１４８】
データリポジトリサーバ101は、利用可能プロパティ検索対象リソース入力ボックス602に入力された内容を、インターネット等のネットワーク103を介して受信しする。そして、利用可能プロパティ検索部204が、利用可能プロパティ検索対象リソース入力ボックス602に入力されたリソースが利用可能なプロパティを、グラフデータ記憶部210に記憶されたデータを対象に検索する。
【０１４９】
追加プロパティがグラフデータ記憶部210のデータに直接記述されていない場合は、追加プロパティ記憶部209に記憶された追加プロパティ情報（図１３参照）を利用し、利用可能プロパティ検索対象リソース入力ボックス602に入力されたリソースが利用可能なプロパティから利用可能な追加プロパティも検索する。
【０１５０】
利用可能プロパティ検索ボタン603を押下した結果得られた利用可能プロパティを、利用可能プロパティ検索結果604に表示する(s1603)。
【０１５１】
ユーザ端末102のユーザは、利用可能プロパティ検索結果604に表示された利用可能プロパティ等を利用してクエリを作成し、クエリ作成エリア605に作成したクエリを入力し、クエリ実行ボタン606を押下する(s1604)。
【０１５２】
データリポジトリサーバ101は、クエリ作成エリア605に入力された内容を、インターネット等のネットワーク103を介して受信し、クエリ検証部205が、クエリ作成エリア605に入力されたクエリから、データリポジトリサーバ101の追加プロパティ記憶部209に登録された追加プロパティが利用されていないかどうか確認する(s1605)。
【０１５３】
クエリ作成エリア605に入力されたクエリに、データリポジトリサーバ101の追加プロパティ記憶部209に登録された追加プロパティが利用されている場合、追加プロパティを、クエリを実行可能なプロパティに変換する(s1606)。すなわち、データリポジトリサーバ101は、追加プロパティを、データリポジトリサーバ101の追加プロパティ記憶部209に登録された追加プロパティ情報を基に、追加プロパティを構成する複数のプロパティに変換する。
【０１５４】
追加プロパティが、データリポジトリサーバ101のグラフデータ記憶部210に記憶されるグラフ形式のデータに直接記述されている場合は、追加プロパティ情報を基に、追加プロパティを構成する複数のプロパティに変換する必要はない(s1607)。
【０１５５】
データリポジトリサーバ101は、変換された複数のプロパティを含むクエリを、グラフデータ記憶部210に記憶されたデータに対し実行する。クエリの実行結果は、クエリ実行結果画面701のクエリ実行結果703に表示する(s1608)。
【０１５６】
ユーザ端末102のユーザは、クエリ実行結果画面701のクエリ実行結果703に表示されたクエリ実行結果を確認する(s1609)。
【０１５７】
以上、本発明の実施例を、グラフデータのうちRDF形式のデータを例にとり説明したが、本発明の適用先がRDF形式のデータもしくはRDF形式のデータに類するものに限定されるわけではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
【０１５８】
また、データリポジトリサーバ101の機能の全部または一部をユーザ端末102が含んでもよく、ユーザ端末102の機能の全部または一部をデータリポジトリサーバ101に含んでもよい。
【産業上の利用可能性】
【０１５９】
本発明は、グラフデータベースに対して、クエリの作成を支援する技術に利用することができる。
【符号の説明】
【０１６０】
1・・・データ問い合わせサービス、101・・・データリポジトリサーバ、102・・・ユーザ端末、103・・・インターネット等のネットワーク、201・・・制御部、202・・・ネットワークインタフェース部、203・・・ウェブサービス提供記憶部、204・・・利用可能プロパティ検索部、205・・・クエリ検証部、206・・・追加プロパティ登録部、207・・・クエリ実行部、208・・・非重要プロパティ記憶部、209・・・追加プロパティ記憶部、210・・・グラフデータ記憶部、211・・・グラフデータ更新部、212・・・BUS、301・・・制御部、302・・・ネットワークインタフェース部、303・・・入力部、304・・・出力部、305・・・BUS、401・・・データ例(人間)、501・・・データ例(会社)、601・・・クエリ作成画面、602・・・利用可能プロパティ検索対象リソース入力ボックス、603・・・利用可能プロパティ検索ボタン、604・・・利用可能プロパティ表示エリア、605・・・クエリ作成エリア、606・・・クエリ実行ボタン、701・・・クエリ実行結果画面、702・・・作成したクエリ表示エリア、703・・・クエリ実行結果テーブル、801・・・データ例(人間)(追加プロパティ)、802・・・追加プロパティ(大伯父)、901・・・データ例(会社)(追加プロパティ)、802・・・追加プロパティ(企業規模)、1001・・・追加プロパティ・リテラル登録画面、1002・・・プロパティ追加タブ、1003・・・プロパティとリテラル追加タブ、1004・・・追加プロパティ名入力ボックス、1006・・・作成したクエリ表示エリア、1007・・・利用プロパティ・リテラル条件選択エリア、1008・・・利用プロパティ・リテラル条件選択チェックボックス、1009・・・利用プロパティ・リテラル表示テキストボックス、1010・・・終端リソース選択ラジオボタン、1011・・・追加プロパティ登録ボタン、1101・・・追加プロパティ名入力ボックス、1103・・・追加リテラル入力ボックス、1104・・・作成したクエリ入力ボックス、1105・・・利用プロパティ・リテラル条件選択エリア、1106・・・利用プロパティ・リテラル条件選択チェックボックス、1107・・・利用プロパティ・リテラル条件表示テキストボックス、1108・・・追加プロパティとリテラル登録ボタン、1201・・・利用可能プロパティ例、1202・・・クエリ作成例、1301・・・追加プロパティ情報、1302・・・追加プロパティ(大伯父)、1303・・・追加プロパティ(企業規模)、1401・・・非重要プロパティ情報、1402・・・プロパティURI、1403・・・PREFIX、1404・・・名称、1405・・・表示回数、1406・・・非重要回数、1407・・・非重要度、1501・・・追加プロパティ登録フロー、1601・・・クエリ作成フロー。
【図１】
0006463240.tif 000002
【図２】
0006463240.tif 000003
【図３】
0006463240.tif 000004
【図４】
0006463240.tif 000005
【図５】
0006463240.tif 000006
【図６】
0006463240.tif 000007
【図７】
0006463240.tif 000008
【図８】
0006463240.tif 000009
【図９】
0006463240.tif 000010
【図１０】
0006463240.tif 000011
【図１１】
0006463240.tif 000012
【図１２】
0006463240.tif 000013
【図１３】
0006463240.tif 000014
【図１４】
0006463240.tif 000015
【図１５】
0006463240.tif 000016
【図１６】
0006463240.tif 000017