このドキュメントは
Describing and retrieving photos using RDF and HTTP
http://www.w3.org/TR/photo-rdf/
の和訳です。
この文書には和訳上の誤りがありえます。
内容の保証はいたしかねますので、必ずW3C Webサイトの正式版文書を参照して下さい。


RDF と HTTP を用いたデジタル写真の内容記述と検索

W3C メモ 2002年4月19日版


概要

このメモは、(RDF)メタデータを付与した(デジタル)写真データの記述と検索に関するプロジェクトについて述べたものである。ここでは、RDFスキーマ、大量の写真にメタデータを素早く付与するためのデータ入力プログラム、写真とメタデータをHTTPで配信する方法、および写真データの記述内容に基づいた検索方式に関するいくつかの提案について述べている。

データ入力プログラムはJavaで実装しており、また、HTTPでイメージデータからRDFメタデータを検索するために専用のJigsawフレームを実装している。RDFスキーマとしてはDublin Coreのスキーマや、テクニカルなデータ用に追加のスキーマも用いている。

我々は既にデモサイトを立ち上げており、サンプルのソースコードがダウンロードできるようになっている。

このシステムは、休日に撮りためた写真だけでなく、さらに大掛かりな写真集にも便利だろう。

このドキュメントの位置付け

このドキュメントは、ディスカッションのためだけに W3C が公開しているメモである。W3C がこのメモを公開することは、W3C やそのチーム、メンバーのいかなる保証を表すものでもない。コメントは著者に送って頂きたい。

本メモは、システムとスキーマを用いた検証を重ねたのちに更新するつもりである。

一連の W3C テクニカルノートと公開文書(ワーキングドラフトやノートを含む)の最新のものは、http://www.w3.org/TR/ で参照できる。

目次


1. プロジェクトの目的

本プロジェクトの目的は、一部には個人的なものであり、また W3C の技術のプロモーションでもある。
個人的理由として、筆者らは膨大な数の写真をため込んでおり、おかげでそれらの中から誰かに見せたい写真を的確に見つけることが困難になっている。それらの写真をデジタル化して RDF のメタデータを記述することにより、いつでも所望の写真を素早く見つけ出せるようにしたい。

筆者らはまた、RDF スキーマやそれに関する実用システムの具体的な例を挙げ、Web 上でのメタデータの可能性を示すために役立てたいと考えている。これは特に、HTML ドキュメントに対して使われている従来のテキストベースの検索エンジンが、明らかに写真データに対してうまく機能しないためである。また、メタデータによって自動的に写真データの非視覚的な表現が与えられるので、アクセシビリティの向上にも寄与する。

そこで、本プロジェクトでは既存のいくつかの技術(W3C の RDF [RDF], HTTP [HTTP], Jigsaw [Jigsaw] と W3C 外の技術である JPEG [JPEG] や Java [Java])を利用し、それらを組み合わせることで興味深く実用的なアプリケーションの実現を目指している。

2. システムの概要

Diagram of data entry system

photo-RDF システムの構成図。左上:写真をデジタイズし、JPEG 画像として保存。左下:データ入力プログラム(修正が必要な場合の編集も可能)を用いて写真データにメタデータを記入。右:Web からのリクエストに対し、その形式に応じて写真データまたはメタデータを Jigsaw を使って送信。

このシステムは次のような(大半は相互に独立した)部分からなっている。

  1. 写真のスキャニングと JPEG 形式での保存。我々は品質を重視してネガフィルムからスキャンしているが、デジタルカメラを含めて JPEG 画像を出力するものならなんでも使える。この部分の処理についてはこれ以降言及しない。
  2. 各写真に対するメタデータを簡単に入力/編集でき、JPEG ファイル内に RDF 形式でデータを書き込むデータ入力プログラム。このプログラムについては後述する。
  3. JPEG 画像データまたはその中に書き込まれている RDF 記述を配信することのできる Jigsaw サーバ用モジュール。このモジュールは HTTP Content Negotiation を用いて画像データと RDF 記述のどちらをクライアントが要求しているかを判断する。これについても後述する。

デジタルカメラによっては既に写真に関する情報を生成するものもあり、スクリプトを使ってその情報を読み込み RDF 形式に変換することもできるだろう。しかし、現バージョンのメタデータ・エディタではそのような情報は扱わない。

RDF データは3種類のスキーマで表現する。うち1つは Dublin Core スキーマで、他の2つは写真に関するテクニカルなデータと被写体の分類情報である。3種類のスキーマを使うのは、単にそれぞれを別々のプロジェクトで使えるようにするためである。なお、データ入力プログラムのユーザに対して実際の RDF 記述は完全に隠ぺいされている。

3. データ入力プログラム"rdfpic"

Screendump of the metadata edit

rdfpic の画面。メタデータ・エディタでテクニカル・データを入力する画面が表示されている。(このキャプチャ画面は50%に縮小されている)

データ入力プログラムはとてもシンプルである。これは大量の写真に対してメタデータを素早く入力するためのもので、写真は大抵1つまたは少数の連続した組(シリーズ)からなっているという前提で設計されている。そのため、ほとんどの入力フィールドにはデフォルトで前の写真用に入力したデータが記入されており、以前の数枚の写真に対して入力した値も素早く参照できるようになっている。多くの場合、1つの写真から次の写真へはごくわずかなフィールドを書き換えるだけでよく、タイピングの量を最小に押さえられる。

プログラムは Java で書かれているが、ユーザインタフェースは実行時にマシン可読なバージョンのスキーマ(現状では RDF のシンタックスを使わず、同等の情報を持ったデータに変換している)から直接生成している。これにより、RDF のスキーマを変更した場合にもプログラムを変更する必要は無い。

RDF データは JPEG ファイルのコメントブロック( ISO DIS 10918-1 で定義されている "COM" タイプのブロック)に保存される。JPEG 標準規格によれば、コメントブロックには任意のテキストを記入することができる。ただし、そのテキストに対して型を指定する方法はなく、RDF はヒューリスティックスを用いて容易に平文(プレーン・テキスト)と区別することができるという点に頼っている。JPEG では各コメントブロックは 64K までに制限されている。しかし、ブロック数を必要なだけとれるので、テキストはいくらでも追加できる。実のところ、rdfpic プログラムで生成されるテキスト記述はせいぜい数百バイト程度の長さである。

4. Jigsaw の拡張

RDF 付きバージョンと画像データのみの両方を既存のブラウザやツールに配信できるようにするには、Content Negotiation を使う方法が最も良い。もちろん、より良い方法でメタデータを検索したり保存できるようにするために、HTTP 拡張のような他の技術を使ってはいけないというわけではない。

Content Negotiation を利用することには2つの利点がある。あらゆるテキストベースのブラウザ(lynx や emacsspeak を使った emacs など)で正しく動作する点と、RDF から title や description などの項目を選んで出力をダイレクトにレンダリングできる点である。また、適切な MIME タイプに対して問い合わせるだけで、RDF クローラを使って写真データの集合から全ての RDF 記述を収集し、知識ベースを構築することもできる。

Jigsaw [Jigsaw] では、1つのフレームを生成し、同じ URI(1つは画像自体を指す)の下で2つの異なるリソースをシミュレートする。それら2つのリソースはそれぞれ HTTP の値(ETags や Content-Length その他)のセットを含み、結果として HTTP の標準的な Content Negotiation を使って送信される。

RDF メタデータはまた、セミコロン(;)の後に指定された MIME タイプ、例えば foo.jpg;application%2Frdf+xml("%2F" は "/" の URL 内でのエスケープ表記)を追加するだけで Content Negotiation なしに直接取り出すこともできる。

さらに、RDF 記述の ETag を HTTP リクエストのヘッダに書けば、PUT メソッドを使ってその RDF 記述の変更も可能である。

5. RDF スキーマ

メタデータは3つの異なるスキーマに分かれている。

  1. Dublin Core スキーマ:Dublin Core [DC] スキーマはオリジナルのコンテンツ(書籍や記事が一般的だが映画や絵画、写真も)を同定するために使われる汎用スキーマである。このスキーマには制作者(creator)や編集者(editor)、タイトル(title)、発行日(date of publishing)、出版者(publisher)が含まれている。これは Dublin Core Metadata Intiative によって開発され、使用するバージョンは RDF フォーマットのバージョン 1.1 である。
  2. テクニカル・スキーマ:このスキーマは写真とカメラに関する技術的なデータ、例えばカメラのタイプやフィルムのタイプ、フィルムの現像日、デジタル化に使われたスキャナやソフトウェアなどを記録するためのものである。
  3. コンテンツ・スキーマ:このスキーマは予め規定された語彙を用いて写真の被写体を分類するために使用する。このスキーマを使うことで、写真をポートレートやグループ写真、風景、建築物、スポーツ、動物などといった特性に基づいて検索できる。

各プロパティはいずれも必須ではない。多くのプロパティに値を入れればそれだけ写真に関する多くのことが記述され、検索も容易になるが、プロパティを定義しないでおいたからといってメタデータが正しく生成されないわけではない。

個々のプロパティ間に依存関係はない。各プロパティには、他のどのプロパティがどんな値を持っているかに関わらず自由に値を書き込むことができる。その値自体も自由だが、常識による制約は例外である。例えば、写真はフィルムが現像された日の後に撮影されることはありえない ...

5.1. Dublin Core スキーマ

本システムでは、Dublin Core で定義されているプロパティ全ては使用しない(すなわち、他の人がプロパティを追加することはできるが、我々のメタデータ・エディタでは無視される)。以下に、写真素材に適用した Dublin Core プロパティの解釈を記す。マシン可読なスキーマは付録 B に挙げている。カッコ内のラベルは、rdfpic のユーザインタフェースに表示されるが Dublin Core のプロパティ名とは異なる表記のものである。

title
写真に関する短い説明。例:マリアンが "エレファント" の上に登っている。
subject
写真を説明する一連のキーワード。キーワード・リストについては後述するコンテンツ・スキーマを参照されたい。例:ポートレート、風景
description
写真に関するより長い説明。例:マリアンが "エレファント" という愛称の硬い岩の上によじ登ろうとしている。
creator ("author/creator")
撮影者。URL を記述すれば、他のスキーマを用いて別途説明を加えることができる。例:http://www.example.org/People/Bos
publisher
写真を公開する人や組織。creator と同一である場合が多い。例:http://www.example.org/People/Bos
contributor
何らかの貢献をした人。例えば、写真のデジタル化などを行なった人。これも URL または氏名を記入する。
date
写真の撮影日時。ISOフォーマット [ISOdate] に準拠する。年は必須だが、その他は全て省略可能:yyyy[-mm[-dd[Thh:mm[:ss[.sTZD]]]]] デフォルトのタイムゾーンは UTC 。例:1999-01-01
type
常に "image" と記入 (Dublin Core の リソース・タイプ一覧 を参照のこと)
format
常に "image/jpeg"
identifier ("number")
写真の番号。上記 publisher が利用するためのもの。これは写真の URL ではなく、グローバルに一意である必要もない。例:312
source
未使用。
language
未使用。
relation
シリーズの識別名。一連の写真に対するイベントやトピック。URL でも文字列でも良い。例:Le Sidobre のマリアン
coverage ("location")
写真に映っている場所(ただし "spatial coverage"(空間的な範囲)のみ使用し、"temporal coverage"(時間的な範囲)は使用しない。写真は瞬間を捉えるものであるため date フィールドで十分である)。例:Le Sidobre (Tarn)
rights
著作権の記述、またはそのための URL 。例:http://www.example.org/People/Lafon/Copyright?1998

5.2. テクニカル・スキーマ

テクニカル・スキーマは以下の RDF スキーマ(形式的な定義については付録 B を参照)で定義している。

camera
カメラのブランドやタイプ、またはそのカメラを指す URL 。後者の場合、URL は実際にその写真を撮影した1つのカメラを指し、同じタイプの全てのカメラを指すのではない。例:http://www.example.org/People/Lafon/FooCamera8000i
film
フィルムのブランドやタイプ。camera プロパティとは逆に、これは独立した1本のフィルムを指すわけではなく、同じタイプの全てのフィルムを指す。(製造段階でのミスを除き、同じタイプのフィルムは十分に類似しており、交換が利くものと仮定している。)このプロパティの値は文字列または他所で記述した場合の URL である。なお、デジタルカメラの場合は "digital" フィルムであることを考慮しなければならない。例:Ilfoo HP5
lens
撮影に使用したレンズの指定。それを記述した URI や、コンパクトカメラの場合はそのカメラを指す URI、もしくはそのままのテキスト記述。例:FooLens AF:70-210
devel-date
フィルムの現像日。必ず date プロパティと同じ型式で記述する。例:1998-08-04

5.3. コンテンツ・スキーマ

コンテンツ・スキーマ には、Dublin Core スキーマの "subject" プロパティ内で使うキーワードが含まれる。そのプロパティには、以下のキーワードのうち該当するもの全てを記述しておきたい。各キーワードは次のような意味を持つ。

Portrait
1人の人物の肖像が映っている写真。
Group-portrait
人物の集団が映っている写真。
Landscape
風景や地平が映っている写真。
Baby
赤ん坊が映っている写真。
Architecture
特徴的な建築物が映っている写真。
Wedding
結婚式のシーンが映っている写真。
Macro
何かを接写したり、通常の実物大より大きく映っている写真。
Graphic
パターンやテクスチャ、デザインなど、その抽象的でグラフィカルな特性が興味深い写真。
Panorama
風景や地平をワイドな画角で写した写真。
Animal
動物が映っている写真。

6. 拡張についての提案

ここに挙げるものは、本システムの拡張についてのアイディアとして現在検討中のものである。順序は特に関係ない。

7. オンライン・デモ

既にサンプル用のサーバを立ち上げており、何枚かの写真が載せてある。それらの写真のテキスト表現について問い合わせれば、その写真に関する RDF 記述を返してくれる。すなわち、MIME タイプで image/jpeg または image/* に対する HTTP リクエストであれば写真を、application/rdf+xml または application/* に対してはメタデータを返す。または、写真データの URI の最後に ";application%2Frdf+xml" と付け加えることで、そのままメタデータを参照できる。なお、インデックス・ページは、キャプションと alt 文に対応する写真に埋め込まれた RDF を使い、スクリプトで生成している。

オンラインの写真の数は徐々に増やしていくつもりである。

8. プログラムのダウンロード

Jigsaw の拡張と JPEG に関するクラス・ファイルは、Jigsaw 2.0.4 ディストリビューションで公開されている。メタデータエディタの rdfpicJigsaw デモ・サイトから入手できる。

見たところ我々のものと非常に類似したシステムが Jane Hunter と Zhimin Zhan によって開発された [HunterZhan] 。しかしこれは PNG 画像フォーマットを採用し、メタデータの表現形式として RDF の代わりに PNG 組み込みのキーワード/値フォーマットを使っている。ただし、彼らはメタデータ・スキーマの定義に RDF を使っている。

IPTC は報道写真画像の内容を記述するために一連のキーワードを用意している。Adobe Photoshop はそれらのサブセットをサポートしている。

JPEG2000 [JPEG2000] 画像圧縮アルゴリズムのために提案された DIG2000 [DIG2000] ファイルフォーマットは、人、場所、出来事、GPS 位置情報、カメラ・タイプなどを記述するための項目を持つ XML ベースのメタデータ・ブロックを含んでいる。項目を追加する拡張も可能である。1998年10月時点のドラフトでは RDF を使用していない。

我々がこのメモを最初に公開し rdfpic プログラムをリリースして(2000年3月)以来、Adobe 社は "Extensible Metadata Platform" [XMP] と呼ばれる同様の技術を開発した。XMP は2001年9月に初めて公表された。XMP では JPEG の COM(コメント)チャンクではなく APP1 チャンクに RDF を書き込み、JPEG ファイル中に現れうる他のデータから XMP を区別し易いように、RDF の先頭に "W5M0MpCehiHzreSzNTczkc9d" という呪文を付加している。我々と同様に、Adobe もバージョン履歴やイメージ操作内容などの記録用として Dublin Core スキーマを推奨し、幾つかの追加スキーマを提供している。

10. 謝辞

rdfpic メタデータ・エディタの最初のバージョンは、Thierry Kormann(元フランス Bull 社員)によって書かれた。その次のバージョンは Eamon Nerbonne の作である。Colas Nahaboo(彼も元 Bull 社員だ)は有益なアドバイスを与えてくれた。

Janne Saarela(Pro-Solution 社、現在はフィンランドの Profium 社)は、現在の RDF スキーマの元となったオリジナルの RDF スキーマを書いてくれた。また、彼は各スキーマのチェックやレビューも手伝ってくれた。彼のプログラムである SiRPAC は、メタデータ・エディタで生成された実際のメタデータと同じく、スキーマのチェックと可視化に非常に役立った。

11. 参考文献

[DC]
Dublin Core metadata initiative. Dublin Core metadata element set, version 1.1. July 1999. Dublin Core recommendation. URL: http://dublincore.org/documents/1999/07/02/dces/
[DIG2000]
Digital Imaging Group. DIG2000 file format proposal. Oct 1998. Report (draft) ISO/IEC JTC1/SG29/WG1 N1017. URL: http://www.i3a.org/pdf/wg1n1017.pdf
[HTTP]
Fielding, Roy,; et. al. Hypertext Transfer Protocol - HTTP/1.1. June 1999. Internet RFC 2616. URL: ftp://ftp.isi.edu/in-notes/rfc2616.txt
[HunterZhan]
Hunter, Jane; Zhan, Zhimin. "An Indexing and Querying System for Online Images Based on the PNG Format and Embedded Metadata" in: ARLIS/ANZ Conference. Sep 1999. Brisbane, Australia. URL: http://archive.dstc.edu.au/RDU/staff/jane-hunter/PNG/paper.html
[ISOdate]
Wolf, Misha; Wicksteed, Charles. Date and time formats. Sep 1997. Submission to W3C. URL: http://www.w3.org/TR/1998/NOTE-datetime-19980827
[JPEG]
Hamilton, Eric. JPEG File Interchange Format. C-Cube Microsystems. Sep 1992. Milpitas, CA, USA. URL: http://www.w3.org/Graphics/JPEG/jfif3.pdf
[JPEG2000]
Joint Photographers Expert Group (JPEG). Jpeg 2000 image coding system. 9 Dec 1999. Report (final committee draft) ISO/IEC CD15444-1:1999. URL: http://www.jpeg.org/fcd15444-1.zip
[Java]
Gosling, James; Joy, Bill; Steele, Guy. The Java language specification. Addison-Wesley. 1998. URL: http://java.sun.com/docs/books/jls/index.html
[Jigsaw]
Jigsaw Team (Yves Lafon & Benoit Mahe). Jigsaw 2.0 internal design. July 1999. URL: http://www.w3.org/Jigsaw/Doc/Programmer/design.html
[RDF]
Lassila, Ora; Swick, Ralph R. (eds). Resource Description Framework (RDF) model and syntax specification. Feb 1999. W3C Recommendation. URL: http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
[Schema]
Brickley, Dan; Guha, R. V.. Resource Description Framework (RDF) Schema Specification. 1999. W3C working draft. URL: http://www.w3.org/TR/1999/PR-rdf-schema-19990303/
[XMP]
Adobe Systems Incorporated. eXtensible Metadata Platform (XMP). 2002. URL: http://www.adobe.com/products/xmp/main.html

付録 A:RDF スキーマ

以下の3つのスキーマ(Dublin Core, テクニカル, コンテンツ)は、RDF schemas ドラフト仕様 [Schema] で提案されているシンタックスで書かれたマシン可読なスキーマである。

(改変版)Dublin Core スキーマ

以下のスキーマは Dublin Core 用の最小限の RDF スキーマである。スキーマ名は http://www.w3.org/2000/PhotoRDF/dc-1-0 だが、下記スキーマを見れば分かるように、各プロパティは実際には http://purl.org/dc/elements/1.1/ にある同名の DC プロパティの制約の下で書かれている。ラベルのフランス語訳は、Anne-Marie Vercoustre によるものをベースとしている。

<rdf:RDF
    xmlns="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
  <rdf:Property rdf:ID="title">
    <label xml:lang="en">Title</label>
    <label xml:lang="fr">Titre</label>
    <label xml:lang="nl">Titel</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/title" />
  </rdf:Property>
  <rdf:Property rdf:ID="creator">
    <label xml:lang="en">Author/creator</label>
    <label xml:lang="fr">Auteur/cr斬teur</label>
    <label xml:lang="nl">Auteur/maker</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/creator" />
  </rdf:Property>
  <rdf:Property rdf:ID="subject">
    <label xml:lang="en">Subject</label>
    <label xml:lang="fr">Sujet</label>
    <label xml:lang="nl">Onderwerp</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/subject" />
    <range rdf:resource="http://www.w3.org/2000/PhotoRDF/content-1-0#Keywords"/>
  </rdf:Property>
  <rdf:Property rdf:ID="description">
    <label xml:lang="en">Description</label>
    <label xml:lang="fr">Description</label>
    <label xml:lang="nl">Beschrijving</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/description" />
  </rdf:Property>
  <rdf:Property rdf:ID="publisher">
    <label xml:lang="en">Publisher</label>
    <label xml:lang="fr">ヅiteur</label>
    <label xml:lang="nl">Uitgever</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/publisher" />
  </rdf:Property>
  <rdf:Property rdf:ID="contributor">
    <label xml:lang="en">Contributor</label>
    <label xml:lang="fr">Contributeur</label>
    <label xml:lang="nl">Medewerker</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/contributor" />
  </rdf:Property>
  <rdf:Property rdf:ID="date">
    <label xml:lang="en">Date</label>
    <label xml:lang="fr">Date</label>
    <label xml:lang="nl">Date</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/date" />
    <!-- use http://www.w3.org/TR/NOTE-datetime
      format: YYYY[-MM[-DD[Thh:mm[:ss[.sTZD]]]]]
      example: 1999-10-01T17:53
      if TZD is omitted the timezone is UTC -->
  </rdf:Property>
  <rdf:Property rdf:ID="type">
    <label xml:lang="en">Resource type</label>
    <label xml:lang="fr">Type de ressource</label>
    <label xml:lang="en">Categorie</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/type" />
    <!-- always "image in PhotoRDF -->
  </rdf:Property>
  <rdf:Property rdf:ID="format">
    <label xml:lang="en">Format</label>
    <label xml:lang="fr">Format</label>
    <label xml:lang="nl">Formaat</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/format" />
    <!-- always "image/jpeg in PhotoRDF -->
  </rdf:Property>
  <rdf:Property rdf:ID="identifier">
    <label xml:lang="en">Number</label>
    <label xml:lang="fr">Num屍o</label>
    <label xml:lang="nl">Nummer</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/identifier" />
  </rdf:Property>
  <rdf:Property rdf:ID="source">
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/source" />
    <!-- not used in PhotoRDF -->
  </rdf:Property>
  <rdf:Property rdf:ID="language">
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/language" />
    <!-- not used in PhotoRDF -->
  </rdf:Property>
  <rdf:Property rdf:ID="relation">
    <label xml:lang="en">Series</label>
    <label xml:lang="fr">S屍ie</label>
    <label xml:lang="nl">Serie</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation" />
  </rdf:Property>
  <rdf:Property rdf:ID="coverage">
    <label xml:lang="en">Location</label>
    <label xml:lang="fr">Endroit</label>
    <label xml:lang="nl">Plaats</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/coverage" />
    <!-- restricted to spatial coverage in PhotoRDF -->
  </rdf:Property>
  <rdf:Property rdf:ID="rights">
    <label xml:lang="en">Rights</label>
    <label xml:lang="fr">Droits</label>
    <label xml:lang="nl">Rechten</label>
    <subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/rights" />
  </rdf:Property>
</rdf:RDF>

テクニカル・スキーマ

各プロパティの詳細な説明については上記を参照のこと。テクニカル・スキーマのスキーマ名は http://www.w3.org/2000/PhotoRDF/technical-1-0#

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://www.w3.org/2000/01/rdf-schema#">
  <Class rdf:ID="Technical-data">
    <comment xml:lang="en">A class that represents technical
      data about a photo</comment>
    <comment xml:lang="fr">Une classe qui r姿r市ente
      les donn仔s techniques sur une photo</comment>
    <comment xml:lang="nl">Een class die de technische
      gegevens van een foto representeert.</comment>
  </Class>
  <rdf:Property rdf:ID="camera">
    <label xml:lang="en">Camera</label>
    <label xml:lang="fr">Appareil photo</label>
    <label xml:lang="nl">Camera</label>
    <comment xml:lang="en">Brand and type of camera</comment>
    <comment xml:lang="fr">Marque et type de appareil photo</comment>
    <comment xml:lang="nl">Cameramerk en -type</comment>
    <domain rdf:resource="#Technical-data"/>
  </rdf:Property>
  <rdf:Property rdf:ID="film">
    <label xml:lang="en">Film</label>
    <label xml:lang="fr">Pellicule</label>
    <label xml:lang="nl">Film</label>
    <comment xml:lang="en">Brand and type of film</comment>
    <comment xml:lang="fr">Marque et type de pellicule</comment>
    <comment xml:lang="nl">Filmmerk en -type</comment>
    <domain rdf:resource="#Technical-data"/>
  </rdf:Property>
  <rdf:Property rdf:ID="lens">
    <label xml:lang="en">Lens</label>
    <label xml:lang="fr">Objectif</label>
    <label xml:lang="nl">Lens</label>
    <comment xml:lang="en">Brand and type of lens.</comment>
    <comment xml:lang="fr">Marque et type d'objectif.</comment>
    <comment xml:lang="nl">Merk en type van de lens.</comment>
    <domain rdf:resource="#Technical-data"/>
  </rdf:Property>
  <rdf:Property rdf:ID="devel-date">
    <label xml:lang="en">Development date</label>
    <label xml:lang="fr">Date de d思eloppement</label>
    <label xml:lang="nl">Ontwikkeldatum</label>
    <comment xml:lang="en">Date on which the film was developed.</comment>
    <comment xml:lang="fr">Date  laquelle la pellicule a 師
      developp仔.</comment>
    <comment xml:lang="nl">Datum waarop de film is ontwikkeld.</comment>
    <domain rdf:resource="#Technical-data"/>
    <!-- use http://www.w3.org/TR/NOTE-datetime
      format: YYYY[-MM[-DD[Thh:mm[:ss[.sTZD]]]]]
      example: 1999-10-01T17:53
      if TZD is omitted the timezone is UTC -->
  </rdf:Property>
  <!-- [more?] -->
</rdf:RDF>

コンテンツ・スキーマ

ヒューマン・リーダブルなコメントは省略している。上述のキーワードの説明を参照のこと。コンテンツ・スキーマのスキーマ名は http://www.w3.org/2000/PhotoRDF/content-1-0#

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:content="">
  <!-- "" is the same as "http://www.w3.org/2000/PhotoRDF/content-1-0#" -->
  <Class rdf:ID="Keywords">
    <comment xml:lang="en">An enumeration of keywords to
      describe the subject of photos.</comment>
    <comment xml:lang="fr">Une 始um屍ation de mots-clef
      pour d残rire le sujet d'une photo.</comment>
    <comment xml:lang="nl">Een opsomming van sleutelwoorden
      om het onderwerp van foto's te beschrijven.</comment>
  </Class>
  <content:Keywords rdf:ID="Portrait">
    <label xml:lang="en">Portrait</label>
    <label xml:lang="fr">Portrait</label>
    <label xml:lang="nl">Portret</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Group-portrait">
    <label xml:lang="en">Group portrait</label>
    <label xml:lang="fr">Portrait de groupe</label>
    <label xml:lang="nl">Groepsportret</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Landscape">
    <label xml:lang="en">Landscape</label>
    <label xml:lang="fr">Paysage</label>
    <label xml:lang="nl">Landschap</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Baby">
    <label xml:lang="en">Baby</label>
    <label xml:lang="fr">B暫</label>
    <label xml:lang="nl">Baby</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Architecture">
    <label xml:lang="en">Architecture</label>
    <label xml:lang="fr">Architecture</label>
    <label xml:lang="nl">Architectuur</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Wedding">
    <label xml:lang="en">Wedding</label>
    <label xml:lang="fr">Mariage</label>
    <label xml:lang="nl">Trouwerij</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Macro">
    <label xml:lang="en">Macro</label>
    <label xml:lang="fr">Macro</label>
    <label xml:lang="nl">Macro</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Graphic">
    <label xml:lang="en">Graphic</label>
    <label xml:lang="fr">Graphique[?]</label>
    <label xml:lang="nl">Grafisch</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Panorama">
    <label xml:lang="en">Panorama</label>
    <label xml:lang="fr">Panorama</label>
    <label xml:lang="nl">Panorama</label>
  </content:Keywords>
  <content:Keywords rdf:ID="Animal">
    <label xml:lang="en">Animal</label>
    <label xml:lang="fr">Animal</label>
    <label xml:lang="nl">Dier</label>
  </content:Keywords>
</rdf:RDF>

付録 B:メタデータの例

以下は rdfpic で生成され、その後 Jigsaw によって配信される RDF フォーマットのメタデータの例である。

<?xml version='1.0' encoding='ISO-8859-1'?>
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:rdfs="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#"
      xmlns:s0="http://www.w3.org/2000/PhotoRDF/dc-1-0#"
      xmlns:s1="http://www.w3.org/2000/PhotoRDF/technical-1-0#"
      xmlns:s2="http://sophia.inria.fr/~enerbonn/rdfpiclang#">
    <rdf:Description rdf:about="">
      <s0:creator>Bert Bos</s0:creator>
      <s0:relation>Marian in the Tarn</s0:relation>
      <s0:rights>Bert Bos</s0:rights>
      <s0:type>image</s0:type>
      <s0:identifier>990621</s0:identifier>
      <s0:coverage>Montredon-Labessoni叱ャ (Tarn)</s0:coverage>
      <s0:date>1999-06-26</s0:date>
      <s1:camera>Canon Eos 5</s1:camera>
      <s2:xmllang>en</s2:xmllang>
      <s0:title>Marian with sheep</s0:title>
      <s0:subject>Landscape, Animal</s0:subject>
      <s0:publisher>Bert Bos</s0:publisher>
      <s0:description>Marian brings the sheep to the field in the morning. The lamb she carries was born that night.</s0:description>
      <s0:format>image/jpeg</s0:format>
    </rdf:Description>
  </rdf:RDF>