(57)【要約】      （修正有）【課題】複雑な推定操作を防止し、問い合わせ速度と推定速度が上がるオントロジに基づく問い合わせ方法と装置を提供する。【解決手段】（１）ユーザにより入力された問い合わせのためのトリプルであって、（２）問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索し、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を取得するために、問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別することと、（３）複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することと、を含む。【選択図】図２
2014194766.tif 000002
【特許請求の範囲】
【請求項１】
リソースディスクリプションフレームワーク（RDF）で記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ方法であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得することと、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することと、
を含むことを特徴とする問い合わせ方法。
【請求項２】
前記問い合わせのためのトリプルには１つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記１つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーに対応するキーバリューペアの少なくとも１つを使用することと、を含む、
ことを特徴とする請求項１に記載の問い合わせ方法。
【請求項３】
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、前記一致するキーに対応するキーバリューを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用することと、を含む、
ことを特徴とする請求項１に記載の問い合わせ方法。
【請求項４】
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせ結果を取得するために、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を結合すること、を含む、
ことを特徴とする請求項２又は３に記載の問い合わせ方法。
【請求項５】
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
問い合わせ条件を満たすキーバリューペアとして、前記一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、前記他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、を使用することと、を含む、
ことを特徴とする請求項１に記載の問い合わせ方法。
【請求項６】
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせ条件の既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件の前記既知の要素に応じて前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素を分類することと、
前記問い合わせ結果を取得するために、前記問い合わせ条件の前記既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、を含む、
ことを特徴とする請求項５に記載の問い合わせ方法。
【請求項７】
問い合わせのための複数のトリプルがあり、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得すること、を含む、
ことを特徴とする請求項１乃至６のいずれか一項に記載の問い合わせ方法。
【請求項８】
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の集合を取得することと、を含む、
ことを特徴とする請求項７に記載の問い合わせ方法。
【請求項９】
RDFで記述された前記オントロジのトリプルに応じて前記複数のキーバリューペアを構成し、構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶すること、をさらに含む、
ことを特徴とする請求項１に記載の問い合わせ方法。
【請求項１０】
リソースディスクリプションフレームワーク（RDF）で記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ装置であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得する第１の取得モジュールと、
前記第１の取得モジュールにより取得された前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索する検索モジュールと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記検索モジュールにより取得された前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別する第１の判別モジュールと、
前記複数のコンピューティングノードのそれぞれで前記第１の判別モジュールにより判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得する第２の取得モジュールと、
を備えることを特徴とする問い合わせ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
情報検索の分野に関する本開示は、特に、オントロジに基づく問い合わせ方法及び装置に関する。
【背景技術】
【０００２】
データクエリ（data query）は、所望のデータの取得のために重要な手段である。従来の問い合わせ方法（query method）において、ユーザがクエリキーワード（query keyword）を入力すると、コンピューティングノード（computing node）が、入力されたクエリキーワードとデータベースが記憶するデータとを直接照合し、問い合わせ結果（query result）を取得する。例えば、ユーザがキーワード"チャンサン"を入力すると、コンピューティングノードが、データベースが記憶するデータの中からキーワード"チャンサン"に一致するデータをユーザに送信する。送信されるデータは、例えば、写真、個人用ウェブサイト、チャンサンの論文である。しかしながら、ユーザが、より適当な問い合わせ結果（例えば、チャンサンの連絡先の住所）を取得したいと思っている場合、従来の問い合わせ方法は有効でなかった。オントロジに基づく問い合わせ方法（ontology-based query method）は、より適当な問い合わせ結果のために提供される。オントロジ（ontology）は、現実世界における２つのエンティティ（entities）間の関係の記述である。オントロジは、複数の形式で記述されてもよい。リソースディスクリプションフレームワーク（Resource Description Framework：RDF）は、最も使用されているものの１つである。RDFで記述されたオントロジは、複数のトリプル（triple）で構成される。トリプルは、リソース、属性値、属性という３つの要素から構成される。これらの要素は、主語、目的語、述語とも呼ばれている。ここで、述語は、主語と目的語との関係を表している。加えて、１つのトリプルの主語／目的語／述語は、他のトリプルの主語／目的語／述語であってもよい。RDFで記述されたオントロジがコンピューティングノードに記憶されている間、前述の要素を記憶することに加えて、コンピューティングノードが要素間の関係を特定できるように、それらの要素間の論理的な関係の対応するセットも記憶される必要がある。要素とそれらの間にある論理的な関係は、図１に示すRDFグラフによって表されてもよい。オントロジに基づく問い合わせ（ontology-based query）において、ユーザの要求をより満たす問い合わせ結果が、ユーザにより入力されたキーワード間の関係に応じて返される。そのため、オントロジに基づく問い合わせは、情報検索の分野において盛んに研究されている。
【０００３】
例えば、非特許文献１は、オントロジに基づく問い合わせ方法を開示している。この方法は、以下（１）〜（６）に示す事項を含む。（１）RDFにおけるさまざまな要素とそれらの間の対応関係とを含むRDFグラフという形式のRDFで記述されたオントロジをコンピューティングノードに予め記憶すること、（２）ユーザにより入力された問い合わせのためのトリプル（to-be-queried triple）を取得すること（なお、問い合わせのためのトリプルに含まれる既知の要素［known element］は問い合わせ条件であり、未知の要素［unknown element］はクエリオブジェクト［query object］である。）、（３）RDFグラフから要素を無作為に選択し、予め記憶された論理的関係に基づく推定（reasoning based on the logical relations）によりRDFグラフ上の要素の位置を取得し、RDFグラフ上の要素の位置がトリプルにおける問い合わせ条件の既知の要素の位置と等しければ、既知の要素とRDFグラフ中の要素とを比較すること、（４）RDFグラフ中の要素から始め、論理的な関係に基づく推定によって、トリプルにおける既知の要素と同じ位置にある次の要素を取得し、RDFグラフ全体を横断する前に、既知の要素とRDFグラフ中の次の要素とを比較し、既知の要素に一致するRDFグラフ中の要素を記録すること、（５）トリプルの既知の要素の位置に応じて、論理的な関係に基づく推定によりRDFグラフ上の要素に一致するトリプルを取得すること、（６）問い合わせ条件の他の既知の要素に応じて問い合わせ条件に対応するトリプルを判別すること、（７）問い合わせ条件に対応するトリプルから問い合わせ条件に対応する要素を判別し、判別した要素を問い合わせ結果として使用すること。
【０００４】
例えば、図１が示すRDFグラフは、RDFにおけるさまざまな要素とさまざまな要素間の対応する論理的関係とを含み、コンピューティングノードに予め記憶されている。ユーザがチャンサンの連絡先の住所を問い合わせたい場合、ユーザは問い合わせのためのトリプル（S=チャンサン, P=連絡先の住所, O=?）をコンピューティングノードに入力する。なお、問い合わせのためのトリプルにおける既知の要素主語（known elements subject）"チャンサン"と述語"連絡先の住所"は問い合わせ条件であり、未知の要素主語（unknown element object）"O"はクエリオブジェクトである。コンピューティングノードは、ユーザにより問い合わせのためのトリプルが入力されると、要素"科学技術定期刊行物"を開始地点として無作為に選択し、予め記憶された論理的な関係に基づく推定によって、要素"科学技術定期刊行物"を主語として取得する。それから、コンピューティングノードは、問い合わせ条件の既知の要素主語"チャンサン"と"科学技術定期刊行物"とを比較する。"科学技術定期刊行物"から開始したコンピューティングノードは、論理的な関係に基づく推定により、主語としての役割を果たす次の要素を取得し続ける。そして、コンピューティングノードは、RDFグラフ全体を横断する前に、取得した要素を既知の要素主語"チャンサン"と比較する。コンピューティングノードは、既知の要素主語"チャンサン"に一致するRDFグラフ上の要素主語"チャンサン"を記録し、論理的な関係に基づく推定により、トリプル
【数１】
2014194766.tif 000003
と
【数２】
2014194766.tif 000004
を取得する。なお、このトリプルによれば、要素主語"チャンサン"が検索される。コンピューティングノードは、他の既知の要素述語（known element predicate）"連絡先の住所"に応じて、問い合わせ条件に対応するトリプルが
【数３】
2014194766.tif 000005
であると判別する。また、コンピューティングノードは、クエリオブジェクトと判別したトリプルに応じて、クエリオブジェクトに対応する要素が、目的語"ウートン通り 32番"であると判別する。そして、コンピューティングノードは、目的語"ウートン通り 32番"を問い合わせ結果として使用する。
【０００５】
本開示の実装中、発明者は、当業者であれば少なくとも以下の課題を持つと分かる。
【０００６】
従来のオントロジに基づく問い合わせ方法によれば、RDFで記述されたオントロジがRDFグラフ形式で格納されるため、RDFグラフ上の要素の探索を目的としたRDFグラフの横断中に、RDFグラフ上の要素間の論理的な関係に基づく推定操作が必要となる。そのため、RDFグラフの横断は長時間を要し、その結果、問い合わせ速度の低下が引き起こされる。さらに、RDFグラフの横断中、RDFグラフは、一般的に、連続した論理的な推定のために、１つのコンピューティングノードに記憶される。従って、RDFグラフの拡大とともに、RDFグラフにおける論理的な関係は、より複雑になる。このように、推定はさらに長時間を要し、問い合わせ速度は大幅に低下する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Li Chen、Amarnath Gupta、M. Erdem Kurul、「A Semantic-aware RDF Query Algebra」、データマネジメント国際会議、COMAD 2005b、2005年
【発明の概要】
【課題を解決するための手段】
【０００８】
従来技術の技術的課題を解決するために、本開示の実施形態によれば、オントロジに基づく問い合わせ方法と装置が提供される。技術的解決法は以下の通りである。
【０００９】
一の観点において、オントロジに基づく問い合わせ方法が提供される。この方法は、RDFで記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ方法であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得することと、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することと、
を含むことを特徴とする。
【００１０】
特に、前記問い合わせのためのトリプルには１つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記１つの既知の要素である場合、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーに対応するキーバリューペアの少なくとも１つを使用することと、を含む。
【００１１】
特に、前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素である場合、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、前記一致するキーに対応するキーバリューを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用することと、を含む。
【００１２】
特に、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせ結果を取得するために、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を結合すること、を含む。
【００１３】
特に、前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素である場合、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
問い合わせ条件を満たすキーバリューペアとして、前記一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、前記他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、を使用することと、を含む。
【００１４】
特に、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせ条件の既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件の前記既知の要素に応じて前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素を分類することと、
前記問い合わせ結果を取得するために、前記問い合わせ条件の前記既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、を含む。
【００１５】
特に、問い合わせのための複数のトリプルがある場合、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得すること、を含む。
【００１６】
特に、前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の集合を取得することと、を含む。
【００１７】
さらに、この方法は、
RDFで記述された前記オントロジに応じて前記複数のキーバリューペアを構成し、構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶すること、をさらに含む。
【００１８】
特に、前記構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶することは、
前記構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、前記少なくとも２つのキーバリューペアの少なくとも１つを前記複数のコンピューティングノードに記憶すること、を含む。
【００１９】
特に、前記構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶することは、
前記構成した複数のキーバリューペアのうち、キーが等しいキーバリューペアを、同じコンピューティングノードに記憶すること、を含む。
【００２０】
他の観点において、オントロジに基づく問い合わせ装置が提供される。この装置は、RDFで記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ装置であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得する第１の取得モジュールと、
前記第１の取得モジュールにより取得された前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索する検索モジュールと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記検索モジュールにより取得された前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別する第１の判別モジュールと、
前記複数のコンピューティングノードのそれぞれで前記第１の判別モジュールにより判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得する第２の取得モジュールと、
を備えることを特徴とする。
【００２１】
特に、前記問い合わせのためのトリプルには１つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記１つの既知の要素である場合、
前記検索モジュールは、前記問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーに対応するキーバリューペアの少なくとも１つを使用する。
【００２２】
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素である場合、
前記検索モジュールは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索する第１の検索部と、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、前記第１の検索部により検索された前記一致するキーに対応するキーバリューを検索し、前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用する第２の検索部と、を備える。
【００２３】
特に、前記第２の取得モジュールは、
問い合わせ結果を取得するために、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を結合する。
【００２４】
特に、前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素である場合、
前記検索モジュールは、前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索し、前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索し、問い合わせ条件を満たすキーバリューペアとして、前記一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、前記他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、に対応する少なくとも１つのキーバリューペアを使用する。
【００２５】
特に、
前記第２の取得モジュールは、
前記問い合わせ条件の既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件の前記既知の要素に応じて前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素を分類する分類部と、
前記問い合わせ結果を取得するために、前記問い合わせ条件の前記既知の要素のそれぞれに応じて前記分類部により取得された前記クエリオブジェクトに対応する前記要素の共通部分を取得する第１の取得部と、を備える。
【００２６】
問い合わせのための複数のトリプルがある場合、
前記第２の取得モジュールは、前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得する。
【００２７】
特に、前記第２の取得モジュールは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の共通部分を取得する第２の取得部と、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の集合を取得する第３の取得部と、を備える。
【００２８】
さらに、前記装置は、
RDFで記述された前記オントロジに応じて前記複数のキーバリューペアのトリプルを構成する構成モジュールと、
前記構成モジュールにより構成された前記複数のキーバリューペアを前記複数のコンピューティングノードに記憶する記憶モジュールと、をさらに備える。
【００２９】
特に、前記記憶モジュールは、
前記構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、前記少なくとも２つのキーバリューペアの少なくとも１つを前記複数のコンピューティングノードに記憶する。
【００３０】
特に、前記記憶モジュールは、
前記構成された複数のキーバリューペアのうち、キーバリューが等しいキーバリューペアを、同じコンピューティングノードに記憶する。
【００３１】
本開示の実施形態において提供される技術的解決法は、以下に示す有益な効果を奏する。
【００３２】
RDFで記述されたオントロジは、複数のキーバリューペア（key-value pairs）から予め構成されており、キーバリューペアは、複数のコンピューティングノードに記憶されている。ユーザは、問い合わせ操作を行う場合、問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されているキーバリューペアを検索する。また、ユーザは、問い合わせ条件を満たすキーバリューペアのキーバリュー（key value）に含まれる３つの要素からクエリオブジェクトに対応する要素を判別し、判別した要素に応じた問い合わせ結果を取得する。このように、RDFで記述されたオントロジを記憶するための新しい方法が提供される。さらに、記憶されたキーバリューペアが互いに独立しているので、問い合わせ条件を満たすキーバリューペアは、問い合わせ結果の取得のために問い合わせ条件に応じて、記憶されたキーバリューペアから直接検索されてもよい。これは複雑な推定操作を防止する。従って、問い合わせ速度が改善される。加えて、RDFで記述されたオントロジを拡大することは、問い合わせ速度にあまり影響しない。さらに、キーバリューペアが複数のコンピューティングノードに記憶されているので、検索は、複数のコンピューティングノードで同時に行われても構わない。そうすることで、問い合わせ速度が大幅に改善される。
【００３３】
本開示の実施形態における技術的解決法の理解を深めるために、実施形態の説明のための添付図面は以下に簡潔に記述される。以下の記述における添付図面は、本開示のいくつかの実施形態のみを説明するように見えるが、当業者は、何の創造的努力を要することなくこれらの添付図面に基づいて他の添付図面を導き出してもよい。
【図面の簡単な説明】
【００３４】
【図１】RDFで記述されたオントロジを示す概要図である。
【図２】本開示の実施形態に係るオントロジに応じた問い合わせ方法のフローチャートである。
【図３】本開示の他の実施形態に応じたオントロジに基づく問い合わせ方法のフローチャートである。
【図４】本開示の他の実施形態に応じたキーバリューペアを構成すること及び構成されたキーバリューペアを記憶することを示す概略図である。
【図５】本開示の実施形態に応じたオントロジに基づく問い合わせ装置を示す概略図である。
【図６】本開示の実施形態に応じた検索モジュールを示す概略図である。
【図７】本開示の実施形態に応じた第２の取得モジュールを示す概略図である。
【図８】本開示の実施形態に応じた他の第２の取得モジュールを示す概略図である。
【図９】本開示の実施形態に応じた他のオントロジに基づく問い合わせ装置を示す概略図である。
【発明を実施するための形態】
【００３５】
本開示の目的、技術的解決法、有利な点をより明確にするため、本開示の実施形態は、添付図面の参照とともに以下に詳細に記述される。
【００３６】
オントロジに基づく問い合わせ方法は、本開示の実施形態で提供される。ここで、RDFで記述されたオントロジのトリプルに応じて構成される複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶される。また、キー（key）とキーバリューを含む複数のキーバリューペアのそれぞれは、複数のコンピューティングノードのそれぞれに記憶されている。複数のキーバリューペアは、１つのキーと１つのキーバリューを含む。また、キーバリューは、トリプルの３つの要素を含む。さらに、キーは、トリプルの３つの要素のうちの１つを含む。図２に示すように、この方法は、以下のステップを含む。
【００３７】
ステップ201：ユーザにより入力された問い合わせのためのトリプルであって、問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである問い合わせのためのトリプルの少なくとも１つを取得すること。
【００３８】
ステップ202：問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索し、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を取得するために、問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別すること。
【００３９】
特に、問い合わせのためのトリプルには１つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける１つの既知の要素である場合、
問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
問い合わせ条件を満たすキーバリューペアとして、一致するキーに対応するキーバリューペアの少なくとも１つを使用することと、
を含む。
【００４０】
特に、問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける２つの既知の要素である場合、
問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、一致するキーに対応するキーバリューを検索することと、
問い合わせ条件を満たすキーバリューペアとして、一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用することと、を含む。
【００４１】
特に、問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける２つの既知の要素である場合、
問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
問い合わせ条件を満たすキーバリューペアとして、一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、に対応する少なくとも１つのキーバリューペアを使用することと、を含む。
【００４２】
ステップ203：複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得すること。
【００４３】
特に、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせ結果を取得するために、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を結合すること、を含む。
【００４４】
特に、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせ条件の既知の要素のそれぞれに応じて取得されたクエリオブジェクトに対応する要素を取得するために、問い合わせ条件の既知の要素に応じて複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を分類することと、
問い合わせ結果を取得するために、問い合わせ条件の既知の要素のそれぞれに応じて取得されたクエリオブジェクトに対応する要素の共通部分を取得することと、を含む。
【００４５】
特に、問い合わせのための複数のトリプルがある場合、
複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素と、に応じて問い合わせ結果を取得すること、を含む。
【００４６】
特に、問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素と、に応じて問い合わせ結果を取得することは、
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、問い合わせ結果を取得するために、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の共通部分を取得することと、
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、問い合わせ結果を取得するために、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の集合を取得することと、を含む。
【００４７】
また、本方法は、RDFで記述されたオントロジのトリプルに応じて複数のキーバリューペアを構成し、構成した複数のキーバリューペアを複数のコンピューティングノードに記憶すること、をさらに含む。
【００４８】
特に、構成した複数のキーバリューペアを複数のコンピューティングノードに記憶することは、
構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、少なくとも２つのキーバリューペアの少なくとも１つを複数のコンピューティングノードに記憶すること、を含む。
【００４９】
本開示の実施形態において提供される方法によれば、RDFで記述されたオントロジは、複数のキーバリューペアに予め構成されている。また、キーバリューペアは、複数のコンピューティングノードに記憶される。ユーザは、問い合わせ操作を行う場合、問い合わせ条件を満たす少なくとも1つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索する。また、ユーザは、問い合わせ条件を満たすキーバリューペアのキーバリュー（key value）に含まれる３つの要素からクエリオブジェクトに対応する要素を判別し、判別した要素に応じた問い合わせ結果を取得する。このように、RDFで記述されたオントロジを記憶するための新しい方法が提供される。さらに、記憶されたキーバリューペアが互いに独立しているので、問い合わせ条件を満たすキーバリューペアは、問い合わせ結果の取得のために問い合わせ条件に応じて、記憶されたキーバリューペアから直接検索されてもよい。これは複雑な推定操作を防止する。従って、問い合わせ速度が改善される。加えて、RDFで記述されたオントロジを拡大することは、問い合わせ速度にあまり影響しない。さらに、キーバリューペアが複数のコンピューティングノードに記憶されているので、検索は、複数のコンピューティングノードで同時に行われても構わない。そうすることで、問い合わせ速度が大幅に改善される。
【００５０】
RDFで記述されるオントロジにおいてユーザが所望するデータを問い合わせる速度を改善するために、本開示の実施形態は、オントロジに基づく問い合わせ方法を提供する。上記の方法態様における記述を参照するとともに、図３を参照すると、この実施形態において提供される方法は以下のステップを含む。
【００５１】
ステップ301：RDFで記述されたオントロジのトリプルに応じて複数のキーバリューペアを構成すること。
【００５２】
このステップにおいて、RDFで記述されたオントロジは、１つ又は複数のRDFグラフの形式で記述されてもよい。なお、各RDFグラフは、RDFフォーマットファイル（RDF format file）に対応する。RDFで記述されたオントロジは、少なくとも１つのトリプルを含む。なお、各トリプルは、３つの要素（例えば、主語、述語、目的語）を含む。このステップでは、後続の問い合わせ操作を実施するために、RDFで記述されたオントロジのトリプルをキーバリューペアに構成することは、特に、RDFで記述されたオントロジのトリプルに含まれる要素のそれぞれをキーに設定することと、トリプルに含まれる３つの要素をキーに対応するキーバリューとして設定することと、キーとキーバリューをキーバリューペアとして使用することと、を含む。RDFで記述されたオントロジのトリプルは、オントロジにおける、対応する論理的な関係に基づく推定により取得されてもよい。構成された複数のキーバリューペアのそれぞれは、キーとキーバリューを含む。また、キーバリューは、トリプルの３つの要素を含み、キーは、トリプルの３つの要素のうちの１つを含む。
【００５３】
例えば、図４（ａ）が示すようにRDFで表されたオントロジを使用すると、トリプル
【数４】
2014194766.tif 000006
は、RDFで記述されたオントロジにおける、対応する論理的な関係に応じた推定により取得される。ここで、要素Aは、キーに設定され、要素Aに対応するトリプルの３つの要素（A, org:type, O1）は、要素Aに対応するキーバリューに設定される。そして、キーAとキーバリュー（A, org:type, O1）は、キーバリューペア｛A, （A, org:type, O1）｝に設定される。キーバリューペアは、上述の方法に応じて、RDFで記述されたオントロジにおけるトリプルごとに構成される。そして、構成された複数のキーバリューペアは、図４（ｂ）に示されるようなものとなる。
【００５４】
ステップ302：構成した複数のキーバリューペアを複数のコンピューティングノードに記憶すること。
【００５５】
複数のキーバリューペアが構成された後、複数のキーバリューペア間に論理的な相関関係は存在しないので、構成された複数のキーバリューペアは、後のクエリのために複数のコンピューティングノードに記憶されてもよい。複数のコンピューティングノードのそれぞれは、構成された複数のキーバリューペアを記憶するための特定の記憶領域を有している。キーバリューペアが占有する記憶領域のサイズは小さく、各キーバリューペアはほぼ同じサイズの記憶領域を占有するため、記憶する間、コンピューティングノードは、キーバリューペアのそれぞれに固定値の記憶領域を割り当ててもよい。コンピューティングノードが有する記憶領域のサイズが固定されている場合、コンピューティングノードが記憶可能なキーバリューペアの数も固定される。例えば、コンピューティングノードが有する記憶領域のサイズが200ＭＢであり、各キーバリューペアに固定された記憶領域0.02ＭＢが割り当てられる場合、コンピューティングノードは、10000個のキーバリューペアを記憶可能である。また、構成された複数のキーバリューペアを記憶するコンピューティングノードの数は、構成された複数のキーバリューペアの数と、記憶領域と、コンピューティングノード（例えば、４つ又は５つのコンピューティングノード）のそれぞれの処理速度と、に応じて決定されてもよい。なお、本開示の実施形態において、コンピューティングノードの数に制限は設けられていない。構成されたキーバリューペアの数が有限である場合、コンピューティングノードの数が多いほど、後の問い合わせ速度は速くなる。さらに、処理速度が速いコンピューティングの使用によっても、後の問い合わせ速度は改善される。
【００５６】
特に、構成された複数のキーバリューペアを複数のコンピューティングノードに記憶する方法は、以下に示すものを含む（ただし、これらに限定されない）。
【００５７】
第１の方法：構成された複数のキーバリューペアの中に、キーと対応するキーバリューが等しいキーバリューペアが少なくとも２つある場合、少なくとも２つのキーバリューペアのうちの少なくとも１つのキーバリューペアを複数のコンピューティングノードに記憶すること。
【００５８】
ステップ301において、複数のキーバリューペアがRDFで記述されたオントロジの複数のトリプルに応じて構成される。ここで、RDFで記述されたオントロジの複数のトリプルは３つの要素の値が等しいトリプルを含んでいてもよいため、構成された複数のキーバリューペアは、キーと対応するキーバリューとが等しいキーバリューペアを少なくとも２つ含んでいてもよい。また、コンピューティングノードが有する記憶領域の節約のため、少なくとも２つあるキーと対応するキーバリューとが等しいキーバリューペアのうちの１つは複数のコンピューティングノードに記憶され、他のキーバリューペアは記憶されなくてもよい。
【００５９】
例えば、ステップ301の処理に応じて構成された複数のキーバリューペアが、２つのキーバリューペア"第１のペア = {A, (A, org:type, O1)}, 第２のペア = {A, (A, org:type, O1)}"を含む場合、第１のペアのキーAとキーバリュー"(A, org:type, O1)"は、第２のペアのキーAとキーバリュー"(A, org:type, O1)"と等しい。従って、第１のペアがコンピューティングノードに記憶される。
【００６０】
第２の方法：構成された複数のキーバリューペアのうち、キーバリューが等しいキーバリューペアを同じコンピューティングノードに記憶すること。
【００６１】
この方法において、RDFで記述されたオントロジにおける、トリプルの主語／目的語／述語は、キーバリューペアが１つのRDFで記述されたオントロジに応じて構成されたか複数のRDFで記述されたオントロジに応じて構成されたかにかかわらず、別のトリプルの主語／目的語／述語と等しくてもよい。そのため、構成された複数のキーバリューペアは、キーが等しいキーバリューペアが含んでいてもよい。
【００６２】
後の問い合わせ速度の改善のために、本実施形態において提供される方法に応じて、構成された複数のキーバリューペアが記憶されている間に、キーが等しいキーバリューペアは、同じコンピューティングノードに記憶される。特に、キーが等しいキーバリューペアは、複数のコンピューティングノードのそれぞれが記憶可能なペアの数とキーが等しいキーバリューペアの数とに応じて、同じコンピューティングノードに記憶される。記憶されているキーバリューペアに加えて、複数のコンピューティングノードが記憶可能なキーバリューペアの数が、記憶されていないキーが等しいキーバリューペアの数より少ない場合、コンピューティングノードは、複数のコンピューティングノードから選択される。そして、記憶されていないキーが等しいキーバリューペアは、選択されたコンピューティングノードが記憶可能なキーバリューペアの数に応じて選択されたコンピューティングノードに記憶され、残ったキーが等しいキーバリューペアは、別のコンピューティングノードに記憶される。その結果、残り全てのキーが等しいキーバリューペアは、コンピューティングノードに記憶される。しかしながら、キーバリューペアのキーが他のキーバリューペアのキーと異なる場合、キーバリューペアは、複数のコンピューティングノードにいずれに記憶されてもよい。
【００６３】
キーが等しいキーバリューペアは、同じコンピューティングノードに記憶される。その結果、複数のコンピューティングノードのそれぞれに記憶されているキーバリューペアの異なるキーの数は少なくなる。これにより、キーの照合に基づくキーバリューペアの検索の際、対応するキーは、複数のコンピューティングノードのそれぞれで数回の照合が行われることにより取得される。その結果、キーに対応するキーバリューペアは取得される。
【００６４】
ここで注目すべきことは、構成された複数のキーバリューペアのそれぞれが複数のコンピューティングノードに記憶されているとき、記憶は、上述の第１の方法又は第２の方法の使用によって、より好ましくは上述の第１の方法と第２の方法が組み合わせられた方法の使用によって行われることである。
【００６５】
例えば、ステップ301において複数のキーバリューペアが構成されると、図４（ｂ）に示す構成された複数のキーバリューペアはそれぞれ、６つのコンピューティングノードに記憶される。６つのコンピューティングノードは、コンピューティングノード1〜6であり、コンピューティングノードが記憶可能なキーバリューペアの対応する数は、3、4、4、4、3、3である。同じキーAを有するキーバリューペアの数が３つである場合、３つのキーバリューペアを記憶可能なコンピューティングノード1は、コンピューティングノード1〜6から選択される。そして、同じキーAを有する３つのキーバリューペアは、コンピューティングノード1に記憶される。そして、記憶されたキーバリューペアに加えて、コンピューティングノード1が記憶可能なキーバリューペアの数が０であると再計算される。同じキー"org:type"を有するキーバリューペアの数が５つである場合、コンピューティングノード1〜6のいずれも５つのキーバリューペアの全てを記憶できないため、同じキーを有する他のキーバリューペアは、できるだけ同じコンピューティングノードに記憶される。続いて、コンピューティングノード2が、他の４つのキーバリューペアをさらに記憶可能である場合、コンピューティングノード3は、１つのキーバリューペアをさらに記憶可能であり、他のコンピューティングノードはどんなキーバリューペアも記憶できない。また、同じキー"org:type"を有する５つのキーバリューペアのうちの４つのキーバリューペアが、コンピューティングノード2に記憶される。そして、同じキー"org:type"を有する残り１つのキーバリューペアは、コンピューティングノード3に記憶される。このようにして、図４（ｂ）に記載されたように構成された複数のキーバリューペアが複数のコンピューティングノードのそれぞれに記憶されると、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアは、図４（ｃ）に記載されたようになる。
【００６６】
上述の２つの方法に加えて、別の方法が、キーバリューペアを記憶するために使用されてもよい。例えば、構成された複数のキーバリューペアは、複数のコンピューティングノードに無作為に記憶されてもよい。本開示の実施形態は、構成された複数のキーバリューペアを複数のコンピューティングノードに記憶する方法を限定するものではない。
【００６７】
ここで注目すべきことは、複数のキーバリューペアがRDFで記述されたオントロジのトリプルに応じて構成され、構成された複数のキーバリューペアが複数のコンピューティングノードに記憶されると、新たなRDFで記述されたオントロジのトリプルが複数のコンピューティングノードに追加される必要がある場合、ステップ301からステップ302の処理が、新たなRDFで記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアを複数のコンピューティングノードに記憶するために再度実行される。
【００６８】
本開示の実施形態に応じた、ステップ301とステップ302に基づいて、トリプル問い合わせ操作（triple query operation）は、キーバリューペアを記憶する複数のコンピューティングノードで行われる。詳細については、ステップ303〜306を参照して説明する。
【００６９】
ステップ303：ユーザにより入力された問い合わせのためのトリプルであって、問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである問い合わせのためのトリプルの少なくとも１つを取得すること。
【００７０】
このステップに関し、ユーザは、一般的に、RDFで記述されたオントロジに基づく問い合わせにおいて、問い合わせを行うために、問い合わせのためのトリプルを入力する。問い合わせのためのトリプルは、ユーザが所望する問い合わせ結果が満たすべき条件の特定のために、少なくとも１つの既知の要素を含む。加えて、問い合わせのためのトリプルは、少なくとも１つの未知の要素をさらに含む。ここで、未知の要素は、トリプルにおける主語、述語、目的語のうちの少なくとも１つであり、未知の要素の少なくとも１つは、クエリオブジェクトとして使用されてよい。
【００７１】
問い合わせのためのトリプルが、２つの既知の要素と１つの未知の要素を含む場合、問い合わせ条件は、問い合わせのためのトリプルにおける２つの既知の要素であってよい。また、クエリオブジェクトは、問い合わせのためのトリプルにおける１つの未知の要素となる。問い合わせのためのトリプルが１つの既知の要素と２つの未知の要素を含む場合、問い合わせ条件は、問い合わせのためのトリプルにおける１つの既知の要素であってよい。また、問い合わせ条件は、問い合わせのためのトリプルに含まれる２つの未知の要素又は問い合わせのためのトリプルに含まれる２つの未知の要素のいずれか１つであってよい。例えば、問い合わせのためのトリプルが"(?s, org:type, ?o)"である場合、問い合わせ条件は、問い合わせのためのトリプルに含まれる既知の要素（例えば、述語"org:type"）となる。また、クエリオブジェクトは、問い合わせのためのトリプルに含まれる２つの未知の要素（例えば、主語"s"と目的語"o"）又は問い合わせのためのトリプルに含まれる２つの未知の要素のうちのいずれか１つ（例えば、主語"s"又は目的語"o"）であってよい。クエリオブジェクトが２つの未知の要素（例えば、主語"s"と目的語"o"）である場合、ユーザは、述語"org:type"という問い合わせ条件を満たす主語"s"と目的語"o"を問い合わせることを期待する。クエリオブジェクトが１つの未知の要素（例えば、主語"s"）である場合、ユーザは、述語"org:type"という問い合わせ条件を満たす主語"s"を問い合わせることを期待する。
【００７２】
特に、ユーザが入力した問い合わせのためのトリプルのうちの少なくとも１つを取得する間、ユーザは、機械識別可能な言語（machine-identifiable language）によるトリプルの入力を必要とする。問い合わせは、本開示の実施形態に応じてRDFで記述されたオントロジに基づいて行われるので、問い合わせのためのトリプルは、ユーザにより使用されるRDFで記述されたオントロジの問い合わせ言語で入力された問い合わせ文に応じて取得される。なお、RDFで記述されたオントロジの複数の問い合わせ言語が使用されても構わない。簡単なプロトコルとRDF Query Language（SPARQL）は、一般的に使用されている問い合わせ言語であり、SPARQLは、標準化された問い合わせ言語でもある。例えば、Structured Query Language（SQL）等の他の問い合わせ言語は、SPARQLが使用する類推（analogy）によって取得される。従って、本開示の実施形態は、例としての問い合わせ言語SPARQLの使用により記述される。問い合わせ言語SPARQLが使用される場合、SPARQL問い合わせ文が初めに取得される必要がある。問い合わせ文のフォーマットは、"select ?s where(?s, p, ?o)"である。問い合わせのためのトリプルは、ユーザが入力した問い合わせ文に応じて取得されてもよい。このフォーマットにおいて、"where(?s, p, o)"は、問い合わせ条件が問い合わせのためのトリプルにおいて既知の要素である述語"p"と目的語"o"であり、"select ?s"は、クエリオブジェクトが問い合わせのためのトリプルにおいて未知の要素である主語"s"であることを示している。
【００７３】
とはいえ、ユーザは、完全なSPARQL問い合わせ文を入力しなくてもよい。その代わりに、ユーザは、クエリキーワード（query keyword）、例えば"p" と"o"を入力してもよい。ユーザにより入力されたクエリキーワードの意味は、ユーザが述語"p" と目的語"o"で主語を問い合わせることを期待しているという意味であることは、問い合わせ理解技術（query understanding technology）を用いて理解される。次に、ユーザは、問い合わせのためのトリプルを判別するために理解に応じてSPARQL問い合わせ文を構成する、又は、意味論的理解（semantic understanding）に応じて問い合わせのためのトリプルを直接判別する。問い合わせ理解技術の使用により、クエリキーワード間の意味関係が理解されてもよい。例えば、ユーザがキーワード"著者"と"ISMIS"を入力した場合、ユーザが記事ISMISの著者の検索を期待していることが、問い合わせ理解技術を使用することにより判別されてもよい。また、SPARQL問い合わせ文"select ?o where (ISMIS, author, ?o)"が構成されてもよい。その結果、問い合わせのためのトリプル"(ISMIS, author, ?o)"が、構成されたSPARQL問い合わせ文に応じて取得される。応用された問い合わせ理解技術も、従来の問い合わせ理解技術と同じである。詳細は、ウェブ情報システムエンジニアリング（Web Information System Engineering：WISE）国際会議で公開されたドキュメント「Effective and Efficient Keyword Query Interpretation Using a Hybrid Graph」で言及されており、ここではこれ以上記述しない。
【００７４】
ユーザは、より多くの条件を満たす問い合わせ結果を期待する場合、SPARQL問い合わせ文の文法に応じてより複雑なSPARQL問い合わせ文を入力し、入力したSPARQL問い合わせ文に応じて問い合わせのための複数のトリプルを取得してもよい。問い合わせのための複数のトリプルは、それらの間に特定の関係を有している。AND関係、OR関係、その他の関係が、問い合わせのための複数のトリプル間に存在する。AND関係は、問い合わせのための複数のトリプルのそれぞれを満たす結果を問い合わせることを言及する。OR関係は、問い合わせのためのトリプルのうちの１つのトリプルを満たす結果を問い合わせることを言及する。異なる関係識別子（different relation identifiers）が、問い合わせのための複数のトリプル間の異なる関係に割り当てられる。関係識別子は、文字列識別子、数識別子等である。問い合わせのための複数のトリプル間の関係は、関係識別子に応じて判別される。
【００７５】
例えば、ユーザがSPARQL問い合わせ文"select ?s where{(?s, p1,?o1), and (?s, p2, o2)}"を入力した場合、２つの問い合わせのためのトリプルが、入力されたSPARQL問い合わせ文に応じて取得される。第１の問い合わせのためのトリプルは、"(?s, p1,?o1)"である。ここで、問い合わせ条件は、問い合わせのためのトリプルにおいて既知の要素である述語"p1"であり、クエリオブジェクトは、問い合わせのためのトリプルにおいて未知の要素である主語"s"である。第２の問い合わせのためのトリプルは、"(?s, p2, o2)"である。ここで、問い合わせ条件は、問い合わせのためのトリプルにおいて既知の要素である述語"p2"と目的語"o2"であり、クエリオブジェクトは、問い合わせのためのトリプルにおいて未知の要素である目的語"s"である。加えて、第１の問い合わせのためのトリプルが第２の問い合わせのためのトリプルと関連するAND関係にあることは、関係識別子"and"に応じて判別される。すなわち、問い合わせ結果は、第１の問い合わせのためのトリプルと第２の問い合わせのためのトリプルの両方を満たすことを要する。さらに、例えば、ユーザがSPARQL問い合わせ文"select ?s where{(?s, p1,?o), or (?s, p2, o2)}"を入力する場合、第１の問い合わせのためのトリプルと第２の問い合わせのためのトリプルは、入力されたSPARQL問い合わせ文に応じて取得される。加えて、第１の問い合わせのためのトリプルが第２の問い合わせのためのトリプルと関連するOR関係にあることは、関係識別子"or"に応じて判別される。すなわち、問い合わせ結果は、第１の問い合わせのためのトリプルと第２の問い合わせのためのトリプルのいずれか一方を満たすことを要する。
【００７６】
例えば、図４に示すように、コンピューティングノード1〜6がキーバリューペアを記憶している場合、２つの問い合わせのためのトリプルが、ユーザに入力されたSPARQL問い合わせ文"select ?s where{(?s, org:type, O1), and (?s, org:title, ?o)}"に応じて取得される。第１の問い合わせのためのトリプルは、"(?s, org:type, O1)"である。ここで、問い合わせ条件は、問い合わせのためのトリプルにおいて既知の要素である述語"org:type"と目的語"O1"であり、クエリオブジェクトは、問い合わせのためのトリプルにおいて未知の要素である主語"s"である。第２の問い合わせのためのトリプルは、"(?s, org:title, ?o)"である。ここで、問い合わせ条件は、問い合わせのためのトリプルにおける既知の要素である述語"org:title"であり、クエリオブジェクトは、問い合わせのためのトリプルにおける未知の要素である主語"s"である。加えて、第１の問い合わせのためのトリプルが第２の問い合わせのためのトリプルに関連するAND関係にあることは、関係識別子"and"に応じて判別される。すなわち、問い合わせ結果は、第１の問い合わせのためのトリプルと第２の問い合わせのためのトリプルの両方を満たすことを要する。
【００７７】
ステップ304：問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索すること。
【００７８】
このステップに関し、問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することとは、複数のコンピューティングノードが記憶するキーバリューペアにおいて順次行われてもよい。また、検索時間の節約のために、検索することは、複数のコンピューティングノードが記憶するキーバリューペアにおいて同時に行われてもよい。本実施形態は、複数のコンピューティングノードにおいて検索する方法を限定するものではない。
【００７９】
コンピュータに記憶されたキーバリューペアは、キーとそれに対応するキーバリューから構成される。また、トリプルにおける要素はそれぞれキーであってよいし、トリプルにおける３つの要素はキーバリューとしての役割を果たしてもよい。従って、既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することにより、既知の要素を含むキーバリューペアが取得されてもよい。加えて、複数のコンピューティングノードに構成された複数のキーバリューペアが記憶されている間、キーが等しいキーバリューペアは、同じコンピューティングノードに記憶されており、その結果、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアにおける異なるキーの数は少なくなる。各コンピューティングノードにおいて、コンピューティングノードが記憶するキーバリューペアに含まれる異なるキーは、異なる識別キー（different identified keys）の中から、問い合わせ条件の既知の要素に一致するキーを検索するために識別されてもよい。そのため、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアのそれぞれに対応する全てのキーを対象とした問い合わせ条件を満たすキーの検索は必要ない。
【００８０】
特に、問い合わせ条件を満たす少なくとも１つのキーペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索する方法は、問い合わせ条件における既知の要素の数に応じて変わり、以下に示す第１〜３の方法を含む。ただし、この検索する方法は、第１〜３の方法に限定されない。
【００８１】
第１の方法：問い合わせのためのトリプルには１つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける１つの既知の要素である場合、問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索する。そして、一致するキーに対応するキーバリューペアの少なくとも１つは、問い合わせ条件を満たすキーバリューペアとして使用される。
【００８２】
問い合わせ条件が既知の要素を含む場合、既知の要素に一致する少なくとも１つのキーは、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアのキーの中から検索される。他に既知の要素が問い合わせ条件に含まれていないので、検索された一致したキーに対応するキーバリューペアは、問い合わせ条件を満たすキーバリューペアである。
【００８３】
例えば、第２の問い合わせのためのトリプルの問い合わせ条件が、既知の要素である述語"org:title"である場合、上述の方法による検索がコンピューティングノード1〜6で行われると、既知の要素である述語"org:title"に一致するキーバリューペアは、コンピューティングノード1〜5から見つからない。しかし、既知の要素である述語"org:title"に一致するキー"org:type"は、コンピューティングノード6から見つかる。この場合、一致したキー"org:title"に対応するキーバリューペア"{org:title, (A, org:title, O5)}"と"{org:title, (C, org:title, O4)}"が、問い合わせ条件を満たすキーバリューペアとして使用される。
【００８４】
第２の方法：問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける２つの既知の要素である場合、問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、一致するキーに対応するキーバリューを検索する。そして、一致するキーバリューに対応する少なくとも１つのキーバリューペアは、問い合わせ条件を満たすキーバリューペアとして使用される。
【００８５】
問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアのキーを検索することが行われている間、トリプルにおける２つの既知の要素のいずれか１つに一致するキーが、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアのキーの中から検索されてもよい。また、問い合わせ条件に含まれる他方の既知の要素に一致する少なくとも１つのキーバリューを検索するために、一致したキーに対応するキーバリューのキーを検索することが行われている間、特にトリプルにおける他方の既知の要素の位置に基づいて、他方の既知の要素に一致するキーバリューが、トリプルに含まれる他方の既知の要素の位置に基づく一致したキーに対応するキーバリューの中から見つけられる。そして、一致したキーバリューに対応するキーバリューペアは、問い合わせ条件を満たすキーバリューペアとして使用される。
【００８６】
例えば、第１の問い合わせのためのトリプルは、２つの既知の要素を含み、問い合わせ条件は、２つの既知の要素である述語"org:type"と目的語"O1"であるとする。検索は、既知の要素である述語"org:type"に一致するキーのために、コンピューティングノード1に記憶されたキーバリューペアのキーを対象に行われる。そして、問い合わせ条件の既知の要素である述語"org:type"に一致するキーは見つからない。次に、検索は、既知の要素である述語"org:type"に一致するキーの取得のために、コンピューティングノード2に記憶されたキーバリューペアのキーを対象に行われる。そして、問い合わせ条件の既知の要素である述語"org:type"に一致するキー"org:type"は、コンピューティングノード2に記憶されたキーバリューペアのキーの中から見つけ出される。問い合わせ条件の他の既知の要素O1に一致するキーバリューは、一致したキー"org:type"に対応するキーバリュー"(A, org: type, O1)、(A, org: type, O2)、(B, org: type, O1)、(C, org: type, O1)の中から検索される。ここで、キーバリュー(A, org: type, O1)、(B, org: type, O1)、(C, org: type, O1)において目的語の位置（object position）にある要素は、既知の要素である目的語"O1"と一致する。そのため、一致するキーバリューに対応するキーバリューペア"{org: type, (A, org: type, O1)}"、"{org: type, (B, org: type, O1)}"、"{org: type, (C, org: type, O1)}"は、第１の問い合わせのためのトリプルの問い合わせ条件を満たすキーバリューペアとして使用される。同様に、検索は、コンピューティングノード3〜6で行われる。そして、第１の問い合わせのためのトリプルの問い合わせ条件を満たすキーバリューペアは見つからない。
【００８７】
第３の方法：問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける２つの既知の要素である場合、問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索する。そして、一方の既知の要素に一致するキー（又は複数のキー）に対応するキーバリューペア、及び、他方の既知の要素に一致するキーに対応するキーバリューペアは、問い合わせ条件を満たすキーバリューペアとして使用される。
【００８８】
この方法において、問い合わせ条件の既知の要素のいずれかに一致するキーバリューに対応するキーバリューペアはいずれも、問い合わせ条件を満たすキーバリューペアとして使用される。この場合、取得された一致するキーバリューペアは、問い合わせ条件の２つの既知の要素の全てに一致するとは限らない。しかしながら、後のステップで、一致するキーバリューペアに応じて、問い合わせ条件の２つの既知の要素に一致する要素が判別される。
【００８９】
例えば、第１の問い合わせのためのトリプルは、２つの既知の要素を含み、問い合わせ条件は、２つの既知の要素である述語"org:type"と目的語"O1"であるとする。検索は、問い合わせ条件の既知の要素である述語"org:type"に一致するキーのために、コンピューティングノード1に記憶されたキーバリューペアのキーを対象に行われる。そして、既知の要素である述語"org:type"に一致するキーは見つからない。また、検索は、問い合わせ条件の既知の要素である目的語"O1"に一致するキーのために、コンピューティングノード1に記憶されたキーバリューペアのキーを対象に行われる。そして、既知の要素である目的語"O1"に一致するキーは見つからない。同様に、述語"org:type"に一致するキーは、コンピューティングノード2に記憶されたキーバリューペアのにキーの中から見つけ出される。しかし、目的語"O1"に一致するキーはその中から見つ出されない。この場合、述語"org:type"に一致するキーに対応するキーバリューペア"{org:type, (A, org:type, O1)}"、"{org:type, (B, org:type, O1)}"、"{org:type, (C, org:type, O1)}"は、第１の問い合わせのためのトリプルの問い合わせ条件を満たすキーバリューペアとして使用される。述語"org:type"に一致するキー"org:type"は、コンピューティングノード3に記憶されたキーバリューペアのキーの中から見つけ出される。また、目的語"O1"に一致するキー"O1"も、そこから見つけ出される。この場合、述語"org:type"に一致するキー"org:type"に対応するキーバリューペア"{org:type, (B, org:type, O3)}"、目的語"O1"に一致するキー"O1"に対応するキーバリューペア"{O1, (A, org:type, O1)}"、"{O1, (B, org:type, O1)}"、"{O1, (C, org:type, O1)}"はいずれも、第１の問い合わせのためのトリプルの問い合わせ条件を満たすキーバリューペアとして使用される。なお、述語"org:type"に一致するキーはコンピューティングノード4〜6から見つからない。また、目的語"O1"に一致するキーも、その中から見つからない。
【００９０】
上述の第１〜３の方法に加えて、他の方法も、問い合わせ条件を満たすキーバリューペアのために、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアを検索することに使用されて構わない。本開示の実施形態は、問い合わせ条件を満たすキーバリューペアために、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアを検索する特定の方法を限定するものではない。
【００９１】
ステップ305：複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を取得するために、問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別すること。
【００９２】
このステップに関し、クエリオブジェクトは問い合わせのためのトリプルにおける未知の要素であり、一致するキーバリューペアにおけるキーバリューはトリプルにおける３つの要素を含む。そのため、クエリオブジェクトに対応する要素は、一致したキーバリューペアにおける検索されたキーバリューから判別される。複数のコンピューティングノードのそれぞれに関し、クエリオブジェクトに対応する要素は、一致したキーバリューペアにおけるキーバリューに含まれる３つの要素から判別される。その結果、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素が取得される。特に、一致したキーバリューペアのキーバリューに含まれる３つの要素から取得されたトリプルに含まれるクエリオブジェクトの未知の要素の位置に対応する要素は、クエリオブジェクトに対応する要素として使用される。
【００９３】
加えて、ステップ304において、検索されて一致したキーバリューペアも、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアの中から問い合わせ条件を満たすキーバリューペアを検索する方法に応じて変わる。従って、検索されて一致したキーバリューペアにおいて判別されたクエリオブジェクトに対応する要素も異なる。
【００９４】
例えば、第１の問い合わせのためのトリプルに関し、問い合わせ条件を満たすキーバリューが、ステップ304における第２の方法の使用により複数のコンピューティングノードのそれぞれが記憶するキーバリューペアから検索されると、クエリオブジェクトサブジェクト（query object subject）"s"に対応する要素"[A, B, C]"は、コンピューティングノード2において一致したキーバリューペアの検索されたキーバリューに含まれる３つの要素"(A, org:type, O1)"、"(B, org:type, O1)"、"(C, org:type, O1)"から判別される。また、コンピューティングノード2において判別された要素"[A, B, C]"は取得される。
【００９５】
第１の問い合わせのためのトリプルに関し、ステップ304において、問い合わせ条件を満たすキーバリューが第３の方法の使用により複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアから検索されると、クエリオブジェクトサブジェクト"s"に対応する要素"[A, B, C]"は、コンピューティングノード2において既知の要素である述語"org:type"に一致する検索されたキーバリューペアの３つのキーバリュー"(A, org:type, O1)"、"(B, org:type, O1)"、"(C, org:type, O1)"から判別される。クエリオブジェクトサブジェクト"s"に対応する要素[B]は、コンピューティングノード3において既知の要素である述語"org:type"に一致する検索されたキーバリューペアのキーバリュー"(B, org:type, O3)"から判別される。主語"s"に対応する要素"[A, B, C]"は、コンピューティングノード3において既知の要素である目的語"O1"に一致する検索されたキーバリューペアの３つのキーバリュー"(A, org:type, O1)"、"(B, org:type, O1)"、"(C, org:type, O1)"から判別される。
【００９６】
第２の問い合わせのためのトリプルに関し、ステップ304において、問い合わせ条件を満たすキーバリューが第１の方法の使用により複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアから検索されると、クエリオブジェクトサブジェクト"s"に対応する要素"[A, C]"は、コンピューティングノード6において検索されて一致したキーバリューペアのキーバリューに含まれる３つの要素"(A, org:title, O5)"、"(C, org:title, O4)"から判別される。そして、コンピューティングノード6において判別された要素"[A, C]"は取得される。
【００９７】
ステップ306：複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得すること。
【００９８】
このステップに関し、複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得するための方法は、ステップ304において、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアから、問い合わせ条件を満たすキーバリューペアを検索するための方法に伴って変化する。特に、問い合わせのためのトリプルの数が1である場合、以下に示す２つの方法が含まれる。
【００９９】
第１の方法：第１の方法又は第２の方法が、ステップ304において、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアから、問い合わせ条件を満たすキーバリューペアを検索することに使用される場合、このステップにおいて、複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素は、問い合わせ条件の取得のために結合（combine）される。
【０１００】
この方法において、一致するキーバリューペアが問い合わせ条件に応じてコンピューティングノードのいずれかから見つけ出された場合、クエリオブジェクトに対応する要素は、そのコンピューティングノードにおいて判別される。一致するキーバリューペアが、問い合わせ条件に応じてコンピューティングノードのいずれからも見つからない場合、コンピューティングノードにおいて判別されたクエリオブジェクトに対応する要素はゼロ（zero）である。従って、問い合わせ結果が判別される際、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素は、問い合わせ結果の取得のために結合される。
【０１０１】
例えば、ステップ302において取得された問い合わせのためのトリプルが、第１の問い合わせのためのトリプルのみである場合、問い合わせ条件を満たすキーバリューペアは、ステップ304において第２の方法の使用により複数のコンピューティングノードが記憶するキーバリューペアから見つけ出される。ステップ305において複数のコンピューティングノードのそれぞれで判別された要素が取得されると、コンピューティングノード2において判別されたクエリオブジェクトに対応する要素が"[A, B, C]"であり、かつ、コンピューティングノード1、3〜6において判別された要素が存在しない場合、コンピューティングノード1〜6において判別された要素は、問い合わせ結果"[A, B, C]"の取得のために結合される。
【０１０２】
第２の方法：第３の方法が、ステップ304において、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアから、問い合わせ条件を満たすキーバリューペアを検索することに使用される場合、このステップにおいて、問い合わせ条件の既知の要素に応じて複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素は、問い合わせ条件の既知の要素に応じて取得されたクエリオブジェクトに対応する要素の取得のために分類される。問い合わせ条件の既知の各要素に応じて取得されるクエリオブジェクトに対応する要素の共通部分は、問い合わせ結果の取得のために取得される。
【０１０３】
この方法において、一方の既知の要素に一致するキーに対応するキーバリューペアと他方の既知の要素に一致するキーに対応するキーバリューペアは、問い合わせ条件を満たすキーバリューペアとして使用される。そのため、第３の方法は、ステップ304において、複数のコンピューティングノードが記憶するキーバリューペアから、問い合わせ条件を満たすキーバリューペアを検索することに使用される場合、ステップ305において判別されたクエリオブジェクトに対応する要素は、問い合わせ条件の一方の既知の要素と他方の既知の要素のいずれか１つを満たす要素のみである。しかしながら、問い合わせ結果は、問い合わせ条件における２つの既知の要素の両方を満たすことを必要とされる。また、問い合わせ条件の既知の要素のそれぞれに対応する要素は、複数のコンピューティングノードのそれぞれで初めに取得されることを必要とする。そして、問い合わせ条件の既知の各要素に応じて取得されたクエリオブジェクトに対応する要素の共通部分が取得される。共通部分における要素は、問い合わせ条件の２つの既知の要素を満たすクエリオブジェクトに対応する要素である。
【０１０４】
例えば、ステップ302において取得された問い合わせのためのトリプルが、第１の問い合わせのためのトリプルのみである場合、第３の方法が、ステップ304において、複数のコンピューティングノードのそれぞれが記憶するキーバリューペアから、問い合わせ条件を満たすキーバリューペアを検索することに使用され、ステップ305において、複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素が取得されると、問い合わせ条件の既知の要素に応じて複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素は、問い合わせ条件の既知の各要素に応じて取得されたクエリオブジェクトに対応する要素の取得のために分類される。また、コンピューティングノード1〜6において問い合わせ条件の既知の要素である述語"org:type"に対応するクエリオブジェクトに対応する要素"[A, B, C, B]"が取得され、コンピューティングノード1〜6において問い合わせ条件の既知の要素である目的語"O1"に対応する要素"[A, B, C]"が取得される。問い合わせ条件の既知の各要素に応じて取得されたクエリオブジェクトに対応する要素の共通部分は、問い合わせ結果"[A, B, C]"の取得のために取得される。
【０１０５】
ここで注目すべきことは、ステップ303において取得された問い合わせのための複数のトリプルがある場合、問い合わせ結果は、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて取得されること、及び、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素と、に応じて問い合わせ結果を取得することを含むことである。
【０１０６】
特に、問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、問い合わせのための複数のトリプルのそれぞれに対する複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の共通部分は、問い合わせ結果の取得のために取得される。また、問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、問い合わせのための複数のトリプルのそれぞれに対する複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の集合は、問い合わせ結果の取得のために取得される。
【０１０７】
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、問い合わせ結果は、複数のトリプルの中の各問い合わせのためのトリプルを満たさなければならない。しかしながら、問い合わせのための複数のトリプルのそれぞれ複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素の中の同じ要素は、問い合わせのための複数のトリプルの中の各問い合わせのためのトリプルを満たす。従って、問い合わせのための複数のトリプルのそれぞれのために複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素の共通部分は、問い合わせ結果の取得のために取得されることを要する。問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、問い合わせ結果は、問い合わせのための複数のトリプルのいずれか１つを満たすべきである。しかしながら、問い合わせのための複数のトリプルのために複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素は、問い合わせのための複数のトリプルのうちの１つを満たす。従って、問い合わせのための複数のトリプルのそれぞれのために複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素の集合は、問い合わせ結果の取得のために取得されることを要する。しかしながら、問い合わせのためのトリプルの数が３つ以上である場合、問い合わせのための複数のトリプルは、AND関係とOR関係の両方を含でいてもよい。従って、問い合わせ結果は、各２つの問い合わせのためのトリプル間の関係に応じて各２つの問い合わせのためのトリプルのために、複数のコンピューティングノードのそれぞれにおいて判別されたクエリオブジェクトに対応する要素から取得される。
【０１０８】
例えば、ステップ302において取得された第１の問い合わせのためのトリプルと第２の問い合わせのためのトリプル間の関係は、AND関係であり、第１のトリプルに関してコンピューティングノード1〜6において判別されたクエリオブジェクトに対応する要素は、"[A, B, C]"である。また、第２のトリプルに関してコンピューティングノード1〜6において判別されたクエリオブジェクトに対応する要素は、"[A, C]"である。そして、"[A, B, C]"と"[A, C]"の共通部分が取得され、また、問い合わせ結果"[A, C]"が取得される。
【０１０９】
ここで注目すべきことは、ステップ301とステップ302において、RDFで記述されたオントロジが複数のキーバリューペアから構成され、キーバリューペアが複数のコンピューティングノードに記憶されると、ステップ303〜306の処理が、ユーザの期待を満たす問い合わせ結果の取得のために、問い合わせ要求に応じて複数回行われてもよいことである。
【０１１０】
特定の実装において、ユーザが、データベース又はウェブサイトから特定の問い合わせ条件を満たす問い合わせデータを求めている場合、問い合わせのためのトリプルは、ユーザに入力されたクエリキーワードに応じて取得されてもよい。或いは、問い合わせ結果は、ユーザに直接入力された問い合わせのためのトリプルに応じて本発明の実施形態に係る方法の使用により取得される。例えば、ユーザは、チャンサンの連絡先の住所を問い合わせたい場合、問い合わせのためのトリプル(チャンサン, 連絡先の住所, ?o)を入力する。このとき、問い合わせ条件は、問い合わせのためのトリプルにおいて既知の要素である主語"チャンサン"と述語"連絡先の住所"であり、クエリオブジェクトは、問い合わせのためのトリプルにおいて未知の要素である目的語"o"である。クエリオブジェクトに対応する要素は、本発明に係る実施形態で提供される方法の使用により取得されてもよい。また、取得されたクエリオブジェクトに対応する要素は、ユーザの問い合わせ条件を満たす要素である。クエリオブジェクトに対応する取得された要素が問い合わせ結果として使用されると、問い合わせ結果は、ディスプレイに表示するといった方法でユーザに返されてもよい。そうすることで、ユーザは、より正確な問い合わせ結果を取得する。
【０１１１】
本開示の実施形態により提供される方法によると、RDFにより記述されたオントロジは、複数のキーバリューペアから予め構成される。そして、キーバリューペアは、複数のコンピューティングノードに記憶される。ユーザは、クエリ操作を行うと、問い合わせ条件を満たすキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索する。そして、ユーザは、問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別し、判別した要素に応じて問い合わせ結果を取得する。このように、RDFで記述されたオントロジを記憶するための新しい方法は提供される。さらに、記憶されたキーバリューペアは互いに独立しているため、問い合わせ条件を満たすキーバリューペアは、問い合わせ結果の取得のために、問い合わせ条件に応じて、記憶されたキーバリューペアから直接検索されてもよい。これは複雑な推定操作を防止する。従って、問い合わせ速度は改善される。加えて、RDFにより記述されたオントロジを拡張することは、問い合わせ速度にあまり影響しない。さらに、キーバリューペアは複数のコンピューティングノードに記憶されているため、検索は、複数のコンピューティングノードで同時に行われてもよい。その結果、問い合わせ速度は、大幅に改善される。
【０１１２】
本開示の実施形態は、上述した方法の実施形態において提供される方法を行うために構成されたオントロジに基づく問い合わせ装置を提供する。RDFにより記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれと、キーとキーバリューを含む複数のキーバリューペアのそれぞれと、トリプルの３つの要素を含むキーバリューと、トリプルの３つの要素のうちの１つを含むキーと、に記憶される。また、図５が示すように、上述の装置は、以下のものを備える。
【０１１３】
ユーザにより入力された問い合わせのためのトリプルであって、問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである問い合わせのためのトリプルの少なくとも１つを取得する第１の取得モジュール501。
【０１１４】
取得モジュール501により取得された問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索する検索モジュール502。
【０１１５】
複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を取得するために、検索モジュール502により取得された問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別する第１の判別モジュール503。
【０１１６】
複数のコンピューティングノードのそれぞれで第１の判別モジュール503により判別されたクエリオブジェクトに対応する要素に応じて問い合わせ結果を取得する第２の取得モジュール504。
【０１１７】
特に、問い合わせのためのトリプルには１つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける１つの既知の要素である場合、検索モジュール502は、問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、問い合わせ条件を満たすキーバリューペアとして、一致するキーに対応するキーバリューペアの少なくとも１つを使用する。
【０１１８】
特に、問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルにおける２つの既知の要素である場合、図６に示すように、検索モジュール502は、以下のものを備える。
【０１１９】
問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索する第１の検索部5021。
【０１２０】
問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、第１の検索部5021により検索された一致するキーに対応するキーバリューを検索し、問い合わせ条件を満たすキーバリューペアとして、一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用する第２の検索部5022。
【０１２１】
特に、第２の取得モジュール504は、問い合わせ結果を取得するために、複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を結合する。
【０１２２】
特に、問い合わせのためのトリプルには２つの既知の要素があり、問い合わせ条件は問い合わせのためのトリプルの２つの既知の要素である場合、検索モジュール502は、問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、問い合わせ条件の他の既知の要素に一致する少なくとも１つのキーのために、複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、問い合わせ条件を満たすキーバリューペアとして、一方の既知の要素に一致する少なくとも１つのキーと、他方の既知の要素に一致する少なくとも１つのキーに対応する少なくとも１つのキーバリューペアと、に対応する少なくとも１つのキーバリューペアを使用する。
【０１２３】
特に、図７に示すように、第２の取得モジュール504は、以下のものを備える。
【０１２４】
問い合わせ条件の既知の要素のそれぞれに応じて取得されたクエリオブジェクトに対応する要素を取得するために、問い合わせ条件の既知の要素に応じて複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素を分類する分類部5041。
【０１２５】
問い合わせ結果を取得するために、問い合わせ条件の既知の要素のそれぞれに応じて分類部5041により取得されたクエリオブジェクトに対応する要素の共通部分を取得する第１の取得部5042。
【０１２６】
特に、問い合わせのための複数のトリプルがある場合、第２の取得モジュール504は、問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素と、に応じて問い合わせ結果を取得する。
【０１２７】
特に、図８に示すように、第２の取得モジュール504は、以下のものを備える。
【０１２８】
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、問い合わせ結果を取得するために、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の共通部分を取得する第２の取得部5043。
【０１２９】
問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、問い合わせ結果を取得するために、問い合わせのための複数のトリプルのそれぞれに対して複数のコンピューティングノードのそれぞれで判別されたクエリオブジェクトに対応する要素の集合を取得する第３の取得部5044。
【０１３０】
さらに、図９に示すように、この装置は以下のものをさらに備える。
【０１３１】
RDFで記述されたオントロジに応じて複数のキーバリューペアのトリプルを構成する構成モジュール505。
【０１３２】
構成モジュール505により構成された複数のキーバリューペアを複数のコンピューティングノードに記憶する記憶モジュール506。
【０１３３】
特に、記憶モジュール506は、構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、少なくとも２つのキーバリューペアの少なくとも１つを複数のコンピューティングノードに記憶する。
【０１３４】
特に、記憶モジュール506は、構成された複数のキーバリューペアのうち、キーバリューが等しいキーバリューペアを、同じコンピューティングノードに記憶する。
【０１３５】
本開示の実施形態において提供された装置によれば、RDFで記述されたオントロジは、複数のキーバリューペアから予め構成されており、キーバリューペアは、複数のコンピューティングノードに記憶されている。ユーザは、問い合わせ操作を行う場合、問い合わせ条件を満たすキーバリューペアのために、複数のコンピューティングノードのそれぞれに記憶されているキーバリューペアを検索する。また、ユーザは、問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素からクエリオブジェクトに対応する要素を判別し、判別した要素に応じた問い合わせ結果を取得する。このように、RDFで記述されたオントロジを記憶するための新しい方法が提供される。さらに、記憶されたキーバリューペアが互いに独立しているので、問い合わせ条件を満たすキーバリューペアは、問い合わせ結果の取得のために問い合わせ条件に応じて、記憶されたキーバリューペアから直接検索されてもよい。これは複雑な推定操作を防止する。従って、問い合わせ速度が改善される。加えて、RDFで記述されたオントロジを拡大することは、問い合わせ速度にあまり影響しない。さらに、キーバリューペアが複数のコンピューティングノードに記憶されているので、検索は、複数のコンピューティングノードで同時に行われても構わない。そうすることで、問い合わせ速度が大幅に改善される。
【０１３６】
ここで注目すべきことは、オントロジに基づく問い合わせが、上述の実施形態において提供されたオントロジに基づく問い合わせ装置により行われる間、この装置は、例として、上述の機能モジュールの分割の使用のみにより記述されていることである。実際には、機能は、必要に応じて、実装のために、異なる機能モジュールに割り当てられてもよい。具体的には、オントロジに基づく問い合わせ装置の内部構造は、上述の機能の全て又は一部の実装のために、異なる機能モジュールに分割される。さらに、オントロジに基づく問い合わせ装置とオントロジに基づく問い合わせ方法は、同じ発明のコンセプトで関連している。ここで、特定の実装は、方法の実施形態で詳しく説明されている。そのため、発明のコンセプトについてはここではこれ以上詳しく説明しない。
【０１３７】
本開示の前述の実施形態のシーケンス番号（sequence numbers）は、平易な記載のためだけのものであり、優先される実施形態を示すものではない。
【０１３８】
当業者は、前述の問い合わせ方法が、ハードウェア又はプログラムの指示に従うハードウェアにより実現されることを理解するはずである。プログラムは、一時的でないコンピュータ読み取り可能な記録媒体に記憶されていてもよい。また、プログラムは、少なくとも１つのプロセッサによって実行されていればよい。記録媒体は、例えば、ROM（Read Only Memory）、MO（Magnetic Disk）、CD-ROM（Compact Disc Read-Only Memory）であってよい。
【０１３９】
上記は、単に好ましい実施形態を開示したものであり、本開示の限定を意図するものではない。本開示の趣旨と原理から逸脱しないいかなる変更、代替物への置き換え、改良も、本開示の保護の範囲に含まれる。
【０１４０】
（付記１）
リソースディスクリプションフレームワーク（RDF）で記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ方法であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得することと、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別することと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することと、
を含むことを特徴とする問い合わせ方法。
【０１４１】
（付記２）
前記問い合わせのためのトリプルには１つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記１つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーに対応するキーバリューペアの少なくとも１つを使用することと、を含む、
ことを特徴とする付記１に記載の問い合わせ方法。
【０１４２】
（付記３）
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、前記一致するキーに対応するキーバリューを検索することと、
前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用することと、を含む、
ことを特徴とする付記１に記載の問い合わせ方法。
【０１４３】
（付記４）
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素に応じて問い合わせ結果を取得することは、
問い合わせ結果を取得するために、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を結合すること、を含む、
ことを特徴とする付記２又は３に記載の問い合わせ方法。
【０１４４】
（付記５）
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索することは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索することと、
問い合わせ条件を満たすキーバリューペアとして、前記一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、前記他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、を使用することと、を含む、
ことを特徴とする付記１に記載の問い合わせ方法。
【０１４５】
（付記６）
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせ条件の既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件の前記既知の要素に応じて前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素を分類することと、
前記問い合わせ結果を取得するために、前記問い合わせ条件の前記既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、を含む、
ことを特徴とする付記５に記載の問い合わせ方法。
【０１４６】
（付記７）
問い合わせのための複数のトリプルがあり、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得すること、を含む、
ことを特徴とする付記１乃至６のいずれか一に記載の問い合わせ方法。
【０１４７】
（付記８）
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得することは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の共通部分を取得することと、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の集合を取得することと、を含む、
ことを特徴とする付記７に記載の問い合わせ方法。
【０１４８】
（付記９）
RDFで記述された前記オントロジのトリプルに応じて前記複数のキーバリューペアを構成し、構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶すること、をさらに含む、
ことを特徴とする付記１に記載の問い合わせ方法。
【０１４９】
（付記１０）
前記構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶することは、
前記構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、前記少なくとも２つのキーバリューペアの少なくとも１つを前記複数のコンピューティングノードに記憶すること、を含む、
ことを特徴とする付記９に記載の問い合わせ方法。
【０１５０】
（付記１１）
前記構成した複数のキーバリューペアを前記複数のコンピューティングノードに記憶することは、
前記構成した複数のキーバリューペアのうち、キーが等しいキーバリューペアを、同じコンピューティングノードに記憶すること、を含む、
ことを特徴とする付記９に記載の問い合わせ方法。
【０１５１】
（付記１２）
リソースディスクリプションフレームワーク（RDF）で記述されたオントロジのトリプルに応じて構成された複数のキーバリューペアは、複数のコンピューティングノードのそれぞれに記憶されており、前記複数のキーバリューペアのそれぞれは、キーとキーバリューを含み、前記キーバリューは前記トリプルの３つの要素を含み、前記キーは前記トリプルの前記３つの要素のうちの１つを含むオントロジに基づく問い合わせ装置であって、
ユーザにより入力された問い合わせのためのトリプルであって、前記問い合わせのためのトリプルにおける既知の要素が問い合わせ条件であり、前記問い合わせのためのトリプルにおける未知の要素の少なくとも１つがクエリオブジェクトである前記問い合わせのためのトリプルの少なくとも１つを取得する第１の取得モジュールと、
前記第１の取得モジュールにより取得された前記問い合わせ条件を満たす少なくとも１つのキーバリューペアのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアを検索する検索モジュールと、
前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を取得するために、前記検索モジュールにより取得された前記問い合わせ条件を満たすキーバリューペアのキーバリューに含まれる３つの要素から前記クエリオブジェクトに対応する要素を判別する第１の判別モジュールと、
前記複数のコンピューティングノードのそれぞれで前記第１の判別モジュールにより判別された前記クエリオブジェクトに対応する前記要素に応じて問い合わせ結果を取得する第２の取得モジュールと、
を備えることを特徴とする問い合わせ装置。
【０１５２】
（付記１３）
前記問い合わせのためのトリプルには１つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記１つの既知の要素であり、
前記検索モジュールは、前記問い合わせ条件の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶されたキーバリューペアのキーを検索し、前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーに対応するキーバリューペアの少なくとも１つを使用する、
ことを特徴とする付記１２に記載の問い合わせ装置。
【０１５３】
（付記１４）
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記検索モジュールは、
前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索する第１の検索部と、
前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーバリューのために、前記第１の検索部により検索された前記一致するキーに対応するキーバリューを検索し、前記問い合わせ条件を満たすキーバリューペアとして、前記一致するキーバリューに対応する少なくとも１つのキーバリューペアを使用する第２の検索部と、を備える、
ことを特徴とする付記１２に記載の問い合わせ装置。
【０１５４】
（付記１５）
前記第２の取得モジュールは、
問い合わせ結果を取得するために、前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する要素を結合する、
ことを特徴とする付記１３又は１４に記載の問い合わせ装置。
【０１５５】
（付記１６）
前記問い合わせのためのトリプルには２つの既知の要素があり、前記問い合わせ条件は前記問い合わせのためのトリプルにおける前記２つの既知の要素であり、
前記検索モジュールは、前記問い合わせ条件の一方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索し、前記問い合わせ条件の他方の既知の要素に一致する少なくとも１つのキーのために、前記複数のコンピューティングノードのそれぞれに記憶された前記キーバリューペアのキーを検索し、問い合わせ条件を満たすキーバリューペアとして、前記一方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、前記他方の既知の要素に一致するキーのうちの少なくとも１つのキーに対応するキーバリューペアのうちの少なくとも１つと、に対応する少なくとも１つのキーバリューペアを使用する、
ことを特徴とする付記１２に記載の問い合わせ装置。
【０１５６】
（付記１７）
前記第２の取得モジュールは、
前記問い合わせ条件の既知の要素のそれぞれに応じて取得された前記クエリオブジェクトに対応する要素を取得するために、前記問い合わせ条件の前記既知の要素に応じて前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素を分類する分類部と、
前記問い合わせ結果を取得するために、前記問い合わせ条件の前記既知の要素のそれぞれに応じて前記分類部により取得された前記クエリオブジェクトに対応する前記要素の共通部分を取得する第１の取得部と、を備える、
ことを特徴とする付記１６に記載の問い合わせ装置。
【０１５７】
（付記１８）
問い合わせのための複数のトリプルがあり、
前記第２の取得モジュールは、前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係と、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素と、に応じて問い合わせ結果を取得する、
ことを特徴とする付記１２乃至１７のいずれか一に記載の問い合わせ装置。
【０１５８】
（付記１９）
前記第２の取得モジュールは、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がAND関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の共通部分を取得する第２の取得部と、
前記問い合わせのための複数のトリプルのうちの各２つのトリプル間の関係がOR関係である場合、前記問い合わせ結果を取得するために、前記問い合わせのための複数のトリプルのそれぞれに対して前記複数のコンピューティングノードのそれぞれで判別された前記クエリオブジェクトに対応する前記要素の集合を取得する第３の取得部と、を備える、
ことを特徴とする付記１８に記載の問い合わせ装置。
【０１５９】
（付記２０）
RDFで記述された前記オントロジに応じて前記複数のキーバリューペアのトリプルを構成する構成モジュールと、
前記構成モジュールにより構成された前記複数のキーバリューペアを前記複数のコンピューティングノードに記憶する記憶モジュールと、をさらに備える、
ことを特徴とする付記１２に記載の問い合わせ装置。
【０１６０】
（付記２１）
前記記憶モジュールは、
前記構成した複数のキーバリューペアの中に、キーと対応するキーバリューとが等しい少なくとも２つのキーバリューペアがある場合、前記少なくとも２つのキーバリューペアの少なくとも１つを前記複数のコンピューティングノードに記憶する、
ことを特徴とする付記２０に記載の問い合わせ装置。
【０１６１】
（付記２２）
前記記憶モジュールは、
前記構成された複数のキーバリューペアのうち、キーバリューが等しいキーバリューペアを、同じコンピューティングノードに記憶する、
ことを特徴とする付記２０に記載の問い合わせ装置。
【図１】
2014194766.tif 000007
【図２】
2014194766.tif 000008
【図３】
2014194766.tif 000009
【図４】
2014194766.tif 000010
【図５】
2014194766.tif 000011
【図６】
2014194766.tif 000012
【図７】
2014194766.tif 000013
【図８】
2014194766.tif 000014
【図９】
2014194766.tif 000015
【外国語明細書】
2014194766000001.pdf