cocina-models 0.40.0 → 0.43.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: d9154e8ca9a9e0a023094e98709e443b58570a358deb4c8b329509642bfda0f7
4
- data.tar.gz: 317c6faa7072fa4441c601e277a63b60149c183ba9b836ab95c0f2ee0f96f949
3
+ metadata.gz: 6a7fb04bce15550d80d32758dea67de26bbf3e0e7f0476249d24404deaab6c5b
4
+ data.tar.gz: b719c0868f50c0c374d9a2ccec6c6bd7b83099c6cde53b8950f821cfc83eb464
5
5
  SHA512:
6
- metadata.gz: 949161b1712417293974e89d98b62116d0cba3582d60fbfb728dfb6a51b78ca737ad02509a9f711cdc3aba27886caed1ca224711ec6ba80d3ba14822febfdf64
7
- data.tar.gz: 5a3b10e3b9747b3e1317754eb40b0e3c9c581cf8397aaafdd8e5a5a338b07791f32b2f54d159e2399dd7934d1a49f709dd63af04388ad1d0e85386229d3be978
6
+ metadata.gz: be9ec459083968e1321fd24d65420afa5e5c83ce7c445b8752e8873a3e42ed45d351768f9697984b6ba9d9046de1cb103b8489843916659c0297e001daa8bef5
7
+ data.tar.gz: 5769465759f52137fb7f0fff10752b099fe5c4dd514895341c720bc6fd6fcdb43cbb4a2e897ae2b822565b916306686c64079116968a5890543f578aad79ff2b
@@ -143,3 +143,34 @@ Style/SingleArgumentDig:
143
143
 
144
144
  Style/StringConcatenation:
145
145
  Enabled: true
146
+
147
+ Layout/BeginEndAlignment: # (new in 0.91)
148
+ Enabled: true
149
+ Lint/ConstantDefinitionInBlock: # (new in 0.91)
150
+ Enabled: true
151
+ Lint/DuplicateRequire: # (new in 0.90)
152
+ Enabled: true
153
+ Lint/EmptyFile: # (new in 0.90)
154
+ Enabled: true
155
+ Lint/HashCompareByIdentity: # (new in 0.93)
156
+ Enabled: true
157
+ Lint/IdentityComparison: # (new in 0.91)
158
+ Enabled: true
159
+ Lint/RedundantSafeNavigation: # (new in 0.93)
160
+ Enabled: true
161
+ Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
162
+ Enabled: true
163
+ Lint/UselessMethodDefinition: # (new in 0.90)
164
+ Enabled: true
165
+ Lint/UselessTimes: # (new in 0.91)
166
+ Enabled: true
167
+ Style/ClassEqualityComparison: # (new in 0.93)
168
+ Enabled: true
169
+ Style/CombinableLoops: # (new in 0.90)
170
+ Enabled: true
171
+ Style/KeywordParametersOrder: # (new in 0.90)
172
+ Enabled: true
173
+ Style/RedundantSelfAssignment: # (new in 0.90)
174
+ Enabled: true
175
+ Style/SoleNestedConditional: # (new in 0.89)
176
+ Enabled: true
data/README.md CHANGED
@@ -42,6 +42,19 @@ which pushes the gem to rubygems.org. Next write up the release notes: https://
42
42
 
43
43
  Finally, you must release versions of [sdr-client](https://github.com/sul-dlss/sdr-client) and [dor-services-client](https://github.com/sul-dlss/dor-services-client/) pinned to this version because [Argo](https://github.com/sul-dlss/argo) depends on both of those. When [dor-services-app](https://github.com/sul-dlss/dor-services-app) is updated to use the new models (via the auto-update script), the clients must be updated at the same time or there is risk of models produced by dor-services-app not being acceptable to the clients.
44
44
 
45
+ ### Dependent Services
46
+
47
+ Once the above listed gems are updated all the following services that use cocina-models should be updated and released at the same time:
48
+
49
+ * sul-dlss/sdr-api
50
+ * sul-dlss/dor-services-app
51
+ * sul-dlss/google-books
52
+ * sul-dlss/common-accessioning
53
+ * sul-dlss/argo
54
+ * sul-dlss/pre-assembly
55
+ * sul-dlss/hydrus
56
+ * sul-dlss/happy-heron
57
+ * sul-dlss/infrastructure-integration-test
45
58
 
46
59
  ## Using this gem
47
60
 
@@ -45,7 +45,7 @@ module Cocina
45
45
  FileUtils.rm_f(filepath)
46
46
 
47
47
  create_file filepath, vocab.generate
48
- run("rubocop -a #{filepath}")
48
+ run("rubocop -a #{filepath} > /dev/null")
49
49
  end
50
50
 
51
51
  private
@@ -71,7 +71,7 @@ module Cocina
71
71
  FileUtils.rm_f(filepath)
72
72
 
73
73
  create_file filepath, schema.generate
74
- run("rubocop -a #{filepath}")
74
+ run("rubocop -a #{filepath} > /dev/null")
75
75
  end
76
76
 
77
77
  def clean_output
@@ -5,8 +5,6 @@ module Cocina
5
5
  class Access < Struct
6
6
  # Access level
7
7
  attribute :access, Types::Strict::String.default('dark').enum('world', 'stanford', 'location-based', 'citation-only', 'dark').meta(omittable: true)
8
- # Download access level for a file
9
- attribute :download, Types::Strict::String.default('none').enum('world', 'stanford', 'location-based', 'none').meta(omittable: true)
10
8
  # If access is "location-based", which location should have access.
11
9
  attribute :readLocation, Types::Strict::String.enum('spec', 'music', 'ars', 'art', 'hoover', 'm&m').meta(omittable: true)
12
10
  end
@@ -11,6 +11,8 @@ module Cocina
11
11
  attribute :role, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
12
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
13
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
+ # Place of contributor in order of authorship for resource.
15
+ attribute :order, Types::Strict::Integer.meta(omittable: true)
14
16
  end
15
17
  end
16
18
  end
@@ -3,10 +3,11 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class Description < Struct
6
- attribute :title, Types::Strict::Array.of(DescriptiveValueRequired).default([].freeze)
6
+ attribute :title, Types::Strict::Array.of(Title).default([].freeze)
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 :geographic, Types::Strict::Array.of(DescriptiveGeographicMetadata).meta(omittable: true)
10
11
  attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
11
12
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
13
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
@@ -17,13 +17,14 @@ module Cocina
17
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
18
18
  attribute :standard, Standard.optional.meta(omittable: true)
19
19
  attribute :encoding, Standard.optional.meta(omittable: true)
20
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
20
21
  attribute :source, Source.optional.meta(omittable: true)
21
22
  # The preferred display label to use for the descriptive element in access systems.
22
23
  attribute :displayLabel, Types::Strict::String.meta(omittable: true)
23
24
  # A term providing information about the circumstances of the statement (e.g., approximate dates).
24
25
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
25
26
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
26
- attribute :language, Standard.optional.meta(omittable: true)
27
+ attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
27
28
  end
28
29
  end
29
30
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ class DescriptiveGeographicMetadata < Struct
6
+ attribute :form, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ end
9
+ end
10
+ end
@@ -17,13 +17,14 @@ module Cocina
17
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
18
18
  attribute :standard, Standard.optional.meta(omittable: true)
19
19
  attribute :encoding, Standard.optional.meta(omittable: true)
20
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
20
21
  attribute :source, Source.optional.meta(omittable: true)
21
22
  # The preferred display label to use for the descriptive element in access systems.
22
23
  attribute :displayLabel, Types::Strict::String.meta(omittable: true)
23
24
  # A term providing information about the circumstances of the statement (e.g., approximate dates).
24
25
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
25
26
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
26
- attribute :language, Standard.optional.meta(omittable: true)
27
+ attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
27
28
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
28
29
  end
29
30
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ class DescriptiveValueLanguage < 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
+ # The version of the standard or encoding.
14
+ attribute :version, Types::Strict::String.meta(omittable: true)
15
+ attribute :source, Source.optional.meta(omittable: true)
16
+ attribute :valueScript, Standard.optional.meta(omittable: true)
17
+ end
18
+ end
19
+ end
@@ -6,9 +6,12 @@ module Cocina
6
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
+ # The preferred display label to use for the event in access systems.
10
+ attribute :displayLabel, Types::Strict::String.meta(omittable: true)
9
11
  attribute :date, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
12
  attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
11
13
  attribute :location, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
15
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
16
  end
14
17
  end
@@ -3,29 +3,27 @@
3
3
  module Cocina
4
4
  module Models
5
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 or integer value of the descriptive element.
9
- attribute :value, Types::Nominal::Any.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)
6
+ attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
14
7
  # Code value of the descriptive element.
15
8
  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
9
  # The preferred display label to use for the descriptive element in access systems.
22
10
  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)
11
+ attribute :encoding, Standard.optional.meta(omittable: true)
25
12
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
26
- attribute :language, Standard.optional.meta(omittable: true)
27
- attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
13
+ attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
+ # present for mapping to additional schemas in the future and for consistency but not otherwise used
15
+ attribute :qualifier, Types::Strict::String.meta(omittable: true)
28
16
  attribute :script, DescriptiveValue.optional.meta(omittable: true)
17
+ attribute :source, Source.optional.meta(omittable: true)
18
+ # Status of the language relative to other parallel language elements (e.g. the primary language)
19
+ attribute :status, Types::Strict::String.enum('primary').meta(omittable: true)
20
+ attribute :standard, Standard.optional.meta(omittable: true)
21
+ attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
22
+ # URI value of the descriptive element.
23
+ attribute :uri, Types::Strict::String.meta(omittable: true)
24
+ # Value of the descriptive element.
25
+ attribute :value, Types::Strict::String.meta(omittable: true)
26
+ attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
29
27
  end
30
28
  end
31
29
  end
@@ -10,7 +10,7 @@ module Cocina
10
10
 
11
11
  # The algorithm that was used
12
12
  attribute :type, Types::Strict::String.enum(*MessageDigest::TYPES)
13
- # The digest value Base64 encoded
13
+ # The digest value hexidecimal encoded
14
14
  attribute :digest, Types::Strict::String
15
15
  end
16
16
  end
@@ -5,6 +5,10 @@ module Cocina
5
5
  class RelatedResource < Struct
6
6
  # The relationship of the related resource to the described resource.
7
7
  attribute :type, Types::Strict::String.meta(omittable: true)
8
+ # Status of the related resource relative to other related resources.
9
+ attribute :status, Types::Strict::String.meta(omittable: true)
10
+ # The preferred display label to use for the related resource in access systems.
11
+ attribute :displayLabel, Types::Strict::String.meta(omittable: true)
8
12
  attribute :title, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
9
13
  attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
10
14
  attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
@@ -12,10 +16,17 @@ module Cocina
12
16
  attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
13
17
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
18
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
19
+ attribute :standard, Standard.optional.meta(omittable: true)
15
20
  attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
16
21
  # Stanford persistent URL associated with the related resource.
17
22
  attribute :purl, Types::Strict::String.meta(omittable: true)
18
23
  attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
24
+ attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
25
+ attribute :adminMetadata, DescriptiveAdminMetadata.optional.meta(omittable: true)
26
+ # The version of the related resource.
27
+ attribute :version, Types::Strict::String.meta(omittable: true)
28
+ # The order of the related resource in a series of related resources.
29
+ attribute :order, Types::Strict::Integer.meta(omittable: true)
19
30
  end
20
31
  end
21
32
  end
@@ -10,6 +10,8 @@ module Cocina
10
10
  # String describing the value source.
11
11
  attribute :value, Types::Strict::String.meta(omittable: true)
12
12
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
+ # The version of the value source.
14
+ attribute :version, Types::Strict::String.meta(omittable: true)
13
15
  end
14
16
  end
15
17
  end
@@ -10,6 +10,8 @@ module Cocina
10
10
  # String describing the standard or encoding.
11
11
  attribute :value, Types::Strict::String.meta(omittable: true)
12
12
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
+ # The version of the standard or encoding.
14
+ attribute :version, Types::Strict::String.meta(omittable: true)
13
15
  attribute :source, Source.optional.meta(omittable: true)
14
16
  end
15
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- class DescriptiveValueRequired < Struct
5
+ class Title < Struct
6
6
  attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
8
  # String or integer value of the descriptive element.
@@ -17,13 +17,14 @@ module Cocina
17
17
  attribute :uri, Types::Strict::String.meta(omittable: true)
18
18
  attribute :standard, Standard.optional.meta(omittable: true)
19
19
  attribute :encoding, Standard.optional.meta(omittable: true)
20
+ attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
20
21
  attribute :source, Source.optional.meta(omittable: true)
21
22
  # The preferred display label to use for the descriptive element in access systems.
22
23
  attribute :displayLabel, Types::Strict::String.meta(omittable: true)
23
24
  # A term providing information about the circumstances of the statement (e.g., approximate dates).
24
25
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
25
26
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
26
- attribute :language, Standard.optional.meta(omittable: true)
27
+ attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
27
28
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
28
29
  end
29
30
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.40.0'
5
+ VERSION = '0.43.0'
6
6
  end
7
7
  end
@@ -108,15 +108,6 @@ components:
108
108
  - 'citation-only'
109
109
  - 'dark'
110
110
  default: 'dark'
111
- download:
112
- description: Download access level for a file
113
- type: string
114
- enum:
115
- - 'world'
116
- - 'stanford'
117
- - 'location-based'
118
- - 'none'
119
- default: 'none'
120
111
  readLocation:
121
112
  description: If access is "location-based", which location should have access.
122
113
  type: string
@@ -286,6 +277,9 @@ components:
286
277
  type: array
287
278
  items:
288
279
  $ref: "#/components/schemas/DescriptiveValue"
280
+ order:
281
+ description: Place of contributor in order of authorship for resource.
282
+ type: integer
289
283
  Description:
290
284
  type: object
291
285
  additionalProperties: false
@@ -295,7 +289,7 @@ components:
295
289
  type: array
296
290
  minItems: 1
297
291
  items:
298
- $ref: "#/components/schemas/DescriptiveValueRequired"
292
+ $ref: "#/components/schemas/Title"
299
293
  contributor:
300
294
  description: Agents contributing in some way to the creation and history of the
301
295
  resource.
@@ -309,10 +303,15 @@ components:
309
303
  $ref: "#/components/schemas/Event"
310
304
  form:
311
305
  description: Characteristics of the resource's physical, digital, and intellectual
312
- form and genre.
306
+ form and genre, and of its process of creation.
313
307
  type: array
314
308
  items:
315
309
  $ref: "#/components/schemas/DescriptiveValue"
310
+ geographic:
311
+ description: Geographic description for items with coordinates or bounding boxes.
312
+ type: array
313
+ items:
314
+ $ref: "#/components/schemas/DescriptiveGeographicMetadata"
316
315
  language:
317
316
  description: Languages, scripts, symbolic systems, and notations used in all or
318
317
  part of a resource.
@@ -433,7 +432,10 @@ components:
433
432
  description: String or integer value of the descriptive element.
434
433
  oneOf:
435
434
  - type: string
436
- - type: integer
435
+ # Title note (nonsorting character count) was supposed to be able to accept an integer value,
436
+ # but this triggered a bug in committee:
437
+ # https://github.com/interagent/committee/issues/286
438
+ # - type: integer
437
439
  type:
438
440
  description: Type of value provided by the descriptive element.
439
441
  type: string
@@ -454,6 +456,11 @@ components:
454
456
  encoding:
455
457
  # description: Encoding schema, standard, or syntax to which the value conforms.
456
458
  $ref: "#/components/schemas/Standard"
459
+ identifier:
460
+ description: Identifiers and URIs associated with the descriptive element.
461
+ type: array
462
+ items:
463
+ $ref: "#/components/schemas/DescriptiveValue"
457
464
  source:
458
465
  $ref: "#/components/schemas/Source"
459
466
  displayLabel:
@@ -467,9 +474,22 @@ components:
467
474
  type: array
468
475
  items:
469
476
  $ref: "#/components/schemas/DescriptiveValue"
470
- language:
471
- # description: Language of the descriptive element value.
472
- $ref: "#/components/schemas/Standard"
477
+ valueLanguage:
478
+ $ref: "#/components/schemas/DescriptiveValueLanguage"
479
+ DescriptiveGeographicMetadata:
480
+ description: Value model for mods geographic extension metadata
481
+ type: object
482
+ additionalProperties: false
483
+ properties:
484
+ form:
485
+ type: array
486
+ items:
487
+ $ref: "#/components/schemas/DescriptiveValue"
488
+ subject:
489
+ description: Terms associated with the intellectual content of the related resource.
490
+ type: array
491
+ items:
492
+ $ref: "#/components/schemas/DescriptiveValue"
473
493
  DescriptiveParallelValue:
474
494
  description: Value model for multiple representations of the same information (e.g. in different languages).
475
495
  type: object
@@ -495,7 +515,19 @@ components:
495
515
  allOf:
496
516
  - $ref: "#/components/schemas/DescriptiveBasicValue"
497
517
  - $ref: "#/components/schemas/AppliesTo"
498
- DescriptiveValueRequired:
518
+ DescriptiveValueLanguage:
519
+ description: Language of the descriptive element value
520
+ type: object
521
+ additionalProperties: false
522
+ allOf:
523
+ - $ref: "#/components/schemas/Standard"
524
+ - type: object
525
+ properties:
526
+ valueScript:
527
+ $ref: '#/components/schemas/Standard'
528
+ # description: An alphabet or other notation used to represent a
529
+ # language or other symbolic system of the descriptive element value.
530
+ Title:
499
531
  type: object
500
532
  additionalProperties: false
501
533
  allOf:
@@ -507,6 +539,9 @@ components:
507
539
  - type: object
508
540
  required:
509
541
  - structuredValue
542
+ - type: object
543
+ required:
544
+ - parallelValue
510
545
  DRO:
511
546
  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.
512
547
  type: object
@@ -677,6 +712,9 @@ components:
677
712
  type:
678
713
  description: Description of the event (creation, publication, etc.).
679
714
  type: string
715
+ displayLabel:
716
+ description: The preferred display label to use for the event in access systems.
717
+ type: string
680
718
  date:
681
719
  description: Dates associated with the event.
682
720
  type: array
@@ -692,6 +730,11 @@ components:
692
730
  type: array
693
731
  items:
694
732
  $ref: "#/components/schemas/DescriptiveValue"
733
+ identifier:
734
+ description: Identifiers and URIs associated with the event.
735
+ type: array
736
+ items:
737
+ $ref: "#/components/schemas/DescriptiveValue"
695
738
  note:
696
739
  description: Other information about the event.
697
740
  type: array
@@ -857,17 +900,62 @@ components:
857
900
  or part of a resource or its descriptive metadata.
858
901
  type: object
859
902
  additionalProperties: false
860
- allOf:
861
- - $ref: '#/components/schemas/DescriptiveValue'
862
- - type: object
863
- # additionalProperties breaks the validator, presumably because it can't
864
- # conform to other schemas (allOf) and not have additionalProperties
865
- # additionalProperties: false
866
- properties:
867
- script:
868
- $ref: '#/components/schemas/DescriptiveValue'
869
- # description: An alphabet or other notation used to represent a
870
- # language or other symbolic system associated with the resource.
903
+ properties:
904
+ appliesTo:
905
+ type: array
906
+ items:
907
+ $ref: "#/components/schemas/DescriptiveBasicValue"
908
+ code:
909
+ description: Code value of the descriptive element.
910
+ type: string
911
+ displayLabel:
912
+ description: The preferred display label to use for the descriptive element in access systems.
913
+ type: string
914
+ encoding:
915
+ # description: present for mapping to additional schemas in the future and for consistency but not otherwise used
916
+ $ref: "#/components/schemas/Standard"
917
+ note:
918
+ description: present for mapping to additional schemas in the future and for consistency but not otherwise used
919
+ type: array
920
+ items:
921
+ $ref: "#/components/schemas/DescriptiveValue"
922
+ parallelValue:
923
+ description: present for mapping to additional schemas in the future and for consistency but not otherwise used
924
+ type: array
925
+ items:
926
+ $ref: "#/components/schemas/DescriptiveValue"
927
+ qualifier:
928
+ type: string
929
+ description: present for mapping to additional schemas in the future and for consistency but not otherwise used
930
+ script:
931
+ $ref: '#/components/schemas/DescriptiveValue'
932
+ # description: An alphabet or other notation used to represent a
933
+ # language or other symbolic system associated with the resource.
934
+ source:
935
+ $ref: "#/components/schemas/Source"
936
+ status:
937
+ description: Status of the language relative to other parallel language elements (e.g. the primary language)
938
+ type: string
939
+ enum:
940
+ - primary
941
+ standard:
942
+ # description: present for mapping to additional schemas in the future and for consistency but not otherwise used
943
+ $ref: "#/components/schemas/Standard"
944
+ structuredValue:
945
+ description: present for mapping to additional schemas in the future and for consistency but not otherwise used
946
+ type: array
947
+ items:
948
+ $ref: "#/components/schemas/DescriptiveValue"
949
+ uri:
950
+ description: URI value of the descriptive element.
951
+ type: string
952
+ format: uri
953
+ value:
954
+ description: Value of the descriptive element.
955
+ type: string
956
+ valueLanguage:
957
+ # description: present for mapping to additional schemas in the future and for consistency but not otherwise used
958
+ $ref: "#/components/schemas/DescriptiveValueLanguage"
871
959
  MessageDigest:
872
960
  description: The output of the message digest algorithm.
873
961
  type: object
@@ -880,7 +968,7 @@ components:
880
968
  - md5
881
969
  - sha1
882
970
  digest:
883
- description: The digest value Base64 encoded
971
+ description: The digest value hexidecimal encoded
884
972
  type: string
885
973
  required:
886
974
  - type
@@ -904,6 +992,12 @@ components:
904
992
  type:
905
993
  description: The relationship of the related resource to the described resource.
906
994
  type: string
995
+ status:
996
+ description: Status of the related resource relative to other related resources.
997
+ type: string
998
+ displayLabel:
999
+ description: The preferred display label to use for the related resource in access systems.
1000
+ type: string
907
1001
  title:
908
1002
  description: Titles of the related resource.
909
1003
  type: array
@@ -922,7 +1016,7 @@ components:
922
1016
  $ref: "#/components/schemas/Event"
923
1017
  form:
924
1018
  description: Characteristics of the related resource's physical, digital, and intellectual
925
- form and genre.
1019
+ form and genre, and of its process of creation.
926
1020
  type: array
927
1021
  items:
928
1022
  $ref: "#/components/schemas/DescriptiveValue"
@@ -942,6 +1036,9 @@ components:
942
1036
  type: array
943
1037
  items:
944
1038
  $ref: "#/components/schemas/DescriptiveValue"
1039
+ standard:
1040
+ # description: Descriptive or content standards to which the value conforms.
1041
+ $ref: "#/components/schemas/Standard"
945
1042
  subject:
946
1043
  description: Terms associated with the intellectual content of the related resource.
947
1044
  type: array
@@ -953,6 +1050,19 @@ components:
953
1050
  format: uri
954
1051
  access:
955
1052
  $ref: "#/components/schemas/DescriptiveAccessMetadata"
1053
+ relatedResource:
1054
+ description: Other resources associated with the related resource.
1055
+ type: array
1056
+ items:
1057
+ $ref: "#/components/schemas/RelatedResource"
1058
+ adminMetadata:
1059
+ $ref: "#/components/schemas/DescriptiveAdminMetadata"
1060
+ version:
1061
+ description: The version of the related resource.
1062
+ type: string
1063
+ order:
1064
+ description: The order of the related resource in a series of related resources.
1065
+ type: integer
956
1066
  ReleaseTag:
957
1067
  description: A tag that indicates the item or collection should be released.
958
1068
  type: object
@@ -1220,9 +1330,23 @@ components:
1220
1330
  type: array
1221
1331
  items:
1222
1332
  $ref: "#/components/schemas/DescriptiveValue"
1333
+ version:
1334
+ description: The version of the value source.
1335
+ type: string
1336
+ SourceId:
1337
+ type: string
1338
+ pattern: '^.+:.+$'
1339
+ description: >
1340
+ Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
1341
+ historically and currently, are representations of objects that are also represented in other systems.
1342
+ For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
1343
+ in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
1344
+ and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
1345
+ look for the original item if you're looking at its SDR representation. The format is: "namespace:identifier"
1346
+ example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
1223
1347
  Standard:
1224
1348
  description: Property model for indicating the encoding, standard, or syntax
1225
- to which a value conforms.
1349
+ to which a value conforms (e.g. RDA).
1226
1350
  type: object
1227
1351
  additionalProperties: false
1228
1352
  properties:
@@ -1241,16 +1365,8 @@ components:
1241
1365
  type: array
1242
1366
  items:
1243
1367
  $ref: "#/components/schemas/DescriptiveValue"
1368
+ version:
1369
+ description: The version of the standard or encoding.
1370
+ type: string
1244
1371
  source:
1245
1372
  $ref: "#/components/schemas/Source"
1246
- SourceId:
1247
- type: string
1248
- pattern: '^.+:.+$'
1249
- description: >
1250
- Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
1251
- historically and currently, are representations of objects that are also represented in other systems.
1252
- For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
1253
- in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
1254
- and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
1255
- look for the original item if you're looking at its SDR representation. The format is: "namespace:identifier"
1256
- example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
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.40.0
4
+ version: 0.43.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-09-09 00:00:00.000000000 Z
11
+ date: 2020-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -267,10 +267,11 @@ files:
267
267
  - lib/cocina/models/descriptive_access_metadata.rb
268
268
  - lib/cocina/models/descriptive_admin_metadata.rb
269
269
  - lib/cocina/models/descriptive_basic_value.rb
270
+ - lib/cocina/models/descriptive_geographic_metadata.rb
270
271
  - lib/cocina/models/descriptive_parallel_value.rb
271
272
  - lib/cocina/models/descriptive_structured_value.rb
272
273
  - lib/cocina/models/descriptive_value.rb
273
- - lib/cocina/models/descriptive_value_required.rb
274
+ - lib/cocina/models/descriptive_value_language.rb
274
275
  - lib/cocina/models/dro.rb
275
276
  - lib/cocina/models/dro_access.rb
276
277
  - lib/cocina/models/dro_structural.rb
@@ -301,6 +302,7 @@ files:
301
302
  - lib/cocina/models/source.rb
302
303
  - lib/cocina/models/source_id.rb
303
304
  - lib/cocina/models/standard.rb
305
+ - lib/cocina/models/title.rb
304
306
  - lib/cocina/models/validator.rb
305
307
  - lib/cocina/models/version.rb
306
308
  - lib/cocina/models/vocab.rb
@@ -323,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
323
325
  - !ruby/object:Gem::Version
324
326
  version: '0'
325
327
  requirements: []
326
- rubygems_version: 3.1.2
328
+ rubygems_version: 3.0.3
327
329
  signing_key:
328
330
  specification_version: 4
329
331
  summary: Data models for the SDR