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 +4 -4
- data/.rubocop.yml +31 -0
- data/README.md +13 -0
- data/lib/cocina/generator/generator.rb +2 -2
- data/lib/cocina/models/access.rb +0 -2
- data/lib/cocina/models/contributor.rb +2 -0
- data/lib/cocina/models/description.rb +2 -1
- data/lib/cocina/models/descriptive_basic_value.rb +2 -1
- data/lib/cocina/models/descriptive_geographic_metadata.rb +10 -0
- data/lib/cocina/models/descriptive_value.rb +2 -1
- data/lib/cocina/models/descriptive_value_language.rb +19 -0
- data/lib/cocina/models/event.rb +3 -0
- data/lib/cocina/models/language.rb +15 -17
- data/lib/cocina/models/message_digest.rb +1 -1
- data/lib/cocina/models/related_resource.rb +11 -0
- data/lib/cocina/models/source.rb +2 -0
- data/lib/cocina/models/standard.rb +2 -0
- data/lib/cocina/models/{descriptive_value_required.rb → title.rb} +3 -2
- data/lib/cocina/models/version.rb +1 -1
- data/openapi.yml +157 -41
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a7fb04bce15550d80d32758dea67de26bbf3e0e7f0476249d24404deaab6c5b
|
|
4
|
+
data.tar.gz: b719c0868f50c0c374d9a2ccec6c6bd7b83099c6cde53b8950f821cfc83eb464
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: be9ec459083968e1321fd24d65420afa5e5c83ce7c445b8752e8873a3e42ed45d351768f9697984b6ba9d9046de1cb103b8489843916659c0297e001daa8bef5
|
|
7
|
+
data.tar.gz: 5769465759f52137fb7f0fff10752b099fe5c4dd514895341c720bc6fd6fcdb43cbb4a2e897ae2b822565b916306686c64079116968a5890543f578aad79ff2b
|
data/.rubocop.yml
CHANGED
|
@@ -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
|
data/lib/cocina/models/access.rb
CHANGED
|
@@ -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(
|
|
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 :
|
|
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 :
|
|
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
|
data/lib/cocina/models/event.rb
CHANGED
|
@@ -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 :
|
|
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
|
-
|
|
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 :
|
|
27
|
-
|
|
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
|
|
@@ -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
|
data/lib/cocina/models/source.rb
CHANGED
|
@@ -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
|
|
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 :
|
|
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
|
data/openapi.yml
CHANGED
|
@@ -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/
|
|
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
|
-
|
|
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
|
-
|
|
471
|
-
|
|
472
|
-
|
|
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
|
-
|
|
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
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
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
|
|
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.
|
|
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-
|
|
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/
|
|
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.
|
|
328
|
+
rubygems_version: 3.0.3
|
|
327
329
|
signing_key:
|
|
328
330
|
specification_version: 4
|
|
329
331
|
summary: Data models for the SDR
|