(57)【要約】【課題】推論検証及び漸増的な推論のためのトリプルの格納方法及び装置、並びにこれらに適した推論依存性索引装置を提供する。【解決手段】トリプルに推論規則を適用して他のトリプルを生成する推論方法に関わるトリプルを格納する方法において、（ａ）推論に関わるトリプル及び推論規則に通し番号を付して、それぞれのテーブルに格納する過程と、（ｂ）前記通し番号を用いて索引を行う過程と、（ｃ）物理的に複数のトリプル格納単位（テーブル）に分散して格納されるトリプルを、一つの格納単位であるかのようにアクセスするトリプルビューを生成する過程と、を含み、ユーザーの要請がある時に、推論根拠として提示し推論の信頼性を向上させ、且つ、事実の削除に際して、削除事実に依存する推論事実を追跡し削除して、漸増的な推論の効率を向上する特徴を有する。【選択図】図６
2013511788.tif 000002
【特許請求の範囲】
【請求項１】
トリプルに推論規則を適用して他のトリプルを生成する推論方法に関わるトリプルを格納する方法において、
（ａ）推論に関わるトリプル及び推論規則のそれぞれに通し番号を付して、複数のトリプルテーブル及び推論規則テーブルにそれぞれ格納する過程と、
（ｂ）前記トリプル及び推論規則を適用して推論されたトリプルに対して、推論に関わるトリプル及び推論規則の通し番号を用いて索引を行う過程と、
（ｃ）物理的に複数のトリプル格納単位（テーブル）に分散されて格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューを生成する過程と、
を含むトリプルの格納方法。
【請求項２】
前記索引過程は、
推論されたトリプルの通し番号を索引のキーとし、且つ、推論に用いられた推論規則の通し番号及び推論に用いられたトリプルの通し番号を内容とする推論依存性逆索引テーブルと、
推論に用いられたトリプルの通し番号を索引のキーとし、且つ、推論されたトリプルの通し番号を内容とする推論依存性順索引テーブルと、
を生成することを特徴とする請求項１に記載のトリプルの格納方法。
【請求項３】
（ｄ）トリプルの削除に際して、前記索引及び前記トリプルビューを用いて漸増的な推論を行う過程をさらに含むことを特徴とする請求項２に記載のトリプルの格納方法。
【請求項４】
前記（ｄ）トリプルの削除に際して漸増的な推論を行う過程は、
削除を要求されたトリプルをトリプルテーブルから削除する過程と、
削除を要求されたトリプルの通し番号を有する索引内容を推論依存性順索引から検索し、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を取り出した後、検索された索引内容を推論依存性順索引から削除する過程と、
削除を要求されたトリプルに依存して推論されたトリプルの通し番号を有する索引内容を推論依存性逆索引から検索し、検索された索引内容のうち、削除されたトリプルの通し番号が含まれている索引内容を推論依存性逆索引から削除する過程と、
前記検索された索引内容のうち、削除されたトリプルの通し番号が含まれていない索引内容がなければ、削除を要求されたトリプルに依存して推論されたトリプルをトリプルテーブルから削除する過程と、
を含むことを特徴とする請求項３に記載のトリプルの格納方法。
【請求項５】
トリプル及び推論規則に通し番号を付して、複数のトリプルテーブル及び推論規則テーブルに格納するトリプル及び規則通し番号割当部と、
明示的に存在するトリプルに推論規則を適用して新たなトリプルを誘導する推論実行部と、推論検証及び漸増的な推論を支援するために、推論に用いられたトリプルと、推論規則と、推論によって新たに推論されたトリプルとの間の依存関係を索引して格納する推論依存性索引部と、
前記複数のトリプルテーブルに物理的に分散して格納されたトリプルに、まるで仮想の一つの格納単位に格納されたかのようにアクセス可能にするトリプルビューを生成するトリプルビュー生成部と、
を備える推論依存性索引装置。
【請求項６】
前記推論依存性索引部は、
推論されたトリプルの通し番号を索引のキーとし、且つ、推論に用いられた推論規則の通し番号及び推論に用いられたトリプルの通し番号を内容とする推論依存性逆索引テーブルと、
推論に用いられたトリプルの通し番号を索引のキーとし、且つ、推論されたトリプルの通し番号を内容とする推論依存性順索引テーブルと、
を生成することを特徴とする請求項５に記載の推論依存性索引装置。
【請求項７】
前記推論依存性索引部は、トリプルの削除要求に応じて、
削除を要求されたトリプルを前記トリプルテーブルから削除し、
削除を要求されたトリプルの通し番号を有する索引内容を前記推論依存性順索引から検索し、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を取り出した後、検索された索引内容を前記推論依存性順索引から削除し、
削除を要求されたトリプルに依存して推論されたトリプルの通し番号を有する索引内容を前記推論依存性逆索引から検索し、検索された索引内容のうち、削除されたトリプルの通し番号が含まれている索引内容を前記推論依存性逆索引から削除し、且つ、
前記検索された索引内容のうち、削除されたトリプルの通し番号が含まれていない索引内容がなければ、削除を要求されたトリプルに依存して推論されたトリプルを前記トリプルテーブルから削除することを特徴とする請求項６に記載の推論依存性索引装置。
【請求項８】
トリプルに推論規則を適用して他のトリプルを生成する推論装置に関わるトリプルを格納する装置において、
それぞれに通し番号が付されたトリプルを格納する複数のトリプルテーブルと、
それぞれに通し番号が付された推論規則を格納する推論規則テーブルと、
トリプル及び推論規則を適用して推論された他のトリプルに対して、そこに適用されたトリプル及び推論規則の通し番号を用いて索引された結果を格納する推論依存性逆索引テーブル及び推論依存性順索引テーブルと、
前記複数のトリプルテーブルに物理的に分散して格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューと、
を備えるトリプルの格納装置。
【請求項９】
それぞれに通し番号が付されたトリプルを格納する複数のトリプルテーブルと、それぞれに通し番号が付された推論規則を格納する推論規則テーブルと、トリプル及び推論規則を適用して推論された他のトリプルに対して、そこに適用されたトリプル及び推論規則の通し番号を用いて索引された結果を格納する推論依存性索引テーブルと、前記複数のトリプルテーブルに物理的に分散されて格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューと、を備えるトリプルの格納装置から推論されたトリプルについての推論検証を提供する方法において、
推論検証を要求された推論されたトリプルに対する通し番号を取得する過程と、
前記推論されたトリプルの通し番号を前記推論依存性索引テーブルから検索して、依存関係にある推論規則の通し番号及びトリプルの通し番号を取得する過程と、
前記推論規則テーブルから前記推論規則の通し番号に見合う推論規則情報を取得し、前記トリプルビューからトリプルの通し番号に関するトリプル情報を取得する過程と、
前記取得された推論規則情報及びトリプル情報を推論の根拠として提示する過程と、
を含む推論依存性検証方法。
【請求項１０】
前記トリプルテーブルに記録されたトリプルの削除要求に応じて、
削除を要求されたトリプルを前記トリプルテーブルから削除し、
削除を要求されたトリプルの通し番号に関わる索引内容を前記推論依存性索引テーブルから削除し、且つ、
削除を要求されたトリプルによってしか推論されないトリプルを前記トリプルテーブルから削除する、
過程をさらに含むことを特徴とする請求項９に記載の推論依存性検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推論によるトリプルの格納方法に係り、より詳しくは、推論によって提供されるサービスに対する根拠を提示し、トリプルの削除に際しても漸増的な推論を支援することのできるトリプルの格納方法及び装置、並びにこれらに適した推論依存性索引装置及び推論依存性検証方法に関する。
【背景技術】
【０００２】
セマンティックウェブ（Ｓｅｍａｎｔｉｃ  Ｗｅｂ）において、知識はＲＤＦ（Ｒｅｓｏｕｒｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ）及びＯＷＬ（Ｗｅｂ  Ｏｎｔｏｌｏｇｙ  Ｌａｎｇｕａｇｅ）などのオントロジー（ｏｎｔｏｌｏｇｙ）で表され、推論はオントロジーで表された知識を拡張加工する役割を果たす。オントロジーは、ＲＤＦトリプル（ｔｒｉｐｌｅ）の集まりであり、各トリプルは、＜主語、述語、目的語＞の対によって構成される。また、トリプルは、事実（ｆａｃｔ）とも呼ばれる。
【０００３】
推論を行う時点によって、推論技術は、質疑が行われる前に予め全ての推論を行う前方推論（ｆｏｒｗａｒｄ  ｒｅａｓｏｎｉｎｇ）と、質疑が行われた後にその質疑を処理するために必要とされる推論のみを行う後方推論（ｂａｃｋｗａｒｄ  ｒｅａｓｏｎｉｎｇ）とに大別できるが、オントロジーの規模が大きくなるに伴い、最近の推論技術は、即刻的な質疑応答を行うのに適した前方推論を主流とし、ここに後方推論を部分的に混用する傾向にある。また、推論技術は、基礎となる論理によって、記述論理（Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｏｇｉｃ）に基づく推論と、規則に基づく推論とに大別できるが、推論の実用性の側面では規則に基づく推論が有利であり、推論の完全性の側面では技術論理に基づく推論が有利である。
【０００４】
このように規則に基づく前方推論技術が、大容量のオントロジーを対象とする推論の実用的な側面で有利であるが、オントロジーの一部のトリプルが変更若しくは削除される場合には、このトリプルから既に推論されて拡張されたトリプルもそれ以上は有効ではなくなる。それ故に、このような問題を処理するために、一般に、全般的な推論を行い直すが、推論を行うのに長時間がかかるため、実用性の側面で妨げとなっている。
【０００５】
一方、セマンティックウェブに基づく推論サービスにおいては、オントロジー及び推論技術を適用して、オントロジーの明示的に表された知識から内部的な推論過程を経て推論された結果（例えば、特定の分野の研究専門家や研究者ネットワーク）を分析して提示するが、このような分析結果がどのような根拠に基づいて得られたかを説明することはできない。検索結果をみてそれが適合なものであるかどうかを直ちに判断できる一般的な検索情報とは異なり、推論サービスでは、そのサービス結果を見るだけでその結果が正しいものであるかどうかを直ちに判断することが不可能である。
【０００６】
これにより、ユーザーは、セマンティックウェブに基づく推論サービスの信頼性に疑問を抱き、当該サービスのユーザー満足度を低下させる原因となっている。
【０００７】
このため、トリプルの削除に際しても、全般的な推論を行い直すことなく漸増的に推論可能にし、ユーザーが希望する場合に、推論結果に対する根拠（推論検証）を提示可能にするトリプルの格納技術が望まれる。
【０００８】
明示的なトリプル及び推論されたトリプルを物理的に格納する方式は、図１に示すように、概ね３種類に分けられる。垂直設計方式では、全てのトリプルを一つの格納単位（例えば、ＤＢＭＳのテーブル）に格納するが、設計が簡単であるためトリプルの規模が小さな時には有利であるものの、規模が大きくなるにつれて一つの格納単位に対する集中度が高くなって効率が低下する。これに対し、水平設計方式では、各トリプルを述語（ｐｒｏｐｅｒｔｙ）とクラス（ｃｌａｓｓ）別に分散して格納し、トリプルの規模が大きな場合に、分散効果によるメリットを有する。混合設計は、垂直設計と水平設計との中間に相当する方式である。しかしながら、この設計だけでは、漸増的な推論及び推論検証を効率よく支援することができないため、別途の格納技術が望まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は前記のような問題点に鑑みてなされたものであって、本発明の目的は、セマンティックウェブ技術に基づく漸増的な推論及び推論サービスに対する根拠説明（すなわち、推論検証）を支援するためのセマンティックウェブに基づくトリプルの格納方法を提供することを目的とする。
【００１０】
本発明の他の目的は、上記の方法に適した推論依存性索引装置を提供することにある。
本発明のさらに他の目的は、上記の方法に適したトリプルの格納装置を提供することにある。
【００１１】
本発明のさらに他の目的は、上記のトリプルの格納装置を用いた推論依存性検証方法を提供することにある。
【課題を解決するための手段】
【００１２】
前記の目的を実現するために、本発明は、推論に関わるトリプル及び推論規則のそれぞれに通し番号を付して格納し、前記トリプル及び推論規則を適用して推論されたトリプルに対して、そこに適用されたトリプル及び推論規則の通し番号を用いて索引して格納しておき、ユーザーからの要請があるときに推論の根拠として提示することにより、推論の信頼性を向上させることを特徴とする。
【００１３】
また、任意の事実の削除に際して、削除された事実に依存する推論された事実を追跡しつつ削除することにより、漸増的な推論の効率を向上させることを特徴とする。
【発明の効果】
【００１４】
本発明に係るトリプルの格納方法は、推論された事実に対して適用された事実及び推論規則の通し番号を用いて索引して格納しておき、ユーザーの要請があるときに推論の根拠として提示することにより推論の信頼性を向上させることができ、且つ、任意の事実の削除に際し、削除された事実に依存する推論された事実を追跡しつつ削除することにより、漸増的な推論の効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】トリプル格納先の例示図。
【図２】本発明に係る推論依存性索引装置のブロック図。
【図３】図２のトリプル及び規則通し番号割当部の実行結果を示す例示図。
【図４】図２の推論依存性索引部の実行結果を示す例示図。
【図５】図２のトリプルビュー生成部の実行結果を示す例示図。
【図６】本発明に係るトリプルの格納方法のフローチャート。
【図７】本発明に係る推論依存性索引装置において推論検証を行う方法のフローチャート。
【図８】本発明に係る推論依存性索引装置においてトリプル削除時の漸増的な推論を行う方法のフローチャート。
【発明を実施するための形態】
【００１６】
上記の目的を達成するための本発明に係るトリプルの格納方法は、トリプルに推論規則を適用して他のトリプルを生成する推論方法に関わるトリプルを格納する方法において、（ａ）推論に関わるトリプル及び推論規則のそれぞれに通し番号を付して、複数のトリプルテーブル及び推論規則テーブルにそれぞれ格納する過程と、（ｂ）前記トリプル及び推論規則を適用して推論されたトリプルに対して、推論に関わるトリプル及び推論規則の通し番号を用いて索引を行う過程と、（ｃ）物理的に複数のトリプル格納単位（テーブル）に分散されて格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューを生成する過程と、を含むことを特徴とする。
【００１７】
ここで、前記索引過程は、推論されたトリプルの通し番号を索引のキーとし、且つ、推論に用いられた推論規則の通し番号及び推論に用いられたトリプルの通し番号を内容とする推論依存性逆索引テーブルと、推論に用いられたトリプルの通し番号を索引のキーとし、且つ、推論されたトリプルの通し番号を内容とする推論依存性順索引テーブルと、を生成することを特徴とする。
【００１８】
前記トリプルの格納方法は、（ｄ）トリプルの削除に際して、前記索引及び前記トリプルビューを用いて漸増的な推論を行う過程をさらに含むことを特徴とする。
【００１９】
ここで、前記（ｄ）トリプルの削除に際して漸増的な推論を行う過程は、削除を要求されたトリプルをトリプルテーブルから削除する過程と、削除を要求されたトリプルの通し番号を有する索引内容を推論依存性順索引から検索し、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を取り出した後、検索された索引内容を推論依存性順索引から削除する過程と、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を有する索引内容を推論依存性逆索引から検索し、検索された索引内容のうち、削除されたトリプルの通し番号が含まれている索引内容を推論依存性逆索引から削除する過程と、前記検索された索引内容のうち、削除されたトリプルの通し番号が含まれていない索引内容がなければ、削除を要求されたトリプルに依存して推論されたトリプルをトリプルテーブルから削除する過程と、を含むことを特徴とする。
【００２０】
上記の他の目的を達成するための本発明に係る推論依存性索引装置は、トリプル及び推論規則に通し番号を付して、複数のトリプルテーブル及び推論規則テーブルに格納するトリプル及び規則通し番号割当部と、明示的に存在するトリプルに推論規則を適用して新たなトリプルを誘導する推論実行部と、推論検証及び漸増的な推論を支援するために、推論に用いられたトリプルと、推論規則と、推論によって新たに推論されたトリプルとの間の依存関係を索引して格納する推論依存性索引部と、前記複数のトリプルテーブルに物理的に分散して格納されたトリプルに、まるで仮想の一つの格納単位に格納されたかのようにアクセス可能にするトリプルビューを生成するトリプルビュー生成部と、を備えることを特徴とする。
【００２１】
ここで、前記推論依存性索引部は、推論されたトリプルの通し番号を索引のキーとし、且つ、推論に用いられた推論規則の通し番号及び推論に用いられたトリプルの通し番号を内容とする推論依存性逆索引テーブルと、推論に用いられたトリプルの通し番号を索引のキーとし、且つ、推論されたトリプルの通し番号を内容とする推論依存性順索引テーブルと、を生成することを特徴とする。
【００２２】
また、前記推論依存性索引部は、トリプルの削除要求に応じて、削除を要求されたトリプルを前記トリプルテーブルから削除し、削除を要求されたトリプルの通し番号を有する索引内容を前記推論依存性順索引から検索し、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を取り出した後、検索された索引内容を前記推論依存性順索引から削除し、削除を要求されたトリプルに依存して推論されたトリプルの通し番号を有する索引内容を前記推論依存性逆索引から検索し、検索された索引内容のうち、削除されたトリプルの通し番号が含まれている索引内容を前記推論依存性逆索引から削除し、且つ、前記検索された索引内容のうち、削除されたトリプルの通し番号が含まれていない索引内容がなければ、削除を要求されたトリプルに依存して推論されたトリプルを前記トリプルテーブルから削除することを特徴とする。
【００２３】
上記のさらに他の目的を達成するための本発明に係るトリプルの格納装置は、トリプルに推論規則を適用して他のトリプルを生成する推論装置に関わるトリプルを格納する装置において、それぞれに通し番号が付されたトリプルを格納する複数のトリプルテーブルと、それぞれに通し番号が付された推論規則を格納する推論規則テーブルと、トリプル及び推論規則を適用して推論された他のトリプルに対して、そこに適用されたトリプル及び推論規則の通し番号を用いて索引された結果を格納する推論依存性逆索引テーブル及び推論依存性順索引テーブルと、前記複数のトリプルテーブルに物理的に分散して格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューと、を備えることを特徴とする。
【００２４】
上記のさらに他の目的を達成するための本発明に係る推論依存性検証方法は、それぞれに通し番号が付されたトリプルを格納する複数のトリプルテーブルと、それぞれに通し番号が付された推論規則を格納する推論規則テーブルと、トリプル及び推論規則を適用して推論された他のトリプルに対して、そこに適用されたトリプル及び推論規則の通し番号を用いて索引された結果を格納する推論依存性索引テーブルと、前記複数のトリプルテーブルに物理的に分散して格納されるトリプルに、まるで仮想の一つの格納単位（テーブル）であるかのようにアクセス可能にするトリプルビューと、を備えるトリプルの格納装置から推論されたトリプルについての推論検証を提供する方法において、推論検証を要求された推論されたトリプルに対する通し番号を取得する過程と、前記推論されたトリプルの通し番号を前記推論依存性索引テーブルから検索して、依存関係にある推論規則の通し番号及びトリプルの通し番号を取得する過程と、前記推論規則テーブルから前記推論規則の通し番号に見合う推論規則情報を取得し、前記トリプルビューからトリプルの通し番号に関するトリプル情報を取得する過程と、前記取得された推論規則情報及びトリプル情報を推論の根拠として提示する過程と、を含むことを特徴とする。
【００２５】
ここで、前記推論依存性検証方法は、前記トリプルテーブルに記録されたトリプルの削除要求に応じて、削除を要求されたトリプルを前記トリプルテーブルから削除し、削除を要求されたトリプルの通し番号に関わる索引内容を前記推論依存性索引テーブルから削除し、且つ、削除を要求されたトリプルによってしか推論されないトリプルを前記トリプルテーブルから削除する過程をさらに含むことを特徴とする。
【００２６】
以下、添付図面に基づき、本発明の構成及び動作を詳述する。
【００２７】
トリプル（事実）は、一般に、図１に示す３種類の類型の一つで格納される。特に、大容量のオントロジーを対象として実用性の富む推論を支援するためには、図１の水平設計若しくは混合設計の方式が主として用いられ、且つ、実用性を考慮して、オントロジーに明示的に存在するトリプルだけではなく、前方推論によって推論されたトリプルまでプル格納先に格納する。しかしながら、このような格納構造だけでは、推論検証及び漸増的な推論を支援することができない。
【００２８】
推論とは、既存の［トリプル］に［推論規則］を適用して新たな（推論された）［トリプル］を得る過程をいう。本発明は、推論検証及び漸増的な推論を支援するためのトリプル格納先の機能を果たし、推論によって得られる推論された［トリプル］と、推論に用いられた既存の［トリプル］及び［推論規則］間の依存関係を索引して格納する。
【００２９】
図２は、本発明に係る推論依存性索引装置の構成を示す図である。図２を参照すると、推論依存性索引装置は、トリプル及び規則通し番号割当部１００と、推論実行部２００と、推論依存性索引部３００と、トリプルビュー生成部４００と、を備えている。
【００３０】
トリプル及び規則通し番号割当部１００は、それぞれのトリプル及び推論規則に通し番号を付して格納する。図１に示す水平設計若しくは混合設計の方式のトリプル格納構造においては、それぞれのトリプルが類型別に分散されて格納されるが、通し番号は、各格納単位（テーブル）内における通し番号ではなく、全体のトリプル内における通し番号として割り当てる必要がある。すなわち、図３の４つのトリプルテーブル、すなわち、ｐテーブル１０２、ｑテーブル１０４、ｒテーブル１０６、ｓテーブル１０８の各ＩＤカラムに全体のトリプルにおける通し番号が割り当てられていることを示している。なお、図３の推論規則テーブル（ｒｕｌｅ）１０９は、各推論規則にも推論規則内における通し番号が割り当てられていることを示している。各トリプルテーブルのＦｌａｇカラムは、当該トリプルが推論によって得られたトリプルであるか否かを表示するためのものであり、トリプルが推論によって得られたものであれば、Ｔ（真）と表示され、そうでなければ、Ｆ（偽）と表示される。
【００３１】
推論実行部２００は、明示的に存在するトリプルに推論規則を適用して新たなトリプルを誘導する。推論されたトリプルもまた再帰的に推論規則に適用できる。
図３において、次の関係が成り立っていることが分かる。
１）［トリプル４］＜＝＝［トリプル１］＋［トリプル３］＋［規則１］
２）［トリプル７］＜＝＝［トリプル２］＋［トリプル４］＋［規則２］
３）［トリプル７］＜＝＝［トリプル５］＋［トリプル６］＋［規則３］
【００３２】
ここで、矢印（＜＝＝）の左側は、推論されたトリプル（推論の結果）であり、右側は、推論の結果に関する根拠情報であるトリプル及び推論規則である。図３の実線矢印は、各推論規則に適用（入力）されたトリプルであり、点線矢印は、推論規則が適用された結果として得られる新たなトリプル、すなわち、推論されたトリプルである。
【００３３】
図３から明らかなように、推論されたトリプル（例えば、［トリプル４］）は、他の推論（例えば、［規則２］に適用される）のために使用できる。また、一つのトリプルは、複数の推論規則に適用でき、異なる推論規則によって同じ推論されたトリプルが得られることもある（例えば、［トリプル７］は、［規則２］及び［規則３］のそれぞれによって得られる）。
【００３４】
［トリプル］は、別名として事実（ｆａｃｔ）とも呼ばれ、＜主語、述語、目的語＞によって構成される。［推論規則］は、［結論部］＜＝＝［条件部］により構成されるが、［条件部］は、一つ以上の［トリプルパターン］によって構成され、［結論部］は、一つの［トリプルパターン］によって構成される。［トリプルパターン］は、トリプルと同様に、＜主語、述語、目的語＞によって構成されるが、主語、述語、目的語のそれぞれが定数ではなく、変数であってもよい。ここで、［推論規則］の意味は、事実が［条件部］のトリプルパターンに適用できるとき、［結論部］に相当するトリプルが新たな事実として誘導（推論）できることを示す。
【００３５】
推論依存性索引部３００は、推論検証及び漸増的な推論を支援するために、推論に用いられたトリプルと、推論規則と、推論によって新たに推論されたトリプルとの間の依存関係を索引して格納する。
【００３６】
図４は、図３のトリプル及び推論規則を用いて生成した推論依存性索引テーブルの例示図である。推論依存性索引テーブルは、２種類に分けられるが、先ず、推論検証のためには推論された結果トリプルがどのような根拠トリプル及び推論規則から誘導されたかを容易に検索できるように推論依存性逆索引テーブル（Ｂａｃｋｗａｒｄ  Ｄｅｐｅｎｄｅｎｃｙ  Ｉｎｄｅｘｉｎｇ  ｔａｂｌｅ）３０１を生成する。
【００３７】
すなわち、推論されたトリプルＩＤ（ＩｎｆｅｒｒｅｄＴｒｉｐｌｅＩＤ）を索引のキーとし、且つ、この推論に用いられた推論規則ＩＤ（ＲｕｌｅＩＤ）とそれぞれのトリプルＩＤである（ＴｒｉｐｌｅＩＤ１、ＴｒｉｐｌｅＩＤ２，．．．，ＴｒｉｐｌｅＩＤｎ）を内容として索引し且つ格納する。換言すると、推論されたトリプル番号別にこの推論に用いられた規則番号とトリプル番号を直ちに得られる構造で格納する。これは、通常の情報検索において検索語が現れる文書を速やかに探し出すように、検索語別にその検索語が現れた文書番号を索引する構造とほとんど同じである。
【００３８】
次いで、トリプル削除時の漸増的な推論のためには、削除されたトリプルからどのようなトリプルが推論されたかを容易に検索できるように推論依存性順索引テーブル（Ｆｏｒｗａｒｄ  Ｄｅｐｅｎｄｅｎｃｙ  Ｉｎｄｅｘｉｎｇ  ｔａｂｌｅ）３０３を生成する。すなわち、推論に用いられたトリプルＩＤ（ＴｒｉｐｌｅＩＤ）を索引のキーとし、且つ、この推論によって生成されたトリプルＩＤ（ＩｎｆｅｒｒｅｄＴｒｉｐｌｅＩＤ）を内容として索引し且つ格納する。
【００３９】
図３のトリプル及び推論規則を用いて生成した図４の推論依存性索引テーブルを例にとって説明すると、［トリプル１］と［トリプル３］を［規則１］に適用して［トリプル４］が推論されたことは推論依存性逆索引テーブル３０１の１行目に表され、また、推論依存性順索引テーブル３０３の１行目及び３行目に表される。
【００４０】
図４の推論依存性逆索引テーブル３０１は、一つの推論規則に用いられるトリプルが２つ以下であることを想定して、ＴｒｉｐｌｅＩＤ１及びＴｒｉｐｌｅＩＤ２といった２つのカラムによって表現したが、ｎ個以下のトリプルが適用できる場合に、（ＴｒｉｐｌｅＩＤ１，ＴｒｉｐｌｅＩＤ２，．．．，ＴｒｉｐｌｅＩＤｎ）のように拡張できる。
【００４１】
トリプルビュー生成部４００は、複数の格納単位（テーブル）に物理的に分散して格納されたトリプルに、まるで仮想の一つの格納単位に格納されたかのようにアクセスできるように全トリプルに対するビュー（例えば、ＤＢＭＳのビュー）を生成する。
【００４２】
図１の水平設計及び混合設計の場合のように、トリプルが複数の格納単位（テーブル）に分散して格納される場合、トリプルＩＤが与えられるとき、このトリプルについての実際の内容（＜主語、述語、目的語＞）を知るためには、どのような格納単位（テーブル）に格納されたかを知っている必要があるが、トリプルビューを用いると、どのような格納単位（テーブル）であるかによらずアクセスできることとなる。
【００４３】
図５は、図３のトリプル格納単位（テーブル）に対するトリプルビューを生成した例を示す図である。すなわち、ｔｒｉｐｌｅ＿ｖｉｅｗ４１０は、４つのトリプル格納単位（テーブル）のｐテーブル４０２、ｑテーブル４０４、ｒテーブル４０６、ｓテーブル４０８に、まるで一つの物理的な格納単位（テーブル）であるかのようにアクセス可能にした仮想の格納単位（テーブル）であるトリプルビュー（例えば、ＤＢＭＳのｖｉｅｗ）である。このトリプルビューは、全てのトリプルにアクセスできるように、主語Ｓｕｂｊｅｃｔ、述語Ｐｒｅｄｉｃａｔｅ、目的語Ｏｂｊｅｃｔのカラムのいずれをも有する。
【００４４】
ｐテーブル４０２は、トリプル格納単位（テーブル）の名前が述語Ｐｒｅｄｉｃａｔｅに相当するため、トリプルビューを介してアクセスするときにはＰｒｅｄｉｃａｔｅカラムの値は格納単位（テーブル）の名前であるｐとして指定される。これと同様に、ｑテーブル４０４にトリプルビューを介してアクセスするときには、Ｐｒｅｄｉｃａｔｅカラムの値は、格納単位（テーブル）の名前であるｑとして指定される。ｒテーブル４０６及びｓテーブル４０８は、各クラスのインスタンスを格納するためのものであり、格納単位（テーブル）の名前がクラスの名前であって、目的語Ｏｂｊｅｃｔに相当し、述語Ｐｒｅｄｉｃａｔｅはｒｄｆ：ｔｙｐｅであるため、ｒテーブル４０６にトリプルビューを介してアクセスするときには、Ｐｒｅｄｉｃａｔｅカラムの値はｒｄｆ：ｔｙｐｅとして指定され、Ｏｂｊｅｃｔカラムの値は格納単位（テーブル）の名前であるｒとして指定され、ｓテーブル４０８にトリプルビューを介してアクセスするときには、Ｐｒｅｄｉｃａｔｅカラムの値はｒｄｆ：ｔｙｐｅとして指定され、Ｏｂｊｅｃｔカラムの値は格納単位（テーブル）の名前であるｓとして指定される。
【００４５】
推論検証は、推論された［トリプル（事実）］に対する根拠を提供するものであり、トリプル削除時の漸増的な推論とは、削除されたトリプルによって推論されたトリプルを再帰的に追跡しつつ削除することを意味する。本発明においては、推論検証及び削除時の漸増的な推論のために推論された［トリプル］と、推論に用いられた［トリプル］及び［推論規則］間の依存関係を索引する方法を提示する。
【００４６】
図６は、本発明に係るトリプルの格納方法のフローチャートである。図６を参照すると、推論依存性の索引のために、先ず、全トリプルのそれぞれにユニークな通し番号ＩＤを付し（Ｓ５０１）、推論規則のそれぞれにもユニークな通し番号ＩＤを付する（Ｓ５０３）。トリプルが類型別に分散されて格納される場合にも、ユニークな通し番号を全トリプルを対象として付する。
【００４７】
次いで、各推論規則をトリプルに適用して新たなトリプルを推論する推論過程を行う（Ｓ５０５）。ここで得られる推論されたトリプルに対してもトリプルの通し番号ＩＤを付する。
【００４８】
次いで、推論に用いられたトリプルと、推論規則と、推論によって得られたトリプルとの間の依存関係を索引する（Ｓ５０７）。この索引過程は、２つに大別できるが、一つは、推論されたトリプルの通し番号（ＩｎｆｅｒｒｅｄＴｒｉｐｌｅＩＤ）を索引のキーとし、且つ、推論に用いられた推論規則の通し番号（ＲｕｌｅＩＤ）と推論に用いられたトリプルの通し番号（ＴｒｉｐｌｅＩＤ１，ＴｒｉｐｌｅＩＤ２，．．．，ＴｒｉｐｌｅＩＤｎ）を内容とする推論依存性逆索引（Ｂａｃｋｗａｒｄ  Ｄｅｐｅｎｄｅｎｃｙ  Ｉｎｄｅｘｉｎｇ）であり、もう一つは、推論に用いられたトリプルの通し番号（ＴｒｉｐｌｅＩＤ）を索引のキーとし、且つ、推論されたトリプルの通し番号（ＩｎｆｅｒｒｅｄＴｒｉｐｌｅＩＤ）を内容とする推論依存性順索引（Ｆｏｒｗａｒｄ  Ｄｅｐｅｎｄｅｎｃｙ  Ｉｎｄｅｘｉｎｇ）である。
【００４９】
最後に、トリプルが類型別に複数の格納単位（テーブル）に分散されて格納された場合に、全トリプルに、格納単位（テーブル）の区分によらずアクセス可能にする仮想のトリプルビュー（例えば、ＤＢＭＳｖｉｅｗ）を生成する（Ｓ５０９）。
【００５０】
推論依存性逆索引と、推論依存性順索引及びトリプルビューを用いて、推論検証と、トリプル削除時の漸増的な推論を行う方法を、それぞれ図７及び図８に示す。
【００５１】
図７を参照すると、ユーザーが推論検証を要求する推論されたトリプルが与えられると、先ず、このトリプルに対する通し番号を取得する（Ｓ６０１）。次いで、この通し番号を推論依存性逆索引から検索して、依存関係にある推論規則番号及びトリプル番号を取得する（Ｓ６０３）。
【００５２】
次いで、推論規則テーブルから推論規則情報を取得し（Ｓ６０５）、トリプルビューｔｒｉｐｌｅ＿ｖｉｅｗからは各トリプル番号に関するトリプル情報（主語、述語、目的語、Ｆｌａｇ）を取得する（Ｓ６０７）。このとき各トリプル情報に対してＦｌａｇの値がＴ（真）であれば（Ｓ６０９）、このトリプルもまた他の推論規則とトリプルによって推論されたものであるため、推論依存性逆索引を検索する過程（Ｓ６０３）に戻る。Ｆｌａｇの値がＴ（真）ではなければ、先に得られた推論規則情報及びトリプル情報を推論の根拠としてユーザーに提示する（Ｓ６１１）。
【００５３】
図４の場合を例にとって説明すると、［トリプル７］の推論根拠として、［規則２］と、［トリプル２］と、［トリプル４］を提示することができるが、［トリプル４］もまた推論された事実であるため、これに対する推論根拠も提示する必要がある。完全な推論検証のためには、純粋な事実とこれらに適用された推論規則を根拠として提示することが求められるが、図４の推論依存性逆索引テーブル３０１を用いると、推論依存性を再帰的に探索することにより、純粋な事実と推論規則を得ることが可能である。すなわち、［トリプル７］に関する根拠情報は、［規則２］＋［トリプル２］＋（［規則１］＋［トリプル１］＋［トリプル３］）となる。
【００５４】
一つの推論された［トリプル］は、２以上の（トリプル＋推論規則）組から得られる。図４の場合を例にとって説明すると、推論依存性逆索引テーブル３０１には、［トリプル７］が推論されたトリプル番号として２回（それぞれ２行目と３行目）に亘って現れる。
このように、推論依存性逆索引テーブル３０１は、一つの推論されたトリプル番号が２回以上索引でき、推論検証のための推論依存性逆索引テーブル３０１を探索するとき（Ｓ６０３）、多重の探索結果を得ることができる。すなわち、［トリプル７］に関する根拠情報として、上記に例示した［規則２］＋［トリプル２］＋（［規則１］＋［トリプル１］＋［トリプル３］）とともに、［規則３］＋［トリプル５］＋［トリプル６］も提示される。
【００５５】
トリプル削除時の漸増的な推論を行う方法について説明すると、図８を参照して、削除されるべきトリプルが与えられるとき、先ず、このトリプルに対する通し番号を取り出した後、このトリプルをトリプル格納先から削除する（Ｓ７０１）。
次いで、この通し番号を推論依存性順索引から検索して、削除されたトリプルに依存して推論されたトリプルの通し番号を全て取り出した後、推論依存性順索引から削除する（Ｓ７０３）。それぞれの推論されたトリプル通し番号を、今回は推論依存性逆索引から検索して、この推論されたトリプルが依存しているトリプルの通し番号を取り出した後、削除されたトリプルの通し番号が含まれている検索結果に対して推論依存性逆索引から削除する（Ｓ７０５）。
【００５６】
もし、検索結果のうち、未削除のもの（すなわち、削除されたトリプルに依存せずに推論された場合）が存在しなければ（Ｓ７０７）、推論されたトリプルは削除されたトリプルによってしか推論されず、このトリプルの削除によってそれ以上有効でなくなるため、この推論されたトリプルもまた削除すべきトリプルとして設定し、トリプルビューｔｒｉｐｌｅ＿ｖｉｅｗを介してこの推論されたトリプル番号に相当するトリプルをトリプル格納先から削除（Ｓ７０９）し、推論依存性順索引を検索する過程（Ｓ７０３）に戻る。
もし、検索結果のうち、未削除のものが存在すれば（Ｓ７０７）、この推論されたトリプルは、他のトリプルによってしか推論できないため依然として有効であり、削除されない。
以下、これを図３及び図４に基づいて説明する。
【００５７】
先ず、通し番号「１」を有するトリプルを削除する場合について説明する。通し番号「１」を有するトリプルの削除要求に応じて、先ず、ｐテーブル１０２から１行目が削除される。
次いで、推論依存性順索引から通し番号「１」をキーとして検索し、検索された索引内容（ここで、行（ｒａｗ））を削除する。その結果、図４に示す推論依存性順索引から１行目が削除される。このとき、削除を要求されたトリプルに依存して推論されたトリプルの通し番号「４」が得られる。
【００５８】
次いで、推論されたトリプルの通し番号「４」をキーとし、且つ、推論依存性逆索引を検索して、検索結果のうち削除を要求されたトリプルを有する索引内容が削除される。その結果、図４に示す推論依存性逆索引から１行目が削除される。
【００５９】
一方で、推論依存性逆索引から削除を要求されたトリプル「１」が含まれていない他の行がないため、推論されたトリプル「４」は、削除を要求されたトリプル「１」によってしか推論されない。これにより、削除を要求されたトリプル「１」が削除され、自動的にそれによってしか推論されないトリプル「４」も削除される。
【００６０】
次いで、通し番号「２」を有するトリプルを削除する場合について説明する。通し番号「２」を有するトリプルの削除要求に応じて、先ず、ｑテーブル１０４から１行目が削除される。
【００６１】
次いで、推論依存性順索引から削除を要求されたトリプルの通し番号「２」をキーとして検索し、検索された索引内容を削除する。その結果、図４に示す推論依存性順索引から２行目が削除される。このとき、削除を要求されたトリプル「２」に依存して推論されたトリプルの通し番号「７」が得られる。
【００６２】
次いで、推論されたトリプルの通し番号「７」をキーとし、且つ、推論依存性逆索引を検索して、検索結果のうち削除を要求されたトリプル「２」を有する索引内容が削除される。その結果、図４に示す推論依存性逆索引から２行目が削除される。
【００６３】
一方で、推論依存性逆索引から削除を要求されたトリプル「２」を含んでいない他の索引内容（３行目）があるため、推論されたトリプル「７」は、削除を要求されたトリプル「２」に加えて、他のトリプルによっても推論可能なものとなる。これにより、削除を要求されたトリプル「２」が削除されても、トリプル「２」によって推論されたトリプル「７」は削除されてはならない。
【符号の説明】
【００６４】
１００…トリプル及び規則通し番号割当部、
２００…推論実行部、
３００…推論依存性索引部、
４００…トリプルビュー生成部、
【図１】
2013511788.tif 000003
【図２】
2013511788.tif 000004
【図３】
2013511788.tif 000005
【図４】
2013511788.tif 000006
【図５】
2013511788.tif 000007
【図６】
2013511788.tif 000008
【図７】
2013511788.tif 000009
【図８】
2013511788.tif 000010
【国際調査報告】
2013511788.tif 000011
2013511788.tif 000012
2013511788.tif 000013
2013511788.tif 000014