情報家電オントロジー 公開ガイドライン案について 2007-06-06 第6回情報家電オントロジーSIG 松下電器産業株式会社 福重貴雄 野本昌子 沖電気工業株式会社 森田幸伯 大沼宏行
本日の構成 公開ガイドラインの目的 ファイル形式について 公開時のディレクトリ構造について オントロジーのホスティングについて バージョン管理について ドキュメントファイルについて
注意 本ドキュメントは、 現在検討中の事項を含みます。 最終提案においては 本ドキュメントと異なる推奨が 示される可能性があります。
目的 情報家電に関するオントロジーが Web上に適切に公開され、 継続的に構築・保守できるように オントロジー公開の 手順・構成等を推奨する
ファイル形式 について
形式 RDF/XML 拡張子 .rdf または .owl MIMEタイプ application/rdf+xml エンコーディング オントロジー定義ファイルの形式 形式 RDF/XML 拡張子 .rdf または .owl MIMEタイプ application/rdf+xml エンコーディング utf-8
公開時の ディレクトリ構造 について
一つのファイルに すべての定義を入れる 方法1 http://ont.example.org/kd.rdf <owl:Class id=“TV”> ... </owl:Class> <owl:Class id=“DVD”> <owl:DatatypeProperty id=“has水平解像度”> </owl:DatatypeProperty> http://ont.example.org/kd.rdf
一つのファイルには、 一つの定義のみを入れる 方法2 http://ont.example.org/kd/ TV.rdf <owl:Class id= “TV”> ... </owl:Class> <owl:Class id= “チャンネル切換機能”> ... </owl:Class> <owl:DatatypeProperty id= “has水平解像度”> ... </owl:DatatypeProperty> TV.rdf チャンネル切換機能.rdf has水平解像度.rdf
一つのファイルに、 関連するいくつかの定義を入れる 方法3 http://ont.example.org/kd/ VCR.rdf <owl:Class id=“TV”> ... </owl:Class> <owl:Class id= “チャンネル切換機能”> <owl:Class id=“DVDプレーヤ”> ... </owl:Class> <owl:Class id= “DVD再生機能”> <owl:Class id=“VCR”> ... </owl:Class> <owl:Class id= “VTR再生機能”> VCR.rdf TV.rdf DVD.rdf
効果:オントロジーのローディングが簡単になる 方法4 定義をインポートした パッケージ(ファイル)を作る 効果:オントロジーのローディングが簡単になる http://ont.example.org/kd/ <owl:Class id= “TV”> ... </owl:Class> <owl:Class id= “チャンネル切換機能”> ... </owl:Class> <owl:DatatypeProperty id= “has水平解像度”> ... </owl:DatatypeProperty> <owl:Ontology about=“”> <owl:imports resource= “TV”/> “チャンネル切換機能”/> “has水平解像度”/> </owl:Class> TV.rdf チャンネル切換機能.rdf has水平解像度.rdf TVパッケージ.rdf
すべての定義をインポートした パッケージ(ファイル) 特別なパッケージ http://ont.example.org/kd/ <owl:Class id= “TV”> ... </owl:Class> <owl:Class id= “チャンネル切換機能”> ... </owl:Class> <owl:DatatypeProperty id= “has水平解像度”> ... </owl:DatatypeProperty> すべての定義を owl:importsしたもの TV.rdf チャンネル切換機能.rdf has水平解像度.rdf all.rdf 要検討事項:名前(予約するため)
再帰的にパッケージを作る 方法4a http://ont.example.org/kd/ TV.rdf チャンネル切換機能.rdf <owl:Class id= “TV”> ... </owl:Class> <owl:Class id= “チャンネル切換機能”> ... </owl:Class> <owl:Ontology about=“”> <owl:imports resource= “チャンネル”/> “チャンネル切換機能”/> ... </owl:Class> <owl:Ontology about=“”> <owl:imports resource= “TV”/> “チャンネルパッケージ”/> “電源パッケージ”/> </owl:Class> TV.rdf チャンネル切換機能.rdf チャンネルパッケージ.rdf TVパッケージ.rdf
オントロジーの ホスティングについて
PURL (Persistent URL)の使用を 語彙のURIの永続性について ホスト(サーバ)の変更により 語彙のURIが変わるのは望ましくない。 PURL (Persistent URL)の使用を 提案します。
OCLC(Online Computer Library Center) PURLについて OCLC(Online Computer Library Center) によって提供されている URLのリダイレクションサービス。 ① http://purl.oclc.org/NET/ont/kd クライアント PURLサーバ (by OCLC) ② http://ont.example.org/kd ③ http://ont.example.org/kd Webサーバ ont.example.org ④ http://ont.example.org/kd.rdf
ホストを変更した場合 ホストを変更しても、 (PURLサーバに変更を登録すれば) 利用者はURIを変更する必要はない。 ① クライアント http://purl.oclc.org/NET/ont/kd クライアント PURLサーバ (by OCLC) ② http://new.example.org/foo/kd ③ http://new.example.org/foo/kd Webサーバ new.example.org ④ http://new.example.org/foo.kd.rdf
コア語彙と共通語彙は、少なくとも登録する PURLへの登録範囲 コア語彙と共通語彙は、少なくとも登録する 一般語彙 kd: 情報家電共通オントロジー TV用 語彙 HD レコーダ 用語彙 DVC用 語彙 コア語彙 kdc: ・機器 ・機器構成要素 ・領域 ・機能 ・状態 ・操作 ・イベント ・タスク ・関係記述子
その他の語彙について 基本オントロジー、周辺オントロジーに関しては、 必要に応じて定義し、PURLに登録する。 アプリケーション 連携サービス アプリケーションオントロジー Web Service Semantic メーカ定義オントロジー SPARQL 周辺 オントロジー 情報家電 共通オントロジー RIF DC, FOAF, SKOS, etc... 基本オントロジー RDF, RDFS, OWL WSDL 基本オントロジー、周辺オントロジーに関しては、 必要に応じて定義し、PURLに登録する。
メーカ定義オントロジーに関しては? アプリケーション 連携サービス Web Service Semantic SPARQL 情報家電 アプリケーションオントロジー Web Service Semantic メーカ定義オントロジー SPARQL 周辺 オントロジー 情報家電 共通オントロジー RIF DC, FOAF, SKOS, etc... 基本オントロジー RDF, RDFS, OWL WSDL
当該メーカが所有し、自分のホスト上で公開する? メーカ定義オントロジーについて 当該メーカが所有し、自分のホスト上で公開する? 自社製品に対して間違ったオントロジーが 公開されるのは困る メーカによる 公式語彙とは区別 Publicなメーカ個別語彙が必要? 第3者がメタデータを記述したいときに、 当該メーカにより語彙が公開されていないと 記述できないのは不便
メーカ(定義)オントロジーのURI構成案 情報家電オントロジールート http://ont.example.org/makers/ … Panasonic/ Hatsushiba/ メーカごとのディレクトリ auth/ comm/ (リダイレクション) 公式 オントロジー 非公式 オントロジー
実際のホスト運営について TO BE DISCUSSED
バージョン管理 について
バージョン情報の付加 オントロジー定義には、 適切に バージョン情報を付加する。 owl:versionInfo の利用
<owl:Ontology about=“”> <owl:versionInfo=“1.0”/> バージョン情報の記述例 <owl:Ontology about=“”> <owl:versionInfo=“1.0”/> <rdfs:comment> 情報家電オントロジー第1版 </rdf:comment> </owl:Ontology>
owl:priorVersion により、 以前のバージョンへの参照 バージョンを上げた場合は owl:priorVersion により、 以前のバージョンを指定する。
<owl:Ontology rdf:about=“”> <owl:versionInfo=“1.1”/> 例 http://ont.example.org/kd/v11/foo.rdf <owl:Ontology rdf:about=“”> <owl:versionInfo=“1.1”/> <owl:priorVersion rdf:resource= “http://ont.example.org/kd/v1/foo”/> </owl:Ontology>
最新バージョンへのアクセスについて サーバでのURL書き換えで、 同一のURIにより 常に最新バージョンが 返される ようにするべきか?
owl:versionInfoの値とする? 例(バージョンアップ前) http://ont.example.org/kd/v1/foo.rdf <owl:Ontology rdf:about=“”> <owl:versionInfo=“1.0”/> <kdc:thisVersion rdf:resource= “http://ont.example.org/kd/v1/foo”/> <kdc:latestVersion “http://ont.example.org/kd/foo”/> </owl:Ontology> リダイレクション owl:versionInfoの値とする? xml:base指定により不要?
例(バージョンアップ後) http://ont.example.org/kd/v11/foo.rdf リダイレクション <owl:Ontology rdf:about=“”> <owl:versionInfo=“1.1”/> <kdc:thisVersion rdf:resource= “http://ont.example.org/kd/v11/foo”/> <kdc:latestVersion “http://ont.example.org/kd/foo”/> <owl:priorVersion “http://ont.example.org/kd/v1/foo”/> </owl:Ontology> リダイレクション
ドキュメントファイル について
語彙定義ファイルとドキュメントファイル 人間が見るための ドキュメントファイルが 語彙ファイルに付随して 提供されることが望ましい。
ドキュメントファイルの形式 形式 XHTML 1.0 (推奨) XHTML 1.1 HTML 4.01 (非推奨) 拡張子 MIMEタイプ application/xhtml+xml(推奨) text/html (非推奨) text/html エンコーディング utf-8
コンテンツネゴシエーション 拡張子なしでアクセスされた場合 (ディレクトリへのアクセスを含む) HTTPヘッダのACCEPT指定により、 (ディレクトリへのアクセスを含む) HTTPヘッダのACCEPT指定により、 語彙ファイルを返すか、 ドキュメントファイルを返すか 決定する application/rdf+xml⇒語彙ファイル text/htmlなど⇒ドキュメントファイル 拡張子つきでアクセスされた場合 HTTPヘッダのACCEPTの値に依らず 要求されたファイルを返す