cocina-models 0.34.1 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
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