cocina-models 0.34.1 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47e0e5c391575050da0d7ec099da98ced48dc06f5d7ba2a2df5f53f3e687e04d
4
- data.tar.gz: cc63b9adc18d069b325ddedf8c019529fa10655168a34e12aa0114220793d372
3
+ metadata.gz: 9ea38c51d33daf4bd30982c2a326f4f8df2b02885f531d48f93f5cd95836eb4e
4
+ data.tar.gz: 8964732d746a81b264bc159db52b1a9ea91f5c6455cb12634e1d937d74ba13db
5
5
  SHA512:
6
- metadata.gz: f2f94eb4be540092d833435fec055b48a43d8c3d8b67ffa746dca94607810b23bce102cb0d20fe6eb6097ba721f83be403b2498c881b2dbf448f2c0f2341a5f4
7
- data.tar.gz: cbae9dff9f1f89bfc9e7557086f63a3dae4941eb4785ba29e2f006fde18a6bdc51a4d747ea74af7d0211e19e20c1f53f2d949d1b233e9f394b6abb6aaf1fae7f
6
+ metadata.gz: 4e9842002155019798495d31b30a1476b4b34d3984a9c66a1105729fb535d566a0c833ad670b01e649de21d2bc05d2831e82feabd59a87c10fabbaffec29e9bd
7
+ data.tar.gz: 1e80bffa4f64a9641840b3dfb92d3deb4441b7a0a8cdd9fa78666893d6d12f144884146bec39d153d55672c5747d699179adeaa2d7411a6d9549396eb8a0f22c
@@ -6,9 +6,11 @@ module Cocina
6
6
  attribute :name, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  # Entity type of the contributor (person, organization, etc.).
8
8
  attribute :type, Types::Strict::String.meta(omittable: true)
9
- # Status of the contributor relative to other parallel contributors.
9
+ # Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).
10
10
  attribute :status, Types::Strict::String.meta(omittable: true)
11
11
  attribute :role, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
+ attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
14
  end
13
15
  end
14
16
  end
@@ -7,12 +7,14 @@ module Cocina
7
7
  attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
8
8
  attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
9
9
  attribute :form, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
- attribute :language, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
+ attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
11
11
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
12
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
+ attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
14
  # Stanford persistent URL associated with the resource.
14
15
  attribute :purl, Types::Strict::String.meta(omittable: true)
15
- attribute :url, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
16
+ attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
17
+ attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
16
18
  attribute :marcEncodedData, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
17
19
  attribute :adminMetadata, DescriptiveAdminMetadata.optional.meta(omittable: true)
18
20
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ class DescriptiveAccessMetadata < Struct
6
+ attribute :url, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ attribute :physicalLocation, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :accessContact, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
9
+ attribute :digitalRepository, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
+ attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
11
+ end
12
+ end
13
+ end
@@ -5,8 +5,10 @@ module Cocina
5
5
  class DescriptiveAdminMetadata < Struct
6
6
  attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
7
7
  attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
8
- attribute :language, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
9
9
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
+ attribute :standard, Standard.optional.meta(omittable: true)
11
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
12
  end
11
13
  end
12
14
  end
@@ -3,19 +3,26 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class DescriptiveBasicValue < Struct
6
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
6
8
  # String value of the descriptive element.
7
9
  attribute :value, Types::Strict::String.meta(omittable: true)
8
10
  # Type of value provided by the descriptive element.
9
11
  attribute :type, Types::Strict::String.meta(omittable: true)
10
- # Status of the descriptive element relative to other instances of the element.
12
+ # Status of the descriptive element value relative to other instances of the element.
11
13
  attribute :status, Types::Strict::String.meta(omittable: true)
12
14
  # Code value of the descriptive element.
13
15
  attribute :code, Types::Strict::String.meta(omittable: true)
14
16
  # URI value of the descriptive element.
15
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
16
- attribute :standard, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
17
- attribute :encoding, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
18
+ attribute :standard, Standard.optional.meta(omittable: true)
19
+ attribute :encoding, Standard.optional.meta(omittable: true)
18
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)
19
26
  end
20
27
  end
21
28
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ class DescriptiveParallelValue < Struct
6
+ attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ end
8
+ end
9
+ end
@@ -3,7 +3,7 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class DescriptiveStructuredValue < Struct
6
- attribute :structuredValue, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
6
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  end
8
8
  end
9
9
  end
@@ -3,20 +3,26 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class DescriptiveValue < Struct
6
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
6
8
  # String value of the descriptive element.
7
9
  attribute :value, Types::Strict::String.meta(omittable: true)
8
10
  # Type of value provided by the descriptive element.
9
11
  attribute :type, Types::Strict::String.meta(omittable: true)
10
- # Status of the descriptive element relative to other instances of the element.
12
+ # Status of the descriptive element value relative to other instances of the element.
11
13
  attribute :status, Types::Strict::String.meta(omittable: true)
12
14
  # Code value of the descriptive element.
13
15
  attribute :code, Types::Strict::String.meta(omittable: true)
14
16
  # URI value of the descriptive element.
15
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
16
- attribute :standard, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
17
- attribute :encoding, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
18
+ attribute :standard, Standard.optional.meta(omittable: true)
19
+ attribute :encoding, Standard.optional.meta(omittable: true)
18
20
  attribute :source, Source.optional.meta(omittable: true)
19
- attribute :structuredValue, Types::Strict::Array.of(DescriptiveBasicValue).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)
20
26
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
21
27
  end
22
28
  end
@@ -3,20 +3,26 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class DescriptiveValueRequired < Struct
6
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
6
8
  # String value of the descriptive element.
7
9
  attribute :value, Types::Strict::String.meta(omittable: true)
8
10
  # Type of value provided by the descriptive element.
9
11
  attribute :type, Types::Strict::String.meta(omittable: true)
10
- # Status of the descriptive element relative to other instances of the element.
12
+ # Status of the descriptive element value relative to other instances of the element.
11
13
  attribute :status, Types::Strict::String.meta(omittable: true)
12
14
  # Code value of the descriptive element.
13
15
  attribute :code, Types::Strict::String.meta(omittable: true)
14
16
  # URI value of the descriptive element.
15
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
16
- attribute :standard, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
17
- attribute :encoding, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
18
+ attribute :standard, Standard.optional.meta(omittable: true)
19
+ attribute :encoding, Standard.optional.meta(omittable: true)
18
20
  attribute :source, Source.optional.meta(omittable: true)
19
- attribute :structuredValue, Types::Strict::Array.of(DescriptiveBasicValue).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)
20
26
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
21
27
  end
22
28
  end
@@ -3,7 +3,7 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class Event < Struct
6
- attribute :structuredValue, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
6
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  # Description of the event (creation, publication, etc.).
8
8
  attribute :type, Types::Strict::String.meta(omittable: true)
9
9
  attribute :date, Types::Strict::Array.of(DescriptiveValue).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
@@ -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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.34.1'
5
+ VERSION = '0.35.0'
6
6
  end
7
7
  end
@@ -254,7 +254,7 @@ components:
254
254
  $ref: '#/components/schemas/CatalogLink'
255
255
  Contributor:
256
256
  description: Property model for describing agents contributing in some way to
257
- the creation and history of the resource
257
+ the creation and history of the resource.
258
258
  type: object
259
259
  additionalProperties: false
260
260
  properties:
@@ -267,7 +267,8 @@ components:
267
267
  description: Entity type of the contributor (person, organization, etc.).
268
268
  type: string
269
269
  status:
270
- 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).
271
272
  type: string
272
273
  role:
273
274
  description: Relationships of the contributor to the resource or to an event
@@ -275,90 +276,16 @@ components:
275
276
  type: array
276
277
  items:
277
278
  $ref: "#/components/schemas/DescriptiveValue"
278
- DescriptiveAdminMetadata:
279
- description: Information about this description of the resource.
280
- type: object
281
- additionalProperties: false
282
- properties:
283
- contributor:
284
- type: array
285
- items:
286
- $ref: "#/components/schemas/Contributor"
287
- event:
288
- type: array
289
- items:
290
- $ref: "#/components/schemas/Event"
291
- language:
279
+ identifier:
280
+ description: Identifiers and URIs associated with the contributor entity.
292
281
  type: array
293
282
  items:
294
283
  $ref: "#/components/schemas/DescriptiveValue"
295
284
  note:
285
+ description: Other information associated with the contributor.
296
286
  type: array
297
287
  items:
298
288
  $ref: "#/components/schemas/DescriptiveValue"
299
- DescriptiveBasicValue:
300
- description: Value model for descriptive elements without recursive properties.
301
- type: object
302
- additionalProperties: false
303
- properties:
304
- value:
305
- description: String value of the descriptive element.
306
- type: string
307
- type:
308
- description: Type of value provided by the descriptive element.
309
- type: string
310
- status:
311
- description: Status of the descriptive element relative to other instances
312
- of the element.
313
- type: string
314
- code:
315
- description: Code value of the descriptive element.
316
- type: string
317
- uri:
318
- description: URI value of the descriptive element.
319
- type: string
320
- format: uri
321
- standard:
322
- description: Descriptive or content standard to which the value conforms.
323
- type: array
324
- items:
325
- type: string
326
- encoding:
327
- description: Encoding schema, standard, or syntax to which the value conforms.
328
- type: array
329
- items:
330
- type: string
331
- source:
332
- $ref: "#/components/schemas/Source"
333
- DescriptiveStructuredValue:
334
- description: Value model for descriptive elements structured as typed values.
335
- type: object
336
- additionalProperties: false
337
- properties:
338
- structuredValue:
339
- type: array
340
- items:
341
- $ref: "#/components/schemas/DescriptiveBasicValue"
342
- DescriptiveValue:
343
- description: Default value model for descriptive elements.
344
- type: object
345
- additionalProperties: false
346
- allOf:
347
- - $ref: "#/components/schemas/DescriptiveBasicValue"
348
- - $ref: "#/components/schemas/DescriptiveStructuredValue"
349
- - $ref: "#/components/schemas/AppliesTo"
350
- DescriptiveValueRequired:
351
- type: object
352
- additionalProperties: false
353
- allOf:
354
- - $ref: "#/components/schemas/DescriptiveValue"
355
- - anyOf:
356
- - type: object
357
- required:
358
- - value
359
- - type: object
360
- required:
361
- - structuredValue
362
289
  Description:
363
290
  type: object
364
291
  additionalProperties: false
@@ -387,17 +314,23 @@ components:
387
314
  items:
388
315
  $ref: "#/components/schemas/DescriptiveValue"
389
316
  language:
390
- description: Languages, scripts, and notations used in all or part of a resource.
317
+ description: Languages, scripts, symbolic systems, and notations used in all or
318
+ part of a resource.
391
319
  type: array
392
320
  items:
393
- $ref: "#/components/schemas/DescriptiveValue"
321
+ $ref: "#/components/schemas/Language"
394
322
  note:
395
323
  description: Additional information relevant to a resource.
396
324
  type: array
397
325
  items:
398
326
  $ref: "#/components/schemas/DescriptiveValue"
399
327
  identifier:
400
- description: Unique strings associated with the resource.
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.
401
334
  type: array
402
335
  items:
403
336
  $ref: "#/components/schemas/DescriptiveValue"
@@ -405,11 +338,13 @@ components:
405
338
  description: Stanford persistent URL associated with the resource.
406
339
  type: string
407
340
  format: uri
408
- url:
409
- description: URLs where the resource may be accessed in full or part.
341
+ access:
342
+ $ref: "#/components/schemas/DescriptiveAccessMetadata"
343
+ relatedResource:
344
+ description: Other resources associated with the described resource.
410
345
  type: array
411
346
  items:
412
- $ref: "#/components/schemas/DescriptiveValue"
347
+ $ref: "#/components/schemas/RelatedResource"
413
348
  marcEncodedData:
414
349
  description: Data about the resource represented in MARC fixed fields and codes.
415
350
  type: array
@@ -419,6 +354,154 @@ components:
419
354
  $ref: "#/components/schemas/DescriptiveAdminMetadata"
420
355
  required:
421
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
422
505
  DRO:
423
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.
424
507
  type: object
@@ -727,6 +810,22 @@ components:
727
810
  type: array
728
811
  items:
729
812
  $ref: '#/components/schemas/CatalogLink'
813
+ Language:
814
+ description: Languages, scripts, symbolic systems, and notations used in all
815
+ or part of a resource.
816
+ type: object
817
+ additionalProperties: false
818
+ allOf:
819
+ - $ref: '#/components/schemas/DescriptiveValue'
820
+ - type: object
821
+ # additionalProperties breaks the validator, presumably because it can't
822
+ # conform to other schemas (allOf) and not have additionalProperties
823
+ # additionalProperties: false
824
+ properties:
825
+ script:
826
+ $ref: '#/components/schemas/DescriptiveValue'
827
+ # description: An alphabet or other notation used to represent a
828
+ # language or other symbolic system associated with the resource.
730
829
  MessageDigest:
731
830
  description: The output of the message digest algorithm.
732
831
  type: object
@@ -755,6 +854,63 @@ components:
755
854
  width:
756
855
  description: Width in pixels
757
856
  type: integer
857
+ RelatedResource:
858
+ description: Other resource associated with the described resource.
859
+ type: object
860
+ additionalProperties: false
861
+ properties:
862
+ type:
863
+ description: The relationship of the related resource to the described resource.
864
+ type: string
865
+ title:
866
+ description: Titles of the related resource.
867
+ type: array
868
+ items:
869
+ $ref: "#/components/schemas/DescriptiveValue"
870
+ contributor:
871
+ description: Agents contributing in some way to the creation and history of the
872
+ related resource.
873
+ type: array
874
+ items:
875
+ $ref: "#/components/schemas/Contributor"
876
+ event:
877
+ description: Events in the history of the related resource.
878
+ type: array
879
+ items:
880
+ $ref: "#/components/schemas/Event"
881
+ form:
882
+ description: Characteristics of the related resource's physical, digital, and intellectual
883
+ form and genre.
884
+ type: array
885
+ items:
886
+ $ref: "#/components/schemas/DescriptiveValue"
887
+ language:
888
+ description: Languages, scripts, symbolic systems, and notations used in all or
889
+ part of a related resource.
890
+ type: array
891
+ items:
892
+ $ref: "#/components/schemas/Language"
893
+ note:
894
+ description: Additional information relevant to a related resource.
895
+ type: array
896
+ items:
897
+ $ref: "#/components/schemas/DescriptiveValue"
898
+ identifier:
899
+ description: Identifiers and URIs associated with the related resource.
900
+ type: array
901
+ items:
902
+ $ref: "#/components/schemas/DescriptiveValue"
903
+ subject:
904
+ description: Terms associated with the intellectual content of the related resource.
905
+ type: array
906
+ items:
907
+ $ref: "#/components/schemas/DescriptiveValue"
908
+ purl:
909
+ description: Stanford persistent URL associated with the related resource.
910
+ type: string
911
+ format: uri
912
+ access:
913
+ $ref: "#/components/schemas/DescriptiveAccessMetadata"
758
914
  ReleaseTag:
759
915
  description: A tag that indicates the item or collection should be released.
760
916
  type: object
@@ -1007,8 +1163,8 @@ components:
1007
1163
  - right-to-left
1008
1164
  - left-to-right
1009
1165
  Source:
1010
- description: Property model for indicating the vocabulary, authority, or other
1011
- origin for a term, code, or identifier.
1166
+ description: Property model for indicating the vocabulary, authority, or
1167
+ other origin for a term, code, or identifier.
1012
1168
  type: object
1013
1169
  additionalProperties: false
1014
1170
  properties:
@@ -1022,3 +1178,31 @@ components:
1022
1178
  value:
1023
1179
  description: String describing the value source.
1024
1180
  type: string
1181
+ note:
1182
+ description: Other information related to the value source.
1183
+ type: array
1184
+ items:
1185
+ $ref: "#/components/schemas/DescriptiveValue"
1186
+ Standard:
1187
+ description: Property model for indicating the encoding, standard, or syntax
1188
+ to which a value conforms.
1189
+ type: object
1190
+ additionalProperties: false
1191
+ properties:
1192
+ code:
1193
+ description: Code representing the standard or encoding.
1194
+ type: string
1195
+ uri:
1196
+ description: URI for the standard or encoding.
1197
+ type: string
1198
+ format: uri
1199
+ value:
1200
+ description: String describing the standard or encoding.
1201
+ type: string
1202
+ note:
1203
+ description: Other information related to the standard or encoding.
1204
+ type: array
1205
+ items:
1206
+ $ref: "#/components/schemas/DescriptiveValue"
1207
+ source:
1208
+ $ref: "#/components/schemas/Source"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocina-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.1
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-10 00:00:00.000000000 Z
11
+ date: 2020-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -263,8 +263,10 @@ files:
263
263
  - lib/cocina/models/collection_identification.rb
264
264
  - lib/cocina/models/contributor.rb
265
265
  - lib/cocina/models/description.rb
266
+ - lib/cocina/models/descriptive_access_metadata.rb
266
267
  - lib/cocina/models/descriptive_admin_metadata.rb
267
268
  - lib/cocina/models/descriptive_basic_value.rb
269
+ - lib/cocina/models/descriptive_parallel_value.rb
268
270
  - lib/cocina/models/descriptive_structured_value.rb
269
271
  - lib/cocina/models/descriptive_value.rb
270
272
  - lib/cocina/models/descriptive_value_required.rb
@@ -279,8 +281,10 @@ files:
279
281
  - lib/cocina/models/file_set_structural.rb
280
282
  - lib/cocina/models/geographic.rb
281
283
  - lib/cocina/models/identification.rb
284
+ - lib/cocina/models/language.rb
282
285
  - lib/cocina/models/message_digest.rb
283
286
  - lib/cocina/models/presentation.rb
287
+ - lib/cocina/models/related_resource.rb
284
288
  - lib/cocina/models/release_tag.rb
285
289
  - lib/cocina/models/request_admin_policy.rb
286
290
  - lib/cocina/models/request_collection.rb
@@ -292,6 +296,7 @@ files:
292
296
  - lib/cocina/models/request_identification.rb
293
297
  - lib/cocina/models/sequence.rb
294
298
  - lib/cocina/models/source.rb
299
+ - lib/cocina/models/standard.rb
295
300
  - lib/cocina/models/validator.rb
296
301
  - lib/cocina/models/version.rb
297
302
  - lib/cocina/models/vocab.rb