Rinza RDF Repository
Rinza RDF RepositoryはRDF(Resource Description Framework)に基づいたデータモデリングと、モデリングに統合されたアクセス制御を提供するデータ管理ミドルウェアです。物,人間,サービスなど実世界のあらゆる実体をシステム内にリソースとして表現し,関係を記述することでアプリケーションをモデル化します。
最新情報
2006-08-28 - RDF Repository 1.1.4 を公開しました。
ダウンロード
前回のバージョンからの変更点は以下の通りです。
共通
- プロジェクトのレイアウトを Maven 2.0 に合わせた。
- Linux用起動シェルスクリプトを追加した。
- common パッケージに含まれる標準Exceptionと同名のクラスを削除した。
- ログレベルの事前チェック方法を統一した。
- ログ出力が複数回行われると、後ろからログが上書きされる不具合を修正した。
- RawLog4jLoggerを追加した。ロガー自体やログレベルの設定は log4j.properties で行う。
- W3CDateクラスで SimpleDateFormatを使わないようにした(スレッドセーフになった)。
- W3CDateクラスの日付のパースで月がずれるのを修正した。
- W3CDateクラスで long値で表現されたミリ秒がLong.MAX_VALUEに近いときにオーバーフローしていたのを修正。
- 旧API関連のコードを削除した。
クライアントAPI
- クライアント側のソケット生成時にポート番号を指定しないようにした。
- 親スレッドのサブジェクトを子スレッドが引き継ぐようにした。
エージェント
- リソース/リテラルのインスタンスキャッシュに ehcache を利用し、各Accessorの中で確保するようにした。
- アクセスコントロールのルール判定を効率化した。
- トリガの選択条件を修正した。
- 排他制御の追加した。
- SQL例外が発生した場合に再スローするようにした。
- DBインサート前のキー値の0チェックを毎回行うようにした。
- SPARQLクエリの OPTIONAL キーワードに関する問題を修正
- キャッシュしているリソースが無効になったときに、そのリソースがクエリーのグラフパターンの述語部分に現れているとパターンにマッチしない問題を修正。
- Boolean のパース(true)が正しく行われなかったのを修正
Rinza RDF Repositoryの特長
現実世界を自然にモデリング
現実世界の人・モノ・事の相互の関係が拡張性の高い方法で記述できます。モデル化された個々の要素は、実世界に存在するデバイスと関連付けたり、既存の情報システムと関連付けたりすることもできるため、より自然にシステム全体のモデル化が可能です。
モデリングに基づいたアクセスコントロール記述
システム全体のモデル化が可能なため、現実世界のセキュリティポリシーと同様なアクセス制御が素直に設定できます。デバイスなどのシステム構成要素を使ってアクセスコントロールを行うということも考えられます。
機能一覧
| 機能 | 概要 |
| URIによるデータの識別 |
- Rinza RDF Repository 内のあらゆるデータをURIで識別可能
- 既存のデータソースに含まれるデータに対してURIをマッピング
|
| データ間の関係の定義 |
- URIによって識別されるデータと他のデータの関連を個別に定義可能
- 関連は意味と方向をもつ(関連元と関連先が区別される)
- Dublin Core や FOAF などの標準的なボキャブラリを利用
- 独自ボキャブラリの定義
|
| 単純データ型の格納 |
- 文字列、整数(4bytes)、実数値、日付、真偽値、バイナリー
|
| データの関連の探索 |
- データに関連付けられた他のデータの列挙
- 関連の逆参照の取得
- 単純データ型の値の取得
|
| クエリー |
- SPARQL(W3C標準ドラフト)を用いたデータの検索
- 関連の有無のパターンによる検索
- 単純データ型の探索
|
| アクセス・コントロール |
- URIごとに可能な操作の可否を設定
- 関連の有無や、関連先のデータの内容に基づいて操作の可否を設定
- XACML(OASIS勧告)を用いて記述
|
| トリガー |
- データの参照、更新および関連付けなどの操作の実行時に処理を起動
- トリガーはURIごとに個別に設定可能
|
| APIの提供 |
|
Tyzohコミュニティで開発されているソフトウェアを紹介します。