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

1. Jena の導入

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

1.1. Jena とは

Jena とは HP Labs (http://www.hpl.hp.com/)によって開発された、 Java によるセマンティックWebアプリケーション開発のためのフレームワークです。 セマンティック Web はコンピュータにとって理解可能な Web を構築しようという試みです。 RDF は特定のシステムやアプリケーションに依存せずに相互理解を可能にするための仕組みです。 セマンティック Web や関連技術については、 トップカテゴリのセマンティックWeb以下で解説しているので、参考にしてください。 Jena は RDF で表されるデータ(知識)を処理し利用するためのさまざまな機能を提供します。 Jena の主な機能は次のようなものです。

  • RDF データの読み込み、出力
  • RDF モデルの編集、マージ、問合せ
  • RDFS、OWL、DAML+OIL などオントロジの操作
  • SQL データベースを利用した永続的な利用
  • 問い合せ言語 RDQL による検索
  • オントロジなどのルールに基づいた推論、検証

1.2. インストール

Jena はhttp://jena.sourceforge.net/downloads.html からダウンロードすることができます。 現在最新のバージョンは Jena2.3 ですので Jena-2.3.zip をダウンロードします。

次にダウンロードした ZIP ファイルを適当なフォルダに解凍します。 解凍するとソースや APIDocs などさまざまなファイルが得られます。 このうち lib というフォルダに 14 個の jar ファイルが入っています。 Jena を利用するときにはこられの jar ファイルをクラスパスに含むようにします。

1.3. Jena で扱うモデルの構造

RDF のデータモデルは 基本的にリソースとプロパティ、リテラル、ステートメントで表します。 ステートメントは主語、述語、目的語の組で表されます。 主語はリソース、述語はプロパティ、目的語はリソースまたはリテラルです。 Jena でもこの考え方は基本的に変わりません。 主に以下のようなインタフェースを利用して処理をします。

名前 説明
com.hp.hpl.jena.rdf.model.Model RDF モデルそのものを表します。 Statement の集合として表されます。
com.hp.hpl.jena.rdf.model.Statement ステートメント(トリプル)を表します。 目的語は Resource もしくはリテラルです。
com.hp.hpl.jena.rdf.model.RDFNode リソースやリテラルなど、 RDF に含まれるあらゆるノードのスーパーインタフェースです。
com.hp.hpl.jena.rdf.model.Resource リソースを表します。URI で識別されます。RDFNodeのサブインタフェースです。
com.hp.hpl.jena.rdf.model.Property プロパティを表します。Resource のサブインタフェースです。
com.hp.hpl.jena.rdf.model.Literal 文字列や数値などといった、リテラルを表します。RDFNodeのサブインタフェースです。
com.hp.hpl.jena.rdf.model.ReifiedStatement 具体化されたステートメントです。 これはResource のサブインタフェースで、特殊なリソースとして扱われます。

ここで挙げたインタフェース以外にも、 com.hp.hpl.jena.rdf.model.Alt や com.hp.hpl.jena.rdf.model.Seq, com.hp.hpl.jena.rdf.model.Bag などといった RDF を扱うためのものや、 com.hp.hpl.jena.rdf.model.infModel のように推論のためのもの、 オントロジや RDQL を処理するためのものなど、多くのインタフェースやクラスが Jena にはあります。



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

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