Webアプリ開発エンジニアのための技術情報サイト「テックスコア」

19. 推論

2006.05.23 株式会社四次元データ 中井隆史

19.1. 推論機能の概要

推論は、あるの RDF のデータには直接含まれてい情報を、 オントロジやスキーマといった規則に従って発見する処理です。 Jena には、オントロジなどのルールに基づく推論が実装されています。

Jenaの推論でもっとも重要なものは com.hp.hpl.jena.rdf.model.InfModel という Model のサブインタフェースです。 生成段階で推論が行われるため、InfModel のインスタンスは、推論実行後のモデルを表します。 推論によって情報の発見を行うため、これには推論の元となったモデルには、含まれなかったステートメントも含まれます。 元のモデルに存在したステートメントと同様に操作したり、検索を行ったりすることができます。

推論を行う方法はいくつかありますが、 ここでは com.hp.hpl.jena.reasoner.ReasonerRegistry と com.hp.hpl.jena.reasoner.Reasoner を使用する方法を説明します。

19.2. Reasoner の役割

Reasoner インタフェースを実装したクラスには、 どのような規則に従って推論を行うかの情報が入れられます。 実際に推論が行われるときには、Reasoner の情報に沿ってスキーマ、オントロジが解釈され新たな情報の発見が行われます。 独自の規則を定義することもできますが、 いくつかの有用な Reasoner は実装されていますので、それを利用することができます。 これらの Reasoner は ReasonerRegistry クラスを利用することで取得することができます。 例えば次のようなものがあります。

ReasonerRegistryから得られるReasonerの例

ReasonerRegistryのメソッド説明
static Reasoner getTransitiveReasoner() subPropertyOf と subClassOf の推移律による推論を行う。
static Reasoner getRDFSSimpleReasoner() 上に加えて Dmain と Range による推論および subPropertyOf と subClassOf に基づいたプロパティの推論を行う。推論後のモデルに RDFS 公理などを含まない。
static Reasoner getRDFSReasoner() RDFS のサブセットによる推論を行う。推論後のモデルに RDFS の公理など自明なステートメントを含む。
static Reasoner getOWLReasoner() OWLのサブセットによる推論を行う。推論後のモデルに RDFS の公理など自明なステートメントを含む。

OWL の Reasoner については RDFS による推論の機能も含まれています。 現在のところ RDFS、OWL などは完全に実装されているわけではありませんが、 基本的な推論は十分行うことが可能です。

Reasoner を実際に ReasonerRegistry から取得すると次のようになります。

Reasoner reasoner = ReasonerRegistry.getTransitiveReasoner()

また RDFS や OWL に関する Reasoner は、一般にオントロジやスキーマとともに使用します。 ある特定のオントロジやスキーマについてバインドを行い専用の Reasoner を作ることもできます。 そのためには Reasoner の bindSchema(Model model) メソッドを使用します。 引数にはオントロジやスキーマの情報の入ったモデルを渡します。 例えば次のように行います。

Model schema = FileManager.get().loadModel("file:data/RDFS.rdf");

Reasoner rdfsReasoner = ReasonerRegistry.getRDFSSimpleReasoner();
Reasoner reasoner = rdfsReasoner.bindSchema(schema);

注意が必要となるのは bindSchema(Model model) は新たにオブジェクトが生成されて戻されることです。 上の例で言えば reasoner は schema についてバインドされています。 一方で rdfsReasoner はバインドされません。



前のページへ TECHSCOREのTOPページへ 次のページへ
TECHSCORE PR
PR
PR
PR
PR
PR

techscore(トップページへ)
TECHSCORE書店
TECHSCOREトップページJavaSQLXMLリッチクライアントモデリングセマンティックWebその他技術Tuigwaa