cocina-models 0.86.0 → 0.87.1
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/.circleci/config.yml +1 -1
- data/.rubocop.yml +54 -2
- data/.rubocop_todo.yml +49 -15
- data/Gemfile.lock +56 -52
- data/lib/cocina/generator/datatype.rb +1 -1
- data/lib/cocina/generator/generator.rb +19 -12
- data/lib/cocina/generator/schema.rb +4 -2
- data/lib/cocina/generator/schema_array.rb +1 -1
- data/lib/cocina/generator/schema_base.rb +50 -19
- data/lib/cocina/generator/schema_value.rb +3 -3
- data/lib/cocina/generator/union_type.rb +24 -0
- data/lib/cocina/models/admin_policy.rb +2 -2
- data/lib/cocina/models/admin_policy_administrative.rb +2 -2
- data/lib/cocina/models/admin_policy_with_metadata.rb +2 -2
- data/lib/cocina/models/administrative.rb +1 -1
- data/lib/cocina/models/barcode.rb +7 -0
- data/lib/cocina/models/business_barcode.rb +1 -1
- data/lib/cocina/models/catalog_link.rb +1 -10
- data/lib/cocina/models/catkey_barcode.rb +1 -1
- data/lib/cocina/models/cocina_version.rb +1 -1
- data/lib/cocina/models/collection.rb +2 -2
- data/lib/cocina/models/collection_identification.rb +1 -1
- data/lib/cocina/models/collection_with_metadata.rb +2 -2
- data/lib/cocina/models/created_in_folio_identifier.rb +9 -0
- data/lib/cocina/models/description.rb +2 -2
- data/lib/cocina/models/doi.rb +7 -0
- data/lib/cocina/models/doi_exceptions.rb +1 -1
- data/lib/cocina/models/doi_pattern.rb +1 -1
- data/lib/cocina/models/dro.rb +2 -2
- data/lib/cocina/models/dro_with_metadata.rb +2 -2
- data/lib/cocina/models/druid.rb +1 -1
- data/lib/cocina/models/folio_catalog_link.rb +16 -0
- data/lib/cocina/models/identification.rb +3 -3
- data/lib/cocina/models/lane_medical_barcode.rb +1 -1
- data/lib/cocina/models/mapping/from_mods/identifier.rb +1 -1
- data/lib/cocina/models/mapping/from_mods/identifier_builder.rb +1 -1
- data/lib/cocina/models/mapping/normalizers/mods_normalizer.rb +2 -2
- data/lib/cocina/models/migrated_from_symphony_identifier.rb +9 -0
- data/lib/cocina/models/migrated_from_voyager_identifier.rb +9 -0
- data/lib/cocina/models/purl.rb +1 -1
- data/lib/cocina/models/related_resource.rb +2 -2
- data/lib/cocina/models/request_admin_policy.rb +1 -1
- data/lib/cocina/models/request_administrative.rb +1 -1
- data/lib/cocina/models/request_collection.rb +1 -1
- data/lib/cocina/models/request_dro.rb +1 -1
- data/lib/cocina/models/request_identification.rb +2 -2
- data/lib/cocina/models/source_id.rb +1 -1
- data/lib/cocina/models/standard_barcode.rb +1 -1
- data/lib/cocina/models/symphony_catalog_link.rb +17 -0
- data/lib/cocina/models/version.rb +1 -1
- data/lib/cocina/models.rb +7 -3
- data/openapi.yml +366 -317
- metadata +14 -6
data/openapi.yml
CHANGED
@@ -196,19 +196,6 @@ components:
|
|
196
196
|
required:
|
197
197
|
- identifier
|
198
198
|
- type
|
199
|
-
Administrative:
|
200
|
-
type: object
|
201
|
-
additionalProperties: false
|
202
|
-
properties:
|
203
|
-
hasAdminPolicy:
|
204
|
-
$ref: '#/components/schemas/Druid'
|
205
|
-
releaseTags:
|
206
|
-
description: Tags for release
|
207
|
-
type: array
|
208
|
-
items:
|
209
|
-
$ref: '#/components/schemas/ReleaseTag'
|
210
|
-
required:
|
211
|
-
- hasAdminPolicy
|
212
199
|
AdminPolicy:
|
213
200
|
type: object
|
214
201
|
additionalProperties: false
|
@@ -236,40 +223,19 @@ components:
|
|
236
223
|
- label
|
237
224
|
- type
|
238
225
|
- version
|
239
|
-
|
240
|
-
description: Administrative properties for an AdminPolicy
|
226
|
+
Administrative:
|
241
227
|
type: object
|
242
228
|
additionalProperties: false
|
243
229
|
properties:
|
244
|
-
accessTemplate:
|
245
|
-
$ref: '#/components/schemas/AdminPolicyAccessTemplate'
|
246
|
-
registrationWorkflow:
|
247
|
-
description: When you register an item with this admin policy, these are the workflows that are available.
|
248
|
-
type: array
|
249
|
-
items:
|
250
|
-
type: string
|
251
|
-
disseminationWorkflow:
|
252
|
-
description: An additional workflow to start for objects managed by this admin policy once the end-accession workflow step is complete
|
253
|
-
example: wasCrawlPreassemblyWF
|
254
|
-
type: string
|
255
|
-
collectionsForRegistration:
|
256
|
-
description: When you register an item with this admin policy, these are the collections that are available.
|
257
|
-
type: array
|
258
|
-
items:
|
259
|
-
type: string
|
260
230
|
hasAdminPolicy:
|
261
231
|
$ref: '#/components/schemas/Druid'
|
262
|
-
|
263
|
-
|
264
|
-
roles:
|
265
|
-
description: The access roles conferred by this AdminPolicy (used by Argo)
|
232
|
+
releaseTags:
|
233
|
+
description: Tags for release
|
266
234
|
type: array
|
267
235
|
items:
|
268
|
-
$ref: '#/components/schemas/
|
236
|
+
$ref: '#/components/schemas/ReleaseTag'
|
269
237
|
required:
|
270
238
|
- hasAdminPolicy
|
271
|
-
- hasAgreement
|
272
|
-
- accessTemplate
|
273
239
|
AdminPolicyAccessTemplate:
|
274
240
|
description: 'Provides the template of access settings that is copied to the items goverend by an AdminPolicy. This is almost the same as DROAccess, but it provides no defaults and has no embargo.'
|
275
241
|
type: object
|
@@ -328,6 +294,40 @@ components:
|
|
328
294
|
description: The license governing reuse of the Collection. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).
|
329
295
|
type: string
|
330
296
|
nullable: true
|
297
|
+
AdminPolicyAdministrative:
|
298
|
+
description: Administrative properties for an AdminPolicy
|
299
|
+
type: object
|
300
|
+
additionalProperties: false
|
301
|
+
properties:
|
302
|
+
accessTemplate:
|
303
|
+
$ref: '#/components/schemas/AdminPolicyAccessTemplate'
|
304
|
+
registrationWorkflow:
|
305
|
+
description: When you register an item with this admin policy, these are the workflows that are available.
|
306
|
+
type: array
|
307
|
+
items:
|
308
|
+
type: string
|
309
|
+
disseminationWorkflow:
|
310
|
+
description: An additional workflow to start for objects managed by this admin policy once the end-accession workflow step is complete
|
311
|
+
example: wasCrawlPreassemblyWF
|
312
|
+
type: string
|
313
|
+
collectionsForRegistration:
|
314
|
+
description: When you register an item with this admin policy, these are the collections that are available.
|
315
|
+
type: array
|
316
|
+
items:
|
317
|
+
type: string
|
318
|
+
hasAdminPolicy:
|
319
|
+
$ref: '#/components/schemas/Druid'
|
320
|
+
hasAgreement:
|
321
|
+
$ref: '#/components/schemas/Druid'
|
322
|
+
roles:
|
323
|
+
description: The access roles conferred by this AdminPolicy (used by Argo)
|
324
|
+
type: array
|
325
|
+
items:
|
326
|
+
$ref: '#/components/schemas/AccessRole'
|
327
|
+
required:
|
328
|
+
- hasAdminPolicy
|
329
|
+
- hasAgreement
|
330
|
+
- accessTemplate
|
331
331
|
# AdminPolicyWithMetadata schema should not be copied to sdr-api and dor-services-app.
|
332
332
|
AdminPolicyWithMetadata:
|
333
333
|
description: Admin Policy with addition object metadata.
|
@@ -358,37 +358,11 @@ components:
|
|
358
358
|
type: string
|
359
359
|
pattern: '^2050[0-9]{7}$'
|
360
360
|
example: '20503740296'
|
361
|
-
LaneMedicalBarcode:
|
362
|
-
description: The barcode associated with a Lane Medical Library DRO object, prefixed with 245
|
363
|
-
type: string
|
364
|
-
pattern: '^245[0-9]{8}$'
|
365
|
-
example: '24503259768'
|
366
361
|
CatalogLink:
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
description: Catalog that is the source of the linked record.
|
372
|
-
type: string
|
373
|
-
enum:
|
374
|
-
- symphony
|
375
|
-
- previous symphony
|
376
|
-
example: symphony
|
377
|
-
refresh:
|
378
|
-
description: Only one of the catkeys should be designated for refreshing.
|
379
|
-
This means that this key is the one used to pull metadata from the catalog
|
380
|
-
if there is more than one key present.
|
381
|
-
type: boolean
|
382
|
-
default: false
|
383
|
-
catalogRecordId:
|
384
|
-
description: Record identifier that is unique within the context of the linked record's catalog.
|
385
|
-
type: string
|
386
|
-
pattern: '^\d+(:\d+)*$'
|
387
|
-
example: '11403803'
|
388
|
-
required:
|
389
|
-
- catalog
|
390
|
-
- catalogRecordId
|
391
|
-
- refresh
|
362
|
+
description: 'A linkage between an object and a catalog record'
|
363
|
+
oneOf:
|
364
|
+
- $ref: '#/components/schemas/FolioCatalogLink'
|
365
|
+
- $ref: '#/components/schemas/SymphonyCatalogLink'
|
392
366
|
CatkeyBarcode:
|
393
367
|
description: The barcode associated with a DRO object based on catkey, prefixed with a catkey followed by a hyphen
|
394
368
|
type: string
|
@@ -432,7 +406,7 @@ components:
|
|
432
406
|
additionalProperties: false
|
433
407
|
properties:
|
434
408
|
cocinaVersion:
|
435
|
-
|
409
|
+
$ref: '#/components/schemas/CocinaVersion'
|
436
410
|
type:
|
437
411
|
description: The content type of the Collection. Selected from an established set of values.
|
438
412
|
type: string
|
@@ -580,6 +554,155 @@ components:
|
|
580
554
|
required:
|
581
555
|
- view
|
582
556
|
- download
|
557
|
+
CreatedInFolioIdentifier:
|
558
|
+
description: A record identifier created in Folio
|
559
|
+
type: string
|
560
|
+
pattern: '^in\d+$'
|
561
|
+
example: 'in11403803'
|
562
|
+
DOI:
|
563
|
+
description: Digital Object Identifier (https://www.doi.org)
|
564
|
+
oneOf:
|
565
|
+
- $ref: '#/components/schemas/DoiPattern'
|
566
|
+
- $ref: '#/components/schemas/DoiExceptions'
|
567
|
+
DRO:
|
568
|
+
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.
|
569
|
+
type: object
|
570
|
+
additionalProperties: false
|
571
|
+
properties:
|
572
|
+
cocinaVersion:
|
573
|
+
$ref: '#/components/schemas/CocinaVersion'
|
574
|
+
type:
|
575
|
+
description: The content type of the DRO. Selected from an established set of values.
|
576
|
+
type: string
|
577
|
+
enum:
|
578
|
+
- 'https://cocina.sul.stanford.edu/models/object'
|
579
|
+
- 'https://cocina.sul.stanford.edu/models/3d'
|
580
|
+
- 'https://cocina.sul.stanford.edu/models/agreement'
|
581
|
+
- 'https://cocina.sul.stanford.edu/models/book'
|
582
|
+
- 'https://cocina.sul.stanford.edu/models/document'
|
583
|
+
- 'https://cocina.sul.stanford.edu/models/geo'
|
584
|
+
- 'https://cocina.sul.stanford.edu/models/image'
|
585
|
+
- 'https://cocina.sul.stanford.edu/models/page'
|
586
|
+
- 'https://cocina.sul.stanford.edu/models/photograph'
|
587
|
+
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
588
|
+
- 'https://cocina.sul.stanford.edu/models/map'
|
589
|
+
- 'https://cocina.sul.stanford.edu/models/media'
|
590
|
+
- 'https://cocina.sul.stanford.edu/models/track'
|
591
|
+
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
592
|
+
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
593
|
+
externalIdentifier:
|
594
|
+
$ref: '#/components/schemas/Druid'
|
595
|
+
label:
|
596
|
+
description: Primary processing label (can be same as title) for a DRO.
|
597
|
+
type: string
|
598
|
+
version:
|
599
|
+
description: Version for the DRO within SDR.
|
600
|
+
type: integer
|
601
|
+
access:
|
602
|
+
$ref: '#/components/schemas/DROAccess'
|
603
|
+
administrative:
|
604
|
+
$ref: '#/components/schemas/Administrative'
|
605
|
+
description:
|
606
|
+
$ref: '#/components/schemas/Description'
|
607
|
+
identification:
|
608
|
+
$ref: '#/components/schemas/Identification'
|
609
|
+
structural:
|
610
|
+
$ref: '#/components/schemas/DROStructural'
|
611
|
+
geographic:
|
612
|
+
$ref: '#/components/schemas/Geographic'
|
613
|
+
required:
|
614
|
+
- cocinaVersion
|
615
|
+
- access
|
616
|
+
- administrative
|
617
|
+
- description
|
618
|
+
- externalIdentifier
|
619
|
+
- label
|
620
|
+
- type
|
621
|
+
- version
|
622
|
+
- identification
|
623
|
+
- structural
|
624
|
+
DROAccess:
|
625
|
+
type: object
|
626
|
+
additionalProperties: false
|
627
|
+
allOf:
|
628
|
+
- $ref: "#/components/schemas/Access"
|
629
|
+
- type: object
|
630
|
+
properties:
|
631
|
+
copyright:
|
632
|
+
description: The human readable copyright statement that applies
|
633
|
+
example: Copyright World Trade Organization
|
634
|
+
type: string
|
635
|
+
nullable: true
|
636
|
+
embargo:
|
637
|
+
$ref: '#/components/schemas/Embargo'
|
638
|
+
useAndReproductionStatement:
|
639
|
+
description: The human readable use and reproduction statement that applies
|
640
|
+
example: Property rights reside with the repository. Literary rights reside with the creators of the documents or their heirs. To obtain permission to publish or reproduce, please contact the Public Services Librarian of the Dept. of Special Collections (http://library.stanford.edu/spc).
|
641
|
+
type: string
|
642
|
+
nullable: true
|
643
|
+
license:
|
644
|
+
description: The license governing reuse of the DRO. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).
|
645
|
+
type: string
|
646
|
+
nullable: true
|
647
|
+
enum:
|
648
|
+
- 'https://www.gnu.org/licenses/agpl.txt'
|
649
|
+
- 'https://www.apache.org/licenses/LICENSE-2.0'
|
650
|
+
- 'https://opensource.org/licenses/BSD-2-Clause'
|
651
|
+
- 'https://opensource.org/licenses/BSD-3-Clause'
|
652
|
+
- 'https://creativecommons.org/licenses/by/4.0/legalcode'
|
653
|
+
- 'https://creativecommons.org/licenses/by-nc/4.0/legalcode'
|
654
|
+
- 'https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode'
|
655
|
+
- 'https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode'
|
656
|
+
- 'https://creativecommons.org/licenses/by-nd/4.0/legalcode'
|
657
|
+
- 'https://creativecommons.org/licenses/by-sa/4.0/legalcode'
|
658
|
+
- 'https://creativecommons.org/publicdomain/zero/1.0/legalcode'
|
659
|
+
- 'https://opensource.org/licenses/cddl1'
|
660
|
+
- 'https://www.eclipse.org/legal/epl-2.0'
|
661
|
+
- 'https://www.gnu.org/licenses/gpl-3.0-standalone.html'
|
662
|
+
- 'https://www.isc.org/downloads/software-support-policy/isc-license/'
|
663
|
+
- 'https://www.gnu.org/licenses/lgpl-3.0-standalone.html'
|
664
|
+
- 'https://opensource.org/licenses/MIT'
|
665
|
+
- 'https://www.mozilla.org/MPL/2.0/'
|
666
|
+
- 'https://opendatacommons.org/licenses/by/1-0/'
|
667
|
+
- 'http://opendatacommons.org/licenses/odbl/1.0/' # Non cannonical, but in some of our data
|
668
|
+
- 'https://opendatacommons.org/licenses/odbl/1-0/'
|
669
|
+
- 'https://creativecommons.org/publicdomain/mark/1.0/'
|
670
|
+
- 'https://opendatacommons.org/licenses/pddl/1-0/'
|
671
|
+
- 'https://creativecommons.org/licenses/by/3.0/legalcode'
|
672
|
+
- 'https://creativecommons.org/licenses/by-sa/3.0/legalcode'
|
673
|
+
- 'https://creativecommons.org/licenses/by-nd/3.0/legalcode'
|
674
|
+
- 'https://creativecommons.org/licenses/by-nc/3.0/legalcode'
|
675
|
+
- 'https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode'
|
676
|
+
- 'https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode'
|
677
|
+
- 'https://cocina.sul.stanford.edu/licenses/none' # Only used in some legacy ETDs and not actually permitted per the Project Chimera docs.
|
678
|
+
DROStructural:
|
679
|
+
description: Structural metadata
|
680
|
+
type: object
|
681
|
+
additionalProperties: false
|
682
|
+
properties:
|
683
|
+
contains:
|
684
|
+
description: Filesets that contain the digital representations (Files)
|
685
|
+
type: array
|
686
|
+
items:
|
687
|
+
$ref: '#/components/schemas/FileSet'
|
688
|
+
hasMemberOrders:
|
689
|
+
description: Provided sequences or orderings of members, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.).
|
690
|
+
type: array
|
691
|
+
items:
|
692
|
+
$ref: '#/components/schemas/Sequence'
|
693
|
+
isMemberOf:
|
694
|
+
description: Collections that this DRO is a member of
|
695
|
+
type: array
|
696
|
+
items:
|
697
|
+
$ref: '#/components/schemas/Druid'
|
698
|
+
# DROWithMetadata schema should not be copied to sdr-api and dor-services-app.
|
699
|
+
DROWithMetadata:
|
700
|
+
description: DRO with addition object metadata.
|
701
|
+
type: object
|
702
|
+
additionalProperties: false
|
703
|
+
allOf:
|
704
|
+
- $ref: "#/components/schemas/DRO"
|
705
|
+
- $ref: "#/components/schemas/ObjectMetadata"
|
583
706
|
DarkAccess:
|
584
707
|
type: object
|
585
708
|
properties:
|
@@ -895,11 +1018,6 @@ components:
|
|
895
1018
|
$ref: '#/components/schemas/Standard'
|
896
1019
|
# description: An alphabet or other notation used to represent a
|
897
1020
|
# language or other symbolic system of the descriptive element value.
|
898
|
-
DOI:
|
899
|
-
description: Digital Object Identifier (https://www.doi.org)
|
900
|
-
oneOf:
|
901
|
-
- $ref: '#/components/schemas/DoiPattern'
|
902
|
-
- $ref: '#/components/schemas/DoiExceptions'
|
903
1021
|
DoiExceptions:
|
904
1022
|
type: string
|
905
1023
|
description: pre-existing Digital Object Identifiers (https://www.doi.org) not matching the pattern (case insensitive)
|
@@ -909,147 +1027,8 @@ components:
|
|
909
1027
|
type: string
|
910
1028
|
description: Digital Object Identifier (https://www.doi.org) regex pattern
|
911
1029
|
# The prod and test prefixes are permitted
|
912
|
-
pattern: '^10\.(25740|80343)\/[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
913
|
-
example: '10.25740/bc123df4567'
|
914
|
-
DRO:
|
915
|
-
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.
|
916
|
-
type: object
|
917
|
-
additionalProperties: false
|
918
|
-
properties:
|
919
|
-
cocinaVersion:
|
920
|
-
$ref: '#/components/schemas/CocinaVersion'
|
921
|
-
type:
|
922
|
-
description: The content type of the DRO. Selected from an established set of values.
|
923
|
-
type: string
|
924
|
-
enum:
|
925
|
-
- 'https://cocina.sul.stanford.edu/models/object'
|
926
|
-
- 'https://cocina.sul.stanford.edu/models/3d'
|
927
|
-
- 'https://cocina.sul.stanford.edu/models/agreement'
|
928
|
-
- 'https://cocina.sul.stanford.edu/models/book'
|
929
|
-
- 'https://cocina.sul.stanford.edu/models/document'
|
930
|
-
- 'https://cocina.sul.stanford.edu/models/geo'
|
931
|
-
- 'https://cocina.sul.stanford.edu/models/image'
|
932
|
-
- 'https://cocina.sul.stanford.edu/models/page'
|
933
|
-
- 'https://cocina.sul.stanford.edu/models/photograph'
|
934
|
-
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
935
|
-
- 'https://cocina.sul.stanford.edu/models/map'
|
936
|
-
- 'https://cocina.sul.stanford.edu/models/media'
|
937
|
-
- 'https://cocina.sul.stanford.edu/models/track'
|
938
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
939
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
940
|
-
externalIdentifier:
|
941
|
-
$ref: '#/components/schemas/Druid'
|
942
|
-
label:
|
943
|
-
description: Primary processing label (can be same as title) for a DRO.
|
944
|
-
type: string
|
945
|
-
version:
|
946
|
-
description: Version for the DRO within SDR.
|
947
|
-
type: integer
|
948
|
-
access:
|
949
|
-
$ref: '#/components/schemas/DROAccess'
|
950
|
-
administrative:
|
951
|
-
$ref: '#/components/schemas/Administrative'
|
952
|
-
description:
|
953
|
-
$ref: '#/components/schemas/Description'
|
954
|
-
identification:
|
955
|
-
$ref: '#/components/schemas/Identification'
|
956
|
-
structural:
|
957
|
-
$ref: '#/components/schemas/DROStructural'
|
958
|
-
geographic:
|
959
|
-
$ref: '#/components/schemas/Geographic'
|
960
|
-
required:
|
961
|
-
- cocinaVersion
|
962
|
-
- access
|
963
|
-
- administrative
|
964
|
-
- description
|
965
|
-
- externalIdentifier
|
966
|
-
- label
|
967
|
-
- type
|
968
|
-
- version
|
969
|
-
- identification
|
970
|
-
- structural
|
971
|
-
DROAccess:
|
972
|
-
type: object
|
973
|
-
additionalProperties: false
|
974
|
-
allOf:
|
975
|
-
- $ref: "#/components/schemas/Access"
|
976
|
-
- type: object
|
977
|
-
properties:
|
978
|
-
copyright:
|
979
|
-
description: The human readable copyright statement that applies
|
980
|
-
example: Copyright World Trade Organization
|
981
|
-
type: string
|
982
|
-
nullable: true
|
983
|
-
embargo:
|
984
|
-
$ref: '#/components/schemas/Embargo'
|
985
|
-
useAndReproductionStatement:
|
986
|
-
description: The human readable use and reproduction statement that applies
|
987
|
-
example: Property rights reside with the repository. Literary rights reside with the creators of the documents or their heirs. To obtain permission to publish or reproduce, please contact the Public Services Librarian of the Dept. of Special Collections (http://library.stanford.edu/spc).
|
988
|
-
type: string
|
989
|
-
nullable: true
|
990
|
-
license:
|
991
|
-
description: The license governing reuse of the DRO. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).
|
992
|
-
type: string
|
993
|
-
nullable: true
|
994
|
-
enum:
|
995
|
-
- 'https://www.gnu.org/licenses/agpl.txt'
|
996
|
-
- 'https://www.apache.org/licenses/LICENSE-2.0'
|
997
|
-
- 'https://opensource.org/licenses/BSD-2-Clause'
|
998
|
-
- 'https://opensource.org/licenses/BSD-3-Clause'
|
999
|
-
- 'https://creativecommons.org/licenses/by/4.0/legalcode'
|
1000
|
-
- 'https://creativecommons.org/licenses/by-nc/4.0/legalcode'
|
1001
|
-
- 'https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode'
|
1002
|
-
- 'https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode'
|
1003
|
-
- 'https://creativecommons.org/licenses/by-nd/4.0/legalcode'
|
1004
|
-
- 'https://creativecommons.org/licenses/by-sa/4.0/legalcode'
|
1005
|
-
- 'https://creativecommons.org/publicdomain/zero/1.0/legalcode'
|
1006
|
-
- 'https://opensource.org/licenses/cddl1'
|
1007
|
-
- 'https://www.eclipse.org/legal/epl-2.0'
|
1008
|
-
- 'https://www.gnu.org/licenses/gpl-3.0-standalone.html'
|
1009
|
-
- 'https://www.isc.org/downloads/software-support-policy/isc-license/'
|
1010
|
-
- 'https://www.gnu.org/licenses/lgpl-3.0-standalone.html'
|
1011
|
-
- 'https://opensource.org/licenses/MIT'
|
1012
|
-
- 'https://www.mozilla.org/MPL/2.0/'
|
1013
|
-
- 'https://opendatacommons.org/licenses/by/1-0/'
|
1014
|
-
- 'http://opendatacommons.org/licenses/odbl/1.0/' # Non cannonical, but in some of our data
|
1015
|
-
- 'https://opendatacommons.org/licenses/odbl/1-0/'
|
1016
|
-
- 'https://creativecommons.org/publicdomain/mark/1.0/'
|
1017
|
-
- 'https://opendatacommons.org/licenses/pddl/1-0/'
|
1018
|
-
- 'https://creativecommons.org/licenses/by/3.0/legalcode'
|
1019
|
-
- 'https://creativecommons.org/licenses/by-sa/3.0/legalcode'
|
1020
|
-
- 'https://creativecommons.org/licenses/by-nd/3.0/legalcode'
|
1021
|
-
- 'https://creativecommons.org/licenses/by-nc/3.0/legalcode'
|
1022
|
-
- 'https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode'
|
1023
|
-
- 'https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode'
|
1024
|
-
- 'https://cocina.sul.stanford.edu/licenses/none' # Only used in some legacy ETDs and not actually permitted per the Project Chimera docs.
|
1025
|
-
DROStructural:
|
1026
|
-
description: Structural metadata
|
1027
|
-
type: object
|
1028
|
-
additionalProperties: false
|
1029
|
-
properties:
|
1030
|
-
contains:
|
1031
|
-
description: Filesets that contain the digital representations (Files)
|
1032
|
-
type: array
|
1033
|
-
items:
|
1034
|
-
$ref: '#/components/schemas/FileSet'
|
1035
|
-
hasMemberOrders:
|
1036
|
-
description: Provided sequences or orderings of members, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.).
|
1037
|
-
type: array
|
1038
|
-
items:
|
1039
|
-
$ref: '#/components/schemas/Sequence'
|
1040
|
-
isMemberOf:
|
1041
|
-
description: Collections that this DRO is a member of
|
1042
|
-
type: array
|
1043
|
-
items:
|
1044
|
-
$ref: '#/components/schemas/Druid'
|
1045
|
-
# DROWithMetadata schema should not be copied to sdr-api and dor-services-app.
|
1046
|
-
DROWithMetadata:
|
1047
|
-
description: DRO with addition object metadata.
|
1048
|
-
type: object
|
1049
|
-
additionalProperties: false
|
1050
|
-
allOf:
|
1051
|
-
- $ref: "#/components/schemas/DRO"
|
1052
|
-
- $ref: "#/components/schemas/ObjectMetadata"
|
1030
|
+
pattern: '^10\.(25740|80343)\/[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
1031
|
+
example: '10.25740/bc123df4567'
|
1053
1032
|
Druid:
|
1054
1033
|
type: string
|
1055
1034
|
pattern: '^druid:[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
@@ -1250,6 +1229,34 @@ components:
|
|
1250
1229
|
type: array
|
1251
1230
|
items:
|
1252
1231
|
$ref: '#/components/schemas/File'
|
1232
|
+
FolioCatalogLink:
|
1233
|
+
description: A linkage between an object and a Folio catalog record
|
1234
|
+
type: object
|
1235
|
+
additionalProperties: false
|
1236
|
+
properties:
|
1237
|
+
catalog:
|
1238
|
+
description: Catalog that is the source of the linked record.
|
1239
|
+
type: string
|
1240
|
+
enum:
|
1241
|
+
- folio
|
1242
|
+
- previous folio
|
1243
|
+
example: folio
|
1244
|
+
refresh:
|
1245
|
+
description: Only one of the catkeys should be designated for refreshing.
|
1246
|
+
This means that this key is the one used to pull metadata from the catalog
|
1247
|
+
if there is more than one key present.
|
1248
|
+
type: boolean
|
1249
|
+
default: false
|
1250
|
+
catalogRecordId:
|
1251
|
+
description: Record identifier that is unique within the context of the linked record's catalog.
|
1252
|
+
oneOf:
|
1253
|
+
- $ref: '#/components/schemas/MigratedFromSymphonyIdentifier'
|
1254
|
+
- $ref: '#/components/schemas/MigratedFromVoyagerIdentifier'
|
1255
|
+
- $ref: '#/components/schemas/CreatedInFolioIdentifier'
|
1256
|
+
required:
|
1257
|
+
- catalog
|
1258
|
+
- catalogRecordId
|
1259
|
+
- refresh
|
1253
1260
|
Geographic:
|
1254
1261
|
description: Geographic metadata
|
1255
1262
|
type: object
|
@@ -1276,6 +1283,11 @@ components:
|
|
1276
1283
|
$ref: '#/components/schemas/SourceId'
|
1277
1284
|
required:
|
1278
1285
|
- sourceId
|
1286
|
+
LaneMedicalBarcode:
|
1287
|
+
description: The barcode associated with a Lane Medical Library DRO object, prefixed with 245
|
1288
|
+
type: string
|
1289
|
+
pattern: '^245[0-9]{8}$'
|
1290
|
+
example: '24503259768'
|
1279
1291
|
Language:
|
1280
1292
|
description: Languages, scripts, symbolic systems, and notations used in all
|
1281
1293
|
or part of a resource or its descriptive metadata.
|
@@ -1428,6 +1440,16 @@ components:
|
|
1428
1440
|
required:
|
1429
1441
|
- type
|
1430
1442
|
- digest
|
1443
|
+
MigratedFromSymphonyIdentifier:
|
1444
|
+
description: A record identifier migrated from Symphony
|
1445
|
+
type: string
|
1446
|
+
pattern: '^a\d+$'
|
1447
|
+
example: 'a11403803'
|
1448
|
+
MigratedFromVoyagerIdentifier:
|
1449
|
+
description: A record identifier migrated from Voyager
|
1450
|
+
type: string
|
1451
|
+
pattern: '^L\d+$'
|
1452
|
+
example: 'L11403803'
|
1431
1453
|
# ObjectMetadata schema should not be copied to sdr-api and dor-services-app.
|
1432
1454
|
ObjectMetadata:
|
1433
1455
|
description: Metadata for a cocina object.
|
@@ -1569,18 +1591,6 @@ components:
|
|
1569
1591
|
example: Searchworks
|
1570
1592
|
release:
|
1571
1593
|
type: boolean
|
1572
|
-
RequestAdministrative:
|
1573
|
-
type: object
|
1574
|
-
additionalProperties: false
|
1575
|
-
allOf:
|
1576
|
-
- $ref: "#/components/schemas/Administrative"
|
1577
|
-
- type: object
|
1578
|
-
additionalProperties: false
|
1579
|
-
properties:
|
1580
|
-
partOfProject:
|
1581
|
-
description: Internal project this resource is a part of. This governs routing of messages about this object.
|
1582
|
-
example: Google Books
|
1583
|
-
type: string
|
1584
1594
|
RequestAdminPolicy:
|
1585
1595
|
description: Same as an AdminPolicy, but doesn't have an externalIdentifier as one will be created
|
1586
1596
|
type: object
|
@@ -1609,6 +1619,18 @@ components:
|
|
1609
1619
|
- label
|
1610
1620
|
- type
|
1611
1621
|
- version
|
1622
|
+
RequestAdministrative:
|
1623
|
+
type: object
|
1624
|
+
additionalProperties: false
|
1625
|
+
allOf:
|
1626
|
+
- $ref: "#/components/schemas/Administrative"
|
1627
|
+
- type: object
|
1628
|
+
additionalProperties: false
|
1629
|
+
properties:
|
1630
|
+
partOfProject:
|
1631
|
+
description: Internal project this resource is a part of. This governs routing of messages about this object.
|
1632
|
+
example: Google Books
|
1633
|
+
type: string
|
1612
1634
|
RequestCollection:
|
1613
1635
|
description: Same as a Collection, but doesn't have an externalIdentifier as one will be created
|
1614
1636
|
type: object
|
@@ -1646,6 +1668,75 @@ components:
|
|
1646
1668
|
- label
|
1647
1669
|
- type
|
1648
1670
|
- version
|
1671
|
+
RequestDRO:
|
1672
|
+
description: A request to create a DRO. This has the same general structure as a DRO but doesn't have externalIdentifier and doesn't require the access subschema. If no access subschema is provided, these values will be inherited from the AdminPolicy.
|
1673
|
+
type: object
|
1674
|
+
additionalProperties: false
|
1675
|
+
properties:
|
1676
|
+
cocinaVersion:
|
1677
|
+
$ref: '#/components/schemas/CocinaVersion'
|
1678
|
+
type:
|
1679
|
+
type: string
|
1680
|
+
enum:
|
1681
|
+
- 'https://cocina.sul.stanford.edu/models/object'
|
1682
|
+
- 'https://cocina.sul.stanford.edu/models/3d'
|
1683
|
+
- 'https://cocina.sul.stanford.edu/models/agreement'
|
1684
|
+
- 'https://cocina.sul.stanford.edu/models/book'
|
1685
|
+
- 'https://cocina.sul.stanford.edu/models/document'
|
1686
|
+
- 'https://cocina.sul.stanford.edu/models/geo'
|
1687
|
+
- 'https://cocina.sul.stanford.edu/models/image'
|
1688
|
+
- 'https://cocina.sul.stanford.edu/models/page'
|
1689
|
+
- 'https://cocina.sul.stanford.edu/models/photograph'
|
1690
|
+
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
1691
|
+
- 'https://cocina.sul.stanford.edu/models/map'
|
1692
|
+
- 'https://cocina.sul.stanford.edu/models/media'
|
1693
|
+
- 'https://cocina.sul.stanford.edu/models/track'
|
1694
|
+
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
1695
|
+
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
1696
|
+
label:
|
1697
|
+
type: string
|
1698
|
+
version:
|
1699
|
+
type: integer
|
1700
|
+
default: 1
|
1701
|
+
enum:
|
1702
|
+
- 1
|
1703
|
+
access:
|
1704
|
+
$ref: '#/components/schemas/DROAccess'
|
1705
|
+
administrative:
|
1706
|
+
$ref: '#/components/schemas/RequestAdministrative'
|
1707
|
+
description:
|
1708
|
+
$ref: '#/components/schemas/RequestDescription'
|
1709
|
+
identification:
|
1710
|
+
$ref: '#/components/schemas/RequestIdentification'
|
1711
|
+
structural:
|
1712
|
+
$ref: '#/components/schemas/RequestDROStructural'
|
1713
|
+
geographic:
|
1714
|
+
$ref: '#/components/schemas/Geographic'
|
1715
|
+
required:
|
1716
|
+
- cocinaVersion
|
1717
|
+
- administrative
|
1718
|
+
- identification
|
1719
|
+
- label
|
1720
|
+
- type
|
1721
|
+
- version
|
1722
|
+
RequestDROStructural:
|
1723
|
+
description: Structural metadata
|
1724
|
+
type: object
|
1725
|
+
additionalProperties: false
|
1726
|
+
properties:
|
1727
|
+
contains:
|
1728
|
+
type: array
|
1729
|
+
items:
|
1730
|
+
$ref: '#/components/schemas/RequestFileSet'
|
1731
|
+
hasMemberOrders:
|
1732
|
+
type: array
|
1733
|
+
items:
|
1734
|
+
$ref: '#/components/schemas/Sequence'
|
1735
|
+
isMemberOf:
|
1736
|
+
description: Collections that this DRO is a member of
|
1737
|
+
type: array
|
1738
|
+
items:
|
1739
|
+
$ref: '#/components/schemas/Druid'
|
1649
1740
|
RequestDescription:
|
1650
1741
|
description: Description that is included in a request to create a DRO. This is the same as a Description, except excludes PURL.
|
1651
1742
|
type: object
|
@@ -1719,75 +1810,6 @@ components:
|
|
1719
1810
|
type: string
|
1720
1811
|
required:
|
1721
1812
|
- title
|
1722
|
-
RequestDRO:
|
1723
|
-
description: A request to create a DRO. This has the same general structure as a DRO but doesn't have externalIdentifier and doesn't require the access subschema. If no access subschema is provided, these values will be inherited from the AdminPolicy.
|
1724
|
-
type: object
|
1725
|
-
additionalProperties: false
|
1726
|
-
properties:
|
1727
|
-
cocinaVersion:
|
1728
|
-
$ref: '#/components/schemas/CocinaVersion'
|
1729
|
-
type:
|
1730
|
-
type: string
|
1731
|
-
enum:
|
1732
|
-
- 'https://cocina.sul.stanford.edu/models/object'
|
1733
|
-
- 'https://cocina.sul.stanford.edu/models/3d'
|
1734
|
-
- 'https://cocina.sul.stanford.edu/models/agreement'
|
1735
|
-
- 'https://cocina.sul.stanford.edu/models/book'
|
1736
|
-
- 'https://cocina.sul.stanford.edu/models/document'
|
1737
|
-
- 'https://cocina.sul.stanford.edu/models/geo'
|
1738
|
-
- 'https://cocina.sul.stanford.edu/models/image'
|
1739
|
-
- 'https://cocina.sul.stanford.edu/models/page'
|
1740
|
-
- 'https://cocina.sul.stanford.edu/models/photograph'
|
1741
|
-
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
1742
|
-
- 'https://cocina.sul.stanford.edu/models/map'
|
1743
|
-
- 'https://cocina.sul.stanford.edu/models/media'
|
1744
|
-
- 'https://cocina.sul.stanford.edu/models/track'
|
1745
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
1746
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
1747
|
-
label:
|
1748
|
-
type: string
|
1749
|
-
version:
|
1750
|
-
type: integer
|
1751
|
-
default: 1
|
1752
|
-
enum:
|
1753
|
-
- 1
|
1754
|
-
access:
|
1755
|
-
$ref: '#/components/schemas/DROAccess'
|
1756
|
-
administrative:
|
1757
|
-
$ref: '#/components/schemas/RequestAdministrative'
|
1758
|
-
description:
|
1759
|
-
$ref: '#/components/schemas/RequestDescription'
|
1760
|
-
identification:
|
1761
|
-
$ref: '#/components/schemas/RequestIdentification'
|
1762
|
-
structural:
|
1763
|
-
$ref: '#/components/schemas/RequestDROStructural'
|
1764
|
-
geographic:
|
1765
|
-
$ref: '#/components/schemas/Geographic'
|
1766
|
-
required:
|
1767
|
-
- cocinaVersion
|
1768
|
-
- administrative
|
1769
|
-
- identification
|
1770
|
-
- label
|
1771
|
-
- type
|
1772
|
-
- version
|
1773
|
-
RequestDROStructural:
|
1774
|
-
description: Structural metadata
|
1775
|
-
type: object
|
1776
|
-
additionalProperties: false
|
1777
|
-
properties:
|
1778
|
-
contains:
|
1779
|
-
type: array
|
1780
|
-
items:
|
1781
|
-
$ref: '#/components/schemas/RequestFileSet'
|
1782
|
-
hasMemberOrders:
|
1783
|
-
type: array
|
1784
|
-
items:
|
1785
|
-
$ref: '#/components/schemas/Sequence'
|
1786
|
-
isMemberOf:
|
1787
|
-
description: Collections that this DRO is a member of
|
1788
|
-
type: array
|
1789
|
-
items:
|
1790
|
-
$ref: '#/components/schemas/Druid'
|
1791
1813
|
RequestFile:
|
1792
1814
|
type: object
|
1793
1815
|
additionalProperties: false
|
@@ -1971,27 +1993,6 @@ components:
|
|
1971
1993
|
nullable: true
|
1972
1994
|
pattern: '^36105[0-9]{9}$'
|
1973
1995
|
example: '36105010362304'
|
1974
|
-
Title:
|
1975
|
-
type: object
|
1976
|
-
additionalProperties: false
|
1977
|
-
allOf:
|
1978
|
-
- $ref: "#/components/schemas/DescriptiveValue"
|
1979
|
-
- anyOf:
|
1980
|
-
- type: object
|
1981
|
-
required:
|
1982
|
-
- value
|
1983
|
-
- type: object
|
1984
|
-
required:
|
1985
|
-
- structuredValue
|
1986
|
-
- type: object
|
1987
|
-
required:
|
1988
|
-
- parallelValue
|
1989
|
-
- type: object
|
1990
|
-
required:
|
1991
|
-
- groupedValue
|
1992
|
-
- type: object
|
1993
|
-
required:
|
1994
|
-
- valueAt
|
1995
1996
|
StanfordAccess:
|
1996
1997
|
type: object
|
1997
1998
|
properties:
|
@@ -2019,6 +2020,54 @@ components:
|
|
2019
2020
|
required:
|
2020
2021
|
- view
|
2021
2022
|
- download
|
2023
|
+
SymphonyCatalogLink:
|
2024
|
+
description: A linkage between an object and a Symphony catalog record
|
2025
|
+
type: object
|
2026
|
+
additionalProperties: false
|
2027
|
+
properties:
|
2028
|
+
catalog:
|
2029
|
+
description: Catalog that is the source of the linked record.
|
2030
|
+
type: string
|
2031
|
+
enum:
|
2032
|
+
- symphony
|
2033
|
+
- previous symphony
|
2034
|
+
example: symphony
|
2035
|
+
refresh:
|
2036
|
+
description: Only one of the catkeys should be designated for refreshing.
|
2037
|
+
This means that this key is the one used to pull metadata from the catalog
|
2038
|
+
if there is more than one key present.
|
2039
|
+
type: boolean
|
2040
|
+
default: false
|
2041
|
+
catalogRecordId:
|
2042
|
+
description: Record identifier that is unique within the context of the linked record's catalog.
|
2043
|
+
type: string
|
2044
|
+
pattern: '^\d+$'
|
2045
|
+
example: '11403803'
|
2046
|
+
required:
|
2047
|
+
- catalog
|
2048
|
+
- catalogRecordId
|
2049
|
+
- refresh
|
2050
|
+
Title:
|
2051
|
+
type: object
|
2052
|
+
additionalProperties: false
|
2053
|
+
allOf:
|
2054
|
+
- $ref: "#/components/schemas/DescriptiveValue"
|
2055
|
+
- anyOf:
|
2056
|
+
- type: object
|
2057
|
+
required:
|
2058
|
+
- value
|
2059
|
+
- type: object
|
2060
|
+
required:
|
2061
|
+
- structuredValue
|
2062
|
+
- type: object
|
2063
|
+
required:
|
2064
|
+
- parallelValue
|
2065
|
+
- type: object
|
2066
|
+
required:
|
2067
|
+
- groupedValue
|
2068
|
+
- type: object
|
2069
|
+
required:
|
2070
|
+
- valueAt
|
2022
2071
|
WorldAccess:
|
2023
2072
|
type: object
|
2024
2073
|
properties:
|