cocina-models 0.75.0 → 0.78.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +40 -12
  3. data/.rubocop_todo.yml +71 -2
  4. data/README.md +41 -5
  5. data/cocina-models.gemspec +2 -0
  6. data/description_types.yml +167 -38
  7. data/docs/description_types.md +471 -216
  8. data/lib/cocina/generator/generator.rb +7 -12
  9. data/lib/cocina/generator/schema.rb +1 -3
  10. data/lib/cocina/generator/schema_base.rb +0 -8
  11. data/lib/cocina/generator/schema_ref.rb +1 -1
  12. data/lib/cocina/generator/schema_value.rb +14 -4
  13. data/lib/cocina/models/access.rb +4 -4
  14. data/lib/cocina/models/admin_policy.rb +1 -1
  15. data/lib/cocina/models/admin_policy_access_template.rb +7 -7
  16. data/lib/cocina/models/admin_policy_administrative.rb +1 -1
  17. data/lib/cocina/models/admin_policy_with_metadata.rb +3 -3
  18. data/lib/cocina/models/builders/name_title_group_builder.rb +0 -4
  19. data/lib/cocina/models/builders/title_builder.rb +0 -2
  20. data/lib/cocina/models/citation_only_access.rb +2 -2
  21. data/lib/cocina/models/collection_access.rb +4 -4
  22. data/lib/cocina/models/collection_identification.rb +1 -1
  23. data/lib/cocina/models/collection_with_metadata.rb +2 -2
  24. data/lib/cocina/models/contributor.rb +4 -4
  25. data/lib/cocina/models/controlled_digital_lending_access.rb +2 -2
  26. data/lib/cocina/models/dark_access.rb +4 -4
  27. data/lib/cocina/models/description.rb +3 -3
  28. data/lib/cocina/models/descriptive_basic_value.rb +13 -13
  29. data/lib/cocina/models/descriptive_parallel_contributor.rb +5 -5
  30. data/lib/cocina/models/descriptive_parallel_event.rb +3 -3
  31. data/lib/cocina/models/descriptive_value.rb +13 -13
  32. data/lib/cocina/models/descriptive_value_language.rb +6 -6
  33. data/lib/cocina/models/dro.rb +1 -1
  34. data/lib/cocina/models/dro_access.rb +8 -8
  35. data/lib/cocina/models/dro_with_metadata.rb +3 -3
  36. data/lib/cocina/models/embargo.rb +5 -5
  37. data/lib/cocina/models/event.rb +3 -3
  38. data/lib/cocina/models/file.rb +4 -4
  39. data/lib/cocina/models/file_access.rb +4 -4
  40. data/lib/cocina/models/identification.rb +2 -2
  41. data/lib/cocina/models/language.rb +12 -12
  42. data/lib/cocina/models/location_based_access.rb +1 -1
  43. data/lib/cocina/models/location_based_download_access.rb +1 -1
  44. data/lib/cocina/models/mapping/error_notifier.rb +36 -0
  45. data/lib/cocina/models/mapping/from_mods/access.rb +177 -0
  46. data/lib/cocina/models/mapping/from_mods/admin_metadata.rb +217 -0
  47. data/lib/cocina/models/mapping/from_mods/alt_rep_group.rb +26 -0
  48. data/lib/cocina/models/mapping/from_mods/authority.rb +51 -0
  49. data/lib/cocina/models/mapping/from_mods/contributor.rb +161 -0
  50. data/lib/cocina/models/mapping/from_mods/description.rb +98 -0
  51. data/lib/cocina/models/mapping/from_mods/description_builder.rb +61 -0
  52. data/lib/cocina/models/mapping/from_mods/event.rb +543 -0
  53. data/lib/cocina/models/mapping/from_mods/form.rb +381 -0
  54. data/lib/cocina/models/mapping/from_mods/geographic.rb +219 -0
  55. data/lib/cocina/models/mapping/from_mods/hydrus_default_title_builder.rb +28 -0
  56. data/lib/cocina/models/mapping/from_mods/identifier.rb +51 -0
  57. data/lib/cocina/models/mapping/from_mods/identifier_builder.rb +71 -0
  58. data/lib/cocina/models/mapping/from_mods/identifier_type.rb +292 -0
  59. data/lib/cocina/models/mapping/from_mods/language.rb +36 -0
  60. data/lib/cocina/models/mapping/from_mods/language_script.rb +30 -0
  61. data/lib/cocina/models/mapping/from_mods/language_term.rb +106 -0
  62. data/lib/cocina/models/mapping/from_mods/name_builder.rb +307 -0
  63. data/lib/cocina/models/mapping/from_mods/note.rb +162 -0
  64. data/lib/cocina/models/mapping/from_mods/part_builder.rb +147 -0
  65. data/lib/cocina/models/mapping/from_mods/primary.rb +27 -0
  66. data/lib/cocina/models/mapping/from_mods/purl.rb +53 -0
  67. data/lib/cocina/models/mapping/from_mods/related_resource.rb +105 -0
  68. data/lib/cocina/models/mapping/from_mods/subject.rb +413 -0
  69. data/lib/cocina/models/mapping/from_mods/subject_authority_codes.rb +794 -0
  70. data/lib/cocina/models/mapping/from_mods/title.rb +160 -0
  71. data/lib/cocina/models/mapping/from_mods/title_builder.rb +106 -0
  72. data/lib/cocina/models/mapping/from_mods/title_builder_strategy.rb +19 -0
  73. data/lib/cocina/models/mapping/from_mods/value_uri.rb +25 -0
  74. data/lib/cocina/models/mapping/normalizers/base.rb +16 -0
  75. data/lib/cocina/models/mapping/normalizers/mods/geo_extension_normalizer.rb +69 -0
  76. data/lib/cocina/models/mapping/normalizers/mods/name_normalizer.rb +191 -0
  77. data/lib/cocina/models/mapping/normalizers/mods/origin_info_normalizer.rb +157 -0
  78. data/lib/cocina/models/mapping/normalizers/mods/subject_normalizer.rb +296 -0
  79. data/lib/cocina/models/mapping/normalizers/mods/title_normalizer.rb +91 -0
  80. data/lib/cocina/models/mapping/normalizers/mods_normalizer.rb +409 -0
  81. data/lib/cocina/models/mapping/purl.rb +27 -0
  82. data/lib/cocina/models/mapping/to_mods/access.rb +155 -0
  83. data/lib/cocina/models/mapping/to_mods/admin_metadata.rb +129 -0
  84. data/lib/cocina/models/mapping/to_mods/contributor.rb +49 -0
  85. data/lib/cocina/models/mapping/to_mods/description.rb +63 -0
  86. data/lib/cocina/models/mapping/to_mods/event.rb +200 -0
  87. data/lib/cocina/models/mapping/to_mods/form.rb +292 -0
  88. data/lib/cocina/models/mapping/to_mods/geographic.rb +151 -0
  89. data/lib/cocina/models/mapping/to_mods/id_generator.rb +25 -0
  90. data/lib/cocina/models/mapping/to_mods/identifier.rb +57 -0
  91. data/lib/cocina/models/mapping/to_mods/language.rb +82 -0
  92. data/lib/cocina/models/mapping/to_mods/mods_writer.rb +38 -0
  93. data/lib/cocina/models/mapping/to_mods/name_title_group.rb +29 -0
  94. data/lib/cocina/models/mapping/to_mods/name_writer.rb +228 -0
  95. data/lib/cocina/models/mapping/to_mods/note.rb +105 -0
  96. data/lib/cocina/models/mapping/to_mods/part_writer.rb +115 -0
  97. data/lib/cocina/models/mapping/to_mods/related_resource.rb +108 -0
  98. data/lib/cocina/models/mapping/to_mods/role_writer.rb +50 -0
  99. data/lib/cocina/models/mapping/to_mods/subject.rb +486 -0
  100. data/lib/cocina/models/mapping/to_mods/title.rb +260 -0
  101. data/lib/cocina/models/object_metadata.rb +2 -2
  102. data/lib/cocina/models/presentation.rb +2 -2
  103. data/lib/cocina/models/related_resource.rb +9 -9
  104. data/lib/cocina/models/release_tag.rb +4 -4
  105. data/lib/cocina/models/request_admin_policy.rb +1 -1
  106. data/lib/cocina/models/request_administrative.rb +1 -1
  107. data/lib/cocina/models/request_collection.rb +2 -2
  108. data/lib/cocina/models/request_description.rb +3 -3
  109. data/lib/cocina/models/request_dro.rb +4 -4
  110. data/lib/cocina/models/request_file.rb +5 -5
  111. data/lib/cocina/models/request_identification.rb +1 -1
  112. data/lib/cocina/models/sequence.rb +1 -1
  113. data/lib/cocina/models/source.rb +4 -4
  114. data/lib/cocina/models/standard.rb +5 -5
  115. data/lib/cocina/models/stanford_access.rb +2 -2
  116. data/lib/cocina/models/title.rb +13 -13
  117. data/lib/cocina/models/validators/dark_validator.rb +4 -2
  118. data/lib/cocina/models/validators/description_values_validator.rb +77 -0
  119. data/lib/cocina/models/validators/open_api_validator.rb +0 -4
  120. data/lib/cocina/models/validators/validator.rb +2 -1
  121. data/lib/cocina/models/version.rb +1 -1
  122. data/lib/cocina/models/world_access.rb +2 -2
  123. data/lib/cocina/models.rb +4 -0
  124. data/lib/cocina/rspec/factories.rb +205 -0
  125. data/lib/cocina/rspec.rb +2 -0
  126. data/openapi.yml +5 -5
  127. metadata +89 -17
  128. data/docs/_config.yml +0 -1
  129. data/docs/maps/Agent.json +0 -18
  130. data/docs/maps/Collection.json +0 -240
  131. data/docs/maps/DRO.json +0 -316
  132. data/docs/maps/Description.json +0 -17
  133. data/docs/maps/File.json +0 -196
  134. data/docs/maps/Fileset.json +0 -143
  135. data/docs/maps/README.md +0 -7
  136. data/docs/maps/ReleaseTag.json +0 -39
  137. data/docs/maps/Sequence.json +0 -46
  138. data/docs/maps/Title.json +0 -18
  139. data/docs/sampleETD/foxml-export.xml +0 -935
  140. data/docs/sampleETD/foxml.xml +0 -3475
  141. data/docs/sampleETD/xn109qc9773_bibframe.ttl +0 -95
  142. data/docs/sampleETD/xn109qc9773_taco.json +0 -158
@@ -1,240 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-06/schema#",
3
- "id": "http://cocina.sul.stanford.edu/schemas/Collection",
4
- "title": "Digital Repository Collection",
5
- "description": "A group of Digital Repository Objects that indicate some type of conceptual grouping within the domain that is worth reusing across the system.",
6
- "type": "object",
7
- "required": ["@context", "@type", "externalIdentifier", "label", "internalIdentifier", "version", "administrative", "access", "description", "identification", "structural"],
8
- "properties": {
9
- "@context": {
10
- "description": "URI for the JSON-LD context definitions.",
11
- "type": "string"
12
- },
13
- "@type": {
14
- "description": "The content type of the Collection. Selected from an established set of values.",
15
- "type": "string",
16
- "enum": [
17
- "http://cocina.sul.stanford.edu/models/collection.jsonld",
18
- "http://cocina.sul.stanford.edu/models/curated-collection.jsonld",
19
- "http://cocina.sul.stanford.edu/models/user-collection.jsonld",
20
- "http://cocina.sul.stanford.edu/models/exhibit.jsonld",
21
- "http://cocina.sul.stanford.edu/models/series.jsonld"
22
- ]
23
- },
24
- "citation": {
25
- "description": "Citation for the resource, including identifier, label, version, and a persistent URL to the object with SDR at the very least.",
26
- "type": "string"
27
- },
28
- "dedupeIdentifier": {
29
- "description": "Identifier retrieved from identification.sourceId that stands for analog or source identifier that this resource is a digital representation of.",
30
- "type": "string"
31
- },
32
- "depositor": {
33
- "description": "The Agent (User, Group, Application, Department, other) that deposited the Collection into SDR.",
34
- "$ref": "/Agent"
35
- },
36
- "description": {
37
- "description": "Descriptive metadata for the DRO.",
38
- "$ref": "/Description"
39
- },
40
- "externalIdentifier": {
41
- "description": "Identifier for the resource within the SDR architecture but outside of the repository. DRUID or UUID depending on resource type. Constant across resource versions. What clients will use calling the repository. Same as `identification.identifier`",
42
- "type": "string"
43
- },
44
- "label": {
45
- "description": "Primary processing label (can be same as title) for a Collection.",
46
- "type": "string"
47
- },
48
- "internalIdentifier": {
49
- "description": "Identifier for the resource within the repository. UUID, unique for each new version of a repository resource.",
50
- "type": "string"
51
- },
52
- "version": {
53
- "description": "Version for the Collection within SDR.",
54
- "type": "integer"
55
- },
56
- "precedingVersion": {
57
- "description": "Preceding version for the Collection within SDR.",
58
- "type": "string"
59
- },
60
- "followingVersion": {
61
- "description": "Following version for the Collection within SDR.",
62
- "type": "string"
63
- },
64
- "access": {
65
- "description": "Access Metadata for the Collection.",
66
- "type": "object",
67
- "required": ["access", "download"],
68
- "properties": {
69
- "access": {
70
- "description": "Access level for the Collection.",
71
- "type": "string",
72
- "enum": ["world", "stanford", "location-based", "citation-only", "dark"]
73
- },
74
- "copyright": {
75
- "description": "The human readable copyright statement that applies to the Collection.",
76
- "type": "string"
77
- },
78
- "download": {
79
- "description": "Download level for the Collection metadata.",
80
- "type": "string",
81
- "enum": ["world", "stanford", "location-based", "citation-only", "dark"]
82
- },
83
- "embargoReleaseDate": {
84
- "description": "Date when the Collection is released from an embargo, if an embargo exists.",
85
- "type": "string",
86
- "format": "date-time"
87
- },
88
- "license": {
89
- "description": "The license governing reuse of the Collection. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).",
90
- "type": "string"
91
- },
92
- "useAndReproductionStatement": {
93
- "description": "The human readable reuse and reproduction statement that applies to the Collection.",
94
- "type": "string"
95
- },
96
- "termsOfUse": {
97
- "description": "License or terms of use governing reuse of the Collection. Should be a text statement.",
98
- "type": "string"
99
- }
100
- }
101
- },
102
- "administrative": {
103
- "type": "object",
104
- "description": "Administrative metadata for the SDR resource.",
105
- "required": ["created", "isDescribedBy", "sdrPreserve"],
106
- "properties": {
107
- "created": {
108
- "description": "When the resource in SDR was created.",
109
- "type": "string",
110
- "format": "date-time"
111
- },
112
- "deleted": {
113
- "description": "If the resource has been deleted (but not purged).",
114
- "type": "boolean"
115
- },
116
- "gravestoneMessage": {
117
- "description": "Message describing why the object was deleted.",
118
- "type": "string"
119
- },
120
- "isDescribedBy": {
121
- "description": "PURL/XML file that is a traditional representation of the metadata for the Collection.",
122
- "type": "string"
123
- },
124
- "lastUpdated": {
125
- "description": "When the resource in SDR was last updated.",
126
- "type": "string",
127
- "format": "date-time"
128
- },
129
- "partOfProject": {
130
- "description": "Administrative or Internal project this resource is a part of.",
131
- "type": "string"
132
- },
133
- "releaseTags": {
134
- "description": "Tags for release",
135
- "type": "array",
136
- "items": {
137
- "$ref": "/ReleaseTag"
138
- }
139
- },
140
- "sdrPreserve": {
141
- "description": "If this resource should be sent to Preservation.",
142
- "type": "boolean"
143
- },
144
- "remediatedBy": {
145
- "description": "The Agent (User, Group, Application, Department, other) that remediated a Collection in SDR.",
146
- "type": "array",
147
- "items": {
148
- "$ref": "/Agent"
149
- }
150
- }
151
- }
152
- },
153
- "identification": {
154
- "description": "Identifying information for the Collection.",
155
- "type": "object",
156
- "required": ["identifier"],
157
- "properties": {
158
- "catalogLinks": {
159
- "description": "Links to catalog records for the resource that the Collection represents in whole or part.",
160
- "type": "array",
161
- "items": {
162
- "type": "object",
163
- "required": ["catalog", "catalogRecordId"],
164
- "properties": {
165
- "catalog": {
166
- "description": "Catalog that is the source of the linked record.",
167
- "type": "string"
168
- },
169
- "catalogRecordId": {
170
- "description": "Record identifier that is unique within the context of the linked record's catalog.",
171
- "type": "string"
172
- },
173
- "recordSchema": {
174
- "description": "Metadata schema of the linked record.",
175
- "type": "string"
176
- },
177
- "deriveMetadata": {
178
- "description": "If the Collection descriptive metadata should be automatically updated when the linked record changes.",
179
- "type": "boolean"
180
- },
181
- "deliverMetadata": {
182
- "description": "If the linked record should be automatically updated when the Collection descriptive metadata changes.",
183
- "type": "boolean"
184
- },
185
- "recordScope": {
186
- "description": "Whether the linked record describes a resource that is broader than, equivalent to, or narrower than the resource the Collection represents.",
187
- "type": "string",
188
- "enum": ["broader", "equivalent", "narrower"]
189
- }
190
- }
191
- }
192
- },
193
- "DOI": {
194
- "description": "Digital Object Identifier (DOI) for the Collection within this repository.",
195
- "type": "string"
196
- },
197
- "identifier": {
198
- "description": "Identifier for the Collection within the Stanford Digital Repository system",
199
- "type": "string"
200
- },
201
- "sameAs": {
202
- "description": "Another object, either external or internal to the system (if duplication occurs) that is the same digital resource as this Collection.",
203
- "type": "string"
204
- },
205
- "sourceId": {
206
- "description": "A source resource or object (perhaps but not necessarily analog or physical) that the Collection is a digital representation of.",
207
- "type": "string"
208
- },
209
- "sdrUUID": {
210
- "type": "string",
211
- "description": "UUID previously minted for the resource within SDR2 / Fedora 3."
212
- }
213
- }
214
- },
215
- "structural": {
216
- "description": "Structural metadata for the Collection.",
217
- "type": "object",
218
- "properties": {
219
- "hasMember": {
220
- "description": "Component digital repository objects or collections that are a part of this collection.",
221
- "type": "array",
222
- "items": {
223
- "type": "string"
224
- }
225
- },
226
- "isTargetOf": {
227
- "description": "An Annotation instance that applies to the Collection.",
228
- "type": "string"
229
- },
230
- "hasMemberOrders": {
231
- "description": "Provided sequences or orderings of members of the Collection, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.).",
232
- "type": "array",
233
- "items": {
234
- "$ref": "/Sequence"
235
- }
236
- }
237
- }
238
- }
239
- }
240
- }
data/docs/maps/DRO.json DELETED
@@ -1,316 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-06/schema#",
3
- "id": "http://cocina.sul.stanford.edu/schemas/DRO",
4
- "title": "Digital Repository Object",
5
- "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.",
6
- "type": "object",
7
- "required": ["@context", "@type", "externalIdentifier", "label", "internalIdentifier", "version", "administrative", "access", "description", "identification", "structural"],
8
- "properties": {
9
- "@context": {
10
- "description": "URI for the JSON-LD context definitions.",
11
- "type": "string"
12
- },
13
- "@type": {
14
- "description": "The content type of the DRO. Selected from an established set of values.",
15
- "type": "string",
16
- "enum": [
17
- "http://cocina.sul.stanford.edu/models/object.jsonld",
18
- "http://cocina.sul.stanford.edu/models/3d.jsonld",
19
- "http://cocina.sul.stanford.edu/models/agreement.jsonld",
20
- "http://cocina.sul.stanford.edu/models/book.jsonld",
21
- "http://cocina.sul.stanford.edu/models/document.jsonld",
22
- "http://cocina.sul.stanford.edu/models/geo.jsonld",
23
- "http://cocina.sul.stanford.edu/models/image.jsonld",
24
- "http://cocina.sul.stanford.edu/models/page.jsonld",
25
- "http://cocina.sul.stanford.edu/models/photograph.jsonld",
26
- "http://cocina.sul.stanford.edu/models/manuscript.jsonld",
27
- "http://cocina.sul.stanford.edu/models/map.jsonld",
28
- "http://cocina.sul.stanford.edu/models/media.jsonld",
29
- "http://cocina.sul.stanford.edu/models/track.jsonld",
30
- "http://cocina.sul.stanford.edu/models/webarchive-binary.jsonld",
31
- "http://cocina.sul.stanford.edu/models/webarchive-seed.jsonld"
32
- ]
33
- },
34
- "citation": {
35
- "description": "Citation for the resource, including identifier, label, version, and a persistent URL to the object with SDR at the very least.",
36
- "type": "string"
37
- },
38
- "dedupeIdentifier": {
39
- "description": "Identifier retrieved from identification.sourceId that stands for analog or source identifier that this resource is a digital representation of.",
40
- "type": "string"
41
- },
42
- "depositor": {
43
- "description": "The Agent (User, Group, Application, Department, other) that deposited the DRO into SDR.",
44
- "$ref": "/Agent"
45
- },
46
- "externalIdentifier": {
47
- "description": "Identifier for the resource within the SDR architecture but outside of the repository. DRUID or UUID depending on resource type. Constant across resource versions. What clients will use calling the repository. Same as `identification.identifier`",
48
- "type": "string"
49
- },
50
- "label": {
51
- "description": "Primary processing label (can be same as title) for a DRO.",
52
- "type": "string"
53
- },
54
- "internalIdentifier": {
55
- "description": "Identifier for the resource within the repository. UUID, unique for each new version of a repository resource.",
56
- "type": "string"
57
- },
58
- "version": {
59
- "description": "Version for the DRO within SDR.",
60
- "type": "integer"
61
- },
62
- "precedingVersion": {
63
- "description": "Preceding version for the Object within SDR.",
64
- "type": "string"
65
- },
66
- "followingVersion": {
67
- "description": "Following version for the Object within SDR.",
68
- "type": "string"
69
- },
70
- "access": {
71
- "description": "Access Metadata for the DRO.",
72
- "type": "object",
73
- "required": ["access", "download"],
74
- "properties": {
75
- "access": {
76
- "description": "Access level for the DRO.",
77
- "type": "string",
78
- "enum": ["world", "stanford", "location-based", "citation-only", "dark"]
79
- },
80
- "copyright": {
81
- "description": "The human readable copyright statement that applies to the DRO.",
82
- "type": "string"
83
- },
84
- "controlledDigitalLending": {
85
- "description": "If the object is available for controlled digital lending.",
86
- "type": "boolean"
87
- },
88
- "download": {
89
- "description": "Download level for the DRO metadata.",
90
- "type": "string",
91
- "enum": ["world", "stanford", "location-based", "none"]
92
- },
93
- "embargo": {
94
- "description": "Embargo metadata",
95
- "type": "object",
96
- "required": ["releaseDate", "access"],
97
- "properties": {
98
- "releaseDate": {
99
- "description": "Date when the DRO is released from an embargo.",
100
- "type": "string",
101
- "format": "date-time"
102
- },
103
- "access": {
104
- "description": "Access level for the DRO when released from embargo.",
105
- "type": "string",
106
- "enum": ["world", "stanford", "location-based", "citation-only", "dark"]
107
- },
108
- "useAndReproductionStatement": {
109
- "description": "The human readable reuse and reproduction statement that applies to the DRO when released from embargo.",
110
- "type": "string"
111
- }
112
- }
113
- },
114
- "license": {
115
- "description": "The license governing reuse of the DRO. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).",
116
- "type": "string"
117
- },
118
- "useAndReproductionStatement": {
119
- "description": "The human readable reuse and reproduction statement that applies to the DRO.",
120
- "type": "string"
121
- },
122
- "termsOfUse": {
123
- "description": "License or terms of use governing reuse of the DRO. Should be a text statement.",
124
- "type": "string"
125
- },
126
- "visibility": {
127
- "description": "Percentage of the DRO that is visibility during an embargo period",
128
- "type": "integer"
129
- }
130
- }
131
- },
132
- "administrative": {
133
- "type": "object",
134
- "description": "Administrative metadata for the SDR resource.",
135
- "required": ["created", "isDescribedBy", "sdrPreserve"],
136
- "properties": {
137
- "created": {
138
- "description": "When the resource in SDR was created.",
139
- "type": "string",
140
- "format": "date-time"
141
- },
142
- "deleted": {
143
- "description": "If the resource has been deleted (but not purged).",
144
- "type": "boolean"
145
- },
146
- "gravestoneMessage": {
147
- "description": "Message describing why the object was deleted.",
148
- "type": "string"
149
- },
150
- "isDescribedBy": {
151
- "description": "Pointer to the PURL/XML file that is a traditional representation of the metadata for the DRO.",
152
- "type": "string"
153
- },
154
- "lastUpdated": {
155
- "description": "When the resource in SDR was last updated.",
156
- "type": "string",
157
- "format": "date-time"
158
- },
159
- "partOfProject": {
160
- "description": "Administrative or Internal project this resource is a part of.",
161
- "type": "string"
162
- },
163
- "releaseTags": {
164
- "description": "Tags for release",
165
- "type": "array",
166
- "items": {
167
- "$ref": "/ReleaseTag"
168
- }
169
- },
170
- "sdrPreserve": {
171
- "description": "If this resource should be sent to Preservation.",
172
- "type": "boolean"
173
- },
174
- "remediatedBy": {
175
- "description": "The Agent (User, Group, Application, Department, other) that remediated a DRO in SDR.",
176
- "type": "array",
177
- "items": {
178
- "$ref": "/Agent"
179
- }
180
- }
181
- }
182
- },
183
- "description": {
184
- "description": "Descriptive metadata for the DRO.",
185
- "$ref": "/Description"
186
- },
187
- "geographic": {
188
- "description": "Geographic metadata for the DRO.",
189
- "type": "object",
190
- "required": ["iso19139"],
191
- "properties": {
192
- "iso19139": {
193
- "description": "Geographic ISO 19139 XML metadata",
194
- "type": "string"
195
- }
196
- }
197
- },
198
- "identification": {
199
- "description": "Identifying information for the DRO.",
200
- "type": "object",
201
- "required": ["identifier"],
202
- "properties": {
203
- "catalogLinks": {
204
- "description": "Links to catalog records for the resource that the DRO represents in whole or part.",
205
- "type": "array",
206
- "items": {
207
- "type": "object",
208
- "required": ["catalog", "catalogRecordId"],
209
- "properties": {
210
- "catalog": {
211
- "description": "Catalog that is the source of the linked record.",
212
- "type": "string"
213
- },
214
- "catalogRecordId": {
215
- "description": "Record identifier that is unique within the context of the linked record's catalog.",
216
- "type": "string"
217
- },
218
- "recordSchema": {
219
- "description": "Metadata schema of the linked record.",
220
- "type": "string"
221
- },
222
- "deriveMetadata": {
223
- "description": "If the DRO descriptive metadata should be automatically updated when the linked record changes.",
224
- "type": "boolean"
225
- },
226
- "deliverMetadata": {
227
- "description": "If the linked record should be automatically updated when the DRO descriptive metadata changes.",
228
- "type": "boolean"
229
- },
230
- "recordScope": {
231
- "description": "Whether the linked record describes a resource that is broader than, equivalent to, or narrower than the resource the DRO represents.",
232
- "type": "string",
233
- "enum": ["broader", "equivalent", "narrower"]
234
- }
235
- }
236
- }
237
- },
238
- "doi": {
239
- "description": "Digital Object Identifier (DOI) for the DRO within this repository.",
240
- "type": "string"
241
- },
242
- "identifier": {
243
- "description": "Identifier for the Digital Repository Object within the Stanford Digital Repository system",
244
- "type": "string"
245
- },
246
- "sameAs": {
247
- "description": "Another object, either external or internal to the system (if duplication occurs) that is the same digital resource as this DRO.",
248
- "type": "string"
249
- },
250
- "sourceId": {
251
- "description": "A source resource or object (perhaps but not necessarily analog or physical) that the DRO is a digital representation of.",
252
- "type": "string"
253
- },
254
- "sdrUUID": {
255
- "type": "string",
256
- "description": "UUID previously minted for the resource within SDR2 / Fedora 3."
257
- }
258
- }
259
- },
260
- "permissions": {
261
- "description": "Permissions Metadata for the DRO.",
262
- "type": "object",
263
- "properties": {
264
- "approvalRequired": {
265
- "description": "Indicates if approval is required to deposit or manage the resource in SDR.",
266
- "type": "boolean"
267
- },
268
- "approvers": {
269
- "description": "Agents who are required to approve deposit or management of this resource in SDR.",
270
- "type": "array",
271
- "items": {
272
- "$ref": "/Agent"
273
- }
274
- }
275
- }
276
- },
277
- "structural": {
278
- "description": "Structural metadata for the DRO.",
279
- "type": "object",
280
- "properties": {
281
- "contains": {
282
- "description": "Filesets that contain the digital representations (Files) of the DRO.",
283
- "type": "array",
284
- "items": {
285
- "$ref": "/Fileset"
286
- }
287
- },
288
- "hasMember": {
289
- "description": "Component or 'children' digital repository objects that are a part or portion of this 'parent' or aggregate DRO.",
290
- "type": "array",
291
- "items": {
292
- "type": "string"
293
- }
294
- },
295
- "isMemberOf": {
296
- "description": "Collections that this DRO is a member of",
297
- "type": "array",
298
- "items": {
299
- "type": "string"
300
- }
301
- },
302
- "isTargetOf": {
303
- "description": "An Annotation instance that applies to the DRO.",
304
- "type": "string"
305
- },
306
- "hasMemberOrders": {
307
- "description": "Provided sequences or orderings of members of the Object, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.).",
308
- "type": "array",
309
- "items": {
310
- "$ref": "/Sequence"
311
- }
312
- }
313
- }
314
- }
315
- }
316
- }
@@ -1,17 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-06/schema#",
3
- "id": "http://cocina.sul.stanford.edu/schemas/Description",
4
- "title": "Description",
5
- "description": "The description of a work",
6
- "type": "object",
7
- "required": ["title"],
8
- "properties": {
9
- "title": {
10
- "description": "The title of the item.",
11
- "type": "array",
12
- "items": {
13
- "$ref": "/Title"
14
- }
15
- }
16
- }
17
- }