cocina-models 0.40.0 → 0.43.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: 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