概要
以下のようなPresentation API v2のマニフェストファイルをMirador 3にロードした際、表示エラーが生じました。
gist.githubusercontent.com
以下、Mirador 3での表示です。

この原因と対処法について調べたので、共有します。
原因
以下のエラーメッセージが表示されていました。IIIF v2を入力しているにもかかわらず、v3と判断されているようでした。
Error: A IIIF v3 localized property value must have an array as the value for a given language.
at PropertyValue.ts:126:20
at Array.map (<anonymous>)
at t.parse (PropertyValue.ts:123:29)
at t.getLabel (ManifestResource.ts:35:28)
at canvases.js:162:12
at index.js:67:25
at h (defaultMemoize.js:123:20)
at index.js:81:40
at h (defaultMemoize.js:123:20)
at Function.mapToProps (OpenSeadragonViewer.js:39:12)
これは、以下のように、canvasのlabelがオブジェクトの形で記述されている際に発生するようでした。
canvases": [
{
"@id": "https://islamic-architecture.aa-ken.jp/omekas/iiif/2/monument1/canvas/p1",
"@type": "sc:Canvas",
"label": {
"type": "literal",
"property_id": 1,
"property_label": "Title",
"is_public": true,
"@value": "0001-01"
},
...
}
]
なお、上記の記述方法は、Presentation API ValidatorではOKでした。
Presentation API Validator — IIIF | International Image Interoperability Framework
International Image Interoperability Framework: A community driven image framework with well defined APIs for making the world’s image repositories interoperable and accessible
対処法
以下のように、labelを単純な文字列にすることで、上記のエラーを回避できました。
canvases": [
{
"@id": "https://islamic-architecture.aa-ken.jp/omekas/iiif/2/monument1/canvas/p1",
"@type": "sc:Canvas",
"label": "0001-01",
...
}
]
gist.githubusercontent.com
以下、Mirador 3での表示例です。

まとめ
今回の原因となったlabelがオブジェクトとして記述される現象は、Omeka SのIIIF Serverモジュールの特定のバージョンを使用している際に発生するようでした。最新版などに更新することで、今回のlabelの修正も行われているようでした。
Omeka S
- IIIF Server
Omeka is a free, flexible, and open source web-publishing platform for the display of library, museum, archives, and scholarly collections and exhibitions. Its five-minute setup makes launching an online archive or exhibition as easy as launching a blog.
同様の問題でお困りの方の参考になりましたら幸いです。
動画版(生成AIによる自動生成): この記事の内容をずんだもん×四国めたんの掛け合いで解説しています。自動生成のため、内容に誤りがある可能性があります。正確な情報は記事本文をご参照ください。



コメント
…