From 2265a7fcc52b0c558612a4cedec21bf1dd9780b2 Mon Sep 17 00:00:00 2001 From: southeo Date: Wed, 13 Dec 2023 10:31:07 +0100 Subject: [PATCH 1/8] digital specimen ids --- .../schema/digital-specimen.json | 158 ++++++++++++++++-- 1 file changed, 148 insertions(+), 10 deletions(-) diff --git a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json index e41422a..27cb118 100644 --- a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json +++ b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json @@ -1,5 +1,5 @@ { - "$id": "handle-kernel", + "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/digital-specimen.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "Kernel from which all DiSSCo DOI FDO profiles are derived", "allof": [ @@ -76,26 +76,164 @@ } }, "topicOrigin": { - "enum": ["Natural", "Human-made", "Mixed origin"], + "enum": [ + "Natural", + "Human-made", + "Mixed origin" + ], "description": "Highest-level terms identifying the fundamentals of the activities, in which context the objects in the collection were collected.", "$comment": "idx = 208" }, "topicDomain": { - "enum": [], - "description": "", + "enum": [ + "Life", + "Environment", + "Earth System", + "Extraterrestrial", + "Cultural Artefacts", + "Archive Material" + ], + "description": "High-level terms providing general domain information with which the objects are associated.", "$comment": "idx = 209" }, - - "": { + "topicDiscipline": { + "enum": [ + "Anthropology", + "Botany", + "Astrogeology", + "Geology", + "Microbiology", + "Palaeontology", + "Zoology", + "Ecology", + "Other Biodiversity", + "Other Geodiversity" + ], + "description": "Overarching classification of the scientific discipline to which the objects within the collection belong or are related.", + "$comment": "idx = 210" + }, + "topicCategory": { + "enum": [ + "Human remains", + "Hominid remains", + "Mycology", + "Algae", + "Bryophytes", + "Pteridophytes", + "Seed plants", + "Other Botany Objects", + "Insects", + "Arachnids", + "Crustaceans & Myriapods", + "Porifera", + "Mollusca", + "Cnidaria", + "Echinodermata", + "Fishes", + "Amphibians", + "Reptiles", + "Birds", + "Mammals", + "AnimalGeneticResources", + "Other Zoology Objects", + "Phages", + "Bacteria & Archaea", + "Plasmids", + "Protozoa", + "Eukaryotic microorganisms", + "Viruses", + "Mircofungi", + "Other Microbiology Objects", + "Botany Fossils", + "Invertebrate Fossils", + "Vertebrate Fossils", + "Other Palaeontology Objects", + "Minerals and Gems", + "Loose Sediment Sample", + "Mixed Solid Mater Sample", + "Water-Ice Sample", + "Liquid or Gaseous Matter Sample", + "Mixed Geology Objects", + "Terrestrial Finds/Falls", + "Terrestrial Impacta", + "Sample Returns" + ], + "description": "Countable things (objects) served as a more detailed classification of each of the disciplines.", + "$comment": "idx = 211" + }, + "livingOrPreserved": { + "enum": [ + "Living", + "Preserved" + ], + "description": "State of specimen", + "$comment": "idx = 212" + }, + "baseTypeOfSpecimen": { + "enum": [ + "DCMI:Image", + "DCMI:MovingImage", + "DCMI:PhysicalObject", + "DCMI:Sound", + "DCMI:3DResourceType" + ], + "description": "Describes origin of specimen", + "$comment": "idx = 213" + }, + "informationArtefactType": { + "enum": [ + "Material entity", + "Information artefact" + ], + "description": "May be left blank if baseTypeOfSpecimen is not an informationArtefact", + "$comment": "idx = 214" + }, + "materialSampleType": { + "enum": [ + "Whole organism specimen", + "Organism part", + "Organism product", + "Biome aggregation", + "Bundle biome aggregation", + "Fossil", + "Any biological specimen", + "Aggregation", + "Slurry biome aggregation", + "Other solid object", + "Fluid in container", + "Anthropogenic aggregation", + "Artefact", + "Any aggregation specimen" + ], + "description": "https://isamplesorg.github.io/models/generated/vocabularies/specimenType.html", + "$comment": "idx = 215" + }, + "materialOrDigitalEntity": { + "enum": [ + "Material entity", + "Digital entity" + ], + "$comment": "idx = 216" + }, + "markedAsType": { + "type": "boolean", + "description": "TRUE if the specimen is marked as type with a stamp or label.\n", + "$comment": "idx = 217" + }, + "derivedFromEntity": { + "type": "string", + "description": "Other material or digital entity where the specimen was derived from, specified by its ID or PID.", + "example": "RMNH.1.2", + "$comment": "idx = 218" + }, + "catalogIdentifier": { "type": "string", - "description": "", - "example": "", - "$comment": "idx = " + "description": "Identifier of source system catalog", + "$comment": "idx = 219" }, "additionalProperties": false, "required": [ "specimenHost", "specimenHostName" - ] } \ No newline at end of file From cc4aad06d6f0e75fc26206254a4bcc06189ac8fa Mon Sep 17 00:00:00 2001 From: southeo Date: Wed, 13 Dec 2023 16:03:49 +0100 Subject: [PATCH 2/8] Add fdo profiles --- .../annotation/schema/annotation-request.json | 44 ++++ .../0.1.0/annotation/schema/annotation.json | 44 ++++ .../schema/digital-specimen-request.json | 233 ++++++++++++++++++ .../0.1.0/doi-kernel/schema/doi-kernel.json | 2 +- .../handle-kernel/schema/handle-kernel.json | 2 +- .../schema/media-object-request.json | 134 ++++++++++ .../media-object/schema/media-object.json | 132 ++++++++++ 7 files changed, 589 insertions(+), 2 deletions(-) create mode 100644 data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json create mode 100644 data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json create mode 100644 data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json create mode 100644 data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json create mode 100644 data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json new file mode 100644 index 0000000..74820f9 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json @@ -0,0 +1,44 @@ +{ + "$id": "", + "$schema": "https://json-schema.org/draft/2020-12/schemas/0.1.0/annotation-request.json", + "$comment": "Schema for creating new PID records for Annotations using the DiSSCO PID API. API maps requests to annotation.json profile", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + } + ], + "properties": { + "targetPid": { + "type": "string", + "description": "A Handle or DOI of the object that is being annotated", + "example": "https:/hdl.handle.net/20.5000.1025/ABC-123-XYZ", + "$comment": "idx = 500" + }, + "targetType": { + "type": "string", + "description": "Map to ods:type in annotation model", + "$comment": "idx = 500" + }, + "motivation": { + "enum": [ + "ods:adding", + "oa:assessing", + "oa:editing", + "oa:commenting" + ], + "description": "The motivation for the annotation. Based on a selection of https://www.w3.org/TR/annotation-model/#motivation-and-purpose. The motivation ods:adding is added for DiSSCo's purposes.", + "$comment": "idx = 502" + }, + "annotationHash": { + "type": "string", + "description": "MD5 hash based on target, motivation, and creator. Internally generated by DiSSCo Annotation Processing Service for machine annotations", + "$comment": "idx = 503" + } + }, + "additionalProperties": false, + "required": [ + "targetPid", + "targetType", + "motivation" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json new file mode 100644 index 0000000..a881a75 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json @@ -0,0 +1,44 @@ +{ + "$id": "", + "$schema": "https://json-schema.org/draft/2020-12/schemas/0.1.0/annotation.json", + "$comment": "FDO Profile for DiSSCo Annotations", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + } + ], + "properties": { + "targetPid": { + "type": "string", + "description": "A Handle or DOI of the object that is being annotated", + "example": "https:/hdl.handle.net/20.5000.1025/ABC-123-XYZ", + "$comment": "idx = 500" + }, + "targetType": { + "type": "string", + "description": "Map to ods:type in annotation model", + "$comment": "idx = 500" + }, + "motivation": { + "enum": [ + "ods:adding", + "oa:assessing", + "oa:editing", + "oa:commenting" + ], + "description": "The motivation for the annotation. Based on a selection of https://www.w3.org/TR/annotation-model/#motivation-and-purpose. The motivation ods:adding is added for DiSSCo's purposes.", + "$comment": "idx = 502" + }, + "annotationHash": { + "type": "string", + "description": "MD5 hash based on target, motivation, and creator. Internally generated by DiSSCo Annotation Processing Service for machine annotations", + "$comment": "idx = 503" + } + }, + "additionalProperties": false, + "required": [ + "targetPid", + "targetType", + "motivation" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json new file mode 100644 index 0000000..76b6a6c --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json @@ -0,0 +1,233 @@ +{ + "$id": "ttps://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/digital-specimen-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for Digital Specimens", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + }, + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json" + } + ], + "properties": { + "specimenHost": { + "type": "string", + "description": "ROR or, in absence of a ROR, Wikidata Qnumber for the administrative organisation hosting the specimen. Same as: Latimer Core identifierSource.", + "example": "https://ror.org/0566bfb96", + "$comment": "idx = 200" + }, + "specimenHostName": { + "type": "string", + "description": "Name for the administrative organisation as derived from ROR or Wikidata at the point of creating the FDO record.", + "example": "Naturalis Biodiversity Center", + "$comment": "idx = 201" + }, + "primarySpecimenObjectId": { + "type": "string", + "description": "Primary local identifier used to identify the physical specimen, which is a preserved material entity. This identifier is usually physically attached to the specimen, e.g. as barcode. It is recommended to use a global and resolvable identifier if available. The host of the physical specimen should be able to find the physical specimen with only this ID plus, if that is not globally unique, the primarySpecimenObjectIdName", + "example": "RMNH.1.2b", + "$comment": "idx = 202" + }, + "primarySpecimenObjectIdType": { + "enum": [ + "Global", + "Resolvable", + "Local" + ], + "description": "Nature of institutional identifier", + "$comment": "idx = 203" + }, + "normalisedSpecimenObjectId": { + "type": "string", + "description": "For internal processing purposes only to make a local identifier globally unique. This is the primarySpecimenObjectId if it is globally unique or a combination of ROR ID string, source system ID string, primarySpecimenObjectId if it is a proprietary identifier.", + "example": "0566bfb96:20.5000.1025/GEE-W3J-HL2:RMNH.1.2b", + "$comment": "idx = 205" + }, + "specimenObjectIdAbsenceReason": { + "type": "string", + "description": "*Not currently supported.* Either this attribute or primarySpecimenObjectId needs to be filled, if both are filled the FDO record is invalid. Max 255 chars. Note that absence of the ID poses a challenge on avoiding duplicate digital specimen IDs.", + "example": "Not yet accessioned", + "$comment": "idx = 206" + }, + "otherSpecimenIds": { + "type": "array", + "$comment": "idx = 207", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "idType": { + "type": "string" + }, + "idName": { + "type": "string" + } + } + } + }, + "topicOrigin": { + "enum": [ + "Natural", + "Human-made", + "Mixed origin" + ], + "description": "Highest-level terms identifying the fundamentals of the activities, in which context the objects in the collection were collected.", + "$comment": "idx = 208" + }, + "topicDomain": { + "enum": [ + "Life", + "Environment", + "Earth System", + "Extraterrestrial", + "Cultural Artefacts", + "Archive Material" + ], + "description": "High-level terms providing general domain information with which the objects are associated.", + "$comment": "idx = 209" + }, + "topicDiscipline": { + "enum": [ + "Anthropology", + "Botany", + "Astrogeology", + "Geology", + "Microbiology", + "Palaeontology", + "Zoology", + "Ecology", + "Other Biodiversity", + "Other Geodiversity" + ], + "description": "Overarching classification of the scientific discipline to which the objects within the collection belong or are related.", + "$comment": "idx = 210" + }, + "topicCategory": { + "enum": [ + "Human remains", + "Hominid remains", + "Mycology", + "Algae", + "Bryophytes", + "Pteridophytes", + "Seed plants", + "Other Botany Objects", + "Insects", + "Arachnids", + "Crustaceans & Myriapods", + "Porifera", + "Mollusca", + "Cnidaria", + "Echinodermata", + "Fishes", + "Amphibians", + "Reptiles", + "Birds", + "Mammals", + "AnimalGeneticResources", + "Other Zoology Objects", + "Phages", + "Bacteria & Archaea", + "Plasmids", + "Protozoa", + "Eukaryotic microorganisms", + "Viruses", + "Mircofungi", + "Other Microbiology Objects", + "Botany Fossils", + "Invertebrate Fossils", + "Vertebrate Fossils", + "Other Palaeontology Objects", + "Minerals and Gems", + "Loose Sediment Sample", + "Mixed Solid Mater Sample", + "Water-Ice Sample", + "Liquid or Gaseous Matter Sample", + "Mixed Geology Objects", + "Terrestrial Finds/Falls", + "Terrestrial Impacta", + "Sample Returns" + ], + "description": "Countable things (objects) served as a more detailed classification of each of the disciplines.", + "$comment": "idx = 211" + }, + "livingOrPreserved": { + "enum": [ + "Living", + "Preserved" + ], + "description": "State of specimen", + "$comment": "idx = 212" + }, + "baseTypeOfSpecimen": { + "enum": [ + "DCMI:Image", + "DCMI:MovingImage", + "DCMI:PhysicalObject", + "DCMI:Sound", + "DCMI:3DResourceType" + ], + "description": "Describes origin of specimen", + "$comment": "idx = 213" + }, + "informationArtefactType": { + "enum": [ + "Material entity", + "Information artefact" + ], + "description": "May be left blank if baseTypeOfSpecimen is not an informationArtefact", + "$comment": "idx = 214" + }, + "materialSampleType": { + "enum": [ + "Whole organism specimen", + "Organism part", + "Organism product", + "Biome aggregation", + "Bundle biome aggregation", + "Fossil", + "Any biological specimen", + "Aggregation", + "Slurry biome aggregation", + "Other solid object", + "Fluid in container", + "Anthropogenic aggregation", + "Artefact", + "Any aggregation specimen" + ], + "description": "https://isamplesorg.github.io/models/generated/vocabularies/specimenType.html", + "$comment": "idx = 215" + }, + "materialOrDigitalEntity": { + "enum": [ + "Material entity", + "Digital entity" + ], + "$comment": "idx = 216" + }, + "markedAsType": { + "type": "boolean", + "description": "TRUE if the specimen is marked as type with a stamp or label.\n", + "$comment": "idx = 217" + }, + "derivedFromEntity": { + "type": "string", + "description": "Other material or digital entity where the specimen was derived from, specified by its ID or PID.", + "example": "RMNH.1.2", + "$comment": "idx = 218" + }, + "catalogIdentifier": { + "type": "string", + "description": "Identifier of source system catalog", + "$comment": "idx = 219" + } + }, + "additionalProperties": false, + "required": [ + "specimenHost", + "primarySpecimenObjectId" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json index 7cd3ad9..a48d151 100644 --- a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json +++ b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json @@ -1,5 +1,5 @@ { - "$id": "handle-kernel", + "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-kernel.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "Kernel from which all DiSSCo DOI FDO profiles are derived", "allof": [{ diff --git a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json index 150ebc2..9d6e596 100644 --- a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json +++ b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json @@ -1,5 +1,5 @@ { - "$id": "handle-kernel", + "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "$comment": "Kernel from which all DiSSCo FAIR Digital Object profiles are derived", diff --git a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json new file mode 100644 index 0000000..b26df1c --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json @@ -0,0 +1,134 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/media-object-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Schema for creating new PID records for media objects using the DiSSCO PID API. API maps requests to media-object.json profile", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + }, + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-request.json" + } + ], + "properties": { + "mediaHost": { + "type": "string", + "description": "ROR or, in absence of a ROR, Wikidata Qnumber for the administrative organisation responsible for hosting the digital media object. Note that this can be DiSSCo also (use DiSSCo QID in that case). Notehe organisation may use an external repository like morphobank to host the object.", + "example": "https://ror.org/0566bfb96", + "$comment": "idx = 400" + }, + "mediaHostName": { + "type": "string", + "description": "Name for the administrative organisation hosting the digital media (name derived from ROR or Wikidata at the point of creating the FDO record).", + "example": "Naturalis Biodiversity Center", + "$comment": "idx = 401" + }, + "mediaFormat": { + "enum": ["audio", "model", "video", "text", "application", "image"], + "description": "Slated for removal", + "$comment": "idx = 402" + }, + "isDerivedFromSpecimen": { + "type": "boolean", + "description": "Whether or not the media is a record/depiction of a specimen", + "$comment": "idx = 403" + }, + "linkedDigitalObjectPid": { + "type": "string", + "description": "Handle or DOI, the DO to which the media should be linked.", + "example": "https://hdl.handle.net/20.5000.1025/3X0-WA3-J8Q", + "$comment": "idx = 404" + }, + "linkedDigitalObjectType": { + "enum": ["digital specimen", "agent", "facility", "text", "supplementary material"], + "description": "The DO type to which the media is linked, one of: digital specimen, agent, facility, supplementary material", + "$comment": "idx = 405" + }, + "linkedAttribute": { + "type": "string", + "description": "A specific attribute within the linked DO to which the media should be linked, such as an identification or event or logo", + "example": "dwc:IdentificationID", + "$comment": "idx = 406" + }, + "primaryMediaId": { + "type": "string", + "description": "Primary ID supplied by the original provider for the media (compatible with ac:providerManagedID). the mediaUrl may be the ID itself, for example: https://data.nhm.ac.uk/media/93012a86-a00f-435a-a985-8e3c0ab6e51b", + "example": "ae00-a4gg-123b4", + "$comment": "idx = 407" + }, + "primaryMediaObjectIdType": { + "enum": ["Global", "Local", "Resolvable"], + "description": "Vocabulary derived from DOI schema creationIdentifier.: PROPRIETARY IDENTIFIER if the identifier is custom made by the organisation or collection management system.", + "$comment": "idx = 408" + }, + "primaryMediaObjectIdName": { + "type": "string", + "example": "DAM nr", + "$comment": "idx = 409" + }, + "primaryMediaObjectType": { + "enum": ["text", "image", "sound", "dataset", "software", "interactive", "event", "Physical object + Audiovisual Core", "3D object type"], + "description": "Change to dublincore term: Type, describing the (primary) nature of the image. For example an image of a label will have primaryDcType text, an image of a specimen will have primaryDcType physical object. One of: text, image, sound, dataset, software, interactive, event, physical object + Audiovisual Core: 3D object type", + "$comment": "idx = 410" + }, + "dcterms:subject": { + "type": "string", + "description": "(Previously mediaMimeType) https://ac.tdwg.org/termlist/#Iptc4xmpExt_CVterm ", + "$comment": "idx = 411" + }, + "mediaMimeType": { + "type": "string", + "description": "https://www.iana.org/assignments/media-types/media-types.xhtml. Only mimetypes for audio, image, model, video, Text, application are allowed, excluded are mimetypes for font, example, message, multipart.", + "example": "image/jpeg", + "$comment": "idx = 412" + }, + "derivedFromEntity": { + "type": "string", + "description": "Other digital entity where the media was derived from, specified by its ID or PID.\n e.g. a label image extracted from an herbarium sheet image, a video with the first minute frameset of another video, a thumbnail from a larger file.", + "example": "https://hdl.handlenet/20.5000.1025/QR2-P99-2WA", + "$comment": "idx = 4" + }, + "licenseName": { + "type": "string", + "description": "creative commons or other licence for the media object (file) that permits some usage rights. DiSSCo cannot accept images with full copyright, e.g. for which there is no licence that gives DiSSCo some usage rights.", + "example": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", + "$comment": "idx = 414" + }, + "licenseUrl": { + "type": "string", + "description": "Machine-actionable licensing information. Uses SPDX Identifiers", + "example": "https://spdx.org/licenses/CC-BY-4.0", + "$comment": "idx = 415" + }, + "rightsholderName": { + "type": "string", + "description": "usually the creator of the object, holds the copyright for the object. Defaults to the supplier of the media object. if no other rightsholder is specified.", + "example": "Naturalis Biodiversity Center", + "$comment": "idx = 416" + }, + "rightsholderPid": { + "type": "string", + "description": "Identifier for rights holder.", + "example": "https://ror.org/0x123", + "$comment": "idx = 417" + }, + "rightsholderPidType": { + "enum": ["ROR", "ORCID", "QID"], + "$comment": "idx = 418" + }, + "dcterms:conforms": { + "type": "string", + "description": "To indicate the media object conforms to a certain standard, e.g. IIIF", + "example": "https://iiif.io/api/image ", + "$comment": "idx = 418" + } + }, + "additionalProperties": false, + "required": [ + "mediaHost", + "isDerivedFromSpecimen", + "linkedDigitalObjectPid", + "linkedDigitalObjectType", + "primaryMediaId" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json new file mode 100644 index 0000000..7c9b52e --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json @@ -0,0 +1,132 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/media-object.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for digital media object", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + }, + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-kernel.json" + } + ], + "properties": { + "mediaHost": { + "type": "string", + "description": "ROR or, in absence of a ROR, Wikidata Qnumber for the administrative organisation responsible for hosting the digital media object. Note that this can be DiSSCo also (use DiSSCo QID in that case). Notehe organisation may use an external repository like morphobank to host the object.", + "example": "https://ror.org/0566bfb96", + "$comment": "idx = 400" + }, + "mediaHostName": { + "type": "string", + "description": "Name for the administrative organisation hosting the digital media (name derived from ROR or Wikidata at the point of creating the FDO record).", + "example": "Naturalis Biodiversity Center", + "$comment": "idx = 401" + }, + "isDerivedFromSpecimen": { + "type": "boolean", + "description": "Whether or not the media is a record/depiction of a specimen", + "$comment": "idx = 403" + }, + "linkedDigitalObjectPid": { + "type": "string", + "description": "Handle or DOI, the DO to which the media should be linked.", + "example": "https://hdl.handle.net/20.5000.1025/3X0-WA3-J8Q", + "$comment": "idx = 404" + }, + "linkedDigitalObjectType": { + "enum": ["digital specimen", "agent", "facility", "text", "supplementary material"], + "description": "The DO type to which the media is linked, one of: digital specimen, agent, facility, supplementary material", + "$comment": "idx = 405" + }, + "linkedAttribute": { + "type": "string", + "description": "A specific attribute within the linked DO to which the media should be linked, such as an identification or event or logo", + "example": "dwc:IdentificationID", + "$comment": "idx = 406" + }, + "primaryMediaId": { + "type": "string", + "description": "Primary ID supplied by the original provider for the media (compatible with ac:providerManagedID). the mediaUrl may be the ID itself, for example: https://data.nhm.ac.uk/media/93012a86-a00f-435a-a985-8e3c0ab6e51b", + "example": "ae00-a4gg-123b4", + "$comment": "idx = 407" + }, + "primaryMediaObjectIdType": { + "enum": ["Global", "Local", "Resolvable"], + "description": "Vocabulary derived from DOI schema creationIdentifier.: PROPRIETARY IDENTIFIER if the identifier is custom made by the organisation or collection management system.", + "$comment": "idx = 408" + }, + "primaryMediaObjectIdName": { + "type": "string", + "example": "DAM nr", + "$comment": "idx = 409" + }, + "dcterms:type": { + "enum": ["text", "image", "sound", "dataset", "software", "interactive", "event", "Physical object + Audiovisual Core", "3D object type"], + "description": "(Previously primaryMediaObjectType) Dublin Core: Type, describing the (primary) nature of the image. For example an image of a label will have primaryDcType text, an image of a specimen will have primaryDcType physical object. One of: text, image, sound, dataset, software, interactive, event, physical object + Audiovisual Core: 3D object type", + "$comment": "idx = 410" + }, + "dcterms:subject": { + "type": "string", + "description": "(Previously mediaMimeType) https://ac.tdwg.org/termlist/#Iptc4xmpExt_CVterm ", + "$comment": "idx = 411" + }, + "dcterms:format": { + "type": "string", + "description": "https://www.iana.org/assignments/media-types/media-types.xhtml. Only mimetypes for audio, image, model, video, Text, application are allowed, excluded are mimetypes for font, example, message, multipart.", + "example": "image/jpeg", + "$comment": "idx = 412" + }, + "derivedFromEntity": { + "type": "string", + "description": "Other digital entity where the media was derived from, specified by its ID or PID.\n e.g. a label image extracted from an herbarium sheet image, a video with the first minute frameset of another video, a thumbnail from a larger file.", + "example": "https://hdl.handlenet/20.5000.1025/QR2-P99-2WA", + "$comment": "idx = 4" + }, + "licenseName": { + "type": "string", + "description": "creative commons or other licence for the media object (file) that permits some usage rights. DiSSCo cannot accept images with full copyright, e.g. for which there is no licence that gives DiSSCo some usage rights.", + "example": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", + "$comment": "idx = 414" + }, + "licenseUrl": { + "type": "string", + "description": "Machine-actionable licensing information. Uses SPDX Identifiers", + "example": "https://spdx.org/licenses/CC-BY-4.0", + "$comment": "idx = 415" + }, + "rightsholderName": { + "type": "string", + "description": "usually the creator of the object, holds the copyright for the object. Defaults to the supplier of the media object. if no other rightsholder is specified.", + "example": "Naturalis Biodiversity Center", + "$comment": "idx = 416" + }, + "rightsholderPid": { + "type": "string", + "description": "Identifier for rights holder.", + "example": "https://ror.org/0x123", + "$comment": "idx = 417" + }, + "rightsholderPidType": { + "enum": ["ROR", "ORCID", "QID"], + "$comment": "idx = 418" + }, + "dcterms:conformsTo": { + "type": "string", + "description": "To indicate the media object conforms to a certain standard, e.g. IIIF", + "example": "https://iiif.io/api/image ", + "$comment": "idx = 418" + } + }, + "additionalProperties": false, + "required": [ + "mediaHost", + "mediaHostName", + "isDerivedFromSpecimen", + "linkedDigitalObjectPid", + "linkedDigitalObjectType", + "primaryMediaId", + "rightsholderName", + "rightsholderPid" + ] +} \ No newline at end of file From 360d6cabb57fbf758302ad173d9344cffd1e2f82 Mon Sep 17 00:00:00 2001 From: southeo Date: Thu, 14 Dec 2023 12:05:20 +0100 Subject: [PATCH 3/8] Add fdo profiles --- .../annotation/schema/annotation-request.json | 4 +-- .../0.1.0/annotation/schema/annotation.json | 4 +-- .../handle-kernel/schema/handle-kernel.json | 5 +++ .../0.1.0/mapping/schema/mapping-request.json | 19 ++++++++++++ .../0.1.0/mapping/schema/mapping.json | 19 ++++++++++++ .../0.1.0/mas/schema/mas-request.json | 19 ++++++++++++ .../fdo-profiles/0.1.0/mas/schema/mas.json | 19 ++++++++++++ .../schema/organisation-request.json | 22 +++++++++++++ .../organisation/schema/organisation.json | 28 +++++++++++++++++ .../tombstone/schema/tombstone-request.json | 22 +++++++++++++ .../0.1.0/tombstone/schema/tombstone.json | 31 +++++++++++++++++++ 11 files changed, 188 insertions(+), 4 deletions(-) create mode 100644 data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json create mode 100644 data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json create mode 100644 data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json create mode 100644 data-model/fdo-profiles/0.1.0/mas/schema/mas.json create mode 100644 data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json create mode 100644 data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json create mode 100644 data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json create mode 100644 data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json index 74820f9..6c60286 100644 --- a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json @@ -1,6 +1,6 @@ { - "$id": "", - "$schema": "https://json-schema.org/draft/2020-12/schemas/0.1.0/annotation-request.json", + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "Schema for creating new PID records for Annotations using the DiSSCO PID API. API maps requests to annotation.json profile", "allof": [ { diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json index a881a75..974267e 100644 --- a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json @@ -1,6 +1,6 @@ { - "$id": "", - "$schema": "https://json-schema.org/draft/2020-12/schemas/0.1.0/annotation.json", + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", "$comment": "FDO Profile for DiSSCo Annotations", "allof": [ { diff --git a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json index 9d6e596..fd98792 100644 --- a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json +++ b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json @@ -78,6 +78,11 @@ "enum": ["DRAFT", "ACTIVE", "RETIRED", "OBSOLETE", "FAILED", "MERGED", "SPLIT", "TEST"], "description": "A PID is considered to have a lifecycle, PID status indicates the status in the life cycle, e.g. draft, active, retired. PID statuses are described further in the PID infrastructure design.", "$comment": "idx = 13" + }, + "HS_ADMIN": { + "type": "string", + "description": "Administrative information for PID profile", + "$comment": "idx = 100" } }, "required": [ diff --git a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json new file mode 100644 index 0000000..c61b352 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json @@ -0,0 +1,19 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mapping-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for mapping from source data standard to DiSSCo data model", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + } + ], + "sourceDataStandard": { + "type": "string", + "description": "Indicates standard source data adheres to", + "$comment": "idx = 30" + }, + "additionalProperties": false, + "required": [ + "sourceDataStandard" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json new file mode 100644 index 0000000..8af9c67 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json @@ -0,0 +1,19 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mapping.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for mapping from source data standard to DiSSCo data model", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + } + ], + "sourceDataStandard": { + "type": "string", + "description": "Indicates standard source data adheres to", + "$comment": "idx = 30" + }, + "additionalProperties": false, + "required": [ + "sourceDataStandard" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json b/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json new file mode 100644 index 0000000..952a5e8 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json @@ -0,0 +1,19 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mas-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile requests to PID API for Machine Annotation Services", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + } + ], + "masName": { + "type": "string", + "description": "Name of Machine Annotation Service", + "$comment": "idx = 604" + }, + "additionalProperties": false, + "required": [ + "masName" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/mas/schema/mas.json b/data-model/fdo-profiles/0.1.0/mas/schema/mas.json new file mode 100644 index 0000000..75f3cfa --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/mas/schema/mas.json @@ -0,0 +1,19 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mas.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for Machine Annotation Services", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + } + ], + "masName": { + "type": "string", + "description": "Name of Machine Annotation Service", + "$comment": "idx = 604" + }, + "additionalProperties": false, + "required": [ + "masName" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json new file mode 100644 index 0000000..d0f81a9 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json @@ -0,0 +1,22 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/organisation-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Schema for requests made to DiSSCo PID API for organisations", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" + } + ], + "organisationIdentifier": { + "type": "string", + "$comment": "idx = 800" + }, + "organisationIdentifierType": { + "type": "string", + "$comment": "idx = 801" + }, + "additionalProperties": false, + "required": [ + "organisationIdentifier" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json new file mode 100644 index 0000000..109e766 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json @@ -0,0 +1,28 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/organisation.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for Organisations", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + } + ], + "organisationIdentifier": { + "type": "string", + "$comment": "idx = 800" + }, + "organisationIdentifierType": { + "type": "string", + "$comment": "idx = 801" + }, + "organisationName": { + "type": "string", + "$comment": "idx = 802" + }, + "additionalProperties": false, + "required": [ + "organisationIdentifier", + "organisationIdentifierType", + "organisationName" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json new file mode 100644 index 0000000..c096e57 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json @@ -0,0 +1,22 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/tombstone-request.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Schema for tombstoning requests to DiSSCo PID API", + "tombstoneText": { + "type": "string", + "description": "Free text describing why the object was archived", + "$comment": "idx = 30" + }, + "tombstonePids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of relevant PIDs", + "$comment": "idx = 31" + }, + "additionalProperties": false, + "required": [ + "tombstoneText" + ] +} \ No newline at end of file diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json new file mode 100644 index 0000000..5c84723 --- /dev/null +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json @@ -0,0 +1,31 @@ +{ + "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "FDO Profile for Tombstoned PIDs", + "allof": [ + { + "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" + } + ], + "pidStatus": { + "const": "ARCHIVED", + "$comment": "idx = 13" + }, + "tombstoneText": { + "type": "string", + "description": "Free text describing why the object was archived", + "$comment": "idx = 30" + }, + "tombstonePids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of relevant PIDs", + "$comment": "idx = 31" + }, + "additionalProperties": false, + "required": [ + "tombstoneText" + ] +} \ No newline at end of file From c5a16477fb1b626eb3a656e11f2d086d9b3666b3 Mon Sep 17 00:00:00 2001 From: southeo Date: Thu, 14 Dec 2023 12:07:54 +0100 Subject: [PATCH 4/8] Dockerfile --- data-model/Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/data-model/Dockerfile b/data-model/Dockerfile index cd255d7..a495982 100644 --- a/data-model/Dockerfile +++ b/data-model/Dockerfile @@ -4,8 +4,15 @@ COPY ./nginx/nginx.conf /etc/nginx/nginx.conf COPY annotations/0.1.0/schema/annotations.json schema-root/schemas/annotations/0.1.0/annotation.json +COPY ./fdo-profiles/0.1.0/annotation/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/digital-specimen/schema/ schema-root/schemas/fdo-profiles/0.1.0/ COPY ./fdo-profiles/0.1.0/doi-kernel/schema/ schema-root/schemas/fdo-profiles/0.1.0/ COPY ./fdo-profiles/0.1.0/handle-kernel/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/mapping/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/mas/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/media-object/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/organisation/schema/ schema-root/schemas/fdo-profiles/0.1.0/ +COPY ./fdo-profiles/0.1.0/tombstone/schema/ schema-root/schemas/fdo-profiles/0.1.0/ COPY digitalobjects/0.1.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.1.0/digital-specimens COPY digitalobjects/0.1.0/shared-models/schema schema-root/schemas/digitalobjects/0.1.0/shared-models From 4b28dfdeb193c42670574d2605b3bef91011d3e5 Mon Sep 17 00:00:00 2001 From: southeo Date: Tue, 19 Dec 2023 09:52:56 +0100 Subject: [PATCH 5/8] Versioning --- data-model/annotations/0.1.0/schema/annotations.json | 1 + .../0.1.0/digital-media-objects/schema/digital-entity.json | 1 + .../0.1.0/digital-specimens/schema/chronometric-age.json | 1 + .../0.1.0/digital-specimens/schema/digital-specimen.json | 1 + .../digitalobjects/0.1.0/digital-specimens/schema/events.json | 1 + .../0.1.0/digital-specimens/schema/identifications.json | 1 + .../0.1.0/digital-specimens/schema/location.json | 1 + .../0.1.0/digital-specimens/schema/material-entity.json | 1 + .../0.1.0/digital-specimens/schema/occurrences.json | 1 + .../0.1.0/annotation/schema/annotation-request.json | 3 ++- .../fdo-profiles/0.1.0/annotation/schema/annotation.json | 3 ++- .../digital-specimen/schema/digital-specimen-request.json | 3 ++- .../0.1.0/digital-specimen/schema/digital-specimen.json | 3 ++- .../fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json | 3 ++- .../fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json | 3 ++- .../fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json | 3 ++- .../0.1.0/handle-kernel/schema/handle-request.json | 3 ++- .../fdo-profiles/0.1.0/mapping/schema/mapping-request.json | 3 ++- data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json | 3 ++- data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json | 3 ++- data-model/fdo-profiles/0.1.0/mas/schema/mas.json | 3 ++- .../0.1.0/media-object/schema/media-object-request.json | 3 ++- .../fdo-profiles/0.1.0/media-object/schema/media-object.json | 3 ++- .../0.1.0/organisation/schema/organisation-request.json | 3 ++- .../fdo-profiles/0.1.0/organisation/schema/organisation.json | 3 ++- .../fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json | 3 ++- data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json | 3 ++- .../digital-specimen-object/basic-json-example2.md | 2 +- 28 files changed, 46 insertions(+), 19 deletions(-) diff --git a/data-model/annotations/0.1.0/schema/annotations.json b/data-model/annotations/0.1.0/schema/annotations.json index 6d2ff0c..f3a566e 100644 --- a/data-model/annotations/0.1.0/schema/annotations.json +++ b/data-model/annotations/0.1.0/schema/annotations.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/annotations/0.1.0/annotations.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"Annotation Version 0.1.0", "title": "Annotation", "description": "Information about the annotation data model. This model has been based on the W3C Web Annotation model", "type": "object", diff --git a/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json b/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json index 08bde9c..5e66dff 100644 --- a/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/digitalobjects/0.1.0/digital-media-objects/schema/digital-entity.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-media-objects/digital-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "ods:id": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json index 200295f..b4bae56 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/chronometric-age.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/chronometric-age.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "chrono:verbatimChronometricAge": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json index c4c8b2f..3602d52 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/digital-specimen.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/digital-specimen.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "ods:id": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json index 1457e94..897748d 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/events.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/events.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "???:eventName": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json index 2bfc3bd..79c387b 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/identifications.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/identifications.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "dwc:identificationID": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json index 95b2c07..4a32f0a 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/location.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/location.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "dwc:continent": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json index 5eab177..1c90c8f 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/material-entity.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/material-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "$comment": "Only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", "properties": { diff --git a/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json b/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json index ad0095b..b9341f6 100644 --- a/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json +++ b/data-model/digitalobjects/0.1.0/digital-specimens/schema/occurrences.json @@ -1,6 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/digital-specimens/occurrences.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.1.0", "type": "object", "properties": { "dwc:organismQuantity": { diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json index 6c60286..a8aa159 100644 --- a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation-request.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Schema for creating new PID records for Annotations using the DiSSCO PID API. API maps requests to annotation.json profile", + "description": "Schema for creating new PID records for Annotations using the DiSSCO PID API. API maps requests to annotation.json profile", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json index 974267e..53a1e8b 100644 --- a/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json +++ b/data-model/fdo-profiles/0.1.0/annotation/schema/annotation.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for DiSSCo Annotations", + "description": "FDO Profile for DiSSCo Annotations", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json index 76b6a6c..df70a00 100644 --- a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json +++ b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen-request.json @@ -1,7 +1,8 @@ { "$id": "ttps://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/digital-specimen-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for Digital Specimens", + "description": "FDO Profile for Digital Specimens", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json index 27cb118..69317d4 100644 --- a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json +++ b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json @@ -1,7 +1,8 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/digital-specimen.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "description": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json index a48d151..5d68ca2 100644 --- a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json +++ b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-kernel.json @@ -1,7 +1,8 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-kernel.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "description": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "$comment":"FDO Profile Version 0.1.0", "allof": [{ "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" }], diff --git a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json index b8a6c75..83e0df4 100644 --- a/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json +++ b/data-model/fdo-profiles/0.1.0/doi-kernel/schema/doi-request.json @@ -1,7 +1,8 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/doi-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "description": "Kernel from which all DiSSCo DOI FDO profiles are derived", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json index fd98792..df5c4a4 100644 --- a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json +++ b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-kernel.json @@ -2,7 +2,8 @@ "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", - "$comment": "Kernel from which all DiSSCo FAIR Digital Object profiles are derived", + "description": "Kernel from which all DiSSCo FAIR Digital Object profiles are derived", + "$comment":"FDO Profile Version 0.1.0", "properties": { "fdoProfile" : { "type": "string", diff --git a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-request.json b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-request.json index 7a404be..4731f90 100644 --- a/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-request.json +++ b/data-model/fdo-profiles/0.1.0/handle-kernel/schema/handle-request.json @@ -2,7 +2,8 @@ "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", - "$comment": "Kernel from which all DiSSCo FAIR Digital Object profiles are derived", + "description": "Kernel from which all DiSSCo FAIR Digital Object profiles are derived", + "$comment":"FDO Profile Version 0.1.0", "properties": { "fdoProfile" : { "type": "string", diff --git a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json index c61b352..3b0ab62 100644 --- a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json +++ b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping-request.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mapping-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for mapping from source data standard to DiSSCo data model", + "description": "FDO Profile for mapping from source data standard to DiSSCo data model", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json index 8af9c67..6c5409e 100644 --- a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json +++ b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mapping.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for mapping from source data standard to DiSSCo data model", + "description": "FDO Profile for mapping from source data standard to DiSSCo data model", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json b/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json index 952a5e8..86fe49a 100644 --- a/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json +++ b/data-model/fdo-profiles/0.1.0/mas/schema/mas-request.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mas-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile requests to PID API for Machine Annotation Services", + "description": "FDO Profile requests to PID API for Machine Annotation Services", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/mas/schema/mas.json b/data-model/fdo-profiles/0.1.0/mas/schema/mas.json index 75f3cfa..c8a5787 100644 --- a/data-model/fdo-profiles/0.1.0/mas/schema/mas.json +++ b/data-model/fdo-profiles/0.1.0/mas/schema/mas.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/mas.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for Machine Annotation Services", + "description": "FDO Profile for Machine Annotation Services", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json index b26df1c..668dec2 100644 --- a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json +++ b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object-request.json @@ -1,7 +1,8 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/media-object-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Schema for creating new PID records for media objects using the DiSSCO PID API. API maps requests to media-object.json profile", + "description": "Schema for creating new PID records for media objects using the DiSSCO PID API. API maps requests to media-object.json profile", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json index 7c9b52e..69e1bb0 100644 --- a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json +++ b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json @@ -1,7 +1,8 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/media-object.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for digital media object", + "description": "FDO Profile for digital media object", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json index d0f81a9..b375b51 100644 --- a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json +++ b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation-request.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/organisation-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Schema for requests made to DiSSCo PID API for organisations", + "description": "Schema for requests made to DiSSCo PID API for organisations", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-request.json" diff --git a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json index 109e766..005321f 100644 --- a/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json +++ b/data-model/fdo-profiles/0.1.0/organisation/schema/organisation.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/organisation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for Organisations", + "description": "FDO Profile for Organisations", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json index c096e57..b916553 100644 --- a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/tombstone-request.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "Schema for tombstoning requests to DiSSCo PID API", + "description": "Schema for tombstoning requests to DiSSCo PID API", + "$comment":"FDO Profile Version 0.1.0", "tombstoneText": { "type": "string", "description": "Free text describing why the object was archived", diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json index 5c84723..576cc9e 100644 --- a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json @@ -1,7 +1,8 @@ { "$id": "https://json-schema.org/draft/2020-12/schemas/fdo-profiles/0.1.0/annotation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "FDO Profile for Tombstoned PIDs", + "description": "FDO Profile for Tombstoned PIDs", + "$comment":"FDO Profile Version 0.1.0", "allof": [ { "$ref": "https://schemas.dissco.tech/schemas/fdo-profiles/0.1.0/handle-kernel.json" diff --git a/json-examples-and-schemas/digital-specimen-object/basic-json-example2.md b/json-examples-and-schemas/digital-specimen-object/basic-json-example2.md index 0767b35..ba8768d 100644 --- a/json-examples-and-schemas/digital-specimen-object/basic-json-example2.md +++ b/json-examples-and-schemas/digital-specimen-object/basic-json-example2.md @@ -108,7 +108,7 @@ Several automatic JSON schema generators are available online, with varying capa - [jsonschema.net](https://www.jsonschema.net/home) - looks a good one because it allows editing of the JSON and the schema side by side. It has a graph visualization of the schema as well too. However, it doesn't appear to support the draft/2019-09/schema, only supporing upto draft-07. Having said that, there is an [open GitHub issue](https://github.com/jackwootton/json-schema/issues/86) for that. - [extendsclass](https://extendsclass.com/json-schema-validator.html) makes use of the widely used [Ajv validator](https://ajv.js.org/) and allows to generate schemas from fragments and vice versa. Ajv has the added benefit of being capable of generating code to turn Schemas into JavaScript validation functions that can be bundled as part of applications. -The main differences between these two generators are that the first places a complete example at the beginning of the schema whereas the latter breaks the example up into multiple short examples, each at its own place in the schema. The first includes a $description for each property (thus more documenting), whereas the latter doesn't include this (although it can be added by hand). +The main differences between these two generators are that the first places a complete example at the beginning of the schema whereas the latter breaks the example up into multiple short examples, each at its own place in the schema. The first includes a description for each property (thus more documenting), whereas the latter doesn't include this (although it can be added by hand). - [liquid-technologies](https://www.liquid-technologies.com/online-json-to-schema-converter) - has tools for both directions i.e., JSON -> JSON schema, and vive-versa. - [quicktype](https://quicktype.io/) From 5306da89e7982715d62f33b8a748f0dc466f5f1b Mon Sep 17 00:00:00 2001 From: southeo Date: Mon, 8 Jan 2024 09:00:56 +0100 Subject: [PATCH 6/8] Code review --- .../0.1.0/digital-specimen/schema/digital-specimen.json | 2 +- data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json | 2 +- .../fdo-profiles/0.1.0/media-object/schema/media-object.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json index 69317d4..9fc272b 100644 --- a/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json +++ b/data-model/fdo-profiles/0.1.0/digital-specimen/schema/digital-specimen.json @@ -36,7 +36,7 @@ "Resolvable", "Local" ], - "description": "Nature of institutional identifier", + "description": "Nature of institutional identifier. A globally unique identifier (e.g. a UUID) must be marked as \"Global\", while a resolvable identifier (e.g. a URL or a DOI including the proxy) must be marked at \"Resolvable\". If the identifier is unique only within the institution or collection system, it must be marked as \"Local\"", "$comment": "idx = 203" } }, diff --git a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json index 6c5409e..dc93964 100644 --- a/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json +++ b/data-model/fdo-profiles/0.1.0/mapping/schema/mapping.json @@ -10,7 +10,7 @@ ], "sourceDataStandard": { "type": "string", - "description": "Indicates standard source data adheres to", + "description": "Indicates standard source data adheres to, such as \"dwc\" or \"abcd\"", "$comment": "idx = 30" }, "additionalProperties": false, diff --git a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json index 69e1bb0..2cfe3aa 100644 --- a/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json +++ b/data-model/fdo-profiles/0.1.0/media-object/schema/media-object.json @@ -54,7 +54,7 @@ }, "primaryMediaObjectIdType": { "enum": ["Global", "Local", "Resolvable"], - "description": "Vocabulary derived from DOI schema creationIdentifier.: PROPRIETARY IDENTIFIER if the identifier is custom made by the organisation or collection management system.", + "description": "Nature of institutional identifier. A globally unique identifier (e.g. a UUID) must be marked as \"Global\", while a resolvable identifier (e.g. a URL or a DOI including the proxy) must be marked at \"Resolvable\". If the identifier is unique only within the institution or collection system, it must be marked as \"Local\"", "$comment": "idx = 408" }, "primaryMediaObjectIdName": { From 399a3df64a5a5aaff0c64ec1463b733b911480cc Mon Sep 17 00:00:00 2001 From: southeo Date: Mon, 8 Jan 2024 09:03:10 +0100 Subject: [PATCH 7/8] Code review --- data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json index 576cc9e..29bd9a9 100644 --- a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json @@ -22,7 +22,7 @@ "items": { "type": "string" }, - "description": "Array of relevant PIDs", + "description": "Array of relevant PIDs of other digital resources (e.g. a referent that obsoletes this one).", "$comment": "idx = 31" }, "additionalProperties": false, From c57af4a6e46a146b31b769b7651923f7994d923c Mon Sep 17 00:00:00 2001 From: southeo Date: Wed, 10 Jan 2024 12:26:19 +0100 Subject: [PATCH 8/8] Code review --- .../fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json | 2 +- data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json index b916553..0afb5da 100644 --- a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone-request.json @@ -5,7 +5,7 @@ "$comment":"FDO Profile Version 0.1.0", "tombstoneText": { "type": "string", - "description": "Free text describing why the object was archived", + "description": "Free text describing why the object was tombstoned", "$comment": "idx = 30" }, "tombstonePids": { diff --git a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json index 29bd9a9..1ba56ad 100644 --- a/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json +++ b/data-model/fdo-profiles/0.1.0/tombstone/schema/tombstone.json @@ -14,7 +14,7 @@ }, "tombstoneText": { "type": "string", - "description": "Free text describing why the object was archived", + "description": "Free text describing why the object was tombstoned", "$comment": "idx = 30" }, "tombstonePids": {