原文地址:https://iiif.io/api/cookbook/recipe/0030-multi-volume/

用例

对于由许多卷册组成的作品,通常希望将其组合为单部作品,但同时保持一种单独卷册的用户体验。例如,我们可能对每一卷都创建有单独的清单 (Manifests),但更希望在我们的数字馆藏中将这部作品视为一个整体而维护,形成单条项目记录。也可以将多卷册作品与其他作品组合为单一资源,而非仅视为单独一卷一册的资源。

实施说明

要为多卷册作品创建单个 IIIF 资源,我们可以使用 IIIF 收藏 (Collection) 把单一卷册的清单 (Manifests) 组织起来。收藏 (Collection) 是这样的一种IIIF资源类型:它在items属性内引用其它的清单 (Manifests) 和收藏 (Collection)。要将多卷册类型的收藏与其它收藏区分开来,可以为behavior属性使用值multi-part。然后,可以使用items属性来囊括单一卷册的清单。

还有另一种可行的方法,就是将各卷册合并为单个清单,并使用范围 (Range) 创建目录,用于在多个卷册间导航。到底选用哪种方法,取决于特定的用例或环境。例如,如果各卷册绑定在一起,或者期待的最终体验是某种更为统一的呈现形式,则使用单一清单的方法就是首选的了。对于这种方法,请参阅 [Bound Multi-volume Work][0031] 。

关于元数据的说明:由于在本例中的收藏代表的是多卷册的单部作品,并且该收藏旨在呈现于作品的层级上,因此描述该作品的元数据应包含在收藏中,因而放在单一卷册的清单中的元数据就相应地少很多。不过,若基于呈现体验的需要,你也可以选择在卷册的清单中包含更多的元数据。

限制条件

一个收藏可以内嵌在其它收藏中,例如当收藏主要用于将较大的收藏细分为更易管理的部分时。然而清单不得内嵌到收藏中。嵌入的收藏还应该有自己的 URI,以便从中获得 JSON 描述。

例子

在这个例子中,我们有一部由两卷组成的日语书籍。第一个资源是一个收藏,代表这部书籍,因而behavior属性的值设为了multi-part(第 10-12 行)。各代表每一卷的两个清单都包含在了items属性中(从第 13 行开始)。

在这个收藏类型的资源之后,就是在收藏的items属性中所包含的两个清单了,分别代表第一卷(vol. 1)和第二卷(vol. 2)。请注意,这些清单将behavior属性值设为individuals。这部书的各卷以双页跨页的形式展现,因此不应设为paged。behavior属性的默认值为individuals,因此可以省略该属性。如果指明这个属性,就表示是有意强调的。有关该behavior属性的更多信息,请参阅Book 行为(分页)变体方法。

多卷册作品《青楼絵本年中行事》[Seirō ehon nenjū gyōji]的示例收藏:
JSON-LD | 在通用查看器中查看 | 在Mirador中查看

  1. {
  2. "@context": "http://iiif.io/api/presentation/3/context.json",
  3. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/collection.json",
  4. "type": "Collection",
  5. "label": {
  6. "jp": [
  7. "青楼絵本年中行事 [Seirō ehon nenjū gyōji]"
  8. ]
  9. },
  10. "behavior": [
  11. "multi-part"
  12. ],
  13. "items": [
  14. {
  15. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json",
  16. "type": "Manifest",
  17. "label": {
  18. "jp": [
  19. "巻 1 [Vol. 1]"
  20. ]
  21. }
  22. },
  23. {
  24. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json",
  25. "type": "Manifest",
  26. "label": {
  27. "jp": [
  28. "巻 2 [Vol. 2]"
  29. ]
  30. }
  31. }
  32. ]
  33. }

卷一的示例清单 :
JSON-LD | 在通用查看器中查看 | 在Mirador中查看

  1. {
  2. "@context": "http://iiif.io/api/presentation/3/context.json",
  3. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v1.json",
  4. "type": "Manifest",
  5. "label": {
  6. "en": [
  7. "Seirō ehon nenjū gyōji : kan 1 | 青楼絵本年中行事 : 巻 1"
  8. ]
  9. },
  10. "behavior": [
  11. "individuals"
  12. ],
  13. "viewingDirection": "right-to-left",
  14. "items": [
  15. {
  16. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1",
  17. "type": "Canvas",
  18. "label": {
  19. "en": [
  20. "Front cover"
  21. ]
  22. },
  23. "height": 5730,
  24. "width": 4301,
  25. "items": [
  26. {
  27. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1",
  28. "type": "AnnotationPage",
  29. "items": [
  30. {
  31. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image",
  32. "type": "Annotation",
  33. "motivation": "painting",
  34. "body": {
  35. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001/full/max/0/default.jpg",
  36. "type": "Image",
  37. "format": "image/jpeg",
  38. "height": 5730,
  39. "width": 4301,
  40. "service": [
  41. {
  42. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_001",
  43. "type": "ImageService3",
  44. "profile": "level1"
  45. }
  46. ]
  47. },
  48. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1"
  49. }
  50. ]
  51. }
  52. ]
  53. },
  54. {
  55. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2",
  56. "type": "Canvas",
  57. "label": {
  58. "en": [
  59. "Page spread 1"
  60. ]
  61. },
  62. "height": 5702,
  63. "width": 7451,
  64. "items": [
  65. {
  66. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1",
  67. "type": "AnnotationPage",
  68. "items": [
  69. {
  70. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image",
  71. "type": "Annotation",
  72. "motivation": "painting",
  73. "body": {
  74. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002/full/max/0/default.jpg",
  75. "type": "Image",
  76. "format": "image/jpeg",
  77. "height": 5702,
  78. "width": 7451,
  79. "service": [
  80. {
  81. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_002",
  82. "type": "ImageService3",
  83. "profile": "level1"
  84. }
  85. ]
  86. },
  87. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2"
  88. }
  89. ]
  90. }
  91. ]
  92. },
  93. {
  94. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3",
  95. "type": "Canvas",
  96. "label": {
  97. "en": [
  98. "Page spread 2"
  99. ]
  100. },
  101. "height": 5702,
  102. "width": 7451,
  103. "items": [
  104. {
  105. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1",
  106. "type": "AnnotationPage",
  107. "items": [
  108. {
  109. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image",
  110. "type": "Annotation",
  111. "motivation": "painting",
  112. "body": {
  113. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003/full/max/0/default.jpg",
  114. "type": "Image",
  115. "format": "image/jpeg",
  116. "height": 5702,
  117. "width": 7451,
  118. "service": [
  119. {
  120. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_003",
  121. "type": "ImageService3",
  122. "profile": "level1"
  123. }
  124. ]
  125. },
  126. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3"
  127. }
  128. ]
  129. }
  130. ]
  131. },
  132. {
  133. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4",
  134. "type": "Canvas",
  135. "label": {
  136. "en": [
  137. "Page spread 3"
  138. ]
  139. },
  140. "height": 5702,
  141. "width": 7451,
  142. "items": [
  143. {
  144. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1",
  145. "type": "AnnotationPage",
  146. "items": [
  147. {
  148. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image",
  149. "type": "Annotation",
  150. "motivation": "painting",
  151. "body": {
  152. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007/full/max/0/default.jpg",
  153. "type": "Image",
  154. "format": "image/jpeg",
  155. "height": 5702,
  156. "width": 7451,
  157. "service": [
  158. {
  159. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_007",
  160. "type": "ImageService3",
  161. "profile": "level1"
  162. }
  163. ]
  164. },
  165. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4"
  166. }
  167. ]
  168. }
  169. ]
  170. },
  171. {
  172. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5",
  173. "type": "Canvas",
  174. "label": {
  175. "en": [
  176. "Page spread 4"
  177. ]
  178. },
  179. "height": 5702,
  180. "width": 7451,
  181. "items": [
  182. {
  183. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1",
  184. "type": "AnnotationPage",
  185. "items": [
  186. {
  187. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image",
  188. "type": "Annotation",
  189. "motivation": "painting",
  190. "body": {
  191. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008/full/max/0/default.jpg",
  192. "type": "Image",
  193. "format": "image/jpeg",
  194. "height": 5702,
  195. "width": 7451,
  196. "service": [
  197. {
  198. "id": "https://iiif.io/api/image/3.0/example/reference/5b0b39c2bf5591d21d807f9aadb437fa-uclaeal_wahon_A06_bib1974505_vol01_008",
  199. "type": "ImageService3",
  200. "profile": "level1"
  201. }
  202. ]
  203. },
  204. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5"
  205. }
  206. ]
  207. }
  208. ]
  209. }
  210. ]
  211. }

卷二的示例清单 :
JSON-LD | 在通用查看器中查看 | 在Mirador中查看

  1. {
  2. "@context": "http://iiif.io/api/presentation/3/context.json",
  3. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/manifest_v2.json",
  4. "type": "Manifest",
  5. "label": {
  6. "en": [
  7. "Seirō ehon nenjū gyōji : kan 2 | 青楼絵本年中行事 : 巻 2"
  8. ]
  9. },
  10. "behavior": [
  11. "individuals"
  12. ],
  13. "viewingDirection": "right-to-left",
  14. "items": [
  15. {
  16. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1",
  17. "type": "Canvas",
  18. "label": {
  19. "en": [
  20. "Front cover"
  21. ]
  22. },
  23. "height": 5745,
  24. "width": 4114,
  25. "items": [
  26. {
  27. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p1/1",
  28. "type": "AnnotationPage",
  29. "items": [
  30. {
  31. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0001-image",
  32. "type": "Annotation",
  33. "motivation": "painting",
  34. "body": {
  35. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001/full/max/0/default.jpg",
  36. "type": "Image",
  37. "format": "image/jpeg",
  38. "height": 5745,
  39. "width": 4114,
  40. "service": [
  41. {
  42. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_001",
  43. "type": "ImageService3",
  44. "profile": "level1"
  45. }
  46. ]
  47. },
  48. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p1"
  49. }
  50. ]
  51. }
  52. ]
  53. },
  54. {
  55. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2",
  56. "type": "Canvas",
  57. "label": {
  58. "en": [
  59. "Page spread 1"
  60. ]
  61. },
  62. "height": 5745,
  63. "width": 7253,
  64. "items": [
  65. {
  66. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p2/1",
  67. "type": "AnnotationPage",
  68. "items": [
  69. {
  70. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0002-image",
  71. "type": "Annotation",
  72. "motivation": "painting",
  73. "body": {
  74. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002/full/max/0/default.jpg",
  75. "type": "Image",
  76. "format": "image/jpeg",
  77. "height": 5745,
  78. "width": 7253,
  79. "service": [
  80. {
  81. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_002",
  82. "type": "ImageService3",
  83. "profile": "level1"
  84. }
  85. ]
  86. },
  87. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p2"
  88. }
  89. ]
  90. }
  91. ]
  92. },
  93. {
  94. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3",
  95. "type": "Canvas",
  96. "label": {
  97. "en": [
  98. "Page spread 2"
  99. ]
  100. },
  101. "height": 5745,
  102. "width": 7253,
  103. "items": [
  104. {
  105. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p3/1",
  106. "type": "AnnotationPage",
  107. "items": [
  108. {
  109. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0003-image",
  110. "type": "Annotation",
  111. "motivation": "painting",
  112. "body": {
  113. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003/full/max/0/default.jpg",
  114. "type": "Image",
  115. "format": "image/jpeg",
  116. "height": 5745,
  117. "width": 7253,
  118. "service": [
  119. {
  120. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_003",
  121. "type": "ImageService3",
  122. "profile": "level1"
  123. }
  124. ]
  125. },
  126. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p3"
  127. }
  128. ]
  129. }
  130. ]
  131. },
  132. {
  133. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4",
  134. "type": "Canvas",
  135. "label": {
  136. "en": [
  137. "Page spread 3"
  138. ]
  139. },
  140. "height": 5745,
  141. "width": 7253,
  142. "items": [
  143. {
  144. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p4/1",
  145. "type": "AnnotationPage",
  146. "items": [
  147. {
  148. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0004-image",
  149. "type": "Annotation",
  150. "motivation": "painting",
  151. "body": {
  152. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004/full/max/0/default.jpg",
  153. "type": "Image",
  154. "format": "image/jpeg",
  155. "height": 5745,
  156. "width": 7253,
  157. "service": [
  158. {
  159. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_004",
  160. "type": "ImageService3",
  161. "profile": "level1"
  162. }
  163. ]
  164. },
  165. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p4"
  166. }
  167. ]
  168. }
  169. ]
  170. },
  171. {
  172. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5",
  173. "type": "Canvas",
  174. "label": {
  175. "en": [
  176. "Page spread 4"
  177. ]
  178. },
  179. "height": 5745,
  180. "width": 7253,
  181. "items": [
  182. {
  183. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/page/p5/1",
  184. "type": "AnnotationPage",
  185. "items": [
  186. {
  187. "id": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/annotation/p0005-image",
  188. "type": "Annotation",
  189. "motivation": "painting",
  190. "body": {
  191. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005/full/max/0/default.jpg",
  192. "type": "Image",
  193. "format": "image/jpeg",
  194. "height": 5745,
  195. "width": 7253,
  196. "service": [
  197. {
  198. "id": "https://iiif.io/api/image/3.0/example/reference/ecbc73b7cd459faf609e54eb4305da1f-uclaeal_wahon_A06_bib1974505_vol02_005",
  199. "type": "ImageService3",
  200. "profile": "level1"
  201. }
  202. ]
  203. },
  204. "target": "https://iiif.io/api/cookbook/recipe/0030-multi-volume/canvas/p5"
  205. }
  206. ]
  207. }
  208. ]
  209. }
  210. ]
  211. }

相关专题