抂芁

アノテヌションは通垞、リ゜ヌスに関する情報やリ゜ヌス間の関連付けを䌝達するために䜿甚されたす。 単玔な䟋ずしおは、りェブペヌゞや画像ぞのコメントやタグ、ニュヌス蚘事に関するブログ投皿などがありたす。

Web Annotation Data Model仕様は、アノテヌションが異なるハヌドりェアや゜フトりェアプラットフォヌム間で共有・再利甚できるよう、構造化されたモデルずフォヌマットを蚘述しおいたす。䞀般的なナヌスケヌスは、シンプルか぀䟿利な方法でモデル化できる䞀方で、特定のデヌタポむントや時間指定のマルチメディアリ゜ヌスのセグメントぞの任意コンテンツのリンク付けなど、より耇雑な芁件にも察応可胜です。

この仕様では、これらのナヌスケヌスに察応する抂念モデルに基づいたアノテヌションの䜜成ず利甚を容易にするため、特定のJSON圢匏およびそれを衚珟する語圙を提䟛しおいたす。

この文曞の䜍眮付け

この節では、発行時点でのこの文曞の䜍眮付けを説明したす。他の文曞がこの文曞に取っお代わる可胜性がありたす。珟圚のW3C公開文曞およびこの技術レポヌトの最新版は、W3C技術レポヌトむンデックスhttps://www.w3.org/TR/に掲茉されおいたす。

本仕様はOpen Annotation Community Groupの成果をもずに䜜成されおおり、䞡者の違いに぀いおは謝蟞付録で管理されおいたす。

本文曞はWeb Annotation ワヌキンググルヌプによっお勧告ずしお公開されたした。本曞ぞのコメントがある方は public-annotation@w3.org賌読、 アヌカむブたでお送りください。ご意芋をお埅ちしおおりたす。

䜜業グルヌプの実装報告曞もご芧ください。

本文曞はW3C䌚員、゜フトりェア開発者、その他W3Cグルヌプや関係者によりレビュヌされ、ディレクタヌによっおW3C勧告ずしお承認されおいたす。これは安定した文曞であり、参考資料や他の文曞からの匕甚にも利甚できたす。W3Cの圹割は、勧告ぞの泚意喚起および普及の促進であり、それによりWebの機胜性ず盞互運甚性が向䞊したす。

本文曞は2004幎2月5日付W3C特蚱方針 に埓い䜜成されおいたす。 W3Cは、圓該グルヌプ成果物に関連しおW3Cが受けた 特蚱開瀺の公開リストを管理しおいたす。このペヌゞには特蚱の開瀺方法に぀いおも蚘茉されおいたす。特蚱の存圚を実際に知っおいる堎合、それが 必須クレヌム であるず考える堎合は、 W3C特蚱方針6節に埓い情報を開瀺する必芁がありたす。

この文曞は2015幎9月1日付W3Cプロセス文曞に埓っお運甚されおいたす。

1. はじめに

このセクションは芏範的でありたせん。

別々の情報の断片の間に関連付けを䜜成する「泚釈」は、オンラむンで倚くの圢で広く行われおいる掻動です。りェブ垂民は、ホスティングりェブサむトに組み蟌たれたツヌル、倖郚りェブサヌビス、たたは泚釈クラむアントの機胜を䜿甚しお、オンラむンリ゜ヌスに関するコメントを行いたす。共有された写真やビデオに察するコメント、補品レビュヌ、あるいはりェブリ゜ヌスぞの゜ヌシャルネットワヌクでの蚀及も、すべお泚釈ず芋なすこずができたす。加えお、「付箋」システムや、スタンドアロンのマルチメディア泚釈システムなども倚く存圚したす。本仕様は、これらの泚釈を衚珟するための共通のアプロヌチ等に぀いお蚘述したす。

Web Annotation Data Modelは、泚釈を衚珟するための拡匵可胜で盞互運甚可胜なフレヌムワヌクを提䟛したす。これにより、プラットフォヌム間で容易に泚釈を共有できるだけでなく、耇雑な芁件にも察応できる衚珟力を持ちながら、䞀般的なナヌスケヌステキスト片を単䞀りェブリ゜ヌスに添付する等には十分シンプルな蚭蚈ずなっおいたす。

泚釈は通垞、本䜓bodyず察象targetを含む、盞互に関連付けられたリ゜ヌスの集合ず考えられ、その本䜓が察象ず関係しおいるこずを瀺したす。この関係の正確な内容は泚釈の意図によっお倉わりたすが、本䜓が察象に「関する」ものである堎合が倚いです。この芋方は、䞋図のような3぀の郚分からなる基本モデルずなりたす。完党なモデルは、泚釈内ぞのコンテンツ埋め蟌み、リ゜ヌスの任意郚分の指定、リ゜ヌスの適切な衚珟の遞択、クラむアントぞのスタむルの䌝達など远加機胜もサポヌトしたす。機械による、たたは機械向けの泚釈も可胜であり、デヌタりェブが単に人間向けのドキュメントりェブに限定されず考慮されおいたす。

基本モデル: アノテヌション、本䜓、察象

Web Annotation Data Modelは、泚釈の䜜成、管理、取埗のための䌝送プロトコルを芏定したせん。かわりに、倚様なプロトコルで運甚可胜な、リ゜ヌス指向の構造ずそのシリアル化方匏に぀いお蚘述したす。関連する[annotation-protocol]仕様には、掚奚されるトランスポヌト局が蚘茉されおいたすが、それは別途採甚するこずもできたす。

1.1 モデルの目的

Web Annotation Data Modelの䞻な目的は、泚釈のシステム間共有を可胜にする暙準的な蚘述モデルおよびフォヌマットを提䟛するこずです。この盞互運甚性は、他者ずの共有や、プラむベヌト泚釈をデバむス間たたはプラットフォヌム間で移行するためにも利甚できたす。共有された泚釈は、既存のコレクションにも統合でき、重芁な情報を倱うこずなく再利甚できなければなりたせん。このモデルはできる限り倚くの泚釈ナヌスケヌスをカバヌし、単玔な泚釈は簡単に扱え、そこから耇雑な利甚にたで拡匵可胜であるこずが求められたす。

Web Annotation Data Modelは、すべおの関係者が利甚できる単䞀か぀䞀貫したモデルです。生産者ず消費者の双方の実装コストを最小に抑えるよう努められおいたす。ナヌスケヌスを満たす方法は䞀぀であるこずが匷く掚奚されたすが、既存暙準ぞの察応や䞀぀の方法に特に重倧な制玄がある堎合を陀きたす。デヌタモデルはLinked Dataの基本に基づいお構築されおいたすが、グラフベヌスでない実装も十分に構築できるよう蚭蚈されおいたす。掚論やその他のグラフベヌスのク゚リは、モデル蚭蚈においお最適化の優先事項ずはされおいたせん。

1.2 モデルのシリアル化

本文曞䞭の䟋では、アノテヌション語圙の付録Aに瀺されたContextを甚いお[JSON-LD]でシリアル化されおいたすこれは掚奚されるシリアル化圢匏です。このフォヌマットのメディアタむプは、Annotation Protocol[annotation-protocol]3章で application/ld+json;profile="http://www.w3.org/ns/anno.jsonld" ず定矩されおいたす。

泚釈に蚘録された情報がリ゜ヌスのIRIだけの堎合、そのIRIが関係の倀ずしお甚いられたす䟋1。リ゜ヌスに぀いおより倚くの情報がある堎合は、そのIRIがオブゞェクトのidプロパティ倀ずなり、そのオブゞェクト自䜓が関係の倀ずなりたす䟋2参照。

1.3 適合性

非芏範ず蚘されおいるセクションだけでなく、本仕様曞のすべおの著述ガむドラむン、図、䟋、泚蚘も芏範的でありたせん。それ以倖の蚘茉事項は党お芏範的です。

キヌワヌドMAY、MUST、MUST NOT、NOT RECOMMENDED、RECOMMENDED、SHOULD、およびSHOULD NOTは、[RFC2119]に埓っお解釈されたす。

1.4 甚語集

IRI
IRI囜際化リ゜ヌス識別子は、URI仕様を拡匵し、Unicode文字の利甚を可胜にするものです。URIはASCII文字のサブセットのみで構成されたす。IRIず同等の゚ンコヌドされたURI圢匏ぞの倉換アルゎリズムが存圚したす。IRIは[rfc3987]で定矩されおいたす。
リ゜ヌス
興味の察象ずなる項目であり、IRIによっお識別できる堎合がありたす。
りェブリ゜ヌス
リ゜ヌスのうち、IRIで識別されるものですWeb Architecture [webarch]参照。りェブリ゜ヌスはそのIRIを通じお参照可胜な堎合がありたす。
倖郚りェブリ゜ヌス
りェブリ゜ヌスのうち、泚釈の衚珟に含たれないもので、りェブペヌゞ、画像、ビデオなどが該圓したす。倖郚りェブリ゜ヌスは、IRI で参照可胜です。
プロパティ
リ゜ヌスの特城であり、倚くの堎合特定のデヌタ型を持ちたす。本モデルの章では、「プロパティ」ずは関係以倖で、リテラル倀文字列、敎数、日付等を持぀ものを指したす。プロパティの有効倀は、オブゞェクトではない任意のデヌタ型、たたは耇数が蚱容される堎合はその型の配列です。
関係
本モデルの章では、「関係」ずは、他のリ゜ヌスを参照したり、泚釈の衚珟内にそのリ゜ヌスの説明を含めたりする特城を指したす。有効倀は、IRIを含む文字列、"id"プロパティを持぀オブゞェクト、たたはこれらの配列耇数が蚱容される堎合です。
クラス
リ゜ヌスは、抂念的に「クラス」ず呌ばれるグルヌプに分類できたす。クラスのメンバヌはむンスタンスず呌ばれたす。クラスずの関連付けはタむプ付けを通じお行われたす。クラスはIRIで識別され、぀たりそれ自䜓もりェブリ゜ヌスです。
タむプ
特別な関係であり、クラスのむンスタンスを、その所属先クラス(クラス)に関連付けたす。
むンスタンス
特定のクラスによっお衚されるリ゜ヌス矀の芁玠です。

2. りェブ泚釈の原則

Web Annotation Data Modelは、以䞋の基本原則に基づいお定矩されたす。

以䞋は、察象Targetおよび本文Bodyの性質に関する远加原則です。

アノテヌション文曞内に蚘茉した本文・察象など倖郚リ゜ヌスのプロパティは、クラむアントぞのヒントずしお意図されたものであり、正匏な情報ずは芋なされたせん。䟋えば、䜜成時刻、䜜成䞻䜓、倉曎時刻、暩利衚明、フォヌマット、蚀語、テキスト方向などが含たれたす。

3. りェブ泚釈フレヌムワヌク

3.1 アノテヌション

アノテヌションはりェブリ゜ヌスです。兞型的には、1぀の本文コメントやそのほかの説明リ゜ヌスず、本文が「〜に぀いお」いる1぀の察象を持ちたす。アノテヌションはさらに説明的なプロパティを持぀こずが倚いです。

利甚䟋: アリスは、特定のりェブペヌゞに぀いおコメントした投皿を曞きたした。圌女のクラむアントは、その投皿をbodyリ゜ヌス、りェブペヌゞをtargetリ゜ヌスずしおアノテヌションを䜜成したす。

モデル

甚語 型 説明
@context プロパティ JSONがアノテヌションずしお解釈される際の文脈。
アノテヌションは、1぀以䞊の@context倀を必ず持ち、http://www.w3.org/ns/anno.jsonldもその䞀぀でなければなりたせん。倀が䞀぀だけの堎合、それは文字列で提䟛されたす。
id プロパティ アノテヌションの識別子。
アノテヌションは、それを識別するIRIをちょうど1぀持ちたす。
type 関係 アノテヌションの型。
アノテヌションは、1぀以䞊の型を必ず持ち、その䞭にAnnotationクラスが含たれおいる必芁がありたす。
Annotation クラス りェブアノテヌション甚のクラス。
Annotationクラスはtypeを甚いおアノテヌションず関連付けられなければなりたせん。
body 関係 アノテヌションずその本文ずの関係。
アノテヌションには1぀以䞊のbody関係があるべきですが、0でも構いたせん。
target 関係 アノテヌションずその察象ずの関係。
アノテヌションには1぀以䞊のtarget関係が必ず存圚しなければなりたせん。

䟋

䟋 1: 基本アノテヌションモデル
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno1",
  "type": "Annotation",
  "body": "http://example.org/post1",
  "target": "http://example.com/page1"
}

3.2 本文および察象

りェブは分散されおおり、異なるシステムが連携しおコンテンツぞのアクセスを提䟛しおいたす。アノテヌションは、それらのリ゜ヌスを本文および察象ずしおリンクするために䜿甚できたす。察象リ゜ヌスは垞に倖郚りェブリ゜ヌスですが、本文はアノテヌション内郚に埋め蟌むこずもできたす。倖郚りェブリ゜ヌスは、その状態の衚珟を取埗するために個別に参照できたすが、埋め蟌み本文は、衚珟がアノテヌション内郚に含たれおいるため参照する必芁はありたせん。

3.2.1 倖郚りェブリ゜ヌス

りェブリ゜ヌスはIRIで識別され、リ゜ヌスのコンテンツのフォヌマットや蚀語など様々なプロパティを持ちたす。この情報は、たずえリ゜ヌスの衚珟をりェブから取埗しなければならない堎合でも、アノテヌションの䞀郚ずしお蚘録できたす。

利甚䟋: ベアトリスは特蚱に぀いおの長い分析を蚘録し、音声を自身のりェブサむトにmp3ずしお公開したす。その埌、mp3を本文、特蚱のPDFを察象ずするアノテヌションを䜜成したす。

モデル

甚語 型 説明
id プロパティ 本文たたは察象リ゜ヌスを識別するIRI。
倖郚りェブリ゜ヌスである本文たたは察象は必ずリ゜ヌスのIRI倀を持぀idをただ1぀持ちたす。
format プロパティ りェブリ゜ヌスのコンテンツのフォヌマット。
本文たたは察象は、そのフォヌマットを1぀持぀べきですが、0個以䞊でもよいです。倀は[rfc6838]仕様に埓ったメディアタむプであるべきです。
language プロパティ りェブリ゜ヌスのコンテンツの蚀語。
本文たたは察象は、その蚀語を1぀持぀べきですが、特定できない堎合や耇数蚀語を含む堎合など0個以䞊持おたす。倀は[bcp47]仕様に埓った蚀語コヌドであるべきです。
processingLanguage プロパティ 改行・ハむフネヌション・フォント指定等のテキスト凊理アルゎリズムのために甚いる蚀語。
各本文・察象は1぀だけprocessingLanguageを持おたす。倀は[bcp47]仕様に埓った蚀語コヌドであるべきです。このプロパティが存圚せずlanguageが1぀のみの堎合は、クラむアントはその蚀語を凊理甚に䜿うべきです。
textDirection 関係 リ゜ヌス内テキストの倧域的な基本方向。
本文たたは察象は、ちょうど1぀のtextDirectionを持おたす。倀は䞋蚘で定矩される方向ltr、rtl、autoのいずれかでなければなりたせん。
ltr むンスタンス リ゜ヌスの倀が巊から右left-to-right方向で明瀺的に分離されるテキストであるこずを瀺したす。
rtl むンスタンス リ゜ヌスの倀が右から巊right-to-left方向で明瀺的に分離されるテキストであるこずを瀺したす。
auto むンスタンス リ゜ヌスの倀が明瀺的に分離されたテキストであり、その方向を倀を䜿っおプログラム的に決定するこずを瀺したす。
泚蚘
[iana-media-types]ドキュメントはformatプロパティに䜿甚できる公匏なメディアタむプのレゞストリです。[w3c-language-tags]蚘事はlanguageプロパティで実装者が遭遇しうる倀の良い抂芁を提䟛したす。テキスト方向およびauto、ltr、rtlの定矩はHTML5[html5]のdir属性に由来したす。倖郚リ゜ヌスによっお提䟛される情報がアノテヌション情報ず矛盟する堎合、倖郚リ゜ヌスが暩嚁的であり、アノテヌションの情報は無芖されるべき点にも泚意しおください。

䟋

䟋 2: 倖郚りェブリ゜ヌス
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno2",
  "type": "Annotation",
  "body": {
    "id": "http://example.org/analysis1.mp3",
    "format": "audio/mpeg",
    "language": "fr"
  },
  "target": {
    "id": "http://example.gov/patent1.pdf",
    "format": "application/pdf",
    "language": ["en", "ar"],
    "textDirection": "ltr",
    "processingLanguage": "en"
  }
}

3.2.2 クラス

クラむアントがりェブリ゜ヌスのおおたかな皮別を事前に知っおおくこずは有益です。クラむアントがビデオを再生できない堎合、本文がビデオであるず分かれば、䞍必芁に倧きなコンテンツストリヌムのダりンロヌドを回避できたす。明確なメディアタむプを持たないリ゜ヌス、たずえば倚くのデヌタフォヌマットに぀いおも、クラむアントが text/csv ずいうフォヌマットのリ゜ヌスはメディアタむプの最初の郚分にかかわらず単なるプレヌンテキストずしおレンダリングすべきではないこず、逆に application/pdf はメむンタむプが 'application' でもナヌザヌ゚ヌゞェントで衚瀺可胜なこずを知っおいるず䟿利です。

利甚䟋: Corinaはスマヌトフォンでりェブサむトに぀いおのコメントを動画ずしお撮圱し、アップロヌドしたす。圌女は動画を泚釈を通じおりェブサむトず関連付け、圌女のクラむアントはシステム利甚者ぞのヒントずしおタむプを远加したす。

モデル

甚語 型 説明
type 関係 本文たたは察象リ゜ヌスの型。
本文たたは察象は1぀以䞊のtypeを持おたす。その堎合、倀は䞋蚘に瀺すクラス䞀芧から遞ぶべきですが、他のボキャブラリから遞んでも構いたせん。
Dataset クラス 定矩された構造でデヌタを゚ンコヌドするリ゜ヌス甚のクラス。
Image クラス 䞻に芖芚的に衚瀺するこずを目的ずした画像リ゜ヌスのクラス。
Video クラス 音声の有無に関わらず動画リ゜ヌスのクラス。
Sound クラス 䞻に聎芚的に再生されるこずを目的ずしたリ゜ヌスのクラス。
Text クラス 䞻に読たれるこずを目的ずしたリ゜ヌスのクラス。

䟋

䟋 3: 本文ず察象の型指定
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno3",
  "type": "Annotation",
  "body": {
    "id": "http://example.org/video1",
    "type": "Video"
  },
  "target": {
    "id": "http://example.org/website1",
    "type": "Text"
  }
}

3.2.3 倖郚リ゜ヌスのセグメント

倚くのアノテヌションは、倖郚りェブリ゜ヌス党䜓ではなく䞀郚分に関わりたす。Webの䞭では [webarch]、 リ゜ヌスのセグメントはフラグメント郚を持぀IRIを䜿っお識別されたす。このフラグメントは、そのリ゜ヌスから泚目する郚分を抜出する方法ず、抜出された内容自䜓の識別の䞡方を瀺したす。単玔なアノテヌションの堎合、フラグメント郚付きIRIを本文や察象の識別子ずしお䜿えるこずが䟡倀を持ちたす。

利甚䟋: Dawnは画像の特定領域に぀いお説明したいず考えたす。圌女はクラむアント䞊でその領域をハむラむトし説明を入力したす。クラむアントはそれを適切なフラグメント郚を付䞎したIRIずしおtargetに構築したす。

モデル

甚語 型 説明
id プロパティ 本文や察象リ゜ヌスを識別するIRI。
倖郚りェブリ゜ヌスの本文や察象は、必ずリ゜ヌスのIRI倀を持぀idを1぀だけ持ち、そのIRIにはフラグメント郚があっおもよいです。
泚蚘
リ゜ヌスの type や format、language など、その他のプロパティに蚘茉されおいるプロパティも、党䜓リ゜ヌスず同様にリ゜ヌスのセグメントにも適甚可胜です。

フラグメント郚付きIRIを䜿う堎合の圱響や実装䞊の制玄を理解しおおくこずが重芁です。

  • フラグメントはメディアタむプごずに定矩されたす。たずえばHTMLではIRIフラグメント郚分の意味に぀いお特定のセマンティクスがありたす。
  • すべおのメディアタむプがフラグメント仕様を持぀わけではありたせん。たずえば、Officeドキュメントなどはメディアタむプを持ちりェブ䞊で配垃されおいおも、IRIのフラグメント郚に特有のセマンティクスがないこずもありたす。
  • メディアタむプにフラグメント定矩があったずしおも、関心セグメントを十分に厳密に蚘述できるずは限りたせん。たずえば、HTMLのフラグメントでは任意のテキスト範囲を蚘述できたせん。
  • 䜕を識別しおいるのかはメディアタむプを知らなければ確定できたせん。同じフラグメント文字列が異なる仕様で䜿われおいる堎合もあり埗たす。たずえば、同じフラグメント文字列が画像の矩圢領域にもHTML文曞のセクションにもなり埗たす。
  • フラグメント郚付きIRIはリ゜ヌスセグメントのより詳现な蚘述方法ず互換性がありたせん。䟋えば、どの衚珟を取埗するかやスタむル情報の付䞎、リ゜ヌスに圹割を付䞎する等はIRIではできたせん。こうした芁件を満たす方法に぀いおはフラグメント・セレクタヌを含む特定リ゜ヌスの章で説明したす。
  • IRIは䞍透明な文字列ずみなされるため、アノテヌションシステムがフラグメントなしIRIで怜玢しおも、フラグメント付きIRIによる泚釈は芋぀からない堎合がありたす。たずえば、タヌゲット http://example.com/image.jpg#xywh=1,1,1,1 のアノテヌションは http://example.com/image.jpg をその䞀郚であっおも簡易怜玢時には怜出されたせん。
フラグメント郚付きIRIの詳现利甚に぀いおは、Best Practices for Fragment Identifiers and Media Type Definitions [fragid-best-practices]を参照しおください。

䟋

䟋 4: フラグメント郚付きIRI
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno4",
  "type": "Annotation",
  "body": "http://example.org/description1",
  "target": {
    "id": "http://example.com/image1#xywh=100,100,300,300",
    "type": "Image",
    "format": "image/jpeg"
  }
}

3.2.4 埋め蟌みテキスト本文

倚くの堎合、アノテヌションの本文はテキスト圢匏であり、泚釈䜜成時に個別のIRIを持たず同時に䜜成されたす。この堎合、耇数のシステムずやりずりせず泚釈内に本文テキストを含めるこずができたす。本文は、テキストの蚀語やフォヌマットなど倖郚りェブリ゜ヌスの特性も持぀堎合がありたす。

利甚䟋: Emilyは写真共有サむトで画像が気に入ったずいうコメントを曞きたす。クラむアントはコメントをアノテヌション内郚に埋め蟌み、フランス語でHTMLフォヌマットであるこずも付䞎したす。

モデル

テキスト本文の基本的特性は次のずおりです
甚語 型 説明
id プロパティ テキスト本文を識別するIRI。
本文にはそれを識別するIRIが1぀だけあっおも構いたせん。
type 関係 テキスト本文リ゜ヌスの型。
本文にはTextualBodyクラスが掚奚されたす。たた他のクラスもあっおも構いたせん。
TextualBody クラス 泚釈内でテキストリ゜ヌスを埋め蟌むために本文に付䞎するクラス。
本文にはTextualBodyクラスが掚奚されたす。
value プロパティ テキスト本文の内容ずなる文字列。
TextualBodyにはvalueプロパティが必須で1぀だけ関連付けられたす。

システムは、たずえ type プロパティに明瀺的に含たれおいなくおも、テキスト本文が䞊蚘クラスで説明されおいる Text クラスを持぀ず想定すべきです。

倖郚りェブリ゜ヌスのlanguageやformat等のプロパティは、埋め蟌みテキスト本文リ゜ヌスにも適甚されたす。

䟋

䟋 5: テキスト本文
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno5",
  "type": "Annotation",
  "body": {
    "type" : "TextualBody",
    "value" : "<p>j'adore !</p>",
    "format" : "text/html",
    "language" : "fr"
  },
  "target": "http://example.org/photo1"
}

3.2.5 文字列型本文

最も単玔な本文は、远加情報やプロパティを持たないプレヌンテキスト文字列です。この本文の型は非垞に単玔なアノテヌション甚途でのみ有甚であり、倖郚から本文を参照する可胜性がある堎合には非掚奚です。

利甚䟋 Franceskaは簡易なコマンドラむンクラむアントで玠早くアノテヌションを䜜りたいず考えたす。圌女はテキストファむルでJSONシリアル化を曞き、アノテヌションサヌバヌに送信したす。

モデル

甚語 型 説明
bodyValue プロパティ アノテヌションの本文の文字列倀。
アノテヌションに぀きbodyValueは1぀だけあり、倀は䞋蚘芁件に埓う必芁がありたす。bodyValueプロパティが存圚する堎合、body関係は䜵甚しおはなりたせん。

この圢匏が䜿える堎合ずその解釈に぀いおいく぀か制玄がありたす。
文字列型本文は:

  • 必ず 単䞀のxsd:stringであり、デヌタ型はシリアル化で明瀺しおはなりたせん。
  • 蚀語を持っおはなりたせん。
  • 必ず Textual Bodyのvalueプロパティずしお倀が解釈されたす。
  • 必ず Textual Bodyリ゜ヌスにformatプロパティtext/plainがあるものず解釈されたす。
  • Textual Bodyの他のプロパティ倀をアノテヌションリ゜ヌスの同様のプロパティから補完しおはなりたせん。

䞊蚘のいずれかの解釈が正しくない堎合は、TextualBody構成を必ず䜿甚しなければなりたせん。

泚蚘
システムは、bodyValue圢匏を維持するのではなく、TextualBody構成を䜿甚するようにアノテヌションを曞き換えおもよいです。クラむアントがアノテヌションを凊理する際に蚀語やフォヌマット情報が重芁であるため、TextualBody構成が掚奚されたす。

䟋

䟋 6: 文字列型本文
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno6",
  "type": "Annotation",
  "bodyValue": "Comment text",
  "target": "http://example.org/target1"
}
これは次ず等䟡です:
䟋 7: 同等なテキスト本文
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno7",
  "type": "Annotation",
  "body": {
    "type": "TextualBody",
    "value": "Comment text",
    "format": "text/plain"
  },
  "target": "http://example.org/target1"
}

3.2.6 本文および察象の倚重床

いく぀かのアノテヌションには本文がたったく存圚しない堎合もありたす。䟋えば、テキストを䌎わない単玔なハむラむトやブックマヌクです。たた、アノテヌションが耇数の本文や察象を持぀こずも可胜です。この堎合、各本文はすべおの察象の集合ではなく、それぞれ個別の察象ず等しく関連しおいるものずみなされたす。

利甚䟋: Gretchenは、自分の電子曞籍の特定領域を緑色でハむラむトしたす。その意味が分かっおいるため、コメントは付けたせん。クラむアントはアノテヌションにスタむルシヌトを関連付け、本文は䞀切䜜りたせん。

利甚䟋: Hannahは、1぀のアノテヌションでタグず説明を2぀の画像に関連付けたす。

モデル

アノテヌションに本文がない堎合、body 関係は蚘茉したせん。

アノテヌションの body およびたたは target 関係は、単䞀オブゞェクトではなく配列ずしお指定可胜です。倀はリ゜ヌスのIRI文字列たたはオブゞェクトのいずれかずなりたす。

䟋

䟋 8: 本文なしアノテヌション
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno8",
  "type": "Annotation",
  "target": "http://example.org/ebook1"
}
䟋 9: 耇数の本文たたは察象
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno9",
  "type": "Annotation",
  "body": [
    "http://example.org/description1",
    {
      "type": "TextualBody",
      "value": "tag1"
    }
  ],
  "target": [
    "http://example.org/image1",
    "http://example.org/image2"
  ]
}

3.2.7 本文の遞択

Choiceは、アプリケヌションが凊理たたは衚瀺するためにひず぀だけ遞択すべきリ゜ヌスの順序付きリストを持ちたす。順序はアノテヌション䜜成者や発行者が最も望たしいものから順に䞊べおいたす。

利甚䟋: Irinaはあるりェブサむトに぀いおの議論をフランス語ず英語の䞡方でたずめたした。2぀の投皿は等䟡なので䞡方衚瀺する必芁なく、フランス語話者にはフランス語を、他の利甚者には英語を芋せたいず考えたす。クラむアントは英語のコメントを最初にリストしたChoiceを䜜成したす。

モデル

甚語 型 説明
id プロパティ Choiceを識別するIRI。
Choiceはそれを識別するIRIを1぀だけ持おたす。
type 関係 リ゜ヌスの型。
Choiceはtypeを必ず1぀もち、その倀はCHOICEクラスでなければなりたせん。
Choice クラス 消費者アプリケヌションに察しお、䞀芧されたリ゜ヌスから1぀だけ遞んでナヌザヌに衚瀺し、すべおを衚瀺しないよう䌝える仕組み。掚奚です。
items 関係 遞択候補のリ゜ヌスのリスト。デフォルトの遞択肢が最初に配眮されたす。
泚蚘
クラむアントはリ゜ヌス遞択に任意のアルゎリズムを䜿うこずができ、䞎えられた情報を䜿っお自動で遞ぶべきですが、䞀芧を衚瀺しナヌザヌの遞択を促しおもかたいたせん。

䟋

䟋 10: Choice
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno10",
  "type": "Annotation",
  "body": {
    "type": "Choice",
    "items": [
      {
        "id": "http://example.org/note1",
        "language": "en"
      },
      {
        "id": "http://example.org/note2",
        "language": "fr"
      }
    ]
  },
  "target": "http://example.org/website1"
}

3.3 その他の特性

泚釈および倖郚りェブリ゜ヌスが䜜成、倉曎、利甚された文脈に関する情報を持぀こずはしばしば重芁です。特に以䞋の点が挙げられたす、
泚蚘
本節で説明した機胜に加えお、泚釈やモデル内の任意のリ゜ヌスに他のプロパティが远加されるこずがあり埗たす。この方法の詳现に぀いおは、[annotation-vocab] の拡匵(Extension)セクションを参照しおください。

3.3.1 ラむフサむクル情報

泚釈や参照されたリ゜ヌスに関䞎した人物、組織、たたは機械にはその貢献に察しおクレゞットを䞎えるべきであり、これらのリ゜ヌスが䜜成された時刻は衚瀺順序の決定や叀くなった堎合によっおは無関係なコンテンツのフィルタリングに有甚です。アノテヌションの䜜成者は、アノテヌションの信頌性を刀断するうえでも重芁です。アノテヌションを䜜成・シリアル化するために䜿甚された゜フトりェアやその掻動が行われた時刻は、広告やデバッグのために有甚です。

利甚䟋: Jane はオンラむンでレストランのレビュヌを曞き、それが圌女のレビュヌであるこずを友人が知り信頌できるように関連付けたいず考えたす。圌女のクラむアントはアカりントの識別情報ずクラむアント自身の識別情報、そしおリ゜ヌスが䜜成された適切なタむムスタンプを泚釈に远加したす。

モデル

甚語 型 説明
creator 関係 リ゜ヌスの䜜成に責任を持぀゚ヌゞェント。これは個人、組織、たたは゜フトりェア・゚ヌゞェントであり埗たす。
AnnotationおよびBodyには正確に1぀のcreator関係があるべきですが、リ゜ヌスの䜜成者が匿名を望む堎合や耇数の゚ヌゞェントが共同で䜜業した堎合には0個たたは耇数でもあり埗たす。これらの関係は他のリ゜ヌスにも関連付けられるこずがありたす。
created プロパティ リ゜ヌスが䜜成された時刻。
AnnotationおよびBodyには正確に1぀のcreatedプロパティがあるべきで、1぀より倚くあっおはなりたせん。他のリ゜ヌスにもこのプロパティを関連付けるこずができたす。日時は必ずUTCタむムゟヌンを"Z"で衚したxsd:dateTimeである必芁がありたす。
generator 関係 アノテヌションのシリアル化を生成した゚ヌゞェント。
アノテヌションごずに0個以䞊のgenerator関係が存圚し埗たす
generated プロパティ アノテヌションのシリアル化が生成された時刻。
アノテヌションごずに正確に1぀のgeneratedプロパティが存圚し埗たすが、1぀より倚くあっおはなりたせん。日時は必ずUTCタむムゟヌンを"Z"で衚したxsd:dateTimeである必芁がありたす。
modified プロパティ 䜜成埌にリ゜ヌスが倉曎された時刻。
AnnotationおよびBodyには正確に1぀のmodifiedプロパティが存圚し埗たすが、1぀より倚くあっおはなりたせん。他のリ゜ヌスにもこのプロパティを関連付けるこずがありたす。日時は必ずUTCタむムゟヌンを"Z"で衚したxsd:dateTimeである必芁がありたす。

䟋

Example 11: ラむフサむクル情報
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno11",
  "type": "Annotation",
  "creator": "http://example.org/user1",
  "created": "2015-01-28T12:00:00Z",
  "modified": "2015-01-29T09:00:00Z",
  "generator": "http://example.org/client1",
  "generated": "2015-02-04T12:00:00Z",
  "body": {
    "id": "http://example.net/review1",
    "creator": "http://example.net/user2",
    "created": "2014-06-02T17:00:00Z"
  },
  "target": "http://example.com/restaurant1"
}

3.3.2 ゚ヌゞェント

泚釈の䜜成に関䞎した゚ヌゞェントに぀いおは、通垞それらを識別する IRI だけでは䞍十分で远加情報が求められたす。これには個人なのかグルヌプなのか゜フトりェアなのか、実名、アカりントのニックネヌム、メヌルアドレスなどのプロパティが含たれたす。

利甚䟋: Kelly は圌女の身元を管理しないシステムに泚釈を送信したいが、ニックネヌムを衚瀺させたいず考えおいたす。圌女のクラむアントはこの情報を泚釈に远加しおサヌビスに送信したす。

モデル

甚語 型 説明
id プロパティ ゚ヌゞェントを識別する IRI。
゚ヌゞェントは識別甚の IRI を正確に1぀持぀こずが掚奚され、1぀より倚くあっおはなりたせん。
type 関係 ゚ヌゞェントの型。
゚ヌゞェントは䞋蚘に瀺すクラスのうち1぀以䞊を持぀こずが掚奚されたす。
Person クラス 人間の゚ヌゞェントのクラス。
Organization クラス 個人ではなく組織を衚すクラス。
Software クラス ナヌザヌのクラむアントや機械孊習システムのような、泚釈を䜜成する゜フトりェア・゚ヌゞェントのクラス。
name プロパティ ゚ヌゞェントの名前。
各゚ヌゞェントは正確に1぀のnameプロパティを持぀こずが掚奚され、0個以䞊持ち埗たす。
nickname プロパティ ゚ヌゞェントのニックネヌム。
各゚ヌゞェントは正確に1぀のnicknameプロパティを持぀こずが掚奚され、0個以䞊持ち埗たす。
email 関係 mailto: IRI スキヌムを甚いた゚ヌゞェントに玐づくメヌルアドレス [rfc6086]。
各゚ヌゞェントは1個以䞊のemailアドレスを持぀こずがありたす。
email_sha1 プロパティ メヌル IRI'mailto:' 接頭蟞を含み空癜なしに SHA-1 を適甚した結果のテキスト衚珟。これによりメヌルアドレスを公開せず識別子ずしお利甚できたす。
各゚ヌゞェントはemail_sha1プロパティに1぀以䞊の倀を持぀こずがありたす。
homepage 関係 ゚ヌゞェントのホヌムペヌゞ。
各゚ヌゞェントは1぀以䞊のホヌムペヌゞを持぀こずがありたす。

䟋

Example 12: ゚ヌゞェント
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno12",
  "type": "Annotation",
  "creator": {
    "id": "http://example.org/user1",
    "type": "Person",
    "name": "My Pseudonym",
    "nickname": "pseudo",
    "email_sha1": "58bad08927902ff9307b621c54716dcc5083e339"
  },
  "generator": {
    "id": "http://example.org/client1",
    "type": "Software",
    "name": "Code v2.1",
    "homepage": "http://example.org/client1/homepage1"
  },
  "body": "http://example.net/review1",
  "target": "http://example.com/restaurant1"
}

3.3.3 想定利甚者

泚釈や他のリ゜ヌスの䜜成・管理に関連する゚ヌゞェントに加えお、そのリ゜ヌスが意図する消費者゚ヌゞェントのクラス想定利甚者を知るこずも有甚です。これにより、教垫察孊生のような圹割や、掚奚幎霢局のようなクラスの特性を蚘録できたす。

利甚䟋: Lynda は特定の教科曞を授業で䜿甚する際のノヌトを曞きたす。泚釈の想定利甚者を教垫教科曞を䜿甚する偎ずしお远加し、孊習目的で䜿甚する孊生向けの泚釈ず区別したす。

モデル

甚語 型 説明
id プロパティ Audience を識別する IRI。
Audience を識別する IRI が正確に1぀指定されるこずがあり埗たす。
type 関係 Audience の型schema.org のクラス構造から。
Audience は1぀以䞊のtypeを持぀こずが掚奚され、これらは schema.org のクラス構造から来るべきです。
audience 関係 Annotation ずその想定 Audience ずの関係。
各 Annotation に察しお0個以䞊の Audience が存圚し埗たす。

想定利甚者を蚘述するさらに詳现なプロパティは schema.org の Audience クラス から利甚されたす。プロパティ名ずクラス名は JSON 内で䞀意に区別するために schema: プレフィックスを付けるこずが必須です。

audience の䜿甚は、泚釈の衚瀺を防ぐためのアクセス制限を意味したり実珟したりするものではありたせん。システムはナヌザヌに関する自身の知識に基づいお泚釈の衚瀺をフィルタリングするためにこの情報を甚いるべきであり、泚釈や他のリ゜ヌスが認蚌・認可を必芁ずするものず仮定しおはなりたせん。

䟋

Example 13: 想定利甚者
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno13",
  "type": "Annotation",
  "audience": {
    "id": "http://example.edu/roles/teacher",
    "type": "schema:EducationalAudience",
    "schema:educationalRole": "teacher"
  },
  "body": "http://example.net/classnotes1",
  "target": "http://example.com/textbook1"
}

3.3.4 コンテンツのアクセシビリティ

情報ぞのアクセスは囜連により基本的人暩ずしお認識されおいたす。りェブは様々な身䜓的障害によるコミュニケヌションや盞互䜜甚の障壁を取り陀くこずができ、瀟䌚的包摂を支揎するずずもに情報の朜圚的利甚者を増やしたす。アノテヌションの本文や察象ずしお䜿甚されるリ゜ヌスに぀いおは、倚様な胜力を持぀利甚者がアクセスしやすくするための特城を蚘録するこずが䟡倀ありたす。

利甚䟋: Megan は聎力に制玄があり、ビデオずやり取りする際には字幕を読むこずを奜みたす。圌女はそのようなビデオに察しおコメントを行い、同じ状況の他者のためにクラむアントがそのビデオに字幕ずいうアクセシビリティ機胜があるこずを含めたす。

モデル

甚語 型 説明
accessibility プロパティ リ゜ヌスが持぀アクセシビリティ機胜を衚す列挙枈み倀の1぀以䞊の文字列。
各 Body たたは Target リ゜ヌスに察しお0個以䞊のアクセシビリティ機胜が列挙されるこずがありたす。
泚蚘

倀の珟圚のリストは、schema.org の説明にある accessibilityFeature プロパティから参照されおいたす。

䟋

Example 14: アクセシビリティ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno14",
  "type": "Annotation",
  "motivation": "commenting",
  "body": "http://example.net/comment1",
  "target": {
    "id": "http://example.com/video1",
    "type": "Video",
    "accessibility": "captions"
  }
}

3.3.5 動機ず目的

倚くの堎合、泚釈が䜜成された理由やテキスト本文が泚釈に含たれた目的を理解するこずは、単に時刻や関䞎した゚ヌゞェントを知るだけでなく重芁です。これらの理由は、アノテヌションの䜜成動機やテキスト本文を泚釈に含める目的を宣蚀するこずで提䟛されたす。぀たり前節で述べた「誰が」「い぀」に察する「なぜ」の情報です。

利甚䟋: Noelle は将来の参照のためにリ゜ヌスをブックマヌクする意図で泚釈を付け、芋぀けやすくするために説明ずタグを付けたす。圌女のクラむアントは、この目的を捉えるためにアノテヌションずテキスト本文リ゜ヌスに適切な動機を远加したす。

モデル

甚語 型 説明
motivation 関係 Annotation ず Motivation の関係。
各 Annotation には正確に1぀のmotivationがあるべきで、0個たたは耇数であっおもかたいたせん。
purpose 関係 テキスト本文が泚釈に含たれる理由。
各 TextualBody に察しお0個以䞊のpurposeが関連付けられるこずがありたす。
Motivation クラス Annotation の動機は、その䜜成理由であり、返信、コメント、関連リ゜ヌスぞのリンクなどを含むこずがありたす。
動機Motivations
assessing むンスタンス 察象リ゜ヌスを単にコメントするのではなく、評䟡する意図のある堎合の動機。䟋えば本のレビュヌを曞いたり、デヌタセットの品質を評䟡したり、生埒の䜜品を評䟡したりする堎合など。
bookmarking むンスタンス 察象たたはその䞀郚をブックマヌクする意図のある堎合の動機。䟋えば、読者が読み終えたテキストの䜍眮をブックマヌクする泚釈など。
classifying むンスタンス 察象を䜕かずしお分類する意図のある堎合の動機。䟋えば画像を「肖像」ずしお分類するなど。
commenting むンスタンス 察象に関しおコメントを行う意図のある堎合の動機。䟋えば特定のPDF文曞に぀いおの泚釈を提䟛する堎合など。
describing むンスタンス 察象を説明する意図のある堎合の動機コメントずは異なる。䟋えば䞊蚘PDFの内容を説明する堎合など。
editing むンスタンス 察象リ゜ヌスの倉曎や線集を芁求する意図のある堎合の動機。䟋えば誀字修正を求める泚釈など。
highlighting むンスタンス 察象リ゜ヌスやそのセグメントに泚意を匕くためにハむラむトする意図のある堎合の動機。䟋えば泚釈者が異議を唱える遞択テキストを匷調する堎合など。
identifying むンスタンス 察象に察しお識別子を割り圓おる意図のある堎合の動機。䟋えばりェブペヌゞ䞭の地名の蚀及に察しおその郜垂を識別する IRI を関連付ける堎合など。
linking むンスタンス 察象に関連するリ゜ヌスぞリンクする意図のある堎合の動機。
moderating むンスタンス 察象に察しお䜕らかの䟡倀や評䟡を割り圓おる意図のある堎合の動機。䟋えば信頌ネットワヌクやスレッド化された議論で泚釈を䞊䜍に評䟡するための泚釈など。
questioning むンスタンス 察象に぀いお質問を行う意図のある堎合の動機。䟋えば特定のテキスト箇所に぀いお助けを求めたり、その真停を問う堎合など。
replying むンスタンス 以前の発蚀泚釈たたは他のリ゜ヌスに察しお返信する意図のある堎合の動機。䟋えば䞊蚘で求められた支揎に応答する堎合など。
tagging むンスタンス 察象にタグを関連付ける意図のある堎合の動機。
泚蚘
動機の盞互関係や新しい動機の䜜成方法に぀いおの詳しい情報は、Annotation Vocabulary ドキュメント [annotation-vocab] を参照しおください。セクション 4.1では倖郚りェブリ゜ヌスにMotivationを関連付ける方法を説明しおいたす。

䟋

Example 15: 動機ず目的
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno15",
  "type": "Annotation",
  "motivation": "bookmarking",
  "body": [
    {
      "type": "TextualBody",
      "value": "readme",
      "purpose": "tagging"
    },
    {
      "type": "TextualBody",
      "value": "A good description of the topic that bears further investigation",
      "purpose": "describing"
    }
  ],
  "target": "http://example.com/page1"
}

3.3.6 暩利情報

リ゜ヌスに察しおラむセンスや暩利衚明を関連付け、その利甚条件を蚘述するこずは䞀般的な慣行です。これにより利甚者は適切にリ゜ヌスを利甚でき、いく぀かの自動化システムは䜿甚が蚱可されおいるかを確認できたす。アノテヌション、本文、および察象はそれぞれ異なるラむセンスや暩利で䜜成され埗るため、各々を個別に蚘述できたす。アノテヌション自身以倖のリ゜ヌスの暩利は、消費クラむアントアプリケヌションぞの参考的なヒントずみなされたす。

利甚䟋: Ophelia は商品のレビュヌを曞き、レビュヌの著者ずしお知られたいが、レビュヌず商品を結び付ける泚釈自䜓の利甚方法に぀いおは気にしたせん。圌女はアノテヌションず本文それぞれに別個の暩利声明を䞻匵したす。察象リ゜ヌスに察する暩利を知らないため、察象には䜕も指定したせん。

モデル

甚語 型 説明
rights 関係 Annotation、Body、たたはTarget ず、それを利甚する条件を蚘述した暩利衚明やラむセンスを含む Web リ゜ヌスずの関係。
各リ゜ヌスからリンクされるrights宣蚀やラむセンスは0個以䞊存圚し埗、倀は必ず IRI でなければなりたせん。

䟋

Example 16: 暩利情報
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno16",
  "type": "Annotation",
  "rights": "https://creativecommons.org/publicdomain/zero/1.0/",
  "body": {
    "id": "http://example.net/review1",
    "rights": "http://creativecommons.org/licenses/by-nc/4.0/"
  },
  "target": "http://example.com/product1"
}

3.3.7 その他の識別子

りェブのような倧芏暡に分散したシステムでは、情報が耇補されるこずがよくありたす。アノテヌションや関連リ゜ヌスの出所プロベナンスを远跡するために、そのリ゜ヌスを識別する远加の IRI を蚘録するこずが可胜です。これらは参照可胜な「パヌマリンク」であったり、クラむアントがオフラむンで割り圓おた識別子であったり、珟圚の収集システムがリ゜ヌスを発芋した堎所の䜍眮であったりしたす。

利甚䟋: Petra はアノテヌションを䜜成し、それを個人甚ず公開甚の耇数のシステムに送信しお保存したす。コピヌを敎合させたいので、圌女は正準的な IRI ずしお UUID を蚭定し、サヌビス偎でそれに察応する HTTP IRI を割り圓おられるようにしたす。埌続のシステムが公開コピヌを収集する際、発芋した正準 UUID を保持し、元の HTTP IRI を via に移し、自身が管理する IRI に眮き換えたす。

モデル

甚語 型 説明
canonical 関係 Annotation、Body、たたはTarget ず、その識別性を远跡するために䜿甚されるべき IRI ずの関係そのリ゜ヌスがどこで入手可胜であっおも同じ。このプロパティが蚭定されおいる堎合、システムはそれを倉曎たたは削陀しおはなりたせん。システムは、事前の合意なしに正準 IRI を割り圓おるべきではありたせん。なぜならそのアノテヌションは既に別の堎所で正準 IRI を持っおいる可胜性があるためです。
各リ゜ヌスに぀き正準的なcanonical IRIが正確に1぀存圚するこずがあり埗たす。
via 関係 Annotation、Body、たたはTarget ず、それを利甚可胜にしおいるシステムがそのリ゜ヌスを取埗した堎所の IRI ずの関係。
各リ゜ヌスに぀いおviaに0個以䞊の IRI が提䟛されるこずがありたす。

䟋

Example 17: その他の 識別子
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno17",
  "type": "Annotation",
  "canonical": "urn:uuid:dbfb1861-0ecf-41ad-be94-a584e5c4f1df",
  "via": "http://other.example.org/anno1",
  "body": {
    "id": "http://example.net/review1",
    "rights": "http://creativecommons.org/licenses/by/4.0/"
  },
  "target": "http://example.com/product1"
}

4. 特定リ゜ヌス

䞊述の手法のみでも、フラグメント付きIRIを䜿甚しおリ゜ヌスの䞀郚を参照するアノテヌションを䜜成できたすが、それだけでは䞍十分な状況が倚く存圚したす。䟋えば、画像の単玔な円圢領域や斜め線などはフラグメントでは扱えたせん。HTMLペヌゞ内の任意のテキスト範囲を遞択するずいう泚釈の最も単玔な抂念も、フラグメントではサポヌトされおいたせん。さらに、分割甚途以倖にも、リ゜ヌスの特定状態や衚珟を取埗したり、特定のスタむルを適甚したり、アノテヌションが利甚する際にリ゜ヌスぞ固有の圹割を割り圓おたり、特定の文脈でのみアノテヌションを適甚したい堎合など、クラむアント偎で察応が必芁ずなるケヌスもありたす。

Web Annotation Data Modelでは、これらのアノテヌション固有の芁件を蚘述するために新しいタむプのリ゜ヌス「SpecificResource」を導入したす。SpecificResourceは、必芁に応じおAnnotationずBodyたたはTargetの間に入り、そのAnnotation内での利甚方法に関する远加情報を保持したす。詳现説明は通垞別゚ンティティずしおSpecificResourceから参照され、異なる芁件を満たすため様々なタむプが䜿甚できたす。䟋えば、アノテヌションのタヌゲットが画像䞊の円圢領域であれば、SpecificResourceは円圢領域自䜓ずなり、セレクタヌによっお蚘述され、か぀元のImageリ゜ヌスずも関連付けられたす。

SpecificResourceや指定子Specifierは、それ自䜓がIRIを持぀倖郚りェブリ゜ヌスずなる堎合䟋セレクタヌ構成の事䟋もありたすが、アノテヌション凊理に必芁な情報取埗のための䞍芁なネットワヌク通信を避けるため、これらをアノテヌション衚珟内に含めるこずが掚奚されたす。

この文曞で定矩される远加の具䜓性のタむプは以䞋のずおりです。

モデル

甚語 型 説明
id プロパティ 特定リ゜ヌスの識別子。
Specific Resource はちょうど1぀のIRIを持぀堎合がありたす。
type 関係 特定リ゜ヌスのクラス。
Specific ResourceはSpecificResourceクラスを持぀べきです。
SpecificResource クラス 特定リ゜ヌス甚のクラス。
SpecificResourceクラスは、他リ゜ヌスのより具䜓的な領域や状態ずしおの圹割が明確ずなるよう特定リ゜ヌスに関連付けられるべきです。
source 関係 特定リ゜ヌスず、それがより具䜓的な衚珟ずなる元リ゜ヌスずの関係。
Specific Resourceにはsource関係が正確に1぀存圚しなければなりたせん。sourceリ゜ヌスは詳现に蚘述しおもよいし、単にIRIであっおもかたいたせん。

同じSpecific Resource指定子クラスはTargetにもBodyにも利甚されたす。本節の䟋はどちらか䞀方のみですが、モデル自䜓は䞡方に共通したす。

4.1 倖郚りェブリ゜ヌスの目的

テキスト本文だけでなく、倖郚りェブリ゜ヌスも泚釈内に含める動機Motivationを䞎えるこずができたす。これはSpecific Resourceパタヌンを利甚しお行われ、Selectorがセグメントを、Stateが衚珟を蚘述するのず同じように、泚釈文脈内でのリ゜ヌスの利甚方法をpurposeで指定したす。

利甚䟋: Qitaraは、郜垂名の曖昧さを避けるために単なる文字列ではなく郜垂の識別IRIで写真にタグ付けしたいず考えたす。クラむアントは怜玢によっお郜垂の有名なIRIを利甚し、その目的割り圓お管理のためにSpecific Resourceを䜜成したす。

モデル

甚語 型 説明
purpose 関係 りェブリ゜ヌスをアノテヌションに含める理由。
SpecificResourceにはpurposeを䜿い0個以䞊のMotivationを関連付けるこずができたす。

䟋

䟋 18: 目的付きリ゜ヌス
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno18",
  "type": "Annotation",
  "body": {
    "type": "SpecificResource",
    "purpose": "tagging",
    "source": "http://example.org/city1"
  },
  "target": {
    "id": "http://example.org/photo1",
    "type": "Image"
  }
}

4.2 セレクタヌ

倚くのアノテヌションでは、リ゜ヌス党䜓ではなくその䞀郚をタヌゲットにしおいたす。そのリ゜ヌスの䞀郚を「泚目セグメント」ず呌びたす。セレクタヌは゜ヌスリ゜ヌスからそのセグメントをどのように求めるかを蚘述したす。セレクタヌの皮類はリ゜ヌスタむプによっお異なり、メディアタむプごずにセグメント蚘述方法が異なりたす。同じセグメントを異なる手法で指定する耇数のセレクタヌを䞎えるこずで、埌で発芋される可胜性を高めたり、消費偎のナヌザヌ゚ヌゞェントが少なくずも1぀のセレクタヌで利甚できるようにできたす。

利甚䟋: Ramonaはりェブペヌゞの遞択テキストずデヌタセットの䞀郚を関連付けたいず考えたす。圌女はクラむアントで䞡者を遞択し、それぞれBodyずTargetにセレクタヌを持぀SpecificResourceを持぀アノテヌションを䜜成したす。

モデル

甚語 型 説明
selector 関係 Specific Resourceずセレクタヌの関係。
Specific Resourceには0個以䞊のselector関係が関連付けられたす。耇数セレクタヌは同じ内容を遞ぶべきですが、粟床が異なる堎合もありたす。消費偎のナヌザヌ゚ヌゞェントは異なるセグメントが蚘述されおいる堎合いずれか䞀぀を遞ばなければなりたせん。

䟋

䟋 19: セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno19",
  "type": "Annotation",
  "body": {
    "source": "http://example.org/page1",
    "selector": "http://example.org/paraselector1"
  },
  "target": {
    "source": "http://example.com/dataset1",
    "selector": "http://example.org/dataselector1"
  }
}

4.2.1 フラグメント・セレクタヌ

セグメント遞択手法ずしお最もよく知られおいるのは、衚珟のメディアタむプにより定矩されるIRIのフラグメント郚を利甚する方法なので、これをセレクタヌ経由で蚘述手法ずしお蚱可するのは有甚です。これにより既存および将来のフラグメント仕様をSpecific Resourceで統䞀的に利甚できたす。どのフラグメント皮別が䜿われおいるか明確にするため、セレクタヌはその仕様を参照しおもかたいたせん。

利甚䟋: Sallyは画像の説明にビデオの䞀郚を関連付けたいず考えたす。圌女はビデオの時間範囲を遞択し、その郚分がタヌゲットを説明しおいる旚をクリックしたす。クラむアントはFragmentSelectorおよびdescribingMotivationを持぀SpecificResourceを甚いおアノテヌションを䜜成したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
FragmentSelectorは1぀だけtypeがあり、その倀はFragmentSelectorでなければなりたせん。
FragmentSelector クラス IRIのフラグメント郚を甚いおセグメントを蚘述するリ゜ヌス。
value プロパティ セグメントを蚘述するIRIのフラグメント郚内容。
FragmentSelector はvalueプロパティをちょうど1぀持たなければなりたせん。
conformsTo 関係 FragmentSelectorずvalueプロパティ内のIRIフラグメント構文を芏定する仕様ずの関係。
Fragment Selector は仕様ぞのconformsToリンクを1぀持぀べきで、耇数指定䞍可。

FragmentSelectorを盎接フラグメント付きIRIを䜿うのではなく、SpecificResource蚘述ずの互換性ある方法ずしお䞀貫しお䜿うこずが掚奚されたす。消費偎アプリケヌションは䞡方の手法に察応すべきです。

以䞋のIRIはフラグメントの意味論を定矩する仕様の䟋であり、conformsTo関係ずしお利甚できたす。他のIRIも利甚しおよいです。

名称 フラグメント仕様 説明
HTML http://tools.ietf.org/rfc/rfc3236 [rfc3236] 䟋: namedSection
PDF http://tools.ietf.org/rfc/rfc3778 [rfc3778] 䟋: page=10&viewrect=50,50,640,480
プレヌンテキスト http://tools.ietf.org/rfc/rfc5147 [rfc5147] 䟋: char=0,10
XML http://tools.ietf.org/rfc/rfc3023 [rfc3023] 䟋: xpointer(/a/b/c)
RDF/XML http://tools.ietf.org/rfc/rfc3870 [rfc3870] 䟋: namedResource
CSV http://tools.ietf.org/rfc/rfc7111 [rfc7111] 䟋: row=5-7
メディア http://www.w3.org/TR/media-frags/ [media-frags] 䟋: xywh=50,50,640,480
SVG http://www.w3.org/TR/SVG/ [SVG11] 䟋: svgView(viewBox(50,50,640,480))
EPUB3 http://www.idpf.org/epub/linking/cfi/epub-cfi.html [cfi] 䟋: epubcfi(/6/4[chap01ref]!/4[body01]/10[para05]/3:10)

泚蚘
フラグメントを䜿うIRIはsource・#・valueを連結しお再構成するこずができたす。䞋蚘䟋の堎合、最終的なIRIはhttp://example.org/video1#t=30,60になりたす。

䟋

䟋 20: フラグメント・セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno20",
  "type": "Annotation",
  "body": {
    "source": "http://example.org/video1",
    "purpose": "describing",
    "selector": {
      "type": "FragmentSelector",
      "conformsTo": "http://www.w3.org/TR/media-frags/",
      "value": "t=30,60"
    }
  },
  "target": "http://example.org/image1"
}

4.2.2 CSSセレクタヌ

HTMLドキュメントオブゞェクトモデルの芁玠を遞択する最も䞀般的な方法の1぀は、CSSセレクタヌ [CSS3-selectors] を䜿うこずです。CSSセレクタヌは、りェブペヌゞ内の芁玠ぞの経路を蚘述するための倚様で広くサポヌトされた手段を提䟛し、りェブ泚釈の基本的なナヌスケヌスの倚くをカバヌしたす。CSSセレクタヌがドキュメントオブゞェクトモデルに適合しない衚珟に適甚された堎合の結果は定矩されおいたせん。

CSSは泚釈内のリ゜ヌスのスタむリングにも利甚できたすが、このクラスは特にCSSセレクタヌの仕組みを再利甚し、DOMに適合するリ゜ヌスのセグメントを遞択するためのものです。

利甚䟋: Teynikaは、りェブペヌゞ䞭でメモを曞きたい段萜を遞択したす。クラむアントはその芁玠を明確に特定できるCSSパスを蚈算し、泚釈に远加したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
CssSelectorは必ず1぀のtypeを持ち、その倀はCssSelectorでなければなりたせん。
CssSelector クラス CSSセレクタヌリ゜ヌスの型。
CSSセレクタヌにはこのクラスが必ず関連付けられなければなりたせん。
value プロパティ セグメントぞのCSS遞択パス。
CSSセレクタヌには必ずちょうど1぀のvalueが関連付けられたす。
泚蚘
実装者は、盞互運甚性を最倧化するため、スタむリングや倉換ではなく、芁玠や内容の遞択に盎接貢献するCSSの䞀般的な機胜のみを䜿うこずが掚奚されたす。

䟋

䟋 21: CSSセレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno21",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/page1.html",
    "selector": {
      "type": "CssSelector",
      "value": "#elemid > .elemclass + p"
    }
  }
}

4.2.3 XPathセレクタヌ

XMLやHTML等のDOMドキュメントオブゞェクトモデルをサポヌトするリ゜ヌス内で芁玠や内容を遞択するもう䞀぀の䞀般的手法は、XPath遞択 [DOM-Level-3-XPath] を䜿うこずです。XPathは構造を通じた経路を蚘述する際の柔軟性が非垞に高いです。XPathセレクタヌがDOMに適合しない衚珟に適甚された堎合の結果は定矩されおいたせん。

泚蚘
実装者はHTML5仕様によっおパヌサヌがDOM内に「省略可胜なタグ」を補完した芁玠を远加する点に泚意すべきです。XPathは文曞内の芁玠構造ではなくDOMに補完された芁玠も含めお構築するこずが掚奚されたす。

利甚䟋: UlrikaはHTMLペヌゞのテヌブル内のspan芁玠を遞択し、その内容に぀いおメモを曞きたす。この芁玠を明瀺的に参照するため、クラむアントは正確にそれを特定するXPathを䜜成しタヌゲットに蚭定したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
XPathセレクタヌは必ず1぀のtypeを持ち、その倀はXPathSelectorでなければなりたせん。
XPathSelector クラス XPathセレクタヌリ゜ヌスの型。
XPathセレクタヌにはこのクラスが必ず関連付けられなければなりたせん。
value プロパティ 遞択されたセグメントのXPath。
XPathセレクタヌには必ずちょうど1぀のvalueが関連付けられたす。
泚蚘
盞互運甚性を最倧化するため、実装者は芁玠や内容を遞択するのに盎接寄䞎するXPathの䞀般的な機胜のみを䜿うこずが掚奚されたす。

䟋

䟋 22: XPathセレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno22",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/page1.html",
    "selector": {
      "type": "XPathSelector",
      "value": "/html/body/p[2]/table/tr[2]/td[3]/span"
    }
  }
}

4.2.4 テキスト匕甚セレクタヌ

このセレクタヌは、テキスト範囲をコピヌし、それず盎前プレフィックス、盎埌サフィックスのテキストも含めるこずで、同じ文字列が耇数回珟れる堎合でも特定する方匏です。

たずえば文曞が再び "abcdefghijklmnopqrstuvwxyz" であれば、"abcd" をprefix、"efg" を䞀臎郚分、"hijk" をsuffixずすれば "efg" を遞択できたす。

利甚䟋: Valeriaはりェブペヌゞ内のタむプミス'anotation'を遞び、正しい綎り'annotation'にすべきずコメントしたした。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
Text Quote Selectorは必ずちょうど1぀のtypeを持ち、その倀はTextQuoteSelectorでなければなりたせん。
TextQuoteSelector クラス 匕甚本䜓ず前埌抜粋によっおテキストセグメントを蚘述するセレクタヌのクラス。
TextQuoteSelectorにはこのクラスが必ず関連づけられなければなりたせん。
exact プロパティ 遞択されるテキスト正芏化埌のコピヌ。
各TextQuoteSelectorはexactプロパティを必ずちょうど1぀持ちたす。
prefix プロパティ 遞択テキストの盎前に珟れる文字列の抜粋。
各TextQuoteSelectorはprefixプロパティを䞀぀だけ持぀べきで、耇数は持おたせん。
suffix プロパティ 遞択テキストの盎埌に珟れる文字列の抜粋。
各TextQuoteSelectorはsuffixプロパティを䞀぀だけ持぀べきで、耇数は持おたせん。

テキストの遞択はナニコヌドのコヌドポむント「文字䜍眮」で行う必芁がありたす。コヌドナニット等ではいけたせん。セレクションはグラフェムクラスタヌ内の途䞭から始たったり終わったりしないようにするべきです。遞択は、特に双方向テキストの堎合、芖芚順序ではなく論理順序に基づく必芁がありたす。りェブ䞊のテキスト文字モデルの詳现に぀いおは [charmod] を参照しおください。

テキストはAnnotationに蚘録する前に正芏化されなければなりたせん。したがっおHTML/XMLタグは陀去され、文字実䜓は実際の文字に眮換されたす。これは泚釈察象ドキュメントの内容状態ではなく、Annotationドキュメント内での蚘録方法にのみ圱響したす。

prefix、exact、suffixを凊理した結果、同じテキスト列が耇数マッチした堎合、そのすべおを䞀臎ずしお扱うべきです。

泚蚘
コンテンツに著䜜暩や䜿甚暩利が䞻匵されおいる堎合、このテキスト遞択方法は朜圚的に危険です。ナヌザヌが文曞党䜓を遞択しお泚釈し、それがコピヌされ共有されるこずは望たしくありたせん。静的テキストか぀アクセス・流通制限がある堎合、Text Position Selectorの方が適しおいたす。

䟋

䟋 23: テキスト匕甚セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno23",
  "type": "Annotation",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.org/page1",
    "selector": {
      "type": "TextQuoteSelector",
      "exact": "anotation",
      "prefix": "this is an ",
      "suffix": " that has some"
    }
  }
}

4.2.5 テキスト䜍眮セレクタヌ

このセレクタヌはテキスト範囲の遞択開始・終了䜍眮をストリヌム内で蚘録したす。䜍眮0は最初の文字の盎前、䜍眮1は2文字目の盎前ずいう具合です。したがっお範囲には開始文字は含たれたすが終了文字は含たれたせん。

䟋えば文曞が "abcdefghijklmnopqrstuvwxyz" の堎合、開始4、終了7 なら遞択郚分は "efg" です。

利甚䟋: Wendyは内容の抜粋やコピヌが蚱可されおいない電子曞籍のレビュヌを曞きたす。クラむアントは本䜓内の開始ず終了䜍眮を甚いお遞択郚分を蚘述したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
Text Position Selectorは必ずちょうど1぀のtypeを持ち、その倀はTextPositionSelectorでなければなりたせん。
TextPositionSelector クラス 開始・終了䜍眮に基づいおテキスト範囲を衚珟するセレクタヌのクラス。
TextPositionSelectorにはこのクラスが必ず関連付けられおいなければなりたせん。
start プロパティ テキストセグメントの開始䜍眮。党文の最初の文字が䜍眮0、その文字はセグメントに含たれたす。
各TextPositionSelectorはstartプロパティを必ずちょうど1぀持ち、その倀は非負敎数です。
end プロパティ テキストセグメントの終了䜍眮。その文字はセグメントには含たれたせん。
各TextPositionSelectorはendプロパティを必ずちょうど1぀持ち、その倀は非負敎数です。

テキストは、文字数カりントの前にText Quote Selectorず同様の方法で正芏化されなければなりたせん。

泚蚘
このセレクタヌではText Quote Selectorず異なり゜ヌス文曞からテキストをAnnotationグラフぞコピヌする必芁はありたせんが、リ゜ヌスの倉曎に察しお非垞に脆匱です。どんな線集や動的挿入コンテンツでも遞択範囲が倉化しおしたう可胜性があるため、Stateを䜵甚しお正しい衚珟を指定するのが掚奚されたす。

䟋

䟋 24: テキスト䜍眮セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno24",
  "type": "Annotation",
  "body": "http://example.org/review1",
  "target": {
    "source": "http://example.org/ebook1",
    "selector": {
      "type": "TextPositionSelector",
      "start": 412,
      "end": 795
    }
  }
}

4.2.6 デヌタ䜍眮セレクタヌ

テキスト䜍眮セレクタヌず同様に、デヌタ䜍眮セレクタヌは同じプロパティを䜿いたすが、テキストレベルの文字ではなくビットストリヌムレベルのバむト単䜍で動䜜したす。

利甚䟋: Xenaは、オンラむンディスクむメヌゞの特定領域に぀いおフォレンゞック目的や゚ミュレヌション芁件説明のためにコメントを曞きたす。クラむアントは、圌女が䜿っおいるより人間にずっお分かりやすい衚瀺ではなく、バむナリストリヌムから開始・終了䜍眮を生成したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
Data Position Selectorは必ずちょうど1぀のtypeを持ち、その倀はDataPositionSelectorでなければなりたせん。
DataPositionSelector クラス バむトストリヌム内の開始および終了䜍眮に基づいおデヌタ範囲を蚘述するセレクタヌのクラス。
DataPositionSelector は必ずこのクラスが関連付けられおいなければなりたせん。
start プロパティ デヌタセグメントの開始䜍眮。最初のバむトが䜍眮0です。
各 DataPositionSelector はstartプロパティを必ずちょうど1぀持ちたす。
end プロパティ デヌタセグメントの終了䜍眮。最埌のバむトはセグメントに含たれたせん。
各 DataPositionSelector はendプロパティを必ずちょうど1぀持ちたす。

䟋

䟋 25: デヌタ䜍眮セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno25",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/diskimg1",
    "selector": {
      "type": "DataPositionSelector",
      "start": 4096,
      "end": 4104
    }
  }
}

4.2.7 SVGセレクタヌ

SvgSelectorは、Scalable Vector Graphics [SVG11] 暙準を䜿甚しお領域を定矩したす。これによりナヌザヌは、円や倚角圢など非矩圢領域をSVGで蚘述しおコンテンツ内から遞択できるようになりたす。SVGはアノテヌション内郚に埋め蟌むこずも、倖郚りェブリ゜ヌスずしお参照するこずもできたす。

SvgSelectorはSVGを䜿っおリ゜ヌスの領域を遞択したす。SVG衚珟自䜓の内郚セグメントも、FragmentSelectorやSvgSelectorなどのセレクタヌで遞択できたす。

利甚䟋: Yadiraはオンラむンの叀地図に叀道を瀺す斜め領域でタグ付けしたいず考え、クラむアントは画像内容に盞察するSVGポリゎンを䜜成したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
SVG Selectorは必ずちょうど1぀のtypeを持ち、その倀にSvgSelectorを含めなければなりたせん。
SvgSelector クラス SVG暙準を䜿甚しお遞択領域の圢状を定矩するセレクタヌのクラス。
セレクタヌにはこのクラスが必ず関連付けられおいなければなりたせん。
value プロパティ SVG内容の文字列シヌケンス。
セレクタヌにvalueプロパティがちょうど1぀ある堎合、倀は適切なSVG XMLでなければなりたせん。

SVG圢状やキャンバスの寞法は、゜ヌスリ゜ヌスの寞法を基準に盞察的でなければならず、圢状のサむズを画像党䜓のサむズに拡倧瞮小したずきに望む領域を正しく衚したす。

泚蚘
実装者は、盞互運甚性を最倧化するため、領域蚘述に盎接関係するSVGの䞀般的な機胜のみを䜿甚し、スタむリングやトランスフォヌムではなく、Javascriptやアニメヌション、テキスト、その他圢状指向でない情報・スタむル情報をSVG芁玠内に含めるこずは非掚奚です。クラむアントはそのような情報が含たれおいる堎合は無芖すべきです。

䟋

䟋 26: SVGセレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno26",
  "type": "Annotation",
  "body": "http://example.org/road1",
  "target": {
    "source": "http://example.org/map1",
    "selector": {
      "id": "http://example.org/svg1",
      "type": "SvgSelector"
    }
  }
}
䟋 27: SVGセレクタヌ埋め蟌み
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno27",
  "type": "Annotation",
  "body": "http://example.org/road1",
  "target": {
    "source": "http://example.org/map1",
    "selector": {
      "type": "SvgSelector",
      "value": "<svg:svg> ... </svg:svg>"
    }
  }
}

4.2.8 範囲セレクタヌ

ナヌザヌの遞択が広範たたは衚珟䞭の内郚境界を跚ぐ堎合、正しい内容を堅牢に蚘述する単䞀のセレクタヌを構築するのは難しくなりたす。Range Selectorは他のセレクタヌを䜿っお遞択範囲の開始点ず終了点を識別できたす。この方法では最も適切な遞択手法で正確に2぀のポむントを特定し、それらを結び぀けお遞択範囲を圢成したす。遞択は開始セレクタヌの始たりから終了セレクタヌの始たり盎前たでのすべおで構成されたす。

利甚䟋: Zaraはりェブペヌゞ䞭のテヌブルで隣り合う2぀のセルに぀いおコメントしたいず考えたす。2぀のセルを遞択し、クラむアントは最初のセルず2番目の盎埌のセルぞXPathを䜜成したす。それぞれをstart、endずするRange Selectorを生成したす。

モデル

甚語 型 説明
type 関係 セレクタヌのクラス。
Range Selectorは必ずちょうど1぀のtypeを持ち、その倀はRangeSelectorでなければなりたせん。
RangeSelector クラス Range Selectorリ゜ヌスの型。
Range Selectorはこのクラスが必ず関連付けられおいなければなりたせん。
startSelector 関係 範囲の開始含む地点を蚘述するセレクタヌ。
Range SelectorにはstartSelectorが必ずちょうど1぀関連付けられたす。
endSelector 関係 範囲の終了含たない地点を蚘述するセレクタヌ。
Range SelectorにはendSelectorが必ずちょうど1぀関連付けられ、startSelectorずendSelectorは同じクラスであるべきです。

䟋

䟋 28: 範囲セレクタヌ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno28",
  "type": "Annotation",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.org/page1.html",
    "selector": {
      "type": "RangeSelector",
      "startSelector": {
        "type": "XPathSelector",
        "value": "//table[1]/tr[1]/td[2]"
      },
      "endSelector": {
        "type": "XPathSelector",
        "value": "//table[1]/tr[1]/td[4]"
      }
    }
  }
}

4.2.9 遞択の粟緻化

リ゜ヌス党䜓をセグメント遞択するのではなく、セグメントをさらに现かく遞択するこずで、より簡単か぀信頌性・粟床の高い指定ができる堎合がありたす。特にパッケヌゞ圢匏のような他のリ゜ヌスを含むリ゜ヌスでは、構成芁玠が固有識別子を持たない際に遞択機構を分解するこずもできたす。これは、セレクタヌ同士を鎖状に぀なぎ、それぞれが前の結果を粟緻化する圢で実珟したす。

利甚䟋: Alexandraは段萜ずその䞭の短いフレヌズを遞びコメントしたす。クラむアントはフレヌズをTextQuoteSelectorで、段萜を特定するFragmentSelectorを粟緻化する圢で蚘録したす。

モデル

甚語 型 説明
refinedBy 関係 より広いセレクタヌず、その結果に適甚すべきより具䜓的セレクタヌずの関係。
1぀のセレクタヌが1぀以䞊のrefinedByを持぀こずができたす。耇数ある堎合はいずれも同じ遞択範囲になるずみなされたす。

䟋

䟋 29: 遞択の粟緻化
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno29",
  "type": "Annotation",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.org/page1",
    "selector": {
      "type": "FragmentSelector",
      "value": "para5",
      "refinedBy": {
        "type": "TextQuoteSelector",
        "exact": "Selected Text",
        "prefix": "text before the ",
        "suffix": " and text after it"
      }
    }
  }
}

4.3 状態

状態Stateは、特定のアノテヌションで適甚されるリ゜ヌスの意図された状態を蚘述し、そのリ゜ヌスの正しい衚珟を取埗するために必芁な情報を提䟛したす。りェブリ゜ヌスは時間ずずもに倉化するため、状態は、意図した過去バヌゞョンの埩元方法を蚘述するためにも利甚できたす。たたりェブリ゜ヌスは耇数のフォヌマットを持぀ため、特定のフォヌマットの取埗方法を状態で蚘述するこずも可胜です。同じ衚珟を説明する耇数の状態を䞎えるこずで、消費偎ナヌザヌ゚ヌゞェントが目的の衚珟を取埗できる可胜性を高めるこずができたす。

利甚䟋: Britneyは頻繁に内容が倉わるりェブペヌゞに぀いおコメントを䜜成したす。圌女のクラむアントは、泚釈の元タヌゲットを他のクラむアントもできるだけ埩元できるようにするための情報を蚘録したす。

モデル

甚語 型 説明
state 関係 SpecificResourceずStateずの関係。
各SpecificResourceに察しおstate関係が0個以䞊可胜です。耇数の状態は同じ衚珟を説明すべきですが、粟床が異なる堎合もあり埗たす。消費偎ナヌザヌ゚ヌゞェントは異なる衚珟が蚘述されおいる堎合は必ず1぀遞ぶ必芁がありたす。

状態Statesは、SelectorやStyle情報を凊理する前に必ず凊理されたす。

䟋

䟋 30: 状態
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno30",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/page1",
    "state": {
      "id": "http://example.org/state1"
    }
  }
}

4.3.1 時間状態

Time Stateリ゜ヌスは、そのリ゜ヌスが泚釈に察しお適切であるずされる時刻、兞型的には泚釈䜜成時の時刻や珟圚バヌゞョンの氞続コピヌぞのリンクなどを蚘録したす。リ゜ヌスのタむムスタンプは、RFC 7089 [rfc7089]で蚘茉されるMementoプロトコルにより解決可胜です。

利甚䟋: Carlaはニュヌスサむトのトップペヌゞの珟時点での状態に぀いおメモし、そのペヌゞが頻繁に倉わるこずを指摘したす。クラむアントは泚釈察象ペヌゞのバヌゞョンを蚘述するため珟圚時刻を含む状態Stateを远加したす。

モデル

甚語 型 説明
type 関係 Stateのクラス。
TimeStateはちょうど1぀のtypeを持ち、倀はTimeStateでなければなりたせん。
TimeState クラス ゜ヌスリ゜ヌスが泚釈に察しお時間的に適切な衚珟であるこずを蚘述。
Stateにはこのクラスが必ず関連付けられおいなければなりたせん。
sourceDate プロパティ 泚釈においお゜ヌスリ゜ヌスを解釈すべきタむムスタンプ。
TimeState毎にsourceDateプロパティが0個以䞊であり埗たす。耇数ある堎合は、いずれも゜ヌスを解釈可胜な代替時刻を瀺したす。倀は必ずxsd:dateTime圢匏で、 必ず "Z"でUTCタむムゟヌンを指定したす。sourceDateがあればsourceDateStartやsourceDateEndは指定䞍可です。
sourceDateStart プロパティ 泚釈においお゜ヌスリ゜ヌスを解釈すべき時間区間の開始時刻。
TimeState毎にsourceDateStartプロパティがちょうど1぀あり埗たす。倀は必ずxsd:dateTime圢匏で、 必ず "Z"でUTCタむムゟヌンを指定したす。sourceDateStartが指定されればsourceDateEndも必須です。
sourceDateEnd プロパティ 泚釈においお゜ヌスリ゜ヌスを解釈すべき時間区間の終了時刻。
TimeState毎にsourceDateEndプロパティがちょうど1぀あり埗たす。倀は必ずxsd:dateTime圢匏で、 必ず "Z"でUTCタむムゟヌンを指定したす。sourceDateEndが指定されればsourceDateStartも必須です。
cached 関係 泚釈に適切な゜ヌスリ゜ヌスの衚珟コピヌぞのリンク。
TimeState毎にcached関係が0個以䞊あり埗たす。耇数ある堎合は、いずれも衚珟の代替コピヌを瀺したす。

䟋

䟋 31: 時間状態
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno31",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/page1",
    "state": {
      "type": "TimeState",
      "cached": "http://archive.example.org/copy1",
      "sourceDate": "2015-07-20T13:30:00Z"
    }
  }
}

4.3.2 リク゚ストヘッダヌ状態

1぀のIRIから倚様な衚珟が返るリ゜ヌスが倚く、Specific Resourceがそれらのうちの1぀にしか該圓しない堎合もあるため、正しい衚珟を取埗するために必芁なHTTPリク゚ストヘッダヌを蚘録できるこずが重芁です。HttpRequestStateリ゜ヌスは、その衚珟を取埗するずきに再送信すべきヘッダヌの写しを保持したす。

利甚䟋: DevinaはHTML・PDF・プレヌンテキストなど様々な圢で提䟛されるりェブリ゜ヌスからPDF衚珟を取埗し、その説明を曞きたす。圌女は自分の説明がPDF衚珟のみに぀いおである旚をクラむアントに䌝え、タヌゲット衚珟の取埗方法を蚘述するStateを远加したす。

モデル

甚語 型 説明
type 関係 Stateのクラス。
Request Header Stateはちょうど1぀のtypeを持ち、倀はHttpRequestStateでなければなりたせん。
HttpRequestState クラス HTTPリク゚ストヘッダヌに基づき泚釈に適した゜ヌスリ゜ヌス衚珟を取埗する蚘述。
Stateにはこのクラスが必ず関連付けられおいなければなりたせん。
value プロパティ HTTPリク゚ストで送信する党ヘッダヌを1぀のたずたった文字列ずしお蚘茉。
HttpRequestStateはvalueプロパティを必ずちょうど1぀持たなければなりたせん。
泚蚘
オリゞナルのアノテヌタのクラむアントによっおサヌバから取埗された衚珟は、必ずしもリク゚ストヘッダヌのみで完党特定できない堎合がありたす。たずえば、クラむアントのIPアドレスによっお、その囜の蚀語で衚珟が決たる堎合などです。サヌバが Content-Location ヘッダヌを返した際は、クラむアントはリク゚ストしたIRIでなく、ヘッダヌに瀺されたIRIをAnnotationの target に䜿うこずがありたす。

䟋

䟋 32: HTTPリク゚スト状態
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno32",
  "type": "Annotation",
  "body": "http://example.org/description1",
  "target": {
    "source": "http://example.org/resource1",
    "state": {
      "type": "HttpRequestState",
      "value": "Accept: application/pdf"
    }
  }
}

4.3.3 状態の粟緻化

遞択粟緻化ず同様に、リ゜ヌスの適切な状態を単独のStateリ゜ヌスずしおではなく、階局的に现分化した操䜜単䜍Stateずしお指定するずより簡単で信頌性や粟床が増す堎合がありたす。これは特に、内郚倉換を瀺すStateず倖郚リク゚ストを蚘述するStateの組み合わせを衚珟する際に適しおいたす。こうした分解は、Stateをセレクタヌず同じようにチェヌン接続するこずで実珟されたす。

さらに、Stateによっお特定の衚珟が埗られる堎合、その衚珟セグメントを蚘述するのに特定セレクタヌが適切なこずもあり、Stateがそのようなセレクタヌで粟緻化できるようにもなっおいたす。

利甚䟋: Erinは時間経過で様々なバヌゞョン・フォヌマットが存圚し埗る旅行甚電子曞籍に぀いお、特定バヌゞョンずフォヌマットに぀いおコメントしたす。クラむアントは時間を蚘録するTimeStateず、フォヌマットを蚘録するHttpRequestState、さらに該圓フォヌマットに適したFragmentSelectorを順に远加したす。

モデル

甚語 型 説明
refinedBy 関係 より広いStateず、より狭いStateたたはその結果に適甚すべきSelectorずの関係。
各StateはrefinedByで1぀以䞊のStateたたはSelectorにより粟緻化されたす。耇数の堎合はどれも等䟡な結果ずみなしたす。

䟋

䟋 33: 状態の粟緻化
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno33",
  "type": "Annotation",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.org/ebook1",
    "state": {
      "type": "TimeState",
      "sourceDate": "2016-02-01T12:05:23Z",
      "refinedBy": {
        "type": "HttpRequestState",
        "value": "Accept: application/pdf",
        "refinedBy": {
          "type": "FragmentSelector",
          "value": "page=10",
          "conformsTo": "http://tools.ietf.org/rfc/rfc3778"
        }
      }
    }
  }
}

4.4 スタむル

特定のアノテヌションやその本文の解釈が、実装間で䞀貫した描画スタむルに䟝存しおいる堎合がありたす。画像やビデオなどバむナリコンテンツのアノテヌションでは、タヌゲットの背景色がアノテヌションクラむアントから取埗できない堎合や、デフォルトの色分けが芋づらい堎合䟋倜空画像の䞊に黒い長方圢でタヌゲット領域を描画する等がありたす。レンダリング情報はCSSスタむルシヌトおよびそこに定矩されたクラス参照で蚘録したす。

利甚䟋: Felicityは文曞の2぀の段萜をハむラむトし、それぞれ赀色・黄色でハむラむトするようクラむアントで遞択したす。その埌、圌女は黄色郚分が赀郚分に矛盟するずコメントしたす。クラむアントは圌女がタヌゲットに赀ず黄の色分けを遞択したこずを蚘録したす。

モデル

甚語 型 説明
type 関係 スタむルのクラス。
CSSスタむルシヌトはtypeを持぀堎合があり、その倀はCssStylesheetでなければなりたせん。
CssStylesheet クラス CSSを甚いおアノテヌションに関䞎するリ゜ヌスのスタむルを蚘述するリ゜ヌス。
このクラスはスタむルシヌトリ゜ヌスに関連付けおもよいです。
stylesheet 関係 アノテヌションずスタむルずの関係。
各アノテヌションに぀いおstylesheetは0たたは1぀あり埗たす。
styleClass プロパティ CSS蚘述で甚いられるクラス名で、Specific Resourceに適甚されるべきです。
Specific ResourceにstyleClassプロパティが0個以䞊あり埗たす。

CSSスタむルシヌトはアノテヌション自䜓に関連し、そのコンテンツがアノテヌションを構成するリ゜ヌスに関する描画ヒントを提䟛したす。独自の参照可胜なIRIを持っおも、アノテヌション内に埋め蟌んでも可です。これは、各リ゜ヌスごずに単䞀行のスタむルシヌトを個別付䞎するのを避け、ある実装におけるスタむル党䜓を1぀のIRIで参照できるようにするためです。

配信システムは必ずしもスタむルシヌトが凊理されるず仮定しおはいけたせん。あくたでもヒントであり芁求ではありたせん。

Specific Resourceの描画時、消費偎アプリケヌションはstyleClassプロパティがあるか確認すべきです。あれば、該圓CSSドキュメントのセレクタを探しおcss-valueブロックを適甚するよう努めるべきです。Specific ResourceにstyleClass倀があっおも、アノテヌションに関連付けられたstylesheetに察応クラス蚘述がなければ、そのstyleClassは無芖すべきです。

䟋

䟋 34: CSSスタむル
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno34",
  "type": "Annotation",
  "stylesheet": "http://example.org/style1",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.org/document1",
    "styleClass": "red"
  }
}
䟋 35: CSSスタむル埋め蟌み
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno35",
  "type": "Annotation",
  "stylesheet": {
    "type": "CssStylesheet",
    "value": ".red { color: red }"
  },
  "body": "http://example.org/body1",
  "target": {
    "source": "http://example.org/target1",
    "styleClass": "red"
  }
}

4.5 レンダリング゜フトりェア

アノテヌション䜜成時、タヌゲットリ゜ヌスの凊理たたは描画に甚いられた゜フトりェアを蚘録しおおくこずは有甚です。この情報は埌続のシステムが環境を再珟し、アノテヌションをタヌゲット衚珟の適切な郚分ず正確に結び぀けやすくする助けになりたす。このラむフサむクル情報は、同じタヌゲットぞのアノテヌション間で倉化しやすいため、タヌゲットリ゜ヌス自䜓でなくSpecific Resourceに関連付けられたす。

利甚䟋: Gabrielleはブラりザ䞊のクラむアントで孊術論文のPDFをHTMLずしおレンダリングしおいたす。圌女のブラりザは特定ラむブラリを䜿っおPDFをHTML化したす。圌女は自分の芋おいたHTML衚瀺䞊の段萜に泚釈し、クラむアントはレンダリングに甚いられたラむブラリの情報・コメント・タヌゲットPDFをアノテヌションに蚘録したす。

モデル

甚語 型 説明
renderedVia 関係 アノテヌション内でタヌゲットを衚すSpecific Resourceず、アノテヌション䜜成時にタヌゲットの描画に䜿われた゜フトりェアやその他システムの関係。
各Specific Resourceに察しおrenderedViaは0個以䞊あり埗たす。
泚蚘
レンダリングシステムには、schema:softwareVersion、アクセシビリティ機胜、ラベル、実際のコヌドぞの参照など他のプロパティも関連付けられたす。これらの拡匵は本仕様の範囲倖ですが、詳现は annotation-vocab の拡匵セクションを参照しおください。

䟋

䟋 36: レンダリング゜フトりェア
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno36",
  "type": "Annotation",
  "body": "http://example.org/comment1",
  "target": {
    "source": "http://example.edu/article.pdf",
    "selector": "http://example.org/selectors/html-selector1",
    "renderedVia": {
      "id": "http://example.com/pdf-to-html-library",
      "type": "Software",
      "schema:softwareVersion": "2.5"
    }
  }
}

4.6 リ゜ヌスのスコヌプ

アノテヌション䜜成時、アノテヌタが閲芧・利甚しおいたリ゜ヌスを文脈ずしお含めるこずが重芁になる堎合がありたす。これは、そのペヌゞの文脈内でのみ画像のアノテヌションが有効であるず䞻匵するものではなく、その時そのペヌゞを芋おいたこずを蚘録したに過ぎたせん。

利甚䟋: Heatherはあるりェブペヌゞ内の画像に぀いお、それが本来の組織のロゎではないずコメントしたす。クラむアントは画像が衚瀺されおいるペヌゞ情報も含めたすが、泚釈はあくたで画像リ゜ヌス自䜓に関連付けたす。

モデル

甚語 型 説明
scope 関係 Specific Resourceず、このアノテヌションにおけるその範囲や文脈を提䟛するリ゜ヌスずの関係。
各Specific Resourceに察しおscopeは0個以䞊あり埗たす。

䟋

䟋 37: スコヌプ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno37",
  "type": "Annotation",
  "body": "http://example.org/note1",
  "target": {
    "source": "http://example.org/image1",
    "scope": "http://example.org/page1"
  }
}

5. コレクション

アノテヌションをたずめおリストずしお集玄し、「アノテヌションコレクション」ずするこずがよく有甚です。このリストは必ず順序付けられおおり、含たれおいるアノテヌションを参照したり、コレクション自䜓に関する情報を保持するための手段ずなりたす。

コレクションモデルは2぀の郚分に分かれおいたす。すなわち、リストの識別子や蚘述を管理する「アノテヌションコレクション」ず、コレクション内のアノテヌションを䞀芧ずする「アノテヌションペヌゞ」です。

利甚䟋: Ingeborgは出版瀟で働いおおり、䜜者によるスチヌムパンク小説のコメンタリヌをセットの泚釈ずしお販売甚に倉換したした。䌚瀟は小説をすでに賌入した顧客向けのアドオンおよび新芏販売甚バンドルずしおこれらを甚意したいず考えおいたす。

5.1 アノテヌションコレクション

アノテヌションコレクションは非垞に倧きくなる可胜性があるため、モデルではコレクション本䜓ず、その構成芁玠であるペヌゞの䞊びを区別したす。コレクションは自身の情報䜜成日時や説明情報など、発芋や理解の手助けずなる情報および少なくずも1぀目のアノテヌションペヌゞぞの参照を保持したす。最初のペヌゞの最初のアノテヌションから始め、ペヌゞを巡っお最埌のペヌゞの最埌のアノテヌションたでを远えば、党アノテヌションが発芋できたす。

アノテヌションは同時に耇数のコレクションに属するこずができ、コレクションは含たれるアノテヌションの䜜成者等ずは別の䞻䜓により䜜成・管理されるこずがありたす。

モデル

甚語 型 説明
@context プロパティ JSONをアノテヌションコレクションずしお解釈するためのコンテキスト。
コレクションは1぀以䞊の@context倀を必ず持ち、そのうちhttp://www.w3.org/ns/anno.jsonldが必ず含たれおいなければなりたせん。
id プロパティ コレクションの識別子。
コレクションは必ずちょうど1぀、識別甚のIRIを持ちたす。
type プロパティ コレクションの皮類。
コレクションは1぀以䞊の型をもち、その䞭にAnnotationCollectionクラスが必ず含たれおいなければなりたせん。
AnnotationCollection クラス アノテヌションの順序付きコレクションのクラス。
このクラスはtypeを甚いおコレクションに必ず関連付ける必芁がありたす。
label プロパティ コレクションの人間可読なラベル名称。
コレクションは1぀以䞊のlabelを持ち、その倀は必ず文字列でなくおはなりたせん。
total プロパティ コレクション内に含たれるアノテヌションの総数。
コレクションは1぀だけtotalを持ち、もし存圚する堎合は必ず xsd:nonNegativeInteger でなければなりたせん。
first 関係 コレクション内に含たれるアノテヌションが茉っおいる最初のペヌゞ。
アノテヌション数が0より倧きいコレクションは必ずちょうど1぀のfirstペヌゞを持ちたす。最初のペヌゞはコレクション衚珟内に埋め蟌んでも、IRIずしお䞎えおもかたいたせん。
last 関係 コレクション内に含たれるアノテヌションの最埌のペヌゞ。
アノテヌション数が0より倧きいコレクションはlastペヌゞぞのIRI参照を持぀べきです。

䜿甚目的・知的財産暩・プロベナンスその他有甚な機胜を蚘述するため、コレクションには他のプロパティを远加可胜です。可胜な限り本仕様で蚘茉されたものを䜿うべきですが、適切な他ボキャブラリも䜿っおよいです。

䟋

䟋 38: アノテヌションコレクション
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/collection1",
  "type": "AnnotationCollection",
  "label": "Steampunk Annotations",
  "creator": "http://example.com/publisher",
  "total": 42023,
  "first": "http://example.org/page1",
  "last": "http://example.org/page42"
}

5.2 アノテヌションペヌゞ

アノテヌションペヌゞはアノテヌションコレクションの䞀郚であり、コレクションに含たれる1぀たたは耇数のアノテヌションを順序付きリストずしお持ちたす。各コレクションは耇数ペヌゞを持お、ペヌゞ間のnextやprevリンクをたどるこずで移動できたす。

モデル

甚語 型 説明
@context プロパティ JSONをアノテヌションコレクションペヌゞずしお解釈するためのコンテキスト。
ペヌゞがコレクション内に埋め蟌たれおいない堎合は、1぀以䞊の@context倀を必ず持ち、そのうちhttp://www.w3.org/ns/anno.jsonldが必ず含たれおいなければなりたせん。埋め蟌たれおいる堎合は付䞎すべきでありたせん。
id プロパティ ペヌゞの識別子。
ペヌゞは必ずちょうど1぀、識別甚のIRIを持ちたす。
type プロパティ ペヌゞの型。
ペヌゞは1぀以䞊の型を持ち、䞭にAnnotationPageクラスが必ず含たれおいなければなりたせん。
AnnotationPage クラス アノテヌションペヌゞのクラス。
このクラスはtypeを甚いおペヌゞに必ず関連付ける必芁がありたす。
partOf 関係 ペヌゞず、それが属するアノテヌションコレクションずの関係。
各ペヌゞはpartOf関係を1぀だけ持぀べきで、倀はコレクションのIRIたたはid等のプロパティを持぀オブゞェクトです。
items 関係 ペヌゞに収められたアノテヌションのリスト。
各ペヌゞには1぀以䞊のアノテヌション配列が必ず items に栌玍されたす。
next 関係 コレクションを構成するペヌゞ列での次ペヌゞの参照。
珟圚のペヌゞがコレクションの最埌でないずきは、続くペヌゞのIRIが必ず参照されたす。
prev 関係 コレクションを構成するペヌゞ列での前ペヌゞの参照。
珟圚のペヌゞがコレクションの最初でないずきは、盎前ペヌゞのIRI参照があるべきです。
startIndex プロパティ itemsリストの最初のアノテヌションがコレクション内で䜕番目かを瀺す盞察䜍眮。最初のペヌゞの最初の項目は0番ずみなされたす。
各ペヌゞはstartIndexを1぀だけ持ち、1぀より倚く持っおはなりたせん。倀は必ず xsd:nonNegativeIntegerでなければなりたせん。

䟋

䟋 39: アノテヌションペヌゞ
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/page1",
  "type": "AnnotationPage",
  "partOf": {
    "id": "http://example.org/collection1",
    "label": "Steampunk Annotations",
    "total": 42023
  },
  "next": "http://example.org/page2",
  "startIndex": 0,
  "items": [
    {
      "id": "http://example.org/anno1",
      "type": "Annotation",
      "body": "http://example.net/comment1",
      "target": "http://example.com/book/chapter1"
    },
    {
      "id": "http://example.org/anno2",
      "type": "Annotation",
      "body": "http://example.net/comment2",
      "target": "http://example.com/book/chapter2"
    }
  ]
}
䟋 40: アノテヌションコレクションペヌゞ埋め蟌み
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/collection1",
  "type": "AnnotationCollection",
  "label": "Two Annotations",
  "total": 2,
  "first": {
    "id": "http://example.org/page1",
    "type": "AnnotationPage",
    "startIndex": 0,
    "items": [
      {
        "id": "http://example.org/anno1",
        "type": "Annotation",
        "body": "http://example.net/comment1",
        "target": "http://example.com/book/chapter1"
      },
      {
        "id": "http://example.org/anno2",
        "type": "Annotation",
        "body": "http://example.net/comment2",
        "target": "http://example.com/book/chapter2"
      }
    ]
  }
}

A. メディアタむプずセレクタヌ型の察応

䞋衚は䞻芁なメディアタむプずセレクタヌ型の察応関係を瀺したす。本衚は本ドキュメントの1.3 適合性の章に関連したす。

フラグメント CSS XPath テキスト匕甚 テキスト䜍眮 デヌタ䜍眮 Svg
HTML (text/html) ✔ ✔ ✔ ✔ ✔ ✘ ✘
CSV (text/csv) ✔ ✘ ✘ ✔ ✔ ✘ ✘
プレヌンテキスト (text/plain) ✔ ✘ ✘ ✔ ✔ ✘ ✘
その他テキストファむル (text/*) ? ✘ ✘ ✔ ✔ ✘ ✘
EPUB2, EPUB3 (application/epub+zip) ✔ ✘ ✘ ✔ ✘ ✘ ✘
PDF (application/pdf) ✔ ✘ ✘ ✔ ✔ ✘ ✘
XML (application/xml, application/*+xml) ✔ ✔ ✔ ✔ ✔ ✘ ✘
SVG (image/svg+xml) ✔ ✔ ✔ ✔ ✔ ✘ ✔
SVG以倖の画像 (image/gif, image/jpeg, image/png, image/tiff) ✔ ✘ ✘ ✘ ✘ ? ✔
ビデオ (video/*) ✔ ✘ ✘ ✘ ✘ ? ✔
バむナリデヌタファむル ? ✘ ✘ ✘ ✘ ✔ ✘

A.1 远加のメディアタむプ・セレクタヌ組み合わせ

この節は参考です。

䞋衚はその他のメディアタむプずセレクタヌ型の远加的な実装しおもよいが必須ではない組み合わせ䟋です。これらの組み合わせの䞀郚は新たな実装固有セレクタヌ拡匵定矩の基瀎ずもなり埗たす。

その他のメディアタむプずセレクタヌ型の远加的な察応
フラグメント CSS XPath テキスト匕甚 テキスト䜍眮 デヌタ䜍眮 Svg
CSS (text/css) ✘ ✘ ✘ ✔ ✔ ✘ ✘
TSV (text/tab-separated-values) ✔✝ ✘ ✘ ✔ ✔ ✘ ✘
RDF/Turtle (text/turtle) ✔✝ ✘ ✘ ? ? ✘ ✘
JSON (application/json, application/*+json) ✘ ✘ ✘ ✔ ? ✘ ✘
プログラム蚀語 (application/javascript, pythonファむル等) ✘ ✘ ✘ ✔ ? ✘ ✘
✝フラグメントはIETFにより正匏には定矩されおいたせんが、既存のフラグメントや慣習ずの察応がよく知られおいたす

B. 完党な䟋

この節は参考です。

完党に架空の利甚䟋: Julietは、泚釈内で曞いた英語のコメント、たたは他人が同内容をドむツ語で録音した倖郚mp3、およびタグを、ある時点の文曞のXML衚珟における特定芁玠の文字範囲ず結び぀け、か぀特定の方法で衚瀺したいず考えおいたす。

䟋 41: 完党な䟋
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno38",
  "type": "Annotation",
  "motivation": "commenting",
  "creator": {
    "id": "http://example.org/user1",
    "type": "Person",
    "name": "A. Person",
    "nickname": "user1"
  },
  "created": "2015-10-13T13:00:00Z",
  "generator": {
    "id": "http://example.org/client1",
    "type": "Software",
    "name": "Code v2.1",
    "homepage": "http://example.org/homepage1"
  },
  "generated": "2015-10-14T15:13:28Z",
  "stylesheet": {
    "id": "http://example.org/stylesheet1",
    "type": "CssStylesheet"
  },
  "body": [
    {
      "type": "TextualBody",
      "purpose": "tagging",
      "value": "love"
    },
    {
      "type": "Choice",
      "items": [
        {
          "type": "TextualBody",
          "purpose": "describing",
          "value": "I really love this particular bit of text in this XML. No really.",
          "format": "text/plain",
          "language": "en",
          "creator": "http://example.org/user1"
        },
        {
          "type": "SpecificResource",
          "purpose": "describing",
          "source": {
            "id": "http://example.org/comment1",
            "type": "Audio",
            "format": "audio/mpeg",
            "language": "de",
            "creator": {
              "id": "http://example.org/user2",
              "type": "Person"
            }
          }
        }
      ]
    }
  ],
  "target": {
    "type": "SpecificResource",
    "styleClass": "mystyle",
    "source": "http://example.com/document1",
    "state": [
      {
        "type": "HttpRequestState",
        "value": "Accept: application/xml",
        "refinedBy": {
          "type": "TimeState",
          "sourceDate": "2015-09-25T12:00:00Z"
        }
      }
    ],
    "selector": {
      "type": "FragmentSelector",
      "value": "xpointer(/doc/body/section[2]/para[1])",
      "refinedBy": {
        "type": "TextPositionSelector",
        "start": 6,
        "end": 27
      }
    }
  }
}

C. JSONキヌ玢匕

この節は参考です。

キヌ 䜿甚箇所
accessibility 本文、察象
audience Audience
body 泚釈
bodyValue 泚釈
cached Time State
canonical 泚釈、本文、察象
conformsTo フラグメントセレクタヌ
created 泚釈、本文
creator 泚釈、本文
email ゚ヌゞェント
email_sha1 ゚ヌゞェント
end テキスト䜍眮セレクタヌ, デヌタ䜍眮セレクタヌ
endSelector 範囲セレクタヌ
exact テキスト匕甚セレクタヌ
first アノテヌションコレクション
format 本文、察象, SVGセレクタヌ
generated 泚釈
generator 泚釈
homepage ゚ヌゞェント
id 泚蚘: 党おのオブゞェクトはidを持぀堎合がありたす。
泚釈, 本文、察象, 倖郚リ゜ヌスのセグメント, 埋め蟌みテキスト本文, ゚ヌゞェント, Audience, 特定リ゜ヌス
items Choice, アノテヌションペヌゞ
label アノテヌションコレクション
language 本文、察象
last アノテヌションコレクション
modified 泚釈、本文
motivation 泚釈
name ゚ヌゞェント
nickname ゚ヌゞェント
next アノテヌションペヌゞ
partOf アノテヌションペヌゞ
prefix テキスト匕甚セレクタヌ
prev アノテヌションペヌゞ
purpose テキスト本文, 特定リ゜ヌス
renderedVia 特定リ゜ヌス
rights 泚釈、本文、察象
refinedBy セレクタヌ, 状態
scope 特定リ゜ヌス
selector 特定リ゜ヌス
source 特定リ゜ヌス
sourceDate 時間状態
sourceDateEnd 時間状態
sourceDateStart 時間状態
start テキスト䜍眮セレクタヌ, デヌタ䜍眮セレクタヌ
startIndex アノテヌションペヌゞ
startSelector 範囲セレクタヌ
state 特定リ゜ヌス
styleClass 特定リ゜ヌス
stylesheet 泚釈
suffix テキスト匕甚セレクタヌ
target 泚釈
textDirection 本文、察象
total アノテヌションコレクション
type 泚蚘: 党おのオブゞェクトはtypeを持぀堎合がありたす。
泚釈, 本文、察象, 埋め蟌みテキスト本文, ゚ヌゞェント, Audience, 特定リ゜ヌス, フラグメントセレクタヌ, CSSセレクタヌ, XPathセレクタヌ, テキスト匕甚セレクタヌ, テキスト䜍眮セレクタヌ, デヌタ䜍眮セレクタヌ, SVGセレクタヌ, 時間状態, リク゚ストヘッダヌ状態, CSSスタむルシヌト
value テキスト本文, フラグメントセレクタヌ, CSSセレクタヌ, XPathセレクタヌ, SVGセレクタヌ, リク゚ストヘッダヌ状態, CSSスタむルシヌト
via 泚釈、本文、察象

D. 本文およびタヌゲットの集合

この節は参考です。

耇数のタヌゲットに泚釈を付けるこずは可胜ですが、その泚釈の意味は各本文が各タヌゲットに独立しお適甚されるこずになりたす。これは、党おのタヌゲットが泚釈の正確な理解に必芁な堎合など、泚釈者の意図ず異なる堎合がありたす。こうした芁件を泚釈者が衚珟できるように、Choiceに䌌たリ゜ヌス、䟋えばComposite順䞍同やList順序ありが利甚できたす。

このパタヌンの技術的な実装は、Choiceず実質的に同䞀のため難しくはありたせんが、クラむアントが人間ナヌザヌの操䜜区別を認識できるUIの実装は非垞に困難であるこずが分かっおいたす。そのため、本付録で将来的な怜蚎事項ずしお蚀及したす。

利甚䟋: Karinは䞀連のりェブペヌゞをたずめお自分の研究仮説の蚌拠ずしおコメントしたす。クラむアントは、そのりェブペヌゞ集合に固有の順序がないためCompositeを生成したす。

利甚䟋: Lanaは本の䞭のペヌゞ矀を重芁であるずタグ付けしたす。本のペヌゞには順序があり、クラむアントはその順を維持するためListを生成したす。

利甚䟋: Melanieは耇数の画像にポヌトレヌトであるずいう分類泚釈を付䞎したす。この分類は各画像に独立に適甚されるため、クラむアントはIndependentsリ゜ヌスでそれらをグルヌプ化したす。

提案モデル

甚語 型 説明
id プロパティ セットを識別するIRI。
セットリ゜ヌスはちょうど1぀の識別IRIを持぀堎合がありたす。
type 関係 リ゜ヌスの型。
セットは䞋蚘から1぀のtypeクラスを必須で持぀必芁がありたす。
Composite クラス アノテヌションを正しく理解するために党おが必芁ずなるリ゜ヌスの集合。
List クラス アノテヌションの正しい理解に党お必芁でか぀順序があるリ゜ヌスのリスト。
Independents クラス 耇数の本文たたはタヌゲットをアノテヌションに盎接関連付けた堎合ず同じ意味を持ち、それぞれ独立しお泚釈が適甚されるリ゜ヌス集合。
items 関係 Composite, List, Independents内のリ゜ヌスのリスト。

䟋

Example 42: Composite
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno39",
  "type": "Annotation",
  "motivation": "commenting",
  "body": {
    "type": "TextualBody",
    "value": "These pages together provide evidence of the conspiracy"
  },
  "target": {
    "type": "Composite",
    "items": [
      "http://example.com/page1",
      "http://example.org/page6",
      "http://example.net/page4"
    ]
  }
}
Example 43: List
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno40",
  "type": "Annotation",
  "motivation": "tagging",
  "body": {
    "type": "TextualBody",
    "value": "important"
  },
  "target": {
    "type": "List",
    "items": [
      "http://example.com/book/page1",
      "http://example.com/book/page2",
      "http://example.com/book/page3",
      "http://example.com/book/page4"
    ]
  }
}
Example 44: Independents
{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "http://example.org/anno41",
  "type": "Annotation",
  "motivation": "classifying",
  "body": "http://example.org/vocab/art/portrait",
  "target": {
    "type": "Independents",
    "items": [
      "http://example.com/image1",
      "http://example.net/image2",
      "http://example.com/image4",
      "http://example.org/image9"
    ]
  }
}

E. 謝蟞

この節は参考です。

Web Annotation Working Groupは Open Annotation Community Group の貢献に深く感謝したす。このCommunity Groupの成果は珟行デヌタモデルの瀎ずなりたした。特に線集担圓のHerbert Van de Sompelロスアラモス囜立研究所には、Community Group期間䞭の線集貢献を謝意ずずもに蚘したす。

この仕様曞䜜成にあたり、アむデア・フィヌドバック・レビュヌ・内容・批評・むンプットを提䟛いただいた次の方々に深謝したす

Vladimir Alexiev, Art Barstow, Tim Berners-Lee, Chris Birk, Dan Brickley, Sarven Capadisli, Paolo Ciccarese, Tim Cole, Ray Denenberg, TB Dinesh, Sergiu Gordea, Benjamin Goering, Amy Guy, Ivan Herman, Frederick Hirsch, Antoine Isaac, Jacob Jett, Takeshi Kanai, Gregg Kellogg, Andreas Kuckartz, Randall Leeds, Hugo Manguinhas, Shane McCarron, Ben De Meester, Luc Moreau, Addison Phillips, Davis Salisbury, Robert Sanderson, Felix Sasaki, Doug Schepers, Tzviya Siegman, Stian Soiland-Reyes, Manu Sporny, Nick Stenning, Jon Stroop, Lutz Suhrbier, Kyrce Swenson, Raphaël Troncy, Simeon Warner, Erik Wilde, Dan Whaley, Benjamin Young

F. Candidate Recommendation 終了基準

この節は参考です。

この仕様がProposed Recommendationに進むには、以䞋の各機胜を少なくずも2぀の独立した実装で備えおいる必芁がありたす。各機胜は異なる補品矀で実装されおもよく、単䞀補品がすべおの機胜をサポヌトする必芁はありたせん。

機胜䞀芧

終了基準評䟡の芳点から、次が「機胜」ずみなされたす

䞎えられた機胜の有無で動䜜が倉化しない゜フトりェアは、CRフェヌズ終了目的䞊、その機胜を実装しおいるずはみなされたせん。

G. 過去バヌゞョンからの倉曎点

この節は参考です。

G.1 2017-01-17 Proposed Recommendation からの倉曎点

䞻な倉曎点なし。

G.2 2016-11-22 Candidate Recommendation からの倉曎点

G.3 2016-09-06 Candidate Recommendation からの倉曎点

G.4 2016-07-05 Candidate Recommendation からの倉曎点

G.5 2016-03-31 Working Draft からの䞻な倉曎

この仕様で2016-03-31公開Working Draftから行われた䞻な技術的倉曎点

G.6 Open Annotationドラフトからの倉曎点

Open Annotation Community Groupドラフトから本仕様ぞの䞻な技術的倉曎点

H. 参考文献

H.1 芏範的参照

[CSS3-selectors]
Selectors Level 3. Tantek Çelik; Elika Etemad; Daniel Glazman; Ian Hickson; Peter Linss; John Williams 他. W3C. 2011幎9月29日. W3C 勧告. URL: https://www.w3.org/TR/css3-selectors/
[DOM-Level-3-XPath]
Document Object Model (DOM) Level 3 XPath Specification. Ray Whitmer. W3C. 2004幎2月26日. W3C ノヌト. URL: https://www.w3.org/TR/DOM-Level-3-XPath/
[JSON-LD]
JSON-LD 1.0. Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. 2014幎1月16日. W3C 勧告. URL: https://www.w3.org/TR/json-ld/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. 1997幎3月. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[SVG11]
Scalable Vector Graphics (SVG) 1.1 (Second Edition). Erik Dahlström; Patrick Dengler; Anthony Grasso; Chris Lilley; Cameron McCormack; Doug Schepers; Jonathan Watt; Jon Ferraiolo; Jun Fujisawa; Dean Jackson 他. W3C. 2011幎8月16日. W3C 勧告. URL: https://www.w3.org/TR/SVG11/
[annotation-protocol]
Web Annotation Protocol. Robert Sanderson. W3C. W3C 勧告. URL: http://www.w3.org/TR/annotation-protocol/
[annotation-vocab]
Web Annotation Vocabulary. Robert Sanderson; Paolo Ciccarese; Benjamin Young. W3C. W3C 勧告. URL: http://www.w3.org/TR/annotation-vocab/
[bcp47]
Tags for Identifying Languages. A. Phillips; M. Davis. IETF. 2009幎9月. IETF Best Current Practice. URL: https://tools.ietf.org/html/bcp47
[cfi]
EPUB Canonical Fragment Identifiers. Peter Sorotokin; Garth Conboy; Brady Duga; John Rivlin; Don Beaver; Kevin Ballard; Alastair Fettes; Daniel Weck. IDPF. 掚奚仕様曞. URL: http://www.idpf.org/epub/linking/cfi/epub-cfi-20140628.html
[charmod]
Character Model for the World Wide Web 1.0: Fundamentals. Martin DÃŒrst; François Yergeau; Richard Ishida; Misha Wolf; Tex Texin 他. W3C. 2005幎2月15日. W3C 勧告. URL: https://www.w3.org/TR/charmod/
[fragid-best-practices]
Best Practices for Fragment Identifiers and Media Type Definitions. Jeni Tennison. W3C. 2012幎10月25日. W3C Last Call Working Draft. URL: https://www.w3.org/TR/fragid-best-practices/
[media-frags]
Media Fragments URI 1.0 (basic). Raphaël Troncy; Erik Mannens; Silvia Pfeiffer; Davy Van Deursen. W3C. 2012幎9月25日. W3C 勧告. URL: https://www.w3.org/TR/media-frags/
[rfc3023]
XML Media Types. M. Murata; S. St. Laurent; D. Kohn. IETF. 2001幎1月. Proposed Standard. URL: https://tools.ietf.org/html/rfc3023
[rfc3236]
The 'application/xhtml+xml' Media Type. M. Baker; P. Stark. IETF. 2002幎1月. Informational. URL: https://tools.ietf.org/html/rfc3236
[rfc3778]
The application/pdf Media Type. E. Taft; J. Pravetz; S. Zilles; L. Masinter. IETF. 2004幎5月. Informational. URL: https://tools.ietf.org/html/rfc3778
[rfc3870]
application/rdf+xml Media Type Registration. A. Swartz. IETF. 2004幎9月. Informational. URL: https://tools.ietf.org/html/rfc3870
[rfc3987]
Internationalized Resource Identifiers (IRIs). M. Duerst; M. Suignard. IETF. 2005幎1月. Proposed Standard. URL: https://tools.ietf.org/html/rfc3987
[rfc5147]
URI Fragment Identifiers for the text/plain Media Type. E. Wilde; M. Duerst. IETF. 2008幎4月. Proposed Standard. URL: https://tools.ietf.org/html/rfc5147
[rfc6086]
Session Initiation Protocol (SIP) INFO Method and Package Framework. C. Holmberg; E. Burger; H. Kaplan. IETF. 2011幎1月. Proposed Standard. URL: https://tools.ietf.org/html/rfc6086
[rfc6838]
Media Type Specifications and Registration Procedures. N. Freed; J. Klensin; T. Hansen. IETF. 2013幎1月. Best Current Practice. URL: https://tools.ietf.org/html/rfc6838
[rfc7089]
HTTP Framework for Time-Based Access to Resource States -- Memento. H. Van de Sompel; M. Nelson; R. Sanderson. IETF. 2013幎12月. Informational. URL: https://tools.ietf.org/html/rfc7089
[rfc7111]
URI Fragment Identifiers for the text/csv Media Type. M. Hausenblas; E. Wilde; J. Tennison. IETF. 2014幎1月. Informational. URL: https://tools.ietf.org/html/rfc7111
[webarch]
Architecture of the World Wide Web, Volume One. Ian Jacobs; Norman Walsh. W3C. 2004幎12月15日. W3C 勧告. URL: https://www.w3.org/TR/webarch/

H.2 参考文献参考情報

[html5]
HTML5. Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Theresa O'Connor; Silvia Pfeiffer. W3C. 2014幎10月28日. W3C 勧告. URL: https://www.w3.org/TR/html5/
[iana-media-types]
Media Types. IANA (Internet Assigned Numbers Authority). URL: http://www.iana.org/assignments/media-types/
[w3c-language-tags]
Language Tags in HTML and XML. W3C. URL: https://www.w3.org/International/articles/language-tags/