diff --git a/lib/cocina/models/descriptive_basic_value.rb b/lib/cocina/models/descriptive_basic_value.rb index cb430af1..9209dc15 100644 --- a/lib/cocina/models/descriptive_basic_value.rb +++ b/lib/cocina/models/descriptive_basic_value.rb @@ -17,6 +17,7 @@ class DescriptiveBasicValue < Struct attribute :uri, Types::Strict::String.meta(omittable: true) attribute :standard, Standard.optional.meta(omittable: true) attribute :encoding, Standard.optional.meta(omittable: true) + attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :source, Source.optional.meta(omittable: true) # The preferred display label to use for the descriptive element in access systems. attribute :displayLabel, Types::Strict::String.meta(omittable: true) diff --git a/lib/cocina/models/descriptive_value.rb b/lib/cocina/models/descriptive_value.rb index 2decfe23..00b1dfa1 100644 --- a/lib/cocina/models/descriptive_value.rb +++ b/lib/cocina/models/descriptive_value.rb @@ -17,6 +17,7 @@ class DescriptiveValue < Struct attribute :uri, Types::Strict::String.meta(omittable: true) attribute :standard, Standard.optional.meta(omittable: true) attribute :encoding, Standard.optional.meta(omittable: true) + attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :source, Source.optional.meta(omittable: true) # The preferred display label to use for the descriptive element in access systems. attribute :displayLabel, Types::Strict::String.meta(omittable: true) diff --git a/lib/cocina/models/descriptive_value_language.rb b/lib/cocina/models/descriptive_value_language.rb index f42ac6f5..5a93fafa 100644 --- a/lib/cocina/models/descriptive_value_language.rb +++ b/lib/cocina/models/descriptive_value_language.rb @@ -10,9 +10,9 @@ class DescriptiveValueLanguage < Struct # String describing the standard or encoding. attribute :value, Types::Strict::String.meta(omittable: true) attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) - attribute :source, Source.optional.meta(omittable: true) - # The version of the standard or encoding. + # The version of the value standard. attribute :version, Types::Strict::String.meta(omittable: true) + attribute :source, Source.optional.meta(omittable: true) attribute :valueScript, Standard.optional.meta(omittable: true) end end diff --git a/lib/cocina/models/event.rb b/lib/cocina/models/event.rb index 5f7d8ad0..2b45ca16 100644 --- a/lib/cocina/models/event.rb +++ b/lib/cocina/models/event.rb @@ -6,9 +6,12 @@ class Event < Struct attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) # Description of the event (creation, publication, etc.). attribute :type, Types::Strict::String.meta(omittable: true) + # The preferred display label to use for the event in access systems. + attribute :displayLabel, Types::Strict::String.meta(omittable: true) attribute :date, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true) attribute :location, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) + attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) end end diff --git a/lib/cocina/models/language.rb b/lib/cocina/models/language.rb index 1a94427c..0cb3c06d 100644 --- a/lib/cocina/models/language.rb +++ b/lib/cocina/models/language.rb @@ -17,6 +17,7 @@ class Language < Struct attribute :uri, Types::Strict::String.meta(omittable: true) attribute :standard, Standard.optional.meta(omittable: true) attribute :encoding, Standard.optional.meta(omittable: true) + attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :source, Source.optional.meta(omittable: true) # The preferred display label to use for the descriptive element in access systems. attribute :displayLabel, Types::Strict::String.meta(omittable: true) diff --git a/lib/cocina/models/related_resource.rb b/lib/cocina/models/related_resource.rb index b4e50510..c2654749 100644 --- a/lib/cocina/models/related_resource.rb +++ b/lib/cocina/models/related_resource.rb @@ -5,6 +5,10 @@ module Models class RelatedResource < Struct # The relationship of the related resource to the described resource. attribute :type, Types::Strict::String.meta(omittable: true) + # Status of the related resource relative to other related resources. + attribute :status, Types::Strict::String.meta(omittable: true) + # The preferred display label to use for the related resource in access systems. + attribute :displayLabel, Types::Strict::String.meta(omittable: true) attribute :title, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true) attribute :event, Types::Strict::Array.of(Event).meta(omittable: true) @@ -12,10 +16,13 @@ class RelatedResource < Struct attribute :language, Types::Strict::Array.of(Language).meta(omittable: true) attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) + attribute :standard, Standard.optional.meta(omittable: true) attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) # Stanford persistent URL associated with the related resource. attribute :purl, Types::Strict::String.meta(omittable: true) attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true) + # The version of the related resource. + attribute :version, Types::Strict::String.meta(omittable: true) end end end diff --git a/lib/cocina/models/standard.rb b/lib/cocina/models/standard.rb index 4acb1661..739b545a 100644 --- a/lib/cocina/models/standard.rb +++ b/lib/cocina/models/standard.rb @@ -10,9 +10,9 @@ class Standard < Struct # String describing the standard or encoding. attribute :value, Types::Strict::String.meta(omittable: true) attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) - attribute :source, Source.optional.meta(omittable: true) - # The version of the standard or encoding. + # The version of the value standard. attribute :version, Types::Strict::String.meta(omittable: true) + attribute :source, Source.optional.meta(omittable: true) end end end diff --git a/lib/cocina/models/title.rb b/lib/cocina/models/title.rb index 00270e65..d48b963b 100644 --- a/lib/cocina/models/title.rb +++ b/lib/cocina/models/title.rb @@ -17,6 +17,7 @@ class Title < Struct attribute :uri, Types::Strict::String.meta(omittable: true) attribute :standard, Standard.optional.meta(omittable: true) attribute :encoding, Standard.optional.meta(omittable: true) + attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true) attribute :source, Source.optional.meta(omittable: true) # The preferred display label to use for the descriptive element in access systems. attribute :displayLabel, Types::Strict::String.meta(omittable: true) diff --git a/openapi.yml b/openapi.yml index 93677194..0bd17446 100644 --- a/openapi.yml +++ b/openapi.yml @@ -261,6 +261,7 @@ components: description: Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors). type: string + # type: integer role: description: Relationships of the contributor to the resource or to an event in its history. @@ -300,7 +301,7 @@ components: $ref: "#/components/schemas/Event" form: description: Characteristics of the resource's physical, digital, and intellectual - form and genre. + form and genre, and of its process of creation. type: array items: $ref: "#/components/schemas/DescriptiveValue" @@ -435,6 +436,7 @@ components: description: Status of the descriptive element value relative to other instances of the element. type: string + # type: integer (uncomment when issue #154 is resolved) code: description: Code value of the descriptive element. type: string @@ -448,6 +450,11 @@ components: encoding: # description: Encoding schema, standard, or syntax to which the value conforms. $ref: "#/components/schemas/Standard" + identifier: + description: Identifiers and URIs associated with the descriptive element. + type: array + items: + $ref: "#/components/schemas/DescriptiveValue" source: $ref: "#/components/schemas/Source" displayLabel: @@ -685,6 +692,9 @@ components: type: description: Description of the event (creation, publication, etc.). type: string + displayLabel: + description: The preferred display label to use for the event in access systems. + type: string date: description: Dates associated with the event. type: array @@ -700,6 +710,11 @@ components: type: array items: $ref: "#/components/schemas/DescriptiveValue" + identifier: + description: Identifiers and URIs associated with the event. + type: array + items: + $ref: "#/components/schemas/DescriptiveValue" note: description: Other information about the event. type: array @@ -912,6 +927,13 @@ components: type: description: The relationship of the related resource to the described resource. type: string + status: + description: Status of the related resource relative to other related resources. + type: string + # type: integer + displayLabel: + description: The preferred display label to use for the related resource in access systems. + type: string title: description: Titles of the related resource. type: array @@ -930,7 +952,7 @@ components: $ref: "#/components/schemas/Event" form: description: Characteristics of the related resource's physical, digital, and intellectual - form and genre. + form and genre, and of its process of creation. type: array items: $ref: "#/components/schemas/DescriptiveValue" @@ -950,6 +972,9 @@ components: type: array items: $ref: "#/components/schemas/DescriptiveValue" + standard: + # description: Descriptive or content standards to which the value conforms. + $ref: "#/components/schemas/Standard" subject: description: Terms associated with the intellectual content of the related resource. type: array @@ -961,6 +986,9 @@ components: format: uri access: $ref: "#/components/schemas/DescriptiveAccessMetadata" + version: + description: The version of the related resource. + type: string ReleaseTag: description: A tag that indicates the item or collection should be released. type: object @@ -1244,7 +1272,7 @@ components: example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026' Standard: description: Property model for indicating the encoding, standard, or syntax - to which a value conforms. + to which a value conforms (e.g. RDA). type: object additionalProperties: false properties: @@ -1263,8 +1291,8 @@ components: type: array items: $ref: "#/components/schemas/DescriptiveValue" - source: - $ref: "#/components/schemas/Source" version: description: The version of the standard or encoding. type: string + source: + $ref: "#/components/schemas/Source"