Timeline API
Timeline APIは、IIIF Presentation API 2.1のManifest
(http://iiif.io/api/presentation/2.1/#manifest)を拡張した構造を取る。現時点ではIIIF Presentation API 2.1の独自拡張であり、@type
はtl:Manifest
としている。ここでは、この拡張されたManifest
をtl:Manifest
と呼ぶ。
tl:Manifest
の構造は、次のようになる。
-
tl:Manifest
-
@context
(必須) -
@type
(必須) -
@id
(必須) -
label
(必須) viewingHint
-
sequences/cursors
(どちらか必須)
-
tl:Manifest
では、Manifest
のviewingHint
プロパティが取りうる値として、新たにindex
とtime
を導入する。以下、tl:Manifest
でviewingHint
値がtime
であるものをTimeline
と呼ぶ。
tl:Manifest
では、sequences
プロパティに代えて、新たに導入したcursors
プロパティを用いて閲覧対象を指定できる。cursors
は、Cursor
サービスに関する情報の順序付きリスト(配列)である。これをtl:cursorService
と呼ぶ。なおCursorサービスについては、Cursor APIを参照のこと。
tl:CursorService
の構造は、次のようになる。
-
tl:CursorService
@id
-
service
(必須)-
@context
(必須) -
@id
(必須) profile
-
-
first/last/default
(いずれか必須) step
status
service
の@id
にはCursor
のURIを記載する。このURIは参照解決可能なものでなければならない。
first
は、service
の@id
で指定したCursor
が取りうる最初のcursorIndex
値、last
は最後のcursorIndex
値、default
はデフォルトのcursorIndex
値を記載する。Timeline
においてはcursorIndex
値はUnix time(秒)として解釈される。
step
は、service
の@id
で指定したCursor
に含まれるcs:Canvas
のcursorIndex
プロパティ値が等間隔である場合に、その間隔を記載する。前述Cursor
に含まれるcs:Canvas
のcursorIndex
プロパティ値が等間隔ではない場合は、step
は設定してはならない。Timeline
においては、step
値は秒として解釈される。クライアントは、この値を参考情報として利用してもよい。
status
は、Timeline
が固定されたものである場合はfixed
、更新される可能性がある場合はupdating
と記載する。クライアントは、この値を参考情報として利用してもよい。
記述例
{
"@context": [
"http://iiif.io/api/presentation/2/context.json",
"http://codh.rois.ac.jp/iiif/timeline/1/context.json"
],
"@type": "tl:Manifest",
"@id": "http://codh.rois.ac.jp/iiif/iiif-curation-viewer/sample/himawari/timeline.json",
"label": [
{
"@value": "デジタル台風:ひまわり8号クリッピング",
"@language": "ja"
},
{
"@value": "Digital Typhoon: Himawari-8 Clipping",
"@language": "en"
}
],
"attribution": "NII \"Digital Typhoon\" / NICT \"Science Cloud\"",
"related": [
{
"format": "text/html",
"@id": "http://agora.ex.nii.ac.jp/digital-typhoon/himawari-3g/clipping/"
}
],
"viewingHint": "time",
"cursors": [
{
"@id": "http://agora.ex.nii.ac.jp/digital-typhoon/service/iiif/Hsfd/cursor",
"service": {
"@context": "http://codh.rois.ac.jp/iiif/cursor/1/context.json",
"@id": "http://agora.ex.nii.ac.jp/digital-typhoon/service/iiif/Hsfd/cursor",
"profile": "http://codh.rois.ac.jp/iiif/cursor/1/level0.json"
},
"first": 1436234400,
"last": 1498867200,
"default": 1498867200,
"step": 600,
"status": "updating"
}
]
}