cocina-models 0.32.0 → 0.36.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +8 -1
- data/.rubocop.yml +115 -2
- data/README.md +1 -1
- data/cocina-models.gemspec +3 -2
- data/lib/cocina/generator/generator.rb +3 -0
- data/lib/cocina/generator/schema_value.rb +2 -2
- data/lib/cocina/models.rb +1 -2
- data/lib/cocina/models/admin_policy_administrative.rb +1 -1
- data/lib/cocina/models/administrative.rb +1 -1
- data/lib/cocina/models/contributor.rb +3 -1
- data/lib/cocina/models/description.rb +4 -2
- data/lib/cocina/models/descriptive_access_metadata.rb +13 -0
- data/lib/cocina/models/descriptive_admin_metadata.rb +3 -1
- data/lib/cocina/models/descriptive_basic_value.rb +10 -3
- data/lib/cocina/models/descriptive_parallel_value.rb +9 -0
- data/lib/cocina/models/descriptive_structured_value.rb +1 -1
- data/lib/cocina/models/descriptive_value.rb +10 -4
- data/lib/cocina/models/descriptive_value_required.rb +10 -4
- data/lib/cocina/models/dro.rb +1 -1
- data/lib/cocina/models/dro_access.rb +2 -0
- data/lib/cocina/models/event.rb +1 -1
- data/lib/cocina/models/file.rb +1 -1
- data/lib/cocina/models/identification.rb +2 -0
- data/lib/cocina/models/language.rb +30 -0
- data/lib/cocina/models/related_resource.rb +21 -0
- data/lib/cocina/models/request_collection.rb +1 -1
- data/lib/cocina/models/request_dro.rb +2 -2
- data/lib/cocina/models/request_identification.rb +13 -0
- data/lib/cocina/models/sequence.rb +1 -0
- data/lib/cocina/models/source.rb +1 -0
- data/lib/cocina/models/standard.rb +16 -0
- data/lib/cocina/models/version.rb +1 -1
- data/openapi.yml +322 -93
- metadata +18 -12
data/lib/cocina/models/file.rb
CHANGED
@@ -14,7 +14,7 @@ module Cocina
|
|
14
14
|
# Primary processing label (can be same as title) for a File.
|
15
15
|
attribute :label, Types::Strict::String
|
16
16
|
# Filename for a file. Can be same as label.
|
17
|
-
attribute :filename, Types::Strict::String
|
17
|
+
attribute :filename, Types::Strict::String
|
18
18
|
# Size of the File (binary) in bytes.
|
19
19
|
attribute :size, Types::Strict::Integer.meta(omittable: true)
|
20
20
|
# Version for the File within SDR.
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Cocina
|
4
4
|
module Models
|
5
5
|
class Identification < Struct
|
6
|
+
# Unique identifier in some other system. This is because a large proportion of what is deposited in SDR, historically and currently, are representations of objects that are also represented in other systems. For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to look for the original item if you're looking at its SDR representation.
|
7
|
+
|
6
8
|
# example: sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026
|
7
9
|
attribute :sourceId, Types::Strict::String.meta(omittable: true)
|
8
10
|
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cocina
|
4
|
+
module Models
|
5
|
+
class Language < Struct
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
7
|
+
attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
8
|
+
# String value of the descriptive element.
|
9
|
+
attribute :value, Types::Strict::String.meta(omittable: true)
|
10
|
+
# Type of value provided by the descriptive element.
|
11
|
+
attribute :type, Types::Strict::String.meta(omittable: true)
|
12
|
+
# Status of the descriptive element value relative to other instances of the element.
|
13
|
+
attribute :status, Types::Strict::String.meta(omittable: true)
|
14
|
+
# Code value of the descriptive element.
|
15
|
+
attribute :code, Types::Strict::String.meta(omittable: true)
|
16
|
+
# URI value of the descriptive element.
|
17
|
+
attribute :uri, Types::Strict::String.meta(omittable: true)
|
18
|
+
attribute :standard, Standard.optional.meta(omittable: true)
|
19
|
+
attribute :encoding, Standard.optional.meta(omittable: true)
|
20
|
+
attribute :source, Source.optional.meta(omittable: true)
|
21
|
+
# The preferred display label to use for the descriptive element in access systems.
|
22
|
+
attribute :displayLabel, Types::Strict::String.meta(omittable: true)
|
23
|
+
# A term providing information about the circumstances of the statement (e.g., approximate dates).
|
24
|
+
attribute :qualifier, Types::Strict::String.meta(omittable: true)
|
25
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
26
|
+
attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
|
27
|
+
attribute :script, DescriptiveValue.optional.meta(omittable: true)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cocina
|
4
|
+
module Models
|
5
|
+
class RelatedResource < Struct
|
6
|
+
# The relationship of the related resource to the described resource.
|
7
|
+
attribute :type, Types::Strict::String.meta(omittable: true)
|
8
|
+
attribute :title, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
9
|
+
attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
|
10
|
+
attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
|
11
|
+
attribute :form, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
12
|
+
attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
|
13
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
14
|
+
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
15
|
+
attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
16
|
+
# Stanford persistent URL associated with the related resource.
|
17
|
+
attribute :purl, Types::Strict::String.meta(omittable: true)
|
18
|
+
attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -16,7 +16,7 @@ module Cocina
|
|
16
16
|
attribute :label, Types::Strict::String
|
17
17
|
attribute :version, Types::Strict::Integer
|
18
18
|
attribute(:access, Access.default { Access.new })
|
19
|
-
attribute
|
19
|
+
attribute(:administrative, Administrative.default { Administrative.new })
|
20
20
|
attribute :description, Description.optional.meta(omittable: true)
|
21
21
|
attribute :identification, CollectionIdentification.optional.meta(omittable: true)
|
22
22
|
|
@@ -26,9 +26,9 @@ module Cocina
|
|
26
26
|
attribute :label, Types::Strict::String
|
27
27
|
attribute :version, Types::Strict::Integer
|
28
28
|
attribute :access, DROAccess.optional.meta(omittable: true)
|
29
|
-
attribute
|
29
|
+
attribute(:administrative, Administrative.default { Administrative.new })
|
30
30
|
attribute :description, Description.optional.meta(omittable: true)
|
31
|
-
attribute
|
31
|
+
attribute(:identification, RequestIdentification.default { RequestIdentification.new })
|
32
32
|
attribute :structural, RequestDROStructural.optional.meta(omittable: true)
|
33
33
|
attribute :geographic, Geographic.optional.meta(omittable: true)
|
34
34
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cocina
|
4
|
+
module Models
|
5
|
+
class RequestIdentification < Struct
|
6
|
+
# Unique identifier in some other system. This is because a large proportion of what is deposited in SDR, historically and currently, are representations of objects that are also represented in other systems. For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to look for the original item if you're looking at its SDR representation.
|
7
|
+
|
8
|
+
# example: sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026
|
9
|
+
attribute :sourceId, Types::Strict::String
|
10
|
+
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
module Cocina
|
4
4
|
module Models
|
5
5
|
class Sequence < Struct
|
6
|
+
attribute :members, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
|
6
7
|
# The direction that a sequence of canvases should be displayed to the user
|
7
8
|
attribute :viewingDirection, Types::Strict::String.enum('right-to-left', 'left-to-right').meta(omittable: true)
|
8
9
|
end
|
data/lib/cocina/models/source.rb
CHANGED
@@ -9,6 +9,7 @@ module Cocina
|
|
9
9
|
attribute :uri, Types::Strict::String.meta(omittable: true)
|
10
10
|
# String describing the value source.
|
11
11
|
attribute :value, Types::Strict::String.meta(omittable: true)
|
12
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cocina
|
4
|
+
module Models
|
5
|
+
class Standard < Struct
|
6
|
+
# Code representing the standard or encoding.
|
7
|
+
attribute :code, Types::Strict::String.meta(omittable: true)
|
8
|
+
# URI for the standard or encoding.
|
9
|
+
attribute :uri, Types::Strict::String.meta(omittable: true)
|
10
|
+
# String describing the standard or encoding.
|
11
|
+
attribute :value, Types::Strict::String.meta(omittable: true)
|
12
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
13
|
+
attribute :source, Source.optional.meta(omittable: true)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/openapi.yml
CHANGED
@@ -142,6 +142,8 @@ components:
|
|
142
142
|
description: Administrative or Internal project this resource is a part of
|
143
143
|
example: Google Books
|
144
144
|
type: string
|
145
|
+
required:
|
146
|
+
- hasAdminPolicy
|
145
147
|
AdminPolicy:
|
146
148
|
type: object
|
147
149
|
additionalProperties: false
|
@@ -162,11 +164,11 @@ components:
|
|
162
164
|
description:
|
163
165
|
$ref: '#/components/schemas/Description'
|
164
166
|
required:
|
167
|
+
- administrative
|
165
168
|
- externalIdentifier
|
166
169
|
- label
|
167
170
|
- type
|
168
171
|
- version
|
169
|
-
- administrative
|
170
172
|
AdminPolicyAdministrative:
|
171
173
|
type: object
|
172
174
|
additionalProperties: false
|
@@ -178,6 +180,8 @@ components:
|
|
178
180
|
type: string
|
179
181
|
hasAdminPolicy:
|
180
182
|
type: string
|
183
|
+
required:
|
184
|
+
- hasAdminPolicy
|
181
185
|
AppliesTo:
|
182
186
|
description: Property model for indicating the parts, aspects, or versions of the resource to which a
|
183
187
|
descriptive element is applicable.
|
@@ -250,7 +254,7 @@ components:
|
|
250
254
|
$ref: '#/components/schemas/CatalogLink'
|
251
255
|
Contributor:
|
252
256
|
description: Property model for describing agents contributing in some way to
|
253
|
-
the creation and history of the resource
|
257
|
+
the creation and history of the resource.
|
254
258
|
type: object
|
255
259
|
additionalProperties: false
|
256
260
|
properties:
|
@@ -263,7 +267,8 @@ components:
|
|
263
267
|
description: Entity type of the contributor (person, organization, etc.).
|
264
268
|
type: string
|
265
269
|
status:
|
266
|
-
description: Status of the contributor relative to other parallel contributors
|
270
|
+
description: Status of the contributor relative to other parallel contributors
|
271
|
+
(e.g. the primary author among a group of contributors).
|
267
272
|
type: string
|
268
273
|
role:
|
269
274
|
description: Relationships of the contributor to the resource or to an event
|
@@ -271,90 +276,16 @@ components:
|
|
271
276
|
type: array
|
272
277
|
items:
|
273
278
|
$ref: "#/components/schemas/DescriptiveValue"
|
274
|
-
|
275
|
-
|
276
|
-
type: object
|
277
|
-
additionalProperties: false
|
278
|
-
properties:
|
279
|
-
contributor:
|
280
|
-
type: array
|
281
|
-
items:
|
282
|
-
$ref: "#/components/schemas/Contributor"
|
283
|
-
event:
|
284
|
-
type: array
|
285
|
-
items:
|
286
|
-
$ref: "#/components/schemas/Event"
|
287
|
-
language:
|
279
|
+
identifier:
|
280
|
+
description: Identifiers and URIs associated with the contributor entity.
|
288
281
|
type: array
|
289
282
|
items:
|
290
283
|
$ref: "#/components/schemas/DescriptiveValue"
|
291
284
|
note:
|
285
|
+
description: Other information associated with the contributor.
|
292
286
|
type: array
|
293
287
|
items:
|
294
288
|
$ref: "#/components/schemas/DescriptiveValue"
|
295
|
-
DescriptiveBasicValue:
|
296
|
-
description: Value model for descriptive elements without recursive properties.
|
297
|
-
type: object
|
298
|
-
additionalProperties: false
|
299
|
-
properties:
|
300
|
-
value:
|
301
|
-
description: String value of the descriptive element.
|
302
|
-
type: string
|
303
|
-
type:
|
304
|
-
description: Type of value provided by the descriptive element.
|
305
|
-
type: string
|
306
|
-
status:
|
307
|
-
description: Status of the descriptive element relative to other instances
|
308
|
-
of the element.
|
309
|
-
type: string
|
310
|
-
code:
|
311
|
-
description: Code value of the descriptive element.
|
312
|
-
type: string
|
313
|
-
uri:
|
314
|
-
description: URI value of the descriptive element.
|
315
|
-
type: string
|
316
|
-
format: uri
|
317
|
-
standard:
|
318
|
-
description: Descriptive or content standard to which the value conforms.
|
319
|
-
type: array
|
320
|
-
items:
|
321
|
-
type: string
|
322
|
-
encoding:
|
323
|
-
description: Encoding schema, standard, or syntax to which the value conforms.
|
324
|
-
type: array
|
325
|
-
items:
|
326
|
-
type: string
|
327
|
-
source:
|
328
|
-
$ref: "#/components/schemas/Source"
|
329
|
-
DescriptiveStructuredValue:
|
330
|
-
description: Value model for descriptive elements structured as typed values.
|
331
|
-
type: object
|
332
|
-
additionalProperties: false
|
333
|
-
properties:
|
334
|
-
structuredValue:
|
335
|
-
type: array
|
336
|
-
items:
|
337
|
-
$ref: "#/components/schemas/DescriptiveBasicValue"
|
338
|
-
DescriptiveValue:
|
339
|
-
description: Default value model for descriptive elements.
|
340
|
-
type: object
|
341
|
-
additionalProperties: false
|
342
|
-
allOf:
|
343
|
-
- $ref: "#/components/schemas/DescriptiveBasicValue"
|
344
|
-
- $ref: "#/components/schemas/DescriptiveStructuredValue"
|
345
|
-
- $ref: "#/components/schemas/AppliesTo"
|
346
|
-
DescriptiveValueRequired:
|
347
|
-
type: object
|
348
|
-
additionalProperties: false
|
349
|
-
allOf:
|
350
|
-
- $ref: "#/components/schemas/DescriptiveValue"
|
351
|
-
- anyOf:
|
352
|
-
- type: object
|
353
|
-
required:
|
354
|
-
- value
|
355
|
-
- type: object
|
356
|
-
required:
|
357
|
-
- structuredValue
|
358
289
|
Description:
|
359
290
|
type: object
|
360
291
|
additionalProperties: false
|
@@ -383,17 +314,23 @@ components:
|
|
383
314
|
items:
|
384
315
|
$ref: "#/components/schemas/DescriptiveValue"
|
385
316
|
language:
|
386
|
-
description: Languages, scripts, and notations used in all or
|
317
|
+
description: Languages, scripts, symbolic systems, and notations used in all or
|
318
|
+
part of a resource.
|
387
319
|
type: array
|
388
320
|
items:
|
389
|
-
$ref: "#/components/schemas/
|
321
|
+
$ref: "#/components/schemas/Language"
|
390
322
|
note:
|
391
323
|
description: Additional information relevant to a resource.
|
392
324
|
type: array
|
393
325
|
items:
|
394
326
|
$ref: "#/components/schemas/DescriptiveValue"
|
395
327
|
identifier:
|
396
|
-
description:
|
328
|
+
description: Identifiers and URIs associated with the resource.
|
329
|
+
type: array
|
330
|
+
items:
|
331
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
332
|
+
subject:
|
333
|
+
description: Terms associated with the intellectual content of the resource.
|
397
334
|
type: array
|
398
335
|
items:
|
399
336
|
$ref: "#/components/schemas/DescriptiveValue"
|
@@ -401,11 +338,13 @@ components:
|
|
401
338
|
description: Stanford persistent URL associated with the resource.
|
402
339
|
type: string
|
403
340
|
format: uri
|
404
|
-
|
405
|
-
|
341
|
+
access:
|
342
|
+
$ref: "#/components/schemas/DescriptiveAccessMetadata"
|
343
|
+
relatedResource:
|
344
|
+
description: Other resources associated with the described resource.
|
406
345
|
type: array
|
407
346
|
items:
|
408
|
-
$ref: "#/components/schemas/
|
347
|
+
$ref: "#/components/schemas/RelatedResource"
|
409
348
|
marcEncodedData:
|
410
349
|
description: Data about the resource represented in MARC fixed fields and codes.
|
411
350
|
type: array
|
@@ -415,6 +354,154 @@ components:
|
|
415
354
|
$ref: "#/components/schemas/DescriptiveAdminMetadata"
|
416
355
|
required:
|
417
356
|
- title
|
357
|
+
DescriptiveAccessMetadata:
|
358
|
+
description: Information about how to access digital and physical versions of the object.
|
359
|
+
type: object
|
360
|
+
additionalProperties: false
|
361
|
+
properties:
|
362
|
+
url:
|
363
|
+
description: URLs where the resource may be accessed in full or part.
|
364
|
+
type: array
|
365
|
+
items:
|
366
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
367
|
+
physicalLocation:
|
368
|
+
description: Location of a physical version of the resource.
|
369
|
+
type: array
|
370
|
+
items:
|
371
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
372
|
+
accessContact:
|
373
|
+
description: The library, organization, or person responsible for access to the resource.
|
374
|
+
type: array
|
375
|
+
items:
|
376
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
377
|
+
digitalRepository:
|
378
|
+
description: The digital repositories that hold the resource.
|
379
|
+
type: array
|
380
|
+
items:
|
381
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
382
|
+
note:
|
383
|
+
description: Other information related to accessing the resource.
|
384
|
+
type: array
|
385
|
+
items:
|
386
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
387
|
+
DescriptiveAdminMetadata:
|
388
|
+
description: Information about this resource description.
|
389
|
+
type: object
|
390
|
+
additionalProperties: false
|
391
|
+
properties:
|
392
|
+
contributor:
|
393
|
+
description: Contributors to this resource description.
|
394
|
+
type: array
|
395
|
+
items:
|
396
|
+
$ref: "#/components/schemas/Contributor"
|
397
|
+
event:
|
398
|
+
description: Events in the history of this resource description.
|
399
|
+
type: array
|
400
|
+
items:
|
401
|
+
$ref: "#/components/schemas/Event"
|
402
|
+
language:
|
403
|
+
description: Languages, scripts, symbolic systems, and notations used
|
404
|
+
in this resource description.
|
405
|
+
type: array
|
406
|
+
items:
|
407
|
+
$ref: "#/components/schemas/Language"
|
408
|
+
note:
|
409
|
+
description: Other information related to this resource description.
|
410
|
+
type: array
|
411
|
+
items:
|
412
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
413
|
+
standard:
|
414
|
+
# description: Descriptive or content standard to which this resource description conforms.
|
415
|
+
$ref: "#/components/schemas/Standard"
|
416
|
+
identifier:
|
417
|
+
description: Identifiers associated with this resource description.
|
418
|
+
type: array
|
419
|
+
items:
|
420
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
421
|
+
DescriptiveBasicValue:
|
422
|
+
description: Basic value model for descriptive elements.
|
423
|
+
type: object
|
424
|
+
# additionalProperties breaks the validator, unclear as to why.
|
425
|
+
# additionalProperties: false
|
426
|
+
allOf:
|
427
|
+
- $ref: "#/components/schemas/DescriptiveStructuredValue"
|
428
|
+
- $ref: "#/components/schemas/DescriptiveParallelValue"
|
429
|
+
- type: object
|
430
|
+
additionalProperties: false
|
431
|
+
properties:
|
432
|
+
value:
|
433
|
+
description: String value of the descriptive element.
|
434
|
+
type: string
|
435
|
+
type:
|
436
|
+
description: Type of value provided by the descriptive element.
|
437
|
+
type: string
|
438
|
+
status:
|
439
|
+
description: Status of the descriptive element value relative to other instances
|
440
|
+
of the element.
|
441
|
+
type: string
|
442
|
+
code:
|
443
|
+
description: Code value of the descriptive element.
|
444
|
+
type: string
|
445
|
+
uri:
|
446
|
+
description: URI value of the descriptive element.
|
447
|
+
type: string
|
448
|
+
format: uri
|
449
|
+
standard:
|
450
|
+
# description: Descriptive or content standard to which the value conforms.
|
451
|
+
$ref: "#/components/schemas/Standard"
|
452
|
+
encoding:
|
453
|
+
# description: Encoding schema, standard, or syntax to which the value conforms.
|
454
|
+
$ref: "#/components/schemas/Standard"
|
455
|
+
source:
|
456
|
+
$ref: "#/components/schemas/Source"
|
457
|
+
displayLabel:
|
458
|
+
description: The preferred display label to use for the descriptive element in access systems.
|
459
|
+
type: string
|
460
|
+
qualifier:
|
461
|
+
description: A term providing information about the circumstances of the statement (e.g., approximate dates).
|
462
|
+
type: string
|
463
|
+
note:
|
464
|
+
description: Other information related to the descriptive element.
|
465
|
+
type: array
|
466
|
+
items:
|
467
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
468
|
+
DescriptiveParallelValue:
|
469
|
+
description: Value model for multiple representations of the same information (e.g. in different languages).
|
470
|
+
type: object
|
471
|
+
additionalProperties: false
|
472
|
+
properties:
|
473
|
+
parallelValue:
|
474
|
+
type: array
|
475
|
+
items:
|
476
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
477
|
+
DescriptiveStructuredValue:
|
478
|
+
description: Value model for descriptive elements structured as typed, ordered values.
|
479
|
+
type: object
|
480
|
+
additionalProperties: false
|
481
|
+
properties:
|
482
|
+
structuredValue:
|
483
|
+
type: array
|
484
|
+
items:
|
485
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
486
|
+
DescriptiveValue:
|
487
|
+
description: Default value model for descriptive elements.
|
488
|
+
type: object
|
489
|
+
additionalProperties: false
|
490
|
+
allOf:
|
491
|
+
- $ref: "#/components/schemas/DescriptiveBasicValue"
|
492
|
+
- $ref: "#/components/schemas/AppliesTo"
|
493
|
+
DescriptiveValueRequired:
|
494
|
+
type: object
|
495
|
+
additionalProperties: false
|
496
|
+
allOf:
|
497
|
+
- $ref: "#/components/schemas/DescriptiveValue"
|
498
|
+
- anyOf:
|
499
|
+
- type: object
|
500
|
+
required:
|
501
|
+
- value
|
502
|
+
- type: object
|
503
|
+
required:
|
504
|
+
- structuredValue
|
418
505
|
DRO:
|
419
506
|
description: Domain-defined abstraction of a 'work'. Digital Repository Objects' abstraction is describable for our domain’s purposes, i.e. for management needs within our system.
|
420
507
|
type: object
|
@@ -461,11 +548,12 @@ components:
|
|
461
548
|
geographic:
|
462
549
|
$ref: '#/components/schemas/Geographic'
|
463
550
|
required:
|
551
|
+
- access
|
552
|
+
- administrative
|
464
553
|
- externalIdentifier
|
465
554
|
- label
|
466
555
|
- type
|
467
556
|
- version
|
468
|
-
- access
|
469
557
|
DROAccess:
|
470
558
|
type: object
|
471
559
|
additionalProperties: false
|
@@ -479,6 +567,10 @@ components:
|
|
479
567
|
- 'citation-only'
|
480
568
|
- 'dark'
|
481
569
|
default: 'dark'
|
570
|
+
controlledDigitalLending:
|
571
|
+
description: Available for controlled digital lending.
|
572
|
+
type: boolean
|
573
|
+
default: false
|
482
574
|
copyright:
|
483
575
|
description: The human readable copyright statement that applies
|
484
576
|
example: Copyright World Trade Organization
|
@@ -597,7 +689,6 @@ components:
|
|
597
689
|
type: array
|
598
690
|
items:
|
599
691
|
$ref: "#/components/schemas/DescriptiveValue"
|
600
|
-
|
601
692
|
File:
|
602
693
|
description: Binaries that are the basis of what our domain manages. Binaries here do not include metadata files generated for the domain's own management purposes.
|
603
694
|
type: object
|
@@ -642,6 +733,7 @@ components:
|
|
642
733
|
required:
|
643
734
|
- externalIdentifier
|
644
735
|
- label
|
736
|
+
- filename
|
645
737
|
- type
|
646
738
|
- version
|
647
739
|
- access
|
@@ -710,11 +802,34 @@ components:
|
|
710
802
|
properties:
|
711
803
|
sourceId:
|
712
804
|
type: string
|
805
|
+
description: >
|
806
|
+
Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
|
807
|
+
historically and currently, are representations of objects that are also represented in other systems.
|
808
|
+
For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
|
809
|
+
in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
|
810
|
+
and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
|
811
|
+
look for the original item if you're looking at its SDR representation.
|
713
812
|
example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
|
714
813
|
catalogLinks:
|
715
814
|
type: array
|
716
815
|
items:
|
717
816
|
$ref: '#/components/schemas/CatalogLink'
|
817
|
+
Language:
|
818
|
+
description: Languages, scripts, symbolic systems, and notations used in all
|
819
|
+
or part of a resource.
|
820
|
+
type: object
|
821
|
+
additionalProperties: false
|
822
|
+
allOf:
|
823
|
+
- $ref: '#/components/schemas/DescriptiveValue'
|
824
|
+
- type: object
|
825
|
+
# additionalProperties breaks the validator, presumably because it can't
|
826
|
+
# conform to other schemas (allOf) and not have additionalProperties
|
827
|
+
# additionalProperties: false
|
828
|
+
properties:
|
829
|
+
script:
|
830
|
+
$ref: '#/components/schemas/DescriptiveValue'
|
831
|
+
# description: An alphabet or other notation used to represent a
|
832
|
+
# language or other symbolic system associated with the resource.
|
718
833
|
MessageDigest:
|
719
834
|
description: The output of the message digest algorithm.
|
720
835
|
type: object
|
@@ -743,6 +858,63 @@ components:
|
|
743
858
|
width:
|
744
859
|
description: Width in pixels
|
745
860
|
type: integer
|
861
|
+
RelatedResource:
|
862
|
+
description: Other resource associated with the described resource.
|
863
|
+
type: object
|
864
|
+
additionalProperties: false
|
865
|
+
properties:
|
866
|
+
type:
|
867
|
+
description: The relationship of the related resource to the described resource.
|
868
|
+
type: string
|
869
|
+
title:
|
870
|
+
description: Titles of the related resource.
|
871
|
+
type: array
|
872
|
+
items:
|
873
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
874
|
+
contributor:
|
875
|
+
description: Agents contributing in some way to the creation and history of the
|
876
|
+
related resource.
|
877
|
+
type: array
|
878
|
+
items:
|
879
|
+
$ref: "#/components/schemas/Contributor"
|
880
|
+
event:
|
881
|
+
description: Events in the history of the related resource.
|
882
|
+
type: array
|
883
|
+
items:
|
884
|
+
$ref: "#/components/schemas/Event"
|
885
|
+
form:
|
886
|
+
description: Characteristics of the related resource's physical, digital, and intellectual
|
887
|
+
form and genre.
|
888
|
+
type: array
|
889
|
+
items:
|
890
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
891
|
+
language:
|
892
|
+
description: Languages, scripts, symbolic systems, and notations used in all or
|
893
|
+
part of a related resource.
|
894
|
+
type: array
|
895
|
+
items:
|
896
|
+
$ref: "#/components/schemas/Language"
|
897
|
+
note:
|
898
|
+
description: Additional information relevant to a related resource.
|
899
|
+
type: array
|
900
|
+
items:
|
901
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
902
|
+
identifier:
|
903
|
+
description: Identifiers and URIs associated with the related resource.
|
904
|
+
type: array
|
905
|
+
items:
|
906
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
907
|
+
subject:
|
908
|
+
description: Terms associated with the intellectual content of the related resource.
|
909
|
+
type: array
|
910
|
+
items:
|
911
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
912
|
+
purl:
|
913
|
+
description: Stanford persistent URL associated with the related resource.
|
914
|
+
type: string
|
915
|
+
format: uri
|
916
|
+
access:
|
917
|
+
$ref: "#/components/schemas/DescriptiveAccessMetadata"
|
746
918
|
ReleaseTag:
|
747
919
|
description: A tag that indicates the item or collection should be released.
|
748
920
|
type: object
|
@@ -790,10 +962,10 @@ components:
|
|
790
962
|
description:
|
791
963
|
$ref: '#/components/schemas/Description'
|
792
964
|
required:
|
965
|
+
- administrative
|
793
966
|
- label
|
794
967
|
- type
|
795
968
|
- version
|
796
|
-
- administrative
|
797
969
|
RequestCollection:
|
798
970
|
description: Same as a Collection, but doesn't have an externalIdentifier as one will be created
|
799
971
|
type: object
|
@@ -821,10 +993,11 @@ components:
|
|
821
993
|
identification:
|
822
994
|
$ref: '#/components/schemas/CollectionIdentification'
|
823
995
|
required:
|
996
|
+
- access
|
997
|
+
- administrative
|
824
998
|
- label
|
825
999
|
- type
|
826
1000
|
- version
|
827
|
-
- access
|
828
1001
|
RequestDRO:
|
829
1002
|
description: A request to create a DRO. This has the same general structure as a DRO but doesn't have externalIdentifier and doesn't require the access subschema. If no access subschema is provided, these values will be inherited from the AdminPolicy.
|
830
1003
|
type: object
|
@@ -860,12 +1033,14 @@ components:
|
|
860
1033
|
description:
|
861
1034
|
$ref: '#/components/schemas/Description'
|
862
1035
|
identification:
|
863
|
-
$ref: '#/components/schemas/
|
1036
|
+
$ref: '#/components/schemas/RequestIdentification'
|
864
1037
|
structural:
|
865
1038
|
$ref: '#/components/schemas/RequestDROStructural'
|
866
1039
|
geographic:
|
867
1040
|
$ref: '#/components/schemas/Geographic'
|
868
1041
|
required:
|
1042
|
+
- administrative
|
1043
|
+
- identification
|
869
1044
|
- label
|
870
1045
|
- type
|
871
1046
|
- version
|
@@ -954,11 +1129,37 @@ components:
|
|
954
1129
|
type: array
|
955
1130
|
items:
|
956
1131
|
$ref: '#/components/schemas/RequestFile'
|
1132
|
+
RequestIdentification:
|
1133
|
+
description: Same as a Identification, but requires a sourceId.
|
1134
|
+
type: object
|
1135
|
+
additionalProperties: false
|
1136
|
+
properties:
|
1137
|
+
sourceId:
|
1138
|
+
type: string
|
1139
|
+
description: >
|
1140
|
+
Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
|
1141
|
+
historically and currently, are representations of objects that are also represented in other systems.
|
1142
|
+
For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
|
1143
|
+
in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
|
1144
|
+
and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
|
1145
|
+
look for the original item if you're looking at its SDR representation.
|
1146
|
+
example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
|
1147
|
+
catalogLinks:
|
1148
|
+
type: array
|
1149
|
+
items:
|
1150
|
+
$ref: '#/components/schemas/CatalogLink'
|
1151
|
+
required:
|
1152
|
+
- sourceId
|
957
1153
|
Sequence:
|
958
1154
|
description: A sequence or ordering of resources within a Collection or Object.
|
959
1155
|
type: object
|
960
1156
|
additionalProperties: false
|
961
1157
|
properties:
|
1158
|
+
members:
|
1159
|
+
description: "Identifiers for Members in their stated Order for the Sequence."
|
1160
|
+
type: array
|
1161
|
+
items:
|
1162
|
+
type: string
|
962
1163
|
viewingDirection:
|
963
1164
|
description: The direction that a sequence of canvases should be displayed to the user
|
964
1165
|
type: string
|
@@ -966,8 +1167,8 @@ components:
|
|
966
1167
|
- right-to-left
|
967
1168
|
- left-to-right
|
968
1169
|
Source:
|
969
|
-
description: Property model for indicating the vocabulary, authority, or
|
970
|
-
origin for a term, code, or identifier.
|
1170
|
+
description: Property model for indicating the vocabulary, authority, or
|
1171
|
+
other origin for a term, code, or identifier.
|
971
1172
|
type: object
|
972
1173
|
additionalProperties: false
|
973
1174
|
properties:
|
@@ -981,3 +1182,31 @@ components:
|
|
981
1182
|
value:
|
982
1183
|
description: String describing the value source.
|
983
1184
|
type: string
|
1185
|
+
note:
|
1186
|
+
description: Other information related to the value source.
|
1187
|
+
type: array
|
1188
|
+
items:
|
1189
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
1190
|
+
Standard:
|
1191
|
+
description: Property model for indicating the encoding, standard, or syntax
|
1192
|
+
to which a value conforms.
|
1193
|
+
type: object
|
1194
|
+
additionalProperties: false
|
1195
|
+
properties:
|
1196
|
+
code:
|
1197
|
+
description: Code representing the standard or encoding.
|
1198
|
+
type: string
|
1199
|
+
uri:
|
1200
|
+
description: URI for the standard or encoding.
|
1201
|
+
type: string
|
1202
|
+
format: uri
|
1203
|
+
value:
|
1204
|
+
description: String describing the standard or encoding.
|
1205
|
+
type: string
|
1206
|
+
note:
|
1207
|
+
description: Other information related to the standard or encoding.
|
1208
|
+
type: array
|
1209
|
+
items:
|
1210
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
1211
|
+
source:
|
1212
|
+
$ref: "#/components/schemas/Source"
|