• 検索結果がありません。

トリプルデータへのフィードバック処理

第 2 章 コンテンツ提示へのセマンティック Web 技術の応用

4.4 トリプルデータへのフィードバック処理

50

51

としてログインスタンスを持ち,ログインスタンスは発生元としてアプリケーションイン スタンスを持つという部分が共通表現できる根幹となる.ログインスタンスに関連付ける 利用内容の定義については,アプリケーションやログ毎に設定をするため共通化できない.

インスタンス化トリプルを「SPO」,アプリケーションインスタンスを「APP」,ログインス タンスを「SPO+APP」,取得回数や表示回数といった外部アプリケーション毎に設定でき る利用内容の定義については「F」としてパラメータ化し,図-4.4.1 に示す「利用実績」と いう述語を「ngsk:feedback」,「発生元」という述語を「ngsk:app」で定義すると,生成でき るフィードバックデータのモデルは図-4.4.2 のように表現できる.なお,利用実績としては 整数型だけでなく文字列なども柔軟に設定可能であり,様々なアプリケーションを「APP」

として定義できる.

図-4.4.2 フィードバックデータモデル

そのため,インスタンス化トリプルとそのデータを利用するアプリケーションインスタ ンスの関係を一意に特定できるログインスタンスで構成したデータ構造を根幹にして,そ の構造に,利用回数といった実績を柔軟に設定できるデータ構造となっている.

4.4.2. フィードバックデータの追加

本項では,図-4.4.2 に示したデータモデルを実際に利用する際の処理を示す.まず,外部 アプリケーションからインスタンス化トリプルへのアクセスがあった際に,トリプルデー タとアプリケーションを一意に特定するログインスタンスの生成や,表示回数などの初期 化を行い,図-4.4.2 の根幹部分の構造を作る.なお,ログインスタンスは,インスタンス化 トリプルとアプリケーションインスタンスを連結することで一意に表現可能である.外部 アプリケーションから利用実績を更新する場合は,すでに取得済のインスタンス化トリプ ルと自身を示すアプリケーションインスタンスからログインスタンスを特定できるため,

特定できたログインスタンスの利用実績の更新クエリを発行するのみである.図-4.4.3 に,

初回アクセス時と利用実績を更新する際のパラメータを汎用化した SPARQL クエリを示 す.

SPO

SPO+APP

ngsk:feedback

APP

ngsk:app

xsd:integer F

52

図-4.4.3 フィードバッククエリモデル

4.4.3. フィードバックデータの確認

ここでは,図-4.4.2 に示したデータモデルから,あるデータ入力ユーザーが登録したデ ータに対して,各アプリケーションの利用実績を参照するクエリを図-4.4.4 に示す.図中の 変数 X に,管理済のユーザーID を入れることで,各データ入力ユーザーが入力したデータ と,そのデータがどのアプリでどのような利用実績が登録されているかを一覧できる.表-4.4.1 に,その結果の一例を示す.このようなフィードバックデータを,データ入力ユーザ ーが入力した情報の実績として確認することが可能である.

【初回アクセス時】

prefix ngsk: <http://nagasakipj.or.jp#>

INSERT{

?hash ngsk:feedback ?hash_app.

?hash_app ngsk: app ?app.

?hash_app <F> "0".

} WHERE {

BIND(URI(SPO) as ?hash).

BIND(URI(CONCAT(SPO,APP)) as ?hash_app).

BIND(URI(APP) as ?app).

}【利用実績更新時】

DELETE {?s <F> ?count.}

INSERT{?s <F> ?countUP. } WHERE{

< SPO > ngsk:feedback ?s.

?s ngsk:app <

APP

>.

?s <F> ?count.

BIND(xsd:integer(?count)+1 as ?countUP).

}

53

図-4.4.4 フィードバックデータ確認用クエリ 表-4.4.1 フィードバックデータ確認用クエリ結果

4.3 項,4.4 項で示したデータモデルおよびデータ処理モデルを図-4.4.5 に示す.データ 入力ユーザーX が入力したトリプルデータ(S-P-O)と,トリプルインスタンス(SPO)

は,ハッシュ化により間接的にリンクされている状態にあるため,外部アプリケーション APP での利用実績をデータ入力ユーザーX にフィードバックすることが可能である.

図-4.4.5 フィードバックのためのデータモデル・データ処理

関連したドキュメント