cocina-models 0.85.0 → 0.87.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/.circleci/config.yml +1 -1
- data/.rubocop.yml +52 -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 +36 -16
- data/lib/cocina/generator/schema_value.rb +2 -2
- 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/contributor.rb +1 -0
- data/lib/cocina/models/created_in_folio_identifier.rb +9 -0
- data/lib/cocina/models/description.rb +1 -1
- data/lib/cocina/models/descriptive_parallel_contributor.rb +21 -0
- 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 +1 -1
- 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/validators/description_types_validator.rb +1 -1
- data/lib/cocina/models/version.rb +1 -1
- data/lib/cocina/models.rb +7 -3
- data/openapi.yml +409 -317
- metadata +15 -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
|
@@ -549,6 +523,11 @@ components:
|
|
549
523
|
valueAt:
|
550
524
|
description: URL or other pointer to the location of the contributor information.
|
551
525
|
type: string
|
526
|
+
parallelContributor:
|
527
|
+
description: For multiple representations of information about the same contributor (e.g. in different languages).
|
528
|
+
type: array
|
529
|
+
items:
|
530
|
+
$ref: "#/components/schemas/DescriptiveParallelContributor"
|
552
531
|
ControlledDigitalLendingAccess:
|
553
532
|
type: object
|
554
533
|
properties:
|
@@ -575,6 +554,155 @@ components:
|
|
575
554
|
required:
|
576
555
|
- view
|
577
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"
|
578
706
|
DarkAccess:
|
579
707
|
type: object
|
580
708
|
properties:
|
@@ -772,6 +900,44 @@ components:
|
|
772
900
|
type: array
|
773
901
|
items:
|
774
902
|
$ref: "#/components/schemas/DescriptiveValue"
|
903
|
+
DescriptiveParallelContributor:
|
904
|
+
description: Value model for multiple representations of information about the same contributor (e.g. in different languages).
|
905
|
+
deprecated: true
|
906
|
+
type: object
|
907
|
+
additionalProperties: false
|
908
|
+
properties:
|
909
|
+
name:
|
910
|
+
description: Names associated with a contributor.
|
911
|
+
type: array
|
912
|
+
items:
|
913
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
914
|
+
type:
|
915
|
+
description: Entity type of the contributor (person, organization, etc.). See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md for valid types.
|
916
|
+
type: string
|
917
|
+
status:
|
918
|
+
description: Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).
|
919
|
+
type: string
|
920
|
+
role:
|
921
|
+
description: Relationships of the contributor to the resource or to an event in its history.
|
922
|
+
type: array
|
923
|
+
items:
|
924
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
925
|
+
identifier:
|
926
|
+
description: Identifiers and URIs associated with the contributor entity.
|
927
|
+
type: array
|
928
|
+
items:
|
929
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
930
|
+
note:
|
931
|
+
description: Other information associated with the contributor.
|
932
|
+
type: array
|
933
|
+
items:
|
934
|
+
$ref: "#/components/schemas/DescriptiveValue"
|
935
|
+
valueAt:
|
936
|
+
description: URL or other pointer to the location of the contributor information.
|
937
|
+
type: string
|
938
|
+
valueLanguage:
|
939
|
+
# description: Language of the descriptive element value
|
940
|
+
$ref: "#/components/schemas/DescriptiveValueLanguage"
|
775
941
|
DescriptiveParallelEvent:
|
776
942
|
description: Value model for multiple representations of information about the same event (e.g. in different languages).
|
777
943
|
type: object
|
@@ -852,11 +1018,6 @@ components:
|
|
852
1018
|
$ref: '#/components/schemas/Standard'
|
853
1019
|
# description: An alphabet or other notation used to represent a
|
854
1020
|
# language or other symbolic system of the descriptive element value.
|
855
|
-
DOI:
|
856
|
-
description: Digital Object Identifier (https://www.doi.org)
|
857
|
-
oneOf:
|
858
|
-
- $ref: '#/components/schemas/DoiPattern'
|
859
|
-
- $ref: '#/components/schemas/DoiExceptions'
|
860
1021
|
DoiExceptions:
|
861
1022
|
type: string
|
862
1023
|
description: pre-existing Digital Object Identifiers (https://www.doi.org) not matching the pattern (case insensitive)
|
@@ -866,147 +1027,8 @@ components:
|
|
866
1027
|
type: string
|
867
1028
|
description: Digital Object Identifier (https://www.doi.org) regex pattern
|
868
1029
|
# The prod and test prefixes are permitted
|
869
|
-
pattern: '^10\.(25740|80343)\/[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
870
|
-
example: '10.25740/bc123df4567'
|
871
|
-
DRO:
|
872
|
-
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.
|
873
|
-
type: object
|
874
|
-
additionalProperties: false
|
875
|
-
properties:
|
876
|
-
cocinaVersion:
|
877
|
-
$ref: '#/components/schemas/CocinaVersion'
|
878
|
-
type:
|
879
|
-
description: The content type of the DRO. Selected from an established set of values.
|
880
|
-
type: string
|
881
|
-
enum:
|
882
|
-
- 'https://cocina.sul.stanford.edu/models/object'
|
883
|
-
- 'https://cocina.sul.stanford.edu/models/3d'
|
884
|
-
- 'https://cocina.sul.stanford.edu/models/agreement'
|
885
|
-
- 'https://cocina.sul.stanford.edu/models/book'
|
886
|
-
- 'https://cocina.sul.stanford.edu/models/document'
|
887
|
-
- 'https://cocina.sul.stanford.edu/models/geo'
|
888
|
-
- 'https://cocina.sul.stanford.edu/models/image'
|
889
|
-
- 'https://cocina.sul.stanford.edu/models/page'
|
890
|
-
- 'https://cocina.sul.stanford.edu/models/photograph'
|
891
|
-
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
892
|
-
- 'https://cocina.sul.stanford.edu/models/map'
|
893
|
-
- 'https://cocina.sul.stanford.edu/models/media'
|
894
|
-
- 'https://cocina.sul.stanford.edu/models/track'
|
895
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
896
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
897
|
-
externalIdentifier:
|
898
|
-
$ref: '#/components/schemas/Druid'
|
899
|
-
label:
|
900
|
-
description: Primary processing label (can be same as title) for a DRO.
|
901
|
-
type: string
|
902
|
-
version:
|
903
|
-
description: Version for the DRO within SDR.
|
904
|
-
type: integer
|
905
|
-
access:
|
906
|
-
$ref: '#/components/schemas/DROAccess'
|
907
|
-
administrative:
|
908
|
-
$ref: '#/components/schemas/Administrative'
|
909
|
-
description:
|
910
|
-
$ref: '#/components/schemas/Description'
|
911
|
-
identification:
|
912
|
-
$ref: '#/components/schemas/Identification'
|
913
|
-
structural:
|
914
|
-
$ref: '#/components/schemas/DROStructural'
|
915
|
-
geographic:
|
916
|
-
$ref: '#/components/schemas/Geographic'
|
917
|
-
required:
|
918
|
-
- cocinaVersion
|
919
|
-
- access
|
920
|
-
- administrative
|
921
|
-
- description
|
922
|
-
- externalIdentifier
|
923
|
-
- label
|
924
|
-
- type
|
925
|
-
- version
|
926
|
-
- identification
|
927
|
-
- structural
|
928
|
-
DROAccess:
|
929
|
-
type: object
|
930
|
-
additionalProperties: false
|
931
|
-
allOf:
|
932
|
-
- $ref: "#/components/schemas/Access"
|
933
|
-
- type: object
|
934
|
-
properties:
|
935
|
-
copyright:
|
936
|
-
description: The human readable copyright statement that applies
|
937
|
-
example: Copyright World Trade Organization
|
938
|
-
type: string
|
939
|
-
nullable: true
|
940
|
-
embargo:
|
941
|
-
$ref: '#/components/schemas/Embargo'
|
942
|
-
useAndReproductionStatement:
|
943
|
-
description: The human readable use and reproduction statement that applies
|
944
|
-
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).
|
945
|
-
type: string
|
946
|
-
nullable: true
|
947
|
-
license:
|
948
|
-
description: The license governing reuse of the DRO. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).
|
949
|
-
type: string
|
950
|
-
nullable: true
|
951
|
-
enum:
|
952
|
-
- 'https://www.gnu.org/licenses/agpl.txt'
|
953
|
-
- 'https://www.apache.org/licenses/LICENSE-2.0'
|
954
|
-
- 'https://opensource.org/licenses/BSD-2-Clause'
|
955
|
-
- 'https://opensource.org/licenses/BSD-3-Clause'
|
956
|
-
- 'https://creativecommons.org/licenses/by/4.0/legalcode'
|
957
|
-
- 'https://creativecommons.org/licenses/by-nc/4.0/legalcode'
|
958
|
-
- 'https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode'
|
959
|
-
- 'https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode'
|
960
|
-
- 'https://creativecommons.org/licenses/by-nd/4.0/legalcode'
|
961
|
-
- 'https://creativecommons.org/licenses/by-sa/4.0/legalcode'
|
962
|
-
- 'https://creativecommons.org/publicdomain/zero/1.0/legalcode'
|
963
|
-
- 'https://opensource.org/licenses/cddl1'
|
964
|
-
- 'https://www.eclipse.org/legal/epl-2.0'
|
965
|
-
- 'https://www.gnu.org/licenses/gpl-3.0-standalone.html'
|
966
|
-
- 'https://www.isc.org/downloads/software-support-policy/isc-license/'
|
967
|
-
- 'https://www.gnu.org/licenses/lgpl-3.0-standalone.html'
|
968
|
-
- 'https://opensource.org/licenses/MIT'
|
969
|
-
- 'https://www.mozilla.org/MPL/2.0/'
|
970
|
-
- 'https://opendatacommons.org/licenses/by/1-0/'
|
971
|
-
- 'http://opendatacommons.org/licenses/odbl/1.0/' # Non cannonical, but in some of our data
|
972
|
-
- 'https://opendatacommons.org/licenses/odbl/1-0/'
|
973
|
-
- 'https://creativecommons.org/publicdomain/mark/1.0/'
|
974
|
-
- 'https://opendatacommons.org/licenses/pddl/1-0/'
|
975
|
-
- 'https://creativecommons.org/licenses/by/3.0/legalcode'
|
976
|
-
- 'https://creativecommons.org/licenses/by-sa/3.0/legalcode'
|
977
|
-
- 'https://creativecommons.org/licenses/by-nd/3.0/legalcode'
|
978
|
-
- 'https://creativecommons.org/licenses/by-nc/3.0/legalcode'
|
979
|
-
- 'https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode'
|
980
|
-
- 'https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode'
|
981
|
-
- 'https://cocina.sul.stanford.edu/licenses/none' # Only used in some legacy ETDs and not actually permitted per the Project Chimera docs.
|
982
|
-
DROStructural:
|
983
|
-
description: Structural metadata
|
984
|
-
type: object
|
985
|
-
additionalProperties: false
|
986
|
-
properties:
|
987
|
-
contains:
|
988
|
-
description: Filesets that contain the digital representations (Files)
|
989
|
-
type: array
|
990
|
-
items:
|
991
|
-
$ref: '#/components/schemas/FileSet'
|
992
|
-
hasMemberOrders:
|
993
|
-
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.).
|
994
|
-
type: array
|
995
|
-
items:
|
996
|
-
$ref: '#/components/schemas/Sequence'
|
997
|
-
isMemberOf:
|
998
|
-
description: Collections that this DRO is a member of
|
999
|
-
type: array
|
1000
|
-
items:
|
1001
|
-
$ref: '#/components/schemas/Druid'
|
1002
|
-
# DROWithMetadata schema should not be copied to sdr-api and dor-services-app.
|
1003
|
-
DROWithMetadata:
|
1004
|
-
description: DRO with addition object metadata.
|
1005
|
-
type: object
|
1006
|
-
additionalProperties: false
|
1007
|
-
allOf:
|
1008
|
-
- $ref: "#/components/schemas/DRO"
|
1009
|
-
- $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'
|
1010
1032
|
Druid:
|
1011
1033
|
type: string
|
1012
1034
|
pattern: '^druid:[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
@@ -1207,6 +1229,34 @@ components:
|
|
1207
1229
|
type: array
|
1208
1230
|
items:
|
1209
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
|
1210
1260
|
Geographic:
|
1211
1261
|
description: Geographic metadata
|
1212
1262
|
type: object
|
@@ -1233,6 +1283,11 @@ components:
|
|
1233
1283
|
$ref: '#/components/schemas/SourceId'
|
1234
1284
|
required:
|
1235
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'
|
1236
1291
|
Language:
|
1237
1292
|
description: Languages, scripts, symbolic systems, and notations used in all
|
1238
1293
|
or part of a resource or its descriptive metadata.
|
@@ -1385,6 +1440,16 @@ components:
|
|
1385
1440
|
required:
|
1386
1441
|
- type
|
1387
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'
|
1388
1453
|
# ObjectMetadata schema should not be copied to sdr-api and dor-services-app.
|
1389
1454
|
ObjectMetadata:
|
1390
1455
|
description: Metadata for a cocina object.
|
@@ -1526,18 +1591,6 @@ components:
|
|
1526
1591
|
example: Searchworks
|
1527
1592
|
release:
|
1528
1593
|
type: boolean
|
1529
|
-
RequestAdministrative:
|
1530
|
-
type: object
|
1531
|
-
additionalProperties: false
|
1532
|
-
allOf:
|
1533
|
-
- $ref: "#/components/schemas/Administrative"
|
1534
|
-
- type: object
|
1535
|
-
additionalProperties: false
|
1536
|
-
properties:
|
1537
|
-
partOfProject:
|
1538
|
-
description: Internal project this resource is a part of. This governs routing of messages about this object.
|
1539
|
-
example: Google Books
|
1540
|
-
type: string
|
1541
1594
|
RequestAdminPolicy:
|
1542
1595
|
description: Same as an AdminPolicy, but doesn't have an externalIdentifier as one will be created
|
1543
1596
|
type: object
|
@@ -1566,6 +1619,18 @@ components:
|
|
1566
1619
|
- label
|
1567
1620
|
- type
|
1568
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
|
1569
1634
|
RequestCollection:
|
1570
1635
|
description: Same as a Collection, but doesn't have an externalIdentifier as one will be created
|
1571
1636
|
type: object
|
@@ -1603,6 +1668,75 @@ components:
|
|
1603
1668
|
- label
|
1604
1669
|
- type
|
1605
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'
|
1606
1740
|
RequestDescription:
|
1607
1741
|
description: Description that is included in a request to create a DRO. This is the same as a Description, except excludes PURL.
|
1608
1742
|
type: object
|
@@ -1676,75 +1810,6 @@ components:
|
|
1676
1810
|
type: string
|
1677
1811
|
required:
|
1678
1812
|
- title
|
1679
|
-
RequestDRO:
|
1680
|
-
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.
|
1681
|
-
type: object
|
1682
|
-
additionalProperties: false
|
1683
|
-
properties:
|
1684
|
-
cocinaVersion:
|
1685
|
-
$ref: '#/components/schemas/CocinaVersion'
|
1686
|
-
type:
|
1687
|
-
type: string
|
1688
|
-
enum:
|
1689
|
-
- 'https://cocina.sul.stanford.edu/models/object'
|
1690
|
-
- 'https://cocina.sul.stanford.edu/models/3d'
|
1691
|
-
- 'https://cocina.sul.stanford.edu/models/agreement'
|
1692
|
-
- 'https://cocina.sul.stanford.edu/models/book'
|
1693
|
-
- 'https://cocina.sul.stanford.edu/models/document'
|
1694
|
-
- 'https://cocina.sul.stanford.edu/models/geo'
|
1695
|
-
- 'https://cocina.sul.stanford.edu/models/image'
|
1696
|
-
- 'https://cocina.sul.stanford.edu/models/page'
|
1697
|
-
- 'https://cocina.sul.stanford.edu/models/photograph'
|
1698
|
-
- 'https://cocina.sul.stanford.edu/models/manuscript'
|
1699
|
-
- 'https://cocina.sul.stanford.edu/models/map'
|
1700
|
-
- 'https://cocina.sul.stanford.edu/models/media'
|
1701
|
-
- 'https://cocina.sul.stanford.edu/models/track'
|
1702
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
|
1703
|
-
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
|
1704
|
-
label:
|
1705
|
-
type: string
|
1706
|
-
version:
|
1707
|
-
type: integer
|
1708
|
-
default: 1
|
1709
|
-
enum:
|
1710
|
-
- 1
|
1711
|
-
access:
|
1712
|
-
$ref: '#/components/schemas/DROAccess'
|
1713
|
-
administrative:
|
1714
|
-
$ref: '#/components/schemas/RequestAdministrative'
|
1715
|
-
description:
|
1716
|
-
$ref: '#/components/schemas/RequestDescription'
|
1717
|
-
identification:
|
1718
|
-
$ref: '#/components/schemas/RequestIdentification'
|
1719
|
-
structural:
|
1720
|
-
$ref: '#/components/schemas/RequestDROStructural'
|
1721
|
-
geographic:
|
1722
|
-
$ref: '#/components/schemas/Geographic'
|
1723
|
-
required:
|
1724
|
-
- cocinaVersion
|
1725
|
-
- administrative
|
1726
|
-
- identification
|
1727
|
-
- label
|
1728
|
-
- type
|
1729
|
-
- version
|
1730
|
-
RequestDROStructural:
|
1731
|
-
description: Structural metadata
|
1732
|
-
type: object
|
1733
|
-
additionalProperties: false
|
1734
|
-
properties:
|
1735
|
-
contains:
|
1736
|
-
type: array
|
1737
|
-
items:
|
1738
|
-
$ref: '#/components/schemas/RequestFileSet'
|
1739
|
-
hasMemberOrders:
|
1740
|
-
type: array
|
1741
|
-
items:
|
1742
|
-
$ref: '#/components/schemas/Sequence'
|
1743
|
-
isMemberOf:
|
1744
|
-
description: Collections that this DRO is a member of
|
1745
|
-
type: array
|
1746
|
-
items:
|
1747
|
-
$ref: '#/components/schemas/Druid'
|
1748
1813
|
RequestFile:
|
1749
1814
|
type: object
|
1750
1815
|
additionalProperties: false
|
@@ -1928,27 +1993,6 @@ components:
|
|
1928
1993
|
nullable: true
|
1929
1994
|
pattern: '^36105[0-9]{9}$'
|
1930
1995
|
example: '36105010362304'
|
1931
|
-
Title:
|
1932
|
-
type: object
|
1933
|
-
additionalProperties: false
|
1934
|
-
allOf:
|
1935
|
-
- $ref: "#/components/schemas/DescriptiveValue"
|
1936
|
-
- anyOf:
|
1937
|
-
- type: object
|
1938
|
-
required:
|
1939
|
-
- value
|
1940
|
-
- type: object
|
1941
|
-
required:
|
1942
|
-
- structuredValue
|
1943
|
-
- type: object
|
1944
|
-
required:
|
1945
|
-
- parallelValue
|
1946
|
-
- type: object
|
1947
|
-
required:
|
1948
|
-
- groupedValue
|
1949
|
-
- type: object
|
1950
|
-
required:
|
1951
|
-
- valueAt
|
1952
1996
|
StanfordAccess:
|
1953
1997
|
type: object
|
1954
1998
|
properties:
|
@@ -1976,6 +2020,54 @@ components:
|
|
1976
2020
|
required:
|
1977
2021
|
- view
|
1978
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
|
1979
2071
|
WorldAccess:
|
1980
2072
|
type: object
|
1981
2073
|
properties:
|