From d3181bb0ea310c4a5a2057d93e8a8d02c332d01f Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Tue, 28 May 2024 13:12:08 +0200 Subject: [PATCH 01/12] Version 0.3.0 for specimen and media --- data-model/Dockerfile | 6 +- data-model/fdo-types/0.3.0/RELEASE_NOTES.md | 16 + .../schema/digital-entity.json | 195 ++++++++ .../schema/chronometric-age.json | 125 +++++ .../schema/digital-specimen.json | 372 +++++++++++++++ .../schema/identifications.json | 364 ++++++++++++++ .../digital-specimen/schema/location.json | 448 ++++++++++++++++++ .../schema/material-entity.json | 159 +++++++ .../digital-specimen/schema/occurrences.json | 256 ++++++++++ .../0.3.0/shared-models/schema/agent.json | 78 +++ .../shared-models/schema/assertions.json | 44 ++ .../0.3.0/shared-models/schema/citations.json | 61 +++ .../schema/entity-relationships.json | 40 ++ .../shared-models/schema/identifiers.json | 37 ++ 14 files changed, 2200 insertions(+), 1 deletion(-) create mode 100644 data-model/fdo-types/0.3.0/RELEASE_NOTES.md create mode 100644 data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/location.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/agent.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/assertions.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/citations.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json diff --git a/data-model/Dockerfile b/data-model/Dockerfile index 414d2cf..a6fd362 100644 --- a/data-model/Dockerfile +++ b/data-model/Dockerfile @@ -28,4 +28,8 @@ COPY ./fdo-types/0.1.0/mappings/schema schema-root/schemas/fdo-types/0.1.0/mappi COPY ./fdo-types/0.1.0/source-systems/schema schema-root/schemas/fdo-types/0.1.0/source-systems COPY ./fdo-types/0.1.0/virtual-collections/schema schema-root/schemas/fdo-types/0.1.0/vitual-collections -COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens \ No newline at end of file +COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens + +COPY ./fdo-types/0.3.0/digital-specimens/schema schema-root/schemas/fdo-types/0.3.0/digital-specimens +COPY ./fdo-types/0.3.0/shared-models/schema schema-root/schemas/fdo-types/0.3.0/shared-models +COPY ./fdo-types/0.3.0/digital-media-objects/schema schema-root/schemas/fdo-types/0.3.0/digital-media-objects \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md new file mode 100644 index 0000000..cd3fccd --- /dev/null +++ b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md @@ -0,0 +1,16 @@ +# Release Notes + +New version 0.3.0 for all files concerning the digital specimen. + +## ODS Prefix +ODS prefix for all terms which still weren't assigned to a ontology. + +## Updated arrays to be plural +We decided to update the arrays to be plural, in line with recommendated practices. +This means that where Darwin Core Classes where available we wrapped this by an ods term with the plural. +For example, `dwc:Identification` becomes wrapped in `ods:Identifications` which now contains zero or more instances of `dwc:Identification`. +The tradeoff is that we added an additional layer of nesting, but we believe this is worth it to keep the terms in line with the Darwin Core standard. + +## Other +Small changes in description for some terms. +dwc:institutionName is not a Darwin Core term, converted to ods:institutionName. diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json new file mode 100644 index 0000000..02f9360 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -0,0 +1,195 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/digital-media-objects/digital-entity.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "ods:id": { + "type": "string", + "description": "The unique digital identifier of the object", + "pattern": "https:\/\/hdl.handle.net\/20.5000.1025\/(.){3}-(.){3}-(.){3}", + "examples": [ + "https://hdl.handle.net.org/20.5000.1025/XXX-XXX-XXX" + ], + "$comment": "Does an image get a DOI or a handle?" + }, + "ods:version": { + "type": "integer", + "description": "The version of the object, each change generates a new version", + "minimum": 0, + "examples": [ + 1 + ] + }, + "ods:created": { + "type": "string", + "description": "The timestamp that the object version was created in DiSSCo", + "format": "date-time", + "examples": [ + ] + }, + "ods:type": { + "type": "string", + "description": "The FDO type of the object", + "$comment": "Unclear what value goes here" + }, + "dcterms:type": { + "type": "string", + "description": "https://purl.org/dc/terms/type", + "enum": [ + "Collection", + "Dataset", + "Event", + "Image", + "InteractiveResource", + "MovingImage", + "PhysicalObject", + "Service", + "Software", + "Sound", + "StillImage", + "Text" + ] + }, + "ac:accessUri": { + "type": "string", + "description": "https://rs.tdwg.org/ac/terms/accessURI", + "examples": [ + ] + }, + "dwc:institutionId": { + "type": "string", + "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "examples": [ + "https://ror.org/015hz7p22" + ], + "$comment": "Add format for ROR or Wikidata ID" + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ], + "$comment": "Not part of DWC or the GBIF UM" + }, + "xmpRights:webStatement": { + "type": "string", + "description": "https://ns.adobe.com/xap/1.0/rights/WebStatement", + "$comment": "What is the difference with dcterms:license?" + }, + "dcterms:format": { + "type": "string", + "description": "https://purl.org/dc/terms/format", + "$comment": "Create a enum for this?" + }, + "dcterms:license": { + "type": "string", + "description": "https://purl.org/dc/terms/license", + "$comment": "Create a enum for this?" + }, + "dcterms:description": { + "type": "string", + "description": "https://purl.org/dc/terms/description" + }, + "dcterms:rights": { + "type": "string", + "description": "https://purl.org/dc/terms/rights", + "$comment": "What is the difference with dcterms:license?" + }, + "ods:rightsUri": { + "type": "string", + "format": "uri", + "$comment": "What is the difference with dcterms:license? or dcterms:rights?. dcterms:rights is already recommended to be a URI" + }, + "dcterms:accessRights": { + "type": "string", + "description": "https://purl.org/dc/terms/accessRights", + "$comment": "What is the difference with dcterms:license?" + }, + "dcterms:rightsHolder": { + "type": "string", + "description": "https://purl.org/dc/terms/rightsHolder", + "examples": [ + ] + }, + "dcterms:source": { + "type": "string", + "description": "https://purl.org/dc/terms/source" + }, + "ods:sourceUri": { + "type": "string", + "format": "uri", + "$comment": "It is already recommended to use URI in the dcterms:source" + }, + "dcterms:creator": { + "type": "string", + "description": "https://purl.org/dc/elements/1.1/creator" + }, + "dcterms:created": { + "type": "string", + "description": "https://purl.org/dc/terms/created" + }, + "dcterms:modified": { + "type": "string", + "description": "https://purl.org/dc/terms/modified" + }, + "ods:Assertions": { + "type": "array", + "items": { + "type": "object", + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } + } + }, + "ods:Citations": { + "type": "array", + "items": { + "type": "object", + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } + } + }, + "ods:Identifiers": { + "type": "array", + "items": { + "type": "object", + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } + } + }, + "ods:EntityRelationships": { + "type": "array", + "items": { + "type": "object", + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } + } + }, + "ods:Agents": { + "type": "array", + "items": { + "type": "object", + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + } + } + } + }, + "required": [ + "ods:id", + "ods:version", + "ods:created", + "ac:accessUri", + "dcterms:license" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json new file mode 100644 index 0000000..73d3e52 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json @@ -0,0 +1,125 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/digital-specimens/chronometric-age.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "chrono:verbatimChronometricAge": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/verbatimChronometricAge", + "examples": [ + "27 BC to 14 AD" + ] + }, + "ods:verbatimChronometricAgeProtocol": { + "type": "string", + "$comment": "Unknown term" + }, + "chrono:uncalibratedChronometricAge": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/uncalibratedChronometricAge", + "examples": [ + "1510 +/- 25 14C yr BP" + ] + }, + "chrono:chronometricAgeConversionProtocol": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeConversionProtocol", + "examples": [ + "INTCAL13" + ] + }, + "chrono:earliestChronometricAge": { + "type": "integer", + "description": "https://rs.tdwg.org/chrono/terms/earliestChronometricAge", + "examples": [ + 100 + ] + }, + "chrono:earliestChronometricAgeReferenceSystem": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/earliestChronometricAgeReferenceSystem", + "examples": [ + "BP" + ] + }, + "chrono:latestChronometricAge": { + "type": "integer", + "description": "https://rs.tdwg.org/chrono/terms/latestChronometricAge", + "examples": [ + 12 + ] + }, + "chrono:latestChronometricAgeReferenceSystem": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/latestChronometricAgeReferenceSystem", + "examples": [ + "BCE" + ] + }, + "chrono:chronometricAgeUncertaintyInYears": { + "type": "integer", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeUncertaintyInYears", + "examples": [ + 100 + ] + }, + "chrono:chronometricAgeUncertaintyMethod": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeUncertaintyMethod", + "examples": [ + "Half of 95% confidence interval" + ] + }, + "chrono:materialDated": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/materialDated", + "examples": [ + "charred wood" + ] + }, + "chrono:materialDatedId": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/materialDatedID", + "examples": [ + "https://doi.org/10.22/XXX-XXX-XXX" + ] + }, + "chrono:materialDatedRelationship": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/materialDatedRelationship", + "examples": [ + "sameAs" + ] + }, + "chrono:chronometricAgeDeterminedBy": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeDeterminedBy", + "examples": [ + "Michelle LeFebvre" + ] + }, + "chrono:chronometricAgeDeterminedDate": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeDeterminedDate", + "examples": [ + "2018-11-13T20:20:39+00:00" + ] + }, + "chrono:chronometricAgeReferences": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeReferences", + "examples": [ + "https://doi.org/10.1007/s10814-019-09140-x" + ], + "$comment": "Or include citation object?" + }, + "chrono:chronometricAgeRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeRemarks", + "examples": [ + "Beta Analytic number: 323913" + ] + } + } +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json new file mode 100644 index 0000000..6a38ce8 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json @@ -0,0 +1,372 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/digital-specimen.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "ods:id": { + "type": "string", + "description": "The unique digital identifier of the object", + "pattern": "https:\/\/doi.org\/10.22\/(.){3}-(.){3}-(.){3}", + "examples": [ + "https://doi.org/10.22/XXX-XXX-XXX" + ] + }, + "ods:version": { + "type": "integer", + "description": "The version of the object, each change generates a new version", + "minimum": 1, + "examples": [ + 1 + ] + }, + "ods:created": { + "type": "string", + "description": "The timestamp that the object version was created in DiSSCo", + "format": "date-time", + "examples": [ + "2023-10-02T12:31:34.806Z" + ] + }, + "ods:type": { + "type": "string", + "description": "The FDO type of the object", + "$comment": "Unclear what value goes here" + }, + "ods:midsLevel": { + "type": "integer", + "description": "The MIDS level of the object, see https://www.tdwg.org/community/cd/mids/", + "minimum": 0, + "maximum": 3 + }, + "ods:normalisedPhysicalSpecimenId": { + "type": "string", + "description": "The physical specimen identifier of the object. When locally unique this is a combination between source-system-id and the local identifier" + }, + "ods:physicalSpecimenId": { + "type": "string", + "description": "The physical specimen identifier of the object. Taken over as-is" + }, + "ods:physicalSpecimenIdType": { + "type": "string", + "description": "To indicate if the physical identifier is globally unique or locally unique", + "enum": [ + "Resolvable", + "Global", + "Local" + ], + "$comment": "Do we need to further distinguish the identifier, for example add 'RESOLVABLE'" + }, + "ods:topicOrigin": { + "type": "string", + "description": "The topic origin of the specimen", + "enum": [ + "Natural", + "Human-made", + "Mixed origin", + "Unclassified" + ], + "example": [ + "Natural" + ] + }, + "ods:topicDomain": { + "type": "string", + "description": "The topic domain of the specimen", + "enum": [ + "Life", + "Environment", + "Earth System", + "Extraterrestrial", + "Cultural Artefacts", + "Archive Material", + "Unclassified" + ], + "example": [ + "Life" + ] + }, + "ods:topicDiscipline": { + "type": "string", + "description": "The topic discipline of the specimen", + "enum": [ + "Anthropology", + "Botany", + "Astrogeology", + "Geology", + "Microbiology", + "Palaeontology", + "Zoology", + "Ecology", + "Other Biodiversity", + "Other Geodiversity", + "Unclassified" + ], + "example": [ + "Botany" + ] + }, + "ods:markedAsType": { + "type": "boolean", + "description": "The specimen is marked as a type specimen" + }, + "ods:hasMedia": { + "type": "boolean", + "description": "Indicates if there are any media objects attached to this specimen" + }, + "ods:specimenName": { + "type": "string", + "description": "The accepted specimen name of the digital specimen", + "example": [ + "Roptrocerus typographi (Györfi, 1952)" + ] + }, + "ods:sourceSystem": { + "type": "string", + "description": "The handle to the source system object which retrieved the data from the CMS", + "pattern": "https:\/\/hdl.handle.net\/20.5000.1025\/(.){3}-(.){3}-(.){3}" + }, + "ods:livingOrPreserved": { + "type": "string", + "description": "Whether the specimen is living or preserved", + "enum": [ + "Living", + "Preserved" + ] + }, + "dcterms:license": { + "type": "string", + "description": "License for the metadata of the physical specimen", + "$comment": "Determine available licenses" + }, + "dcterms:modified": { + "type": "string", + "description": "Modification date for specimen information" + }, + "dwc:basisOfRecord": { + "type": "string", + "description": "The basis for the record", + "$comment": "Switch to enumeration as this is a limited list" + }, + "dwc:preparations": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/preparations", + "example": [ + "fossil" + ] + }, + "dwc:disposition": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/disposition", + "examples": [ + "in collection" + ] + }, + "dwc:institutionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/institutionCode", + "examples": [ + "MNF" + ] + }, + "dwc:institutionId": { + "type": "string", + "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "examples": [ + "https://ror.org/015hz7p22" + ], + "$comment": "Add format for ROR or Wikidata ID" + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ], + "$comment": "Not part of DWC or the GBIF UM" + }, + "dwc:collectionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/collectionCode", + "examples": [ + "EBIRD" + ], + "$comment": "Cetaf collection code?" + }, + "dwc:collectionId": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/collectionID", + "examples": [ + "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" + ], + "$comment": "Are we going to use GRSciColl or Cetaf collection identifiers?" + }, + "dwc:informationWithheld": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/informationWithheld", + "examples": [ + "location information not given for endangered species" + ], + "$comment": "Feels like this field should be true or false and another field should contain the explanation" + }, + "dwc:dataGeneralizations": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/dataGeneralizations", + "examples": [ + "Coordinates generalized from original GPS coordinates to the nearest half degree grid cell." + ] + }, + "dwc:ownerInstitutionId": { + "type": "string", + "description": "ROR or Wikidata identifier for the owning institution", + "$comment": "DWC only has ownerInstitutionCode, however code is not an (resolvable identifier)", + "examples": [ + "https://ror.org/03wkt5x30" + ] + }, + "dwc:recordedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/recordedBy", + "examples": [ + "José E. Crespo" + ] + }, + "dwc:recordedById": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/recordedByID", + "examples": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "dwc:datasetName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/datasetName", + "examples": [ + "Hummingbirds" + ] + }, + "dcterms:accessRights": { + "type": "string", + "description": "https://purl.org/dc/terms/accessRights", + "examples": [ + "not-for-profit use only" + ] + }, + "dcterms:rightsHolder": { + "type": "string", + "description": "https://purl.org/dc/terms/rightsHolder", + "examples": [ + "Museu de História Natural e da Ciência da Universidade do Porto" + ] + }, + "dwc:verbatimLabel": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimLabel", + "examples": [ + "ILL: Union Co. Wolf Lake by Powder Plant Bridge. 1 March 1975 Coll. S. Ketzler, S. Herbert\n\nMonotoma longicollis 4 ♂ Det TC McElrath 2018\n\nINHS Insect Collection 456782" + ] + }, + "ods:MaterialEntities": { + "type": "array", + "items": { + "type": "object", + "dwc:MaterialEntity": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" + } + } + }, + "ods:Identifications": { + "type": "array", + "items": { + "type": "object", + "dwc:Identification": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + } + } + }, + "ods:Assertions": { + "type": "array", + "items": { + "type": "object", + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } + } + }, + "ods:Occurrences": { + "type": "array", + "items": { + "type": "object", + "dwc:Occurrence": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" + } + } + }, + "ods:EntityRelationships": { + "type": "array", + "items": { + "type": "object", + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } + } + }, + "ods:Citations": { + "type": "array", + "items": { + "type": "object", + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } + } + }, + "ods:Identifiers": { + "type": "array", + "items": { + "type": "object", + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } + } + }, + "ods:ChronometricAges": { + "type": "array", + "items": { + "type": "object", + "ods:ChronometricAge": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.2.0/digital-specimens/chronometric-age.json" + } + } + }, + "ods:Agents": { + "type": "array", + "items": { + "type": "object", + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + } + } + } + }, + "required": [ + "ods:id", + "ods:version", + "ods:type", + "ods:created", + "ods:midsLevel", + "ods:physicalSpecimenId", + "ods:physicalSpecimenIdType", + "ods:sourceSystem", + "dcterms:license", + "dwc:institutionId" + ] +} diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json new file mode 100644 index 0000000..80f381d --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json @@ -0,0 +1,364 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "dwc:identificationID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationID", + "examples": [ + "9992" + ] + }, + "ods:identificationType": { + "type": "string", + "description": "The type of identification" + }, + "ods:taxonFormula": { + "type": "string", + "description": "The full formula of the taxonomic identification" + }, + "dwc:verbatimIdentification": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimIdentification", + "examples": [ + "Peromyscus sp." + ] + }, + "dwc:typeStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/typeStatus", + "example": [ + "holotype" + ], + "$comment": "Unclear if we can make this an enumeration, which values?" + }, + "dwc:identifiedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedBy", + "example": [ + "James L. Patton" + ] + }, + "dwc:identifiedById": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", + "example": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "dwc:dateIdentified": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/dateIdentified", + "example": [ + "2009-02-20T08:40Z" + ] + }, + "dwc:identificationReferences": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", + "example": [ + "Aves del Noroeste Patagonico. Christie et al. 2004." + ], + "$comment": "Is this still needed or can we add the citation object here?" + }, + "dwc:identificationVerificationStatus": { + "type": "boolean", + "description": "If this is the accepted identification, based on https://rs.tdwg.org/dwc/terms/identificationVerificationStatus", + "example": [ + true + ] + }, + "dwc:identificationRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationRemarks", + "examples": [ + "Distinguished between Anthus correndera and Anthus hellmayri based on the comparative lengths of the uñas." + ] + }, + "dwc:identificationQualifier": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationQualifier", + "examples": [ + "cf. var. oxyadenia" + ] + }, + "ods:typeDesignationType": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:typeDesignatedBy": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:Citations": { + "type": "array", + "items": { + "type": "object", + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + } + } + }, + "ods:TaxonIdentifications": { + "type": "array", + "items": { + "type": "object", + "ods:TaxonIdentification": { + "type": "object", + "properties": { + "dwc:taxonID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonID", + "examples": [ + "https://www.gbif.org/species/212" + ] + }, + "dwc:scientificName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificName", + "examples": [ + "Roptrocerus typographi (Györfi, 1952)" + ] + }, + "dwc:scientificNameId": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameID", + "examples": [ + "urn:lsid:ipni.org:names:37829-1:1.3" + ] + }, + "ods:scientificNameHtmlLabel": { + "type": "string", + "description": "A Hyper Text Markup Language (HTML) representation of the scientific name. Includes correct formatting of the name.", + "examples": [ + "Absidia ginsan Komin. et al., 1952" + ] + }, + "dwc:scientificNameAuthorship": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameAuthorship", + "examples": [ + "(Torr.) J.T. Howell" + ] + }, + "dwc:nameAccordingTo": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nameAccordingTo", + "examples": [ + "Plants of the World Online" + ] + }, + "dwc:namePublishedInYear": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/namePublishedInYear", + "examples": [ + "2022" + ] + }, + "dwc:taxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRank", + "examples": [ + "species" + ] + }, + "dwc:verbatimTaxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimTaxonRank", + "examples": [ + "Agamospecies" + ] + }, + "ods:taxonSource": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "dwc:taxonRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRemarks", + "examples": [ + "this name is a misspelling in common use" + ] + }, + "dwc:kingdom": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/kingdom", + "examples": [ + "animalia" + ], + "$comment": "Could be an enum?" + }, + "dwc:phylum": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/phylum", + "examples": [ + "Chordata" + ] + }, + "dwc:class": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/class", + "examples": [ + "Hepaticopsida" + ] + }, + "dwc:order": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/order", + "examples": [ + "Carnivora" + ] + }, + "dwc:family": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/family", + "examples": [ + "Felidae" + ] + }, + "dwc:subfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subfamily", + "examples": [ + "Orchidoideae" + ] + }, + "dwc:genus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genus", + "examples": [ + "Puma" + ] + }, + "dwc:specificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/specificEpithet", + "examples": [ + "concolor" + ] + }, + "dwc:taxonomicStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonomicStatus", + "$comment": "Might become an enum", + "examples": [ + "accepted" + ] + }, + "dwc:nomenclaturalCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalCode", + "$comment": "Might become an enum", + "examples": [ + "ICBN" + ] + }, + "dwc:vernacularName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/vernacularName", + "examples": [ + "Meerval | Wels | Catfish | Silure glane | Wels | Waller | Siluro | Malle" + ] + }, + "dwc:subgenus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subgenus", + "examples": [ + "Strobus" + ] + }, + "dwc:acceptedNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsage", + "examples": [ + "Tamias minimus" + ] + }, + "dwc:acceptedNameUsageID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsageID", + "examples": [ + "6W3C4" + ] + }, + "dwc:cultivarEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/cultivarEpithet", + "examples": [ + "King Edward" + ] + }, + "dwc:genericName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genericName", + "examples": [ + "Felis" + ] + }, + "dwc:infragenericEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infragenericEpithet", + "examples": [ + "Abacetillus" + ] + }, + "dwc:infraspecificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infraspecificEpithet", + "examples": [ + "oxyadenia" + ] + }, + "dwc:nomenclaturalStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalStatus", + "examples": [ + "nom. illeg." + ] + }, + "dwc:originalNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/originalNameUsage", + "examples": [ + "Pinus abies" + ] + }, + "dwc:subtribe": { + "type": "string", + "description": "http://rs.tdwg.org/dwc/terms/subtribe", + "examples": [ + "Plotinini" + ] + }, + "dwc:superfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/superfamily", + "examples": [ + "Cerithioidea" + ] + }, + "dwc:tribe": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/tribe", + "examples": [ + "Arethuseae" + ] + } + }, + "required": [ + "dwc:scientificName" + ] + } + } + } + }, + "required": [ + "dwc:identificationVerificationStatus" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/location.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/location.json new file mode 100644 index 0000000..477d423 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/location.json @@ -0,0 +1,448 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "dwc:locationID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/locationID", + "examples": [ + "https://opencontext.org/subjects/768A875F-E205-4D0B-DE55-BAB7598D0FD1" + ] + }, + "dwc:continent": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/continent", + "examples": [ + "Africa" + ] + }, + "dwc:waterBody": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/waterBody", + "examples": [ + "Baltic Sea" + ] + }, + "dwc:islandGroup": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/islandGroup", + "examples": [ + "Seychelles" + ] + }, + "dwc:island": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/island", + "examples": [ + "Vancouver" + ] + }, + "dwc:country": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/country", + "examples": [ + "Colombia" + ] + }, + "dwc:countryCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/countryCode", + "examples": [ + "SV" + ] + }, + "dwc:stateProvince": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/stateProvince", + "examples": [ + "Montana" + ] + }, + "dwc:county": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/county", + "examples": [ + "Los Lagos" + ] + }, + "dwc:municipality": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/municipality", + "examples": [ + "Holzminden" + ] + }, + "dwc:locality": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/locality", + "examples": [ + "Zeeuws-Vlaanderen, Hulst, Braakman" + ] + }, + "dwc:verbatimLocality": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimLocality", + "examples": [ + "25 km NNE Bariloche por R. Nac. 237" + ] + }, + "dwc:minimumElevationInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/minimumElevationInMeters", + "examples": [ + -100 + ] + }, + "dwc:higherGeography": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/higherGeography", + "examples": [ + "Britain and Ireland" + ] + }, + "dwc:maximumElevationInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/maximumElevationInMeters", + "examples": [ + 205 + ] + }, + "dwc:verbatimElevation": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimElevation", + "examples": [ + "100 - 200 m" + ] + }, + "dwc:minimumDistanceAboveSurfaceInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/minimumDistanceAboveSurfaceInMeters", + "examples": [ + -1, + 5 + ] + }, + "dwc:maximumDistanceAboveSurfaceInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/maximumDistanceAboveSurfaceInMeters", + "examples": [ + 4.2 + ] + }, + "dwc:minimumDepthInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/minimumDepthInMeters", + "examples": [ + 50 + ] + }, + "dwc:maximumDepthInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/maximumDepthInMeters", + "examples": [ + 340 + ] + }, + "dwc:verbatimDepth": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimDepth", + "examples": [ + "100-200 m" + ] + }, + "dwc:verticalDatum": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verticalDatum", + "examples": [ + "EGM84" + ] + }, + "dwc:locationAccordingTo": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/locationAccordingTo", + "examples": [ + "GADM" + ] + }, + "dwc:locationRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/locationRemarks", + "examples": [ + "under water since 2005" + ] + }, + "ods:GeoReference": { + "type": "object", + "properties": { + "dwc:verbatimCoordinates": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimCoordinates", + "examples": [ + "41 05 54S 121 05 34W" + ] + }, + "dwc:decimalLatitude": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/decimalLatitude", + "examples": [ + -41.0983423 + ], + "minimum": -180, + "maximum": 180 + }, + "dwc:verbatimLatitude": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimLatitude", + "examples": [ + "41 05 54.03S" + ] + }, + "dwc:decimalLongitude": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/decimalLongitude", + "examples": [ + -121.1761111 + ], + "minimum": -180, + "maximum": 180 + }, + "dwc:verbatimLongitude": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimLongitude", + "examples": [ + "121d 10' 34\" W" + ] + }, + "dwc:verbatimCoordinateSystem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimCoordinateSystem", + "examples": [ + "degrees decimal minutes" + ] + }, + "dwc:geodeticDatum": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/geodeticDatum", + "examples": [ + "WGS84" + ] + }, + "dwc:coordinateUncertaintyInMeters": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/coordinateUncertaintyInMeters", + "examples": [ + 100 + ], + "minimum": 0 + }, + "dwc:coordinatePrecision": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/coordinatePrecision", + "examples": [ + 0.01667 + ] + }, + "dwc:pointRadiusSpatialFit": { + "type": "number", + "description": "https://rs.tdwg.org/dwc/terms/pointRadiusSpatialFit", + "examples": [ + 1.5708 + ] + }, + "dwc:footprintWkt": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/footprintWKT", + "examples": [ + "POLYGON ((10 20, 11 20, 11 21, 10 21, 10 20))" + ] + }, + "dwc:footprintSrs": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/footprintSRS", + "examples": [ + "epsg:4326" + ] + }, + "dwc:verbatimSRS": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimSRS", + "examples": [ + "NAD27" + ] + }, + "dwc:footprintSpatialFit": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/footprintSpatialFit", + "examples": [ + 1.5708 + ] + }, + "dwc:georeferencedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferencedBy", + "examples": [ + "Janet Fang" + ] + }, + "dwc:georeferencedDate": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferencedDate", + "examples": [ + "1963-03-08T14:07-0600" + ] + }, + "dwc:georeferenceProtocol": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferenceProtocol", + "examples": [ + "https://doi.org/10.35035/e09p-h128" + ] + }, + "dwc:georeferenceSources": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferenceSources", + "examples": [ + "https://www.geonames.org/" + ] + }, + "dwc:georeferenceRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferenceRemarks", + "examples": [ + "Assumed distance by road (Hwy. 101)" + ] + }, + "ods:preferredSpatialRepresentation": { + "type": "string", + "$comment": "Not part of DWC" + } + } + }, + "dwc:GeologicalContext": { + "type": "object", + "properties": { + "dwc:earliestEonOrLowestEonothem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/earliestEonOrLowestEonothem", + "examples": [ + "Phanerozoic" + ] + }, + "dwc:latestEonOrHighestEonothem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/latestEonOrHighestEonothem", + "examples": [ + "Proterozoic" + ] + }, + "dwc:earliestEraOrLowestErathem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/earliestEraOrLowestErathem", + "examples": [ + "Cenozoic" + ] + }, + "dwc:latestEraOrHighestErathem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/latestEraOrHighestErathem", + "examples": [ + "Mesozoic" + ] + }, + "dwc:earliestPeriodOrLowestSystem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/earliestPeriodOrLowestSystem", + "examples": [ + "Tertiary" + ] + }, + "dwc:latestPeriodOrHighestSystem": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/latestPeriodOrHighestSystem", + "examples": [ + "Quaternary" + ] + }, + "dwc:earliestEpochOrLowestSeries": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/earliestEpochOrLowestSeries", + "examples": [ + "Holocene" + ] + }, + "dwc:latestEpochOrHighestSeries": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/latestEpochOrHighestSeries", + "examples": [ + "Pleistocene" + ] + }, + "dwc:earliestAgeOrLowestStage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/earliestAgeOrLowestStage", + "examples": [ + "Atlantic" + ] + }, + "dwc:latestAgeOrHighestStage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/latestAgeOrHighestStage", + "examples": [ + "Boreal" + ] + }, + "dwc:lowestBiostratigraphicZone": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/lowestBiostratigraphicZone", + "examples": [ + "Maastrichtian" + ] + }, + "dwc:highestBiostratigraphicZone": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/highestBiostratigraphicZone", + "examples": [ + "Blancan" + ] + }, + "dwc:lithostratigraphicTerms": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/lithostratigraphicTerms", + "examples": [ + "Pleistocene-Weichselien" + ] + }, + "dwc:group": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/group", + "examples": [ + "Bathurst" + ] + }, + "dwc:formation": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/formation", + "examples": [ + "House Limestone" + ] + }, + "dwc:member": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/member", + "examples": [ + "Lava Dam Member" + ] + }, + "dwc:bed": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/bed", + "examples": [ + "Harlem coal" + ] + } + } + } + } +} diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json new file mode 100644 index 0000000..1934a0d --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json @@ -0,0 +1,159 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.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": { + "ods:materialEntityId": { + "type": "string" + }, + "dwc:preparations": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/preparations", + "example": [ + "fossil" + ] + }, + "dwc:disposition": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/disposition", + "examples": [ + "in collection" + ] + }, + "dwc:institutionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/institutionCode", + "examples": [ + "MNF" + ] + }, + "dwc:institutionId": { + "type": "string", + "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "examples": [ + "https://ror.org/015hz7p22" + ], + "$comment": "Add format for ROR or Wikidata ID" + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ], + "$comment": "Not part of DWC or the GBIF UM" + }, + "dwc:collectionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/collectionCode", + "examples": [ + "EBIRD" + ] + }, + "dwc:collectionId": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/collectionID", + "examples": [ + "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" + ], + "$comment": "Are we going to use GRSciColl or Cetaf collection identifiers?" + }, + "dwc:ownerInstitutionId": { + "type": "string", + "description": "ROR or Wikidata identifier for the owning institution", + "$comment": "DWC only has ownerInstitutionCode, however code is not an (resolvable identifier)", + "examples": [ + "https://ror.org/03wkt5x30" + ] + }, + "dwc:recordedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/recordedBy", + "examples": [ + "José E. Crespo" + ] + }, + "dwc:recordedById": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/recordedByID", + "examples": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "dwc:verbatimLabel": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimLabel", + "examples": [ + "ILL: Union Co. Wolf Lake by Powder Plant Bridge. 1 March 1975 Coll. S. Ketzler, S. Herbert\n\nMonotoma longicollis 4 ♂ Det TC McElrath 2018\n\nINHS Insect Collection 456782" + ] + }, + "dwc:Identification": { + "type": "array", + "items": { + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + } + }, + "ods:Assertions": { + "type": "array", + "items": { + "type": "object", + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" + } + } + }, + "ods:EntityRelationships": { + "type": "array", + "items": { + "type": "object", + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } + } + }, + "ods:Citations": { + "type": "array", + "items": { + "type": "object", + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } + } + }, + "ods:Identifiers": { + "type": "array", + "items": { + "type": "object", + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } + } + }, + "ods:Events": { + "type": "array", + "items": { + "type": "object", + "dwc:Event": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" + } + } + }, + "ods:Agents": { + "type": "array", + "items": { + "type": "object", + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" + } + } + } + } +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json b/data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json new file mode 100644 index 0000000..13245d3 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json @@ -0,0 +1,256 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment":"DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "dwc:organismQuantity": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismQuantity", + "examples": [ + "27" + ] + }, + "dwc:organismQuantityType": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismQuantityType", + "examples": [ + "individuals" + ], + "$comment": "Could this become a enum?" + }, + "dwc:sex": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/sex", + "examples": [ + "female" + ], + "$comment": "Could this become a enum?" + }, + "dwc:lifeStage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/lifeStage", + "examples": [ + "adult" + ], + "$comment": "Could this become a enum?" + }, + "dwc:reproductiveCondition": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/reproductiveCondition", + "examples": [ + "pregnant" + ], + "$comment": "Could this become a enum?" + }, + "dwc:behavior": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/behavior", + "examples": [ + "running" + ], + "$comment": "Is this needed for specimen data?" + }, + "dwc:caste": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/caste", + "examples": [ + "queen", + "ergatoid" + ] + }, + "dwc:vitality": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/vitality", + "examples": [ + "alive", + "dead" + ], + "$comment": "Is this needed for specimen data?" + }, + "dwc:establishmentMeans": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/establishmentMeans", + "examples": [ + "introduced" + ], + "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/em/" + }, + "dwc:occurrenceStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/occurrenceStatus", + "examples": [ + "present" + ], + "enum": [ + "present", + "absent" + ] + }, + "dwc:pathway": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/pathway", + "examples": [ + "releasedForUse" + ], + "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/pw/" + }, + "dwc:degreeOfEstablishment": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/degreeOfEstablishment", + "examples": [ + "captive" + ], + "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/doe/" + }, + "dwc:georeferenceVerificationStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferenceVerificationStatus", + "examples": [ + "verified by data custodian" + ], + "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/em/" + }, + "dwc:occurrenceRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/occurrenceRemarks", + "examples": [ + "found dead on road" + ] + }, + "ods:eventName": { + "type": "string", + "description": "The name of the event" + }, + "dwc:fieldNumber": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/fieldNumber", + "examples": [ + "RV Sol 87-03-08" + ] + }, + "dwc:recordNumber": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/recordNumber", + "examples": [ + "OPP 7101" + ] + }, + "dwc:eventDate": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/eventDate", + "examples": [ + "1963-03-08T14:07-0600" + ] + }, + "dwc:verbatimEventDate": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimEventDate", + "examples": [ + "Marzo 2002" + ] + }, + "dwc:year": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/year", + "maximum": 9999, + "examples": [ + 2008 + ] + }, + "dwc:month": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/month", + "maximum": 12, + "minimum": 1, + "examples": [ + 12 + ] + }, + "dwc:day": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/day", + "maximum": 31, + "minimum": 1, + "examples": [ + 29 + ] + }, + "dwc:habitat": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/habitat", + "examples": [ + "savanna" + ], + "$comment": "Is this necessary for specimens" + }, + "eco:protocolDescriptions": { + "type": "string", + "description": "https://rs.tdwg.org/eco/terms/protocolDescriptions", + "examples": [ + "Three conventional harp traps (3.2m ht x 2.2m w) were established in flight path zones for a period of 4 hrs at dawn and dusk for a total of 10 trap nights. Traps were visited on an hourly basis during each deployment period and the trap catch recorded for species, size, weight, sex, age and maternal status." + ] + }, + "dwc:sampleSizeValue": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/sampleSizeValue", + "examples": [ + "5" + ] + }, + "dwc:sampleSizeUnit": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/sampleSizeUnit", + "examples": [ + "meters" + ] + }, + "dwc:samplingProtocol": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/samplingProtocol", + "examples": [ + "collected directly from the wild" + ] + }, + "ods:eventEffort": { + "type": "string", + "comment": "Not sure what this field means" + }, + "dwc:fieldNotes": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/fieldNotes", + "examples": [ + "Notes available in the Grinnell-Miller Library" + ] + }, + "dwc:eventRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/eventRemarks", + "examples": [ + "After the recent rains the river is nearly at flood stage" + ] + }, + "ods:collectorName": { + "type": "string", + "$comment": "Not part of DWC or the UM?" + }, + "ods:collectorId": { + "type": "string", + "$comment": "Not part of DWC or the UM?" + }, + "ods:Assertions": { + "type": "array", + "items": { + "type": "object", + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } + } + }, + "dcterms:Location": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json" + } + } +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json new file mode 100644 index 0000000..9cc75d8 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -0,0 +1,78 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/agent.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ods:agentRole": { + "type": "string", + "description": "Indicates the role of the agent", + "examples": [ + "collector", + "preparer", + "identifier", + "recorder" + ] + }, + "ods:agentType": { + "type": "string", + "description": "Indicates the type of agent", + "examples": [ + "machine", + "human", + "organisation" + ] + }, + "ods:agentId":{ + "type": "string", + "description": "Primary identifier of the agent, additional identifiers can go in the identifiers array", + "examples": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "ods:agentName": { + "type": "string", + "description": "Full name of the agent", + "examples": [ + "John Smith" + ] + }, + "ods:agentRoleBegan": { + "type": "string", + "description": "Date the agent began the role", + "examples": [ + "2023-10-02T12:31:34.806Z" + ] + }, + "ods:agentRoleEnded": { + "type": "string", + "description": "Date the agent ended the role", + "examples": [ + "2023-09-02T12:31:34.806Z" + ] + }, + "ods:agentRoleOrder": { + "type": "integer", + "description": "Order of the agent in the role. Can be used to indicate the order of importance", + "minimum": 1, + "examples": [ + 1, + 2 + ] + }, + "ods:Identifiers": { + "type": "array", + "items": { + "type": "object", + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } + } + } + }, + "required": [ + "ods:agentRole", + "ods:agentType", + "ods:agentName" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json b/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json new file mode 100644 index 0000000..22ea6fe --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json @@ -0,0 +1,44 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/assertions.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "$comment": "Annotation Version 0.3.0", + "properties": { + "ods:assertionType": { + "type": "string" + }, + "ods:assertionMadeDate": { + "type": "string" + }, + "ods:assertionEffectiveDate": { + "type": "string" + }, + "ods:assertionValue": { + "type": "string" + }, + "ods:assertionValueNumeric": { + "type": "integer" + }, + "ods:assertionUnit": { + "type": "string" + }, + "ods:assertionByAgentName": { + "type": "string" + }, + "ods:assertionByAgentId": { + "type": "string" + }, + "ods:assertionProtocol": { + "type": "string" + }, + "ods:assertionProtocolId": { + "type": "string" + }, + "ods:assertionRemarks": { + "type": "string" + } + }, + "required": [ + "ods:assertionType" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citations.json b/data-model/fdo-types/0.3.0/shared-models/schema/citations.json new file mode 100644 index 0000000..e1b8ba9 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citations.json @@ -0,0 +1,61 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/citations.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "dcterms:type": { + "type": "string", + "description": "https://purl.org/dc/terms/type" + }, + "dcterms:date": { + "type": "string", + "description": "https://purl.org/dc/terms/date" + }, + "dcterms:title": { + "type": "string", + "description": "https://purl.org/dc/terms/title" + }, + "dcterms:creator": { + "type": "string", + "description": "https://purl.org/dc/elements/1.1/creator" + }, + "ods:citationPageNumber": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:citationRemarks": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:referenceType": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "dcterms:bibliographicCitation": { + "type": "string", + "description": "https://dublincore.org/usage/terms/history/#bibliographicCitation-002", + "example": [ + "https://www.gbif.org/species/2439608 Source: GBIF Taxonomic Backbone" + ] + }, + "ods:referenceYear": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:referenceIri": { + "type": "string", + "format": "iri", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:isPeerReviewed": { + "type": "boolean", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + } + } +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json new file mode 100644 index 0000000..4b0c054 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json @@ -0,0 +1,40 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/entity-relationships.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ods:entityRelationshipType": { + "type": "string" + }, + "ods:objectEntityIri": { + "type": "string", + "format": "iri", + "description": "The link to the referenced resource. This could be an internal object linked through the PID or an external object" + }, + "ods:entityRelationshipDate": { + "type": "string", + "format": "date-time", + "description": "The data time on which the relationship was established" + }, + "ods:entityRelationshipOrder": { + "type": "integer", + "description": "When multiple relationships are added an order can be defined" + }, + "ods:entityRelationshipCreatorName": { + "type": "string", + "description": "The name of the relationship creator", + "$comment": "Not available in GBIF UM" + }, + "ods:entityRelationshipCreatorId": { + "type": "string", + "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)", + "$comment": "Not available in GBIF UM" + } + }, + "required": [ + "ods:entityRelationshipType", + "ods:objectEntityIri", + "ods:entityRelationshipDate", + "ods:entityRelationshipCreatorId" + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json new file mode 100644 index 0000000..0489b75 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json @@ -0,0 +1,37 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/identifiers.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ods:identifierType": { + "type": "string", + "description": "The type of the identifier", + "examples": [ + "dwc:catalogueNumber", + "dwca:id" + ] + }, + "ods:identifierValue":{ + "type": "string", + "description": "The value for the identifier", + "examples": [ + "BMNH(E)1902475", + "RGM.800315" + ] + }, + "ods:partOfLabel": { + "type": "boolean", + "description": "Is the identifier part of the physical label" + }, + "ods:barcodeOrNfc": { + "type": "string", + "description": "Part of barcode or nfc chip" + }, + "ods:isIdPersistent": { + "type": "boolean" + } + }, + "required": [ + "ods:identifierValue" + ] +} \ No newline at end of file From a90e18e273002c8a40cc9e3231e91d9f9eac2c9b Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Tue, 28 May 2024 13:18:34 +0200 Subject: [PATCH 02/12] missed an s in digital-specimens --- .../schema/chronometric-age.json | 0 .../schema/digital-specimen.json | 0 .../schema/identifications.json | 0 .../{digital-specimen => digital-specimens}/schema/location.json | 0 .../schema/material-entity.json | 0 .../schema/occurrences.json | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/chronometric-age.json (100%) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/digital-specimen.json (100%) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/identifications.json (100%) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/location.json (100%) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/material-entity.json (100%) rename data-model/fdo-types/0.3.0/{digital-specimen => digital-specimens}/schema/occurrences.json (100%) diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/chronometric-age.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/digital-specimen.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/identifications.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/location.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/location.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/location.json diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/material-entity.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json diff --git a/data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json similarity index 100% rename from data-model/fdo-types/0.3.0/digital-specimen/schema/occurrences.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json From e054b774e8c5ef1d8ab12e841b65f89826227bb9 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Wed, 29 May 2024 16:05:07 +0200 Subject: [PATCH 03/12] Push changes in the datamodel --- .../schema/digital-entity.json | 83 +-- .../examples/aves-example.json | 137 +++++ .../schema/chronometric-age.json | 14 +- .../schema/digital-specimen.json | 172 ++++-- .../schema/identifications.json | 499 +++++++++--------- .../digital-specimens/schema/location.json | 14 +- .../schema/material-entity.json | 95 ++-- .../digital-specimens/schema/occurrences.json | 84 ++- .../0.3.0/shared-models/schema/agent.json | 10 +- .../shared-models/schema/assertions.json | 7 +- .../0.3.0/shared-models/schema/citations.json | 29 +- .../schema/entity-relationships.json | 14 +- .../shared-models/schema/identifiers.json | 7 +- 13 files changed, 716 insertions(+), 449 deletions(-) create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json index 02f9360..e8228cc 100644 --- a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -4,14 +4,13 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { - "ods:id": { + "ods:ID": { "type": "string", "description": "The unique digital identifier of the object", - "pattern": "https:\/\/hdl.handle.net\/20.5000.1025\/(.){3}-(.){3}-(.){3}", + "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", "examples": [ "https://hdl.handle.net.org/20.5000.1025/XXX-XXX-XXX" - ], - "$comment": "Does an image get a DOI or a handle?" + ] }, "ods:version": { "type": "integer", @@ -30,8 +29,11 @@ }, "ods:type": { "type": "string", - "description": "The FDO type of the object", - "$comment": "Unclear what value goes here" + "description": "The DOI or handle to the FDO type of the object", + "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "examples": [ + "https://doi.org/10.15468/1a2b3c" + ] }, "dcterms:type": { "type": "string", @@ -51,32 +53,26 @@ "Text" ] }, - "ac:accessUri": { + "ac:accessURI": { "type": "string", "description": "https://rs.tdwg.org/ac/terms/accessURI", "examples": [ ] }, - "dwc:institutionId": { + "dwc:institutionID": { "type": "string", + "format": "(https:\/\/ror\.org\/0[\w]{6}[0-9]{2})|(http:\/\/www\.wikidata.org\/entity\/\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" - ], - "$comment": "Add format for ROR or Wikidata ID" + ] }, "ods:institutionName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ "National Museum of Natural History" - ], - "$comment": "Not part of DWC or the GBIF UM" - }, - "xmpRights:webStatement": { - "type": "string", - "description": "https://ns.adobe.com/xap/1.0/rights/WebStatement", - "$comment": "What is the difference with dcterms:license?" + ] }, "dcterms:format": { "type": "string", @@ -85,8 +81,7 @@ }, "dcterms:license": { "type": "string", - "description": "https://purl.org/dc/terms/license", - "$comment": "Create a enum for this?" + "description": "https://purl.org/dc/terms/license" }, "dcterms:description": { "type": "string", @@ -97,7 +92,7 @@ "description": "https://purl.org/dc/terms/rights", "$comment": "What is the difference with dcterms:license?" }, - "ods:rightsUri": { + "ods:rightsURI": { "type": "string", "format": "uri", "$comment": "What is the difference with dcterms:license? or dcterms:rights?. dcterms:rights is already recommended to be a URI" @@ -110,14 +105,12 @@ "dcterms:rightsHolder": { "type": "string", "description": "https://purl.org/dc/terms/rightsHolder", - "examples": [ - ] }, "dcterms:source": { "type": "string", "description": "https://purl.org/dc/terms/source" }, - "ods:sourceUri": { + "ods:sourceURI": { "type": "string", "format": "uri", "$comment": "It is already recommended to use URI in the dcterms:source" @@ -138,9 +131,11 @@ "type": "array", "items": { "type": "object", - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + "properties": { + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } } } }, @@ -148,9 +143,11 @@ "type": "array", "items": { "type": "object", - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + "properties": { + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } } } }, @@ -158,9 +155,11 @@ "type": "array", "items": { "type": "object", - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "properties": { + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } } } }, @@ -168,9 +167,11 @@ "type": "array", "items": { "type": "object", - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + "properties": { + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } } } }, @@ -178,18 +179,20 @@ "type": "array", "items": { "type": "object", - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "properties": { + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + } } } } }, "required": [ - "ods:id", + "ods:ID", "ods:version", "ods:created", - "ac:accessUri", + "ac:accessURI", "dcterms:license" ] } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json new file mode 100644 index 0000000..ca978ef --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json @@ -0,0 +1,137 @@ +{ + "ods:ID": "https://doi.org/SANDBOX/XY7-ZMP-5J4", + "ods:version": 1, + "ods:created": "2024-05-29T07:10:56.269509Z", + "ods:type": "https://doi.org/21.T11148/894b1e6cad57e921764e", + "ods:midsLevel": 1, + "ods:normalisedPhysicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenIDType": "Resolvable", + "ods:topicOrigin": "Natural", + "ods:topicDomain": "Life", + "ods:topicDiscipline": "Zoology", + "ods:hasMedia": true, + "ods:specimenName": "Pitta versicolor Swainson, 1825", + "ods:sourceSystem": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7", + "ods:livingOrPreserved": "Preserved", + "dcterms:license": "CC0 1.0", + "dcterms:modified": "2023/01/24", + "dwc:basisOfRecord": "PreservedSpecimen", + "dwc:preparations": "skin (air dried)", + "dwc:institutionID": "https://ror.org/0566bfb96", + "dwc:institutionName": "Naturalis Biodiversity Center", + "dwc:recordedBy": "van Lansberge", + "dwc:datasetName": "Naturalis Biodiversity Center (NL) - Aves", + "dcterms:rightsHolder": "Naturalis Biodiversity Center", + "ods:MaterialEntities": [], + "ods:Identifications": [ + { + "dwc:Identification": { + "dwc:verbatimIdentification": "Pitta versicolor concinna Gould, 1857", + "dwc:identifiedBy": "Tan D.", + "dwc:dateIdentified": "2021/12/01", + "dwc:identificationVerificationStatus": true, + "ods:TaxonIdentifications": [ + { + "ods:TaxonIdentification": { + "dwc:taxonID": "6VM3W", + "dwc:scientificName": "Pitta versicolor Swainson, 1825", + "ods:scientificNameHtmlLabel": "Pitta versicolor Swainson, 1825", + "dwc:scientificNameAuthorship": "Swainson, 1825", + "dwc:namePublishedInYear": "1825", + "dwc:taxonRank": "SPECIES", + "dwc:kingdom": "Animalia", + "dwc:phylum": "Chordata", + "dwc:class": "Aves", + "dwc:order": "Passeriformes", + "dwc:family": "Pittidae", + "dwc:genus": "Pitta Vieillot, 1816", + "dwc:specificEpithet": "versicolor", + "dwc:taxonomicStatus": "ACCEPTED", + "dwc:nomenclaturalCode": "ICZN", + "dwc:genericName": "Pitta" + } + } + ] + } + } + ], + "ods:Assertions": [], + "ods:Occurrences": [ + { + "dwc:Occurrence": { + "dwc:organismQuantity": "1", + "dwc:organismQuantityType": "individuals", + "dwc:lifeStage": "adult", + "dwc:eventDate": "1880-09-01/1880-09-30", + "ods:Assertions": [], + "location": { + "dwc:stateProvince": "Alor", + "ods:Georeference": { + "dwc:geodeticDatum": "WGS84" + }, + "geologicalContext": {} + } + } + } + ], + "ods:entityRelationships": [ + { + "ods:EntityRelationship": { + "entityRelationshipType": "hasOrganisationId", + "objectEntityIri": "https://ror.org/0566bfb96" + } + }, + { + "ods:EntityRelationship": { + "entityRelationshipType": "hasSourceSystemId", + "objectEntityIri": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7" + } + }, + { + "ods:EntityRelationship": { + "entityRelationshipType": "hasFdoType", + "objectEntityIri": "https://doi.org/21.T11148/894b1e6cad57e921764e" + } + }, + { + "ods:EntityRelationship": { + "entityRelationshipType": "hasPhysicalIdentifier", + "objectEntityIri": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + } + }, + { + "ods:EntityRelationship": { + "entityRelationshipType": "hasColId", + "objectEntityIri": "https://www.catalogueoflife.org/data/taxon/6VM3W", + "entityRelationshipDate": 1716966655568, + "entityRelationshipCreatorName": "dissco-nusearch-service", + "entityRelationshipCreatorId": "https://hdl.handle.net/TEST/123-123-123" + } + } + ], + "ods:Citations": [ + {} + ], + "ods:Identifiers": [ + { + "ods:Identifier": { + "ods:identifierType": "dwc:occurrenceID", + "ods:identifierValue": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + } + }, + { + "ods:Identifier": { + "ods:identifierType": "dwca:ID", + "ods:identifierValue": "RMNH.AVES.121559@CRS" + } + }, + { + "ods:Identifier": { + "ods:identifierType": "dwc:catalogNumber", + "ods:identifierValue": "RMNH.AVES.121559" + } + } + ], + "ods:ChronometricAges": [] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json index 73d3e52..f815756 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json @@ -4,6 +4,13 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { + "chrono:chronometricAgeID": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeID", + "examples": [ + "https://www.canadianarchaeology.ca/samples/70673" + ] + }, "chrono:verbatimChronometricAge": { "type": "string", "description": "https://rs.tdwg.org/chrono/terms/verbatimChronometricAge", @@ -13,7 +20,7 @@ }, "ods:verbatimChronometricAgeProtocol": { "type": "string", - "$comment": "Unknown term" + "description": "The verbatim name of the protocol used to determine the chronometric age." }, "chrono:uncalibratedChronometricAge": { "type": "string", @@ -78,7 +85,7 @@ "charred wood" ] }, - "chrono:materialDatedId": { + "chrono:materialDatedID": { "type": "string", "description": "https://rs.tdwg.org/chrono/terms/materialDatedID", "examples": [ @@ -111,8 +118,7 @@ "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeReferences", "examples": [ "https://doi.org/10.1007/s10814-019-09140-x" - ], - "$comment": "Or include citation object?" + ] }, "chrono:chronometricAgeRemarks": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 6a38ce8..438cdd4 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -4,10 +4,10 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { - "ods:id": { + "ods:ID": { "type": "string", "description": "The unique digital identifier of the object", - "pattern": "https:\/\/doi.org\/10.22\/(.){3}-(.){3}-(.){3}", + "pattern": "https:\\/\\/doi\\.org\\/10\\.22\\/(.){3}-(.){3}-(.){3}", "examples": [ "https://doi.org/10.22/XXX-XXX-XXX" ] @@ -30,8 +30,11 @@ }, "ods:type": { "type": "string", - "description": "The FDO type of the object", - "$comment": "Unclear what value goes here" + "description": "The DOI or handle to the FDO type of the object", + "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "examples": [ + "https://doi.org/10.15468/1a2b3c" + ] }, "ods:midsLevel": { "type": "integer", @@ -39,23 +42,22 @@ "minimum": 0, "maximum": 3 }, - "ods:normalisedPhysicalSpecimenId": { + "ods:normalisedPhysicalSpecimenID": { "type": "string", "description": "The physical specimen identifier of the object. When locally unique this is a combination between source-system-id and the local identifier" }, - "ods:physicalSpecimenId": { + "ods:physicalSpecimenID": { "type": "string", "description": "The physical specimen identifier of the object. Taken over as-is" }, - "ods:physicalSpecimenIdType": { + "ods:physicalSpecimenIDType": { "type": "string", "description": "To indicate if the physical identifier is globally unique or locally unique", "enum": [ "Resolvable", "Global", "Local" - ], - "$comment": "Do we need to further distinguish the identifier, for example add 'RESOLVABLE'" + ] }, "ods:topicOrigin": { "type": "string", @@ -121,10 +123,10 @@ "Roptrocerus typographi (Györfi, 1952)" ] }, - "ods:sourceSystem": { + "ods:sourceSystemID": { "type": "string", "description": "The handle to the source system object which retrieved the data from the CMS", - "pattern": "https:\/\/hdl.handle.net\/20.5000.1025\/(.){3}-(.){3}-(.){3}" + "pattern": "https:\\/\\/hdl\\.handle.net\\/20\\.5000\\.1025\\/(.){3}-(.){3}-(.){3}" }, "ods:livingOrPreserved": { "type": "string", @@ -136,8 +138,7 @@ }, "dcterms:license": { "type": "string", - "description": "License for the metadata of the physical specimen", - "$comment": "Determine available licenses" + "description": "License for the metadata of the physical specimen" }, "dcterms:modified": { "type": "string", @@ -145,8 +146,7 @@ }, "dwc:basisOfRecord": { "type": "string", - "description": "The basis for the record", - "$comment": "Switch to enumeration as this is a limited list" + "description": "The basis for the record" }, "dwc:preparations": { "type": "string", @@ -169,45 +169,41 @@ "MNF" ] }, - "dwc:institutionId": { + "dwc:institutionID": { "type": "string", + "format": "(https:\/\/ror\\.org\/0[\\w]{6}[0-9]{2})|(http:\/\/www\\.wikidata.org\/entity\/\\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" - ], - "$comment": "Add format for ROR or Wikidata ID" + ] }, "ods:institutionName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ "National Museum of Natural History" - ], - "$comment": "Not part of DWC or the GBIF UM" + ] }, "dwc:collectionCode": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/collectionCode", "examples": [ "EBIRD" - ], - "$comment": "Cetaf collection code?" + ] }, - "dwc:collectionId": { + "dwc:collectionID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/collectionID", "examples": [ "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" - ], - "$comment": "Are we going to use GRSciColl or Cetaf collection identifiers?" + ] }, "dwc:informationWithheld": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/informationWithheld", "examples": [ "location information not given for endangered species" - ], - "$comment": "Feels like this field should be true or false and another field should contain the explanation" + ] }, "dwc:dataGeneralizations": { "type": "string", @@ -216,10 +212,9 @@ "Coordinates generalized from original GPS coordinates to the nearest half degree grid cell." ] }, - "dwc:ownerInstitutionId": { + "dwc:ownerInstitutionID": { "type": "string", "description": "ROR or Wikidata identifier for the owning institution", - "$comment": "DWC only has ownerInstitutionCode, however code is not an (resolvable identifier)", "examples": [ "https://ror.org/03wkt5x30" ] @@ -231,7 +226,7 @@ "José E. Crespo" ] }, - "dwc:recordedById": { + "dwc:recordedByID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/recordedByID", "examples": [ @@ -266,13 +261,60 @@ "ILL: Union Co. Wolf Lake by Powder Plant Bridge. 1 March 1975 Coll. S. Ketzler, S. Herbert\n\nMonotoma longicollis 4 ♂ Det TC McElrath 2018\n\nINHS Insect Collection 456782" ] }, + "dwc:organismID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismID", + "examples": [ + "http://arctos.database.museum/guid/WNMU:Mamm:1249" + ] + }, + "dwc:organismName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismName", + "examples": [ + "Boab Prison Tree" + ] + }, + "dwc:organismScope": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismScope", + "examples": [ + "colony" + ] + }, + "dwc:associatedOrganisms": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/associatedOrganisms", + "examples": [ + "sibling of http://arctos.database.museum/guid/DMNS:Mamm:14171" + ] + }, + "dwc:organismRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/organismRemarks", + "examples": [ + "One of a litter of six" + ] + }, + "dwc:dynamicProperties": { + "type": "object", + "description": "https://rs.tdwg.org/dwc/terms/dynamicProperties", + "examples": [ + { + "relativeHumidity": 28, + "airTemperatureInCelsius": 22 + } + ] + }, "ods:MaterialEntities": { "type": "array", "items": { "type": "object", - "dwc:MaterialEntity": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" + "properties": { + "dwc:MaterialEntity": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" + } } } }, @@ -280,9 +322,11 @@ "type": "array", "items": { "type": "object", - "dwc:Identification": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + "properties": { + "dwc:Identification": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + } } } }, @@ -290,9 +334,11 @@ "type": "array", "items": { "type": "object", - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + "properties": { + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } } } }, @@ -300,9 +346,11 @@ "type": "array", "items": { "type": "object", - "dwc:Occurrence": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" + "properties": { + "dwc:Occurrence": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" + } } } }, @@ -310,9 +358,11 @@ "type": "array", "items": { "type": "object", - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + "properties": { + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } } } }, @@ -320,9 +370,11 @@ "type": "array", "items": { "type": "object", - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + "properties": { + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } } } }, @@ -330,9 +382,11 @@ "type": "array", "items": { "type": "object", - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "properties": { + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } } } }, @@ -340,9 +394,11 @@ "type": "array", "items": { "type": "object", - "ods:ChronometricAge": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.2.0/digital-specimens/chronometric-age.json" + "properties": { + "ods:ChronometricAge": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.2.0/digital-specimens/chronometric-age.json" + } } } }, @@ -350,9 +406,11 @@ "type": "array", "items": { "type": "object", - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "properties": { + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + } } } } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json index 80f381d..2e254f2 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json @@ -31,8 +31,7 @@ "description": "https://rs.tdwg.org/dwc/terms/typeStatus", "example": [ "holotype" - ], - "$comment": "Unclear if we can make this an enumeration, which values?" + ] }, "dwc:identifiedBy": { "type": "string", @@ -41,7 +40,7 @@ "James L. Patton" ] }, - "dwc:identifiedById": { + "dwc:identifiedByID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", "example": [ @@ -60,8 +59,7 @@ "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", "example": [ "Aves del Noroeste Patagonico. Christie et al. 2004." - ], - "$comment": "Is this still needed or can we add the citation object here?" + ] }, "dwc:identificationVerificationStatus": { "type": "boolean", @@ -108,252 +106,251 @@ "type": "array", "items": { "type": "object", - "ods:TaxonIdentification": { - "type": "object", - "properties": { - "dwc:taxonID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonID", - "examples": [ - "https://www.gbif.org/species/212" - ] - }, - "dwc:scientificName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificName", - "examples": [ - "Roptrocerus typographi (Györfi, 1952)" - ] - }, - "dwc:scientificNameId": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificNameID", - "examples": [ - "urn:lsid:ipni.org:names:37829-1:1.3" - ] - }, - "ods:scientificNameHtmlLabel": { - "type": "string", - "description": "A Hyper Text Markup Language (HTML) representation of the scientific name. Includes correct formatting of the name.", - "examples": [ - "Absidia ginsan Komin. et al., 1952" - ] - }, - "dwc:scientificNameAuthorship": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificNameAuthorship", - "examples": [ - "(Torr.) J.T. Howell" - ] - }, - "dwc:nameAccordingTo": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nameAccordingTo", - "examples": [ - "Plants of the World Online" - ] - }, - "dwc:namePublishedInYear": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/namePublishedInYear", - "examples": [ - "2022" - ] - }, - "dwc:taxonRank": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonRank", - "examples": [ - "species" - ] - }, - "dwc:verbatimTaxonRank": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/verbatimTaxonRank", - "examples": [ - "Agamospecies" - ] - }, - "ods:taxonSource": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, - "dwc:taxonRemarks": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonRemarks", - "examples": [ - "this name is a misspelling in common use" - ] - }, - "dwc:kingdom": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/kingdom", - "examples": [ - "animalia" - ], - "$comment": "Could be an enum?" - }, - "dwc:phylum": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/phylum", - "examples": [ - "Chordata" - ] - }, - "dwc:class": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/class", - "examples": [ - "Hepaticopsida" - ] - }, - "dwc:order": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/order", - "examples": [ - "Carnivora" - ] - }, - "dwc:family": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/family", - "examples": [ - "Felidae" - ] - }, - "dwc:subfamily": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/subfamily", - "examples": [ - "Orchidoideae" - ] - }, - "dwc:genus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/genus", - "examples": [ - "Puma" - ] - }, - "dwc:specificEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/specificEpithet", - "examples": [ - "concolor" - ] - }, - "dwc:taxonomicStatus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonomicStatus", - "$comment": "Might become an enum", - "examples": [ - "accepted" - ] - }, - "dwc:nomenclaturalCode": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalCode", - "$comment": "Might become an enum", - "examples": [ - "ICBN" - ] - }, - "dwc:vernacularName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/vernacularName", - "examples": [ - "Meerval | Wels | Catfish | Silure glane | Wels | Waller | Siluro | Malle" - ] - }, - "dwc:subgenus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/subgenus", - "examples": [ - "Strobus" - ] - }, - "dwc:acceptedNameUsage": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsage", - "examples": [ - "Tamias minimus" - ] - }, - "dwc:acceptedNameUsageID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsageID", - "examples": [ - "6W3C4" - ] - }, - "dwc:cultivarEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/cultivarEpithet", - "examples": [ - "King Edward" - ] - }, - "dwc:genericName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/genericName", - "examples": [ - "Felis" - ] - }, - "dwc:infragenericEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/infragenericEpithet", - "examples": [ - "Abacetillus" - ] - }, - "dwc:infraspecificEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/infraspecificEpithet", - "examples": [ - "oxyadenia" - ] - }, - "dwc:nomenclaturalStatus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalStatus", - "examples": [ - "nom. illeg." - ] - }, - "dwc:originalNameUsage": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/originalNameUsage", - "examples": [ - "Pinus abies" - ] - }, - "dwc:subtribe": { - "type": "string", - "description": "http://rs.tdwg.org/dwc/terms/subtribe", - "examples": [ - "Plotinini" - ] - }, - "dwc:superfamily": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/superfamily", - "examples": [ - "Cerithioidea" - ] - }, - "dwc:tribe": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/tribe", - "examples": [ - "Arethuseae" - ] - } - }, - "required": [ - "dwc:scientificName" - ] + "properties": { + "ods:TaxonIdentification": { + "type": "object", + "properties": { + "dwc:taxonID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonID", + "examples": [ + "https://www.gbif.org/species/212" + ] + }, + "dwc:scientificName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificName", + "examples": [ + "Roptrocerus typographi (Györfi, 1952)" + ] + }, + "dwc:scientificNameID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameID", + "examples": [ + "urn:lsid:ipni.org:names:37829-1:1.3" + ] + }, + "ods:scientificNameHtmlLabel": { + "type": "string", + "description": "A Hyper Text Markup Language (HTML) representation of the scientific name. Includes correct formatting of the name.", + "examples": [ + "Absidia ginsan Komin. et al., 1952" + ] + }, + "dwc:scientificNameAuthorship": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameAuthorship", + "examples": [ + "(Torr.) J.T. Howell" + ] + }, + "dwc:nameAccordingTo": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nameAccordingTo", + "examples": [ + "Plants of the World Online" + ] + }, + "dwc:namePublishedInYear": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/namePublishedInYear", + "examples": [ + "2022" + ] + }, + "dwc:taxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRank", + "examples": [ + "species" + ] + }, + "dwc:verbatimTaxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimTaxonRank", + "examples": [ + "Agamospecies" + ] + }, + "ods:taxonSource": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "dwc:taxonRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRemarks", + "examples": [ + "this name is a misspelling in common use" + ] + }, + "dwc:kingdom": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/kingdom", + "examples": [ + "animalia" + ] + }, + "dwc:phylum": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/phylum", + "examples": [ + "Chordata" + ] + }, + "dwc:class": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/class", + "examples": [ + "Hepaticopsida" + ] + }, + "dwc:order": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/order", + "examples": [ + "Carnivora" + ] + }, + "dwc:family": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/family", + "examples": [ + "Felidae" + ] + }, + "dwc:subfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subfamily", + "examples": [ + "Orchidoideae" + ] + }, + "dwc:genus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genus", + "examples": [ + "Puma" + ] + }, + "dwc:specificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/specificEpithet", + "examples": [ + "concolor" + ] + }, + "dwc:taxonomicStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonomicStatus", + "examples": [ + "accepted" + ] + }, + "dwc:nomenclaturalCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalCode", + "examples": [ + "ICBN" + ] + }, + "dwc:vernacularName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/vernacularName", + "examples": [ + "Meerval | Wels | Catfish | Silure glane | Wels | Waller | Siluro | Malle" + ] + }, + "dwc:subgenus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subgenus", + "examples": [ + "Strobus" + ] + }, + "dwc:acceptedNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsage", + "examples": [ + "Tamias minimus" + ] + }, + "dwc:acceptedNameUsageID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsageID", + "examples": [ + "6W3C4" + ] + }, + "dwc:cultivarEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/cultivarEpithet", + "examples": [ + "King Edward" + ] + }, + "dwc:genericName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genericName", + "examples": [ + "Felis" + ] + }, + "dwc:infragenericEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infragenericEpithet", + "examples": [ + "Abacetillus" + ] + }, + "dwc:infraspecificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infraspecificEpithet", + "examples": [ + "oxyadenia" + ] + }, + "dwc:nomenclaturalStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalStatus", + "examples": [ + "nom. illeg." + ] + }, + "dwc:originalNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/originalNameUsage", + "examples": [ + "Pinus abies" + ] + }, + "dwc:subtribe": { + "type": "string", + "description": "http://rs.tdwg.org/dwc/terms/subtribe", + "examples": [ + "Plotinini" + ] + }, + "dwc:superfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/superfamily", + "examples": [ + "Cerithioidea" + ] + }, + "dwc:tribe": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/tribe", + "examples": [ + "Arethuseae" + ] + } + }, + "required": [ + "dwc:scientificName" + ] + } } } } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json index 477d423..b8364fe 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json @@ -95,6 +95,13 @@ -100 ] }, + "dwc:higherGeographyID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/higherGeographyID", + "examples": [ + "http://vocab.getty.edu/tgn/1002002 " + ] + }, "dwc:higherGeography": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/higherGeography", @@ -251,14 +258,14 @@ 1.5708 ] }, - "dwc:footprintWkt": { + "dwc:footprintWKT": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/footprintWKT", "examples": [ "POLYGON ((10 20, 11 20, 11 21, 10 21, 10 20))" ] }, - "dwc:footprintSrs": { + "dwc:footprintSRS": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/footprintSRS", "examples": [ @@ -315,8 +322,7 @@ ] }, "ods:preferredSpatialRepresentation": { - "type": "string", - "$comment": "Not part of DWC" + "type": "string" } } }, diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index 1934a0d..82a700d 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -1,12 +1,22 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", "type": "object", - "$comment": "Only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", + "$comment": "DigitalObject Version 0.3.0, only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", "properties": { - "ods:materialEntityId": { - "type": "string" + "dwc:materialEntityID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/materialEntityID", + "examples": [ + "06809dc5-f143-459a-be1a-6f03e63fc083" + ] + }, + "ods:materialEntityType": { + "type": "string", + "description": "Type of material entity", + "examples": [ + "organism" + ] }, "dwc:preparations": { "type": "string", @@ -29,21 +39,20 @@ "MNF" ] }, - "dwc:institutionId": { + "dwc:institutionID": { "type": "string", + "format": "(https:\/\/ror\.org\/0[\w]{6}[0-9]{2})|(http:\/\/www\.wikidata.org\/entity\/\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" - ], - "$comment": "Add format for ROR or Wikidata ID" + ] }, "ods:institutionName": { "type": "string", "description": "Full museum name according to ROR or Wikidata", "examples": [ "National Museum of Natural History" - ], - "$comment": "Not part of DWC or the GBIF UM" + ] }, "dwc:collectionCode": { "type": "string", @@ -52,18 +61,16 @@ "EBIRD" ] }, - "dwc:collectionId": { + "dwc:collectionID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/collectionID", "examples": [ "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" - ], - "$comment": "Are we going to use GRSciColl or Cetaf collection identifiers?" + ] }, "dwc:ownerInstitutionId": { "type": "string", - "description": "ROR or Wikidata identifier for the owning institution", - "$comment": "DWC only has ownerInstitutionCode, however code is not an (resolvable identifier)", + "description": "Preferably the ROR or Wikidata identifier for the owning institution, other strings are allowed", "examples": [ "https://ror.org/03wkt5x30" ] @@ -75,7 +82,7 @@ "José E. Crespo" ] }, - "dwc:recordedById": { + "dwc:recordedByID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/recordedByID", "examples": [ @@ -89,19 +96,27 @@ "ILL: Union Co. Wolf Lake by Powder Plant Bridge. 1 March 1975 Coll. S. Ketzler, S. Herbert\n\nMonotoma longicollis 4 ♂ Det TC McElrath 2018\n\nINHS Insect Collection 456782" ] }, - "dwc:Identification": { + "ods:Identifications": { "type": "array", "items": { - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + "type": "object", + "properties": { + "dwc:Identification": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + } + } } }, "ods:Assertions": { "type": "array", "items": { "type": "object", - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" + "properties": { + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" + } } } }, @@ -109,9 +124,11 @@ "type": "array", "items": { "type": "object", - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + "properties": { + "ods:EntityRelationship": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + } } } }, @@ -119,9 +136,11 @@ "type": "array", "items": { "type": "object", - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + "properties": { + "ods:Citation": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + } } } }, @@ -129,9 +148,11 @@ "type": "array", "items": { "type": "object", - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "properties": { + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } } } }, @@ -139,9 +160,11 @@ "type": "array", "items": { "type": "object", - "dwc:Event": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" + "properties": { + "dwc:Event": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" + } } } }, @@ -149,9 +172,11 @@ "type": "array", "items": { "type": "object", - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" + "properties": { + "ods:Agent": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" + } } } } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json index 13245d3..ca34a74 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json @@ -16,40 +16,35 @@ "description": "https://rs.tdwg.org/dwc/terms/organismQuantityType", "examples": [ "individuals" - ], - "$comment": "Could this become a enum?" + ] }, "dwc:sex": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/sex", "examples": [ "female" - ], - "$comment": "Could this become a enum?" + ] }, "dwc:lifeStage": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/lifeStage", "examples": [ "adult" - ], - "$comment": "Could this become a enum?" + ] }, "dwc:reproductiveCondition": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/reproductiveCondition", "examples": [ "pregnant" - ], - "$comment": "Could this become a enum?" + ] }, "dwc:behavior": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/behavior", "examples": [ "running" - ], - "$comment": "Is this needed for specimen data?" + ] }, "dwc:caste": { "type": "string", @@ -65,16 +60,14 @@ "examples": [ "alive", "dead" - ], - "$comment": "Is this needed for specimen data?" + ] }, "dwc:establishmentMeans": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/establishmentMeans", "examples": [ "introduced" - ], - "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/em/" + ] }, "dwc:occurrenceStatus": { "type": "string", @@ -108,8 +101,7 @@ "description": "https://rs.tdwg.org/dwc/terms/georeferenceVerificationStatus", "examples": [ "verified by data custodian" - ], - "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/em/" + ] }, "dwc:occurrenceRemarks": { "type": "string", @@ -136,6 +128,13 @@ "OPP 7101" ] }, + "dwc:eventType": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/eventType", + "examples": [ + "Observation" + ] + }, "dwc:eventDate": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/eventDate", @@ -143,6 +142,31 @@ "1963-03-08T14:07-0600" ] }, + "dwc:eventTime": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/eventTime", + "examples": [ + "14:07-0600" + ] + }, + "dwc:endDayOfYear": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/endDayOfYear", + "maximum": 366, + "minimum": 1, + "examples": [ + 68 + ] + }, + "dwc:startDayOfYear": { + "type": "integer", + "description": "https://rs.tdwg.org/dwc/terms/startDayOfYear", + "maximum": 366, + "minimum": 1, + "examples": [ + 68 + ] + }, "dwc:verbatimEventDate": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/verbatimEventDate", @@ -181,8 +205,7 @@ "description": "https://rs.tdwg.org/dwc/terms/habitat", "examples": [ "savanna" - ], - "$comment": "Is this necessary for specimens" + ] }, "eco:protocolDescriptions": { "type": "string", @@ -212,9 +235,16 @@ "collected directly from the wild" ] }, + "dwc:samplingEffort": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/samplingEffort", + "examples": [ + "2 hours" + ] + }, "ods:eventEffort": { "type": "string", - "comment": "Not sure what this field means" + "$comment": "Not sure what this field means" }, "dwc:fieldNotes": { "type": "string", @@ -231,20 +261,20 @@ ] }, "ods:collectorName": { - "type": "string", - "$comment": "Not part of DWC or the UM?" + "type": "string" }, - "ods:collectorId": { - "type": "string", - "$comment": "Not part of DWC or the UM?" + "ods:collectorID": { + "type": "string" }, "ods:Assertions": { "type": "array", "items": { "type": "object", - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + "properties": { + "ods:Assertion": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + } } } }, diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json index 9cc75d8..62d9e17 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -22,7 +22,7 @@ "organisation" ] }, - "ods:agentId":{ + "ods:agentID":{ "type": "string", "description": "Primary identifier of the agent, additional identifiers can go in the identifiers array", "examples": [ @@ -63,9 +63,11 @@ "type": "array", "items": { "type": "object", - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "properties": { + "ods:Identifier": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + } } } } diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json b/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json index 22ea6fe..1dc0b8a 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json @@ -4,6 +4,9 @@ "type": "object", "$comment": "Annotation Version 0.3.0", "properties": { + "ods:assertionID": { + "type": "string" + }, "ods:assertionType": { "type": "string" }, @@ -25,13 +28,13 @@ "ods:assertionByAgentName": { "type": "string" }, - "ods:assertionByAgentId": { + "ods:assertionByAgentID": { "type": "string" }, "ods:assertionProtocol": { "type": "string" }, - "ods:assertionProtocolId": { + "ods:assertionProtocolID": { "type": "string" }, "ods:assertionRemarks": { diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citations.json b/data-model/fdo-types/0.3.0/shared-models/schema/citations.json index e1b8ba9..2b1d76c 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/citations.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citations.json @@ -3,6 +3,10 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { + "dcterms:identifier": { + "type": "string", + "description": "https://purl.org/dc/terms/identifier" + }, "dcterms:type": { "type": "string", "description": "https://purl.org/dc/terms/type" @@ -21,18 +25,15 @@ }, "ods:citationPageNumber": { "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "Page number of the citation" }, "ods:citationRemarks": { "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "Any further remarks about the citation" }, "ods:referenceType": { "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "The type of reference" }, "dcterms:bibliographicCitation": { "type": "string", @@ -42,20 +43,20 @@ ] }, "ods:referenceYear": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "type": "integer", + "description": "The year the reference was published", + "example": [ + 2021 + ] }, - "ods:referenceIri": { + "ods:referenceIRI": { "type": "string", "format": "iri", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "Reference to the web source of this citation" }, "ods:isPeerReviewed": { "type": "boolean", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "Is the citation peer reviewed?" } } } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json index 4b0c054..5ee2cb7 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json @@ -6,7 +6,7 @@ "ods:entityRelationshipType": { "type": "string" }, - "ods:objectEntityIri": { + "ods:objectEntityIRI": { "type": "string", "format": "iri", "description": "The link to the referenced resource. This could be an internal object linked through the PID or an external object" @@ -22,19 +22,17 @@ }, "ods:entityRelationshipCreatorName": { "type": "string", - "description": "The name of the relationship creator", - "$comment": "Not available in GBIF UM" + "description": "The name of the relationship creator" }, - "ods:entityRelationshipCreatorId": { + "ods:entityRelationshipCreatorID": { "type": "string", - "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)", - "$comment": "Not available in GBIF UM" + "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)" } }, "required": [ "ods:entityRelationshipType", - "ods:objectEntityIri", + "ods:objectEntityIRI", "ods:entityRelationshipDate", - "ods:entityRelationshipCreatorId" + "ods:entityRelationshipCreatorID" ] } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json index 0489b75..af1de58 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json @@ -23,12 +23,13 @@ "type": "boolean", "description": "Is the identifier part of the physical label" }, - "ods:barcodeOrNfc": { - "type": "string", + "ods:barcodeOrNFC": { + "type": "boolean", "description": "Part of barcode or nfc chip" }, "ods:isIdPersistent": { - "type": "boolean" + "type": "boolean", + "description": "Is the identifier persistent" } }, "required": [ From 3e8aa8556915772d3afe418e0527b5611f781986 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Tue, 4 Jun 2024 15:27:14 +0200 Subject: [PATCH 04/12] No additionalProperties, add @id and added examples --- .../examples/aves-example.json | 137 ------- .../examples/chronometric-age-example.json | 12 + .../examples/digital-specimen-bare.json | 127 ++++++ .../examples/event-example.json | 14 + .../examples/identification.json | 31 ++ .../examples/location-example.json | 19 + .../examples/material-entity-example.json | 7 + .../schema/chronometric-age.json | 15 +- .../schema/digital-specimen.json | 112 ++---- .../schema/{occurrences.json => event.json} | 28 +- .../schema/identification.json | 375 ++++++++++++++++++ .../schema/identifications.json | 361 ----------------- .../digital-specimens/schema/location.json | 46 ++- .../schema/material-entity.json | 80 ++-- .../shared-models/examples/agent-example.json | 11 + .../examples/assertion-example.json | 19 + .../examples/citation-example.json | 16 + .../examples/entity-relationship-example.json | 13 + .../examples/identifier-example.json | 11 + .../0.3.0/shared-models/schema/agent.json | 24 +- .../0.3.0/shared-models/schema/assertion.json | 108 +++++ .../shared-models/schema/assertions.json | 47 --- .../schema/{citations.json => citation.json} | 17 +- .../schema/entity-relationship.json | 88 ++++ .../schema/entity-relationships.json | 38 -- .../shared-models/schema/identifier.json | 62 +++ .../shared-models/schema/identifiers.json | 38 -- 27 files changed, 1084 insertions(+), 772 deletions(-) delete mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/digital-specimen-bare.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/event-example.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/identification.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/examples/material-entity-example.json rename data-model/fdo-types/0.3.0/digital-specimens/schema/{occurrences.json => event.json} (93%) create mode 100644 data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json delete mode 100644 data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/examples/agent-example.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/examples/assertion-example.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/examples/citation-example.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/examples/entity-relationship-example.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/examples/identifier-example.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/assertion.json delete mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/assertions.json rename data-model/fdo-types/0.3.0/shared-models/schema/{citations.json => citation.json} (79%) create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json delete mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json create mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/identifier.json delete mode 100644 data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json deleted file mode 100644 index ca978ef..0000000 --- a/data-model/fdo-types/0.3.0/digital-specimens/examples/aves-example.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "ods:ID": "https://doi.org/SANDBOX/XY7-ZMP-5J4", - "ods:version": 1, - "ods:created": "2024-05-29T07:10:56.269509Z", - "ods:type": "https://doi.org/21.T11148/894b1e6cad57e921764e", - "ods:midsLevel": 1, - "ods:normalisedPhysicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", - "ods:physicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", - "ods:physicalSpecimenIDType": "Resolvable", - "ods:topicOrigin": "Natural", - "ods:topicDomain": "Life", - "ods:topicDiscipline": "Zoology", - "ods:hasMedia": true, - "ods:specimenName": "Pitta versicolor Swainson, 1825", - "ods:sourceSystem": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7", - "ods:livingOrPreserved": "Preserved", - "dcterms:license": "CC0 1.0", - "dcterms:modified": "2023/01/24", - "dwc:basisOfRecord": "PreservedSpecimen", - "dwc:preparations": "skin (air dried)", - "dwc:institutionID": "https://ror.org/0566bfb96", - "dwc:institutionName": "Naturalis Biodiversity Center", - "dwc:recordedBy": "van Lansberge", - "dwc:datasetName": "Naturalis Biodiversity Center (NL) - Aves", - "dcterms:rightsHolder": "Naturalis Biodiversity Center", - "ods:MaterialEntities": [], - "ods:Identifications": [ - { - "dwc:Identification": { - "dwc:verbatimIdentification": "Pitta versicolor concinna Gould, 1857", - "dwc:identifiedBy": "Tan D.", - "dwc:dateIdentified": "2021/12/01", - "dwc:identificationVerificationStatus": true, - "ods:TaxonIdentifications": [ - { - "ods:TaxonIdentification": { - "dwc:taxonID": "6VM3W", - "dwc:scientificName": "Pitta versicolor Swainson, 1825", - "ods:scientificNameHtmlLabel": "Pitta versicolor Swainson, 1825", - "dwc:scientificNameAuthorship": "Swainson, 1825", - "dwc:namePublishedInYear": "1825", - "dwc:taxonRank": "SPECIES", - "dwc:kingdom": "Animalia", - "dwc:phylum": "Chordata", - "dwc:class": "Aves", - "dwc:order": "Passeriformes", - "dwc:family": "Pittidae", - "dwc:genus": "Pitta Vieillot, 1816", - "dwc:specificEpithet": "versicolor", - "dwc:taxonomicStatus": "ACCEPTED", - "dwc:nomenclaturalCode": "ICZN", - "dwc:genericName": "Pitta" - } - } - ] - } - } - ], - "ods:Assertions": [], - "ods:Occurrences": [ - { - "dwc:Occurrence": { - "dwc:organismQuantity": "1", - "dwc:organismQuantityType": "individuals", - "dwc:lifeStage": "adult", - "dwc:eventDate": "1880-09-01/1880-09-30", - "ods:Assertions": [], - "location": { - "dwc:stateProvince": "Alor", - "ods:Georeference": { - "dwc:geodeticDatum": "WGS84" - }, - "geologicalContext": {} - } - } - } - ], - "ods:entityRelationships": [ - { - "ods:EntityRelationship": { - "entityRelationshipType": "hasOrganisationId", - "objectEntityIri": "https://ror.org/0566bfb96" - } - }, - { - "ods:EntityRelationship": { - "entityRelationshipType": "hasSourceSystemId", - "objectEntityIri": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7" - } - }, - { - "ods:EntityRelationship": { - "entityRelationshipType": "hasFdoType", - "objectEntityIri": "https://doi.org/21.T11148/894b1e6cad57e921764e" - } - }, - { - "ods:EntityRelationship": { - "entityRelationshipType": "hasPhysicalIdentifier", - "objectEntityIri": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" - } - }, - { - "ods:EntityRelationship": { - "entityRelationshipType": "hasColId", - "objectEntityIri": "https://www.catalogueoflife.org/data/taxon/6VM3W", - "entityRelationshipDate": 1716966655568, - "entityRelationshipCreatorName": "dissco-nusearch-service", - "entityRelationshipCreatorId": "https://hdl.handle.net/TEST/123-123-123" - } - } - ], - "ods:Citations": [ - {} - ], - "ods:Identifiers": [ - { - "ods:Identifier": { - "ods:identifierType": "dwc:occurrenceID", - "ods:identifierValue": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" - } - }, - { - "ods:Identifier": { - "ods:identifierType": "dwca:ID", - "ods:identifierValue": "RMNH.AVES.121559@CRS" - } - }, - { - "ods:Identifier": { - "ods:identifierType": "dwc:catalogNumber", - "ods:identifierValue": "RMNH.AVES.121559" - } - } - ], - "ods:ChronometricAges": [] -} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json new file mode 100644 index 0000000..739b766 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json @@ -0,0 +1,12 @@ +{ + "@id": "7cd7b542-5053-4d9c-a698-ff4f9f6e6fd0", + "@type": "ods:ChronometricAge", + "chrono:chronometricAgeID": "7cd7b542-5053-4d9c-a698-ff4f9f6e6fd0", + "chrono:uncalibratedChronometricAge": "150 BP", + "chrono:earliestChronometricAge": 2500, + "chrono:earliestChronometricAgeReferenceSystem": "BP", + "chrono:latestChronometricAge": 3000, + "chrono:latestChronometricAgeReferenceSystem": "BP", + "chrono:chronometricAgeUncertaintyInYears": 500, + "chrono:materialDated": "Potery" +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/digital-specimen-bare.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/digital-specimen-bare.json new file mode 100644 index 0000000..6f3df3f --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/digital-specimen-bare.json @@ -0,0 +1,127 @@ +{ + "@id": "https://doi.org/SANDBOX/XY7-ZMP-5J4", + "@type": "ods:DigitalSpecimen", + "ods:version": 1, + "ods:created": "2024-05-29T07:10:56.269509Z", + "ods:type": "https://doi.org/21.T11148/894b1e6cad57e921764e", + "ods:midsLevel": 1, + "ods:normalisedPhysicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenID": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559", + "ods:physicalSpecimenIDType": "Resolvable", + "ods:topicOrigin": "Natural", + "ods:topicDomain": "Life", + "ods:topicDiscipline": "Zoology", + "ods:isKnownToContainMedia": true, + "ods:specimenName": "Pitta versicolor Swainson, 1825", + "ods:sourceSystemID": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7", + "ods:livingOrPreserved": "Preserved", + "dcterms:license": "CC0 1.0", + "dcterms:modified": "2023/01/24", + "dwc:basisOfRecord": "PreservedSpecimen", + "dwc:preparations": "skin (air dried)", + "dwc:institutionID": "https://ror.org/0566bfb96", + "dwc:institutionName": "Naturalis Biodiversity Center", + "dwc:recordedBy": "van Lansberge", + "dwc:datasetName": "Naturalis Biodiversity Center (NL) - Aves", + "dcterms:rightsHolder": "Naturalis Biodiversity Center", + "ods:hasMaterialEntity": [], + "ods:hasIdentification": [ + { + "@type": "dwc:Identification", + "dwc:verbatimIdentification": "Pitta versicolor concinna Gould, 1857", + "dwc:identifiedBy": "Tan D.", + "dwc:dateIdentified": "2021/12/01", + "dwc:identificationVerificationStatus": true, + "ods:hasTaxonIdentification": [ + { + "@type": "ods:TaxonIdentification", + "dwc:taxonID": "6VM3W", + "dwc:scientificName": "Pitta versicolor Swainson, 1825", + "ods:scientificNameHtmlLabel": "Pitta versicolor Swainson, 1825", + "dwc:scientificNameAuthorship": "Swainson, 1825", + "dwc:namePublishedInYear": "1825", + "dwc:taxonRank": "SPECIES", + "dwc:kingdom": "Animalia", + "dwc:phylum": "Chordata", + "dwc:class": "Aves", + "dwc:order": "Passeriformes", + "dwc:family": "Pittidae", + "dwc:genus": "Pitta Vieillot, 1816", + "dwc:specificEpithet": "versicolor", + "dwc:taxonomicStatus": "ACCEPTED", + "dwc:nomenclaturalCode": "ICZN", + "dwc:genericName": "Pitta" + } + ] + } + ], + "ods:hasAssertion": [], + "ods:hasEvents": [ + { + "@type": "ods:Event", + "dwc:organismQuantity": "1", + "dwc:organismQuantityType": "individuals", + "dwc:lifeStage": "adult", + "dwc:eventDate": "1880-09-01/1880-09-30", + "ods:Assertions": [], + "dcterms:Location": { + "dwc:stateProvince": "Alor", + "ods:GeoReference": { + "dwc:geodeticDatum": "WGS84" + }, + "ods:GeologicalContext": {} + } + } + ], + "ods:hasEntityRelationship": [ + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasOrganisationId", + "ods:objectEntityIri": "https://ror.org/0566bfb96" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasSourceSystemId", + "ods:objectEntityIri": "https://hdl.handle.net/SANDBOX/CS1-ZKQ-NZ7" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasFdoType", + "ods:objectEntityIri": "https://doi.org/21.T11148/894b1e6cad57e921764e" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasPhysicalIdentifier", + "ods:objectEntityIri": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + }, + { + "@type": "ods:EntityRelationship", + "ods:entityRelationshipType": "hasColId", + "ods:objectEntityIri": "https://www.catalogueoflife.org/data/taxon/6VM3W", + "ods:entityRelationshipDate": 1716966655568, + "ods:entityRelationshipCreatorName": "dissco-nusearch-service", + "ods:entityRelationshipCreatorId": "https://hdl.handle.net/TEST/123-123-123" + } + ], + "ods:hasCitation": [ + {} + ], + "ods:hasIdentifier": [ + { + "@type": "ods:Identifier", + "ods:identifierType": "dwc:occurrenceID", + "ods:identifierValue": "https://data.biodiversitydata.nl/naturalis/specimen/RMNH.AVES.121559" + }, + { + "@type": "ods:Identifier", + "ods:identifierType": "dwca:ID", + "ods:identifierValue": "RMNH.AVES.121559@CRS" + }, + { + "@type": "ods:Identifier", + "ods:identifierType": "dwc:catalogNumber", + "ods:identifierValue": "RMNH.AVES.121559" + } + ], + "ods:hasChronometricAge": [] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/event-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/event-example.json new file mode 100644 index 0000000..3c2f224 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/event-example.json @@ -0,0 +1,14 @@ +{ + "@type": "dwc:Event", + "dwc:organismQuantity": "2", + "dwc:organismQuantityType": "individuals", + "dwc:sex": "male", + "dwc:lifeStage": "young", + "dwc:vitality": "dead", + "ods:eventName": "A nice name for an Event", + "dwc:recordNumber": "Important for MIDS", + "dwc:eventDate": "1963-03-08T14:07-0600", + "dwc:year": 1963, + "dwc:month": 3, + "dwc:day": 8 +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/identification.json new file mode 100644 index 0000000..d1d2482 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/identification.json @@ -0,0 +1,31 @@ +{ + "@id": "1de006de-f809-476f-b344-570dd8965fc2", + "@type": "dwc:Identification", + "dwc:identificationID": "1de006de-f809-476f-b344-570dd8965fc2", + "ods:identificationType": "Taxon", + "dwc:typeStatus": "holotype", + "dwc:identifiedBy": "Sam Leeflang", + "dwc:identifiedByID": "https://orcid.org/0000-0002-5669-2769", + "dwc:identificationVerificationStatus": true, + "ods:hasTaxonIdentification": [ + { + "@id": "https://www.catalogueoflife.org/data/taxon/4YJSY", + "@type": "ods:TaxonIdentification", + "dwc:taxonID": "https://www.catalogueoflife.org/data/taxon/4YJSY", + "dwc:scientificName": "Spermacoce hirsuta Willd.", + "ods:scientificNameHtmlLabel": "Spermacoce hirsuta Willd.", + "dwc:scientificNameAuthorship": "Willd.", + "dwc:taxonRank": "SPECIES", + "dwc:kingdom": "Plantae", + "dwc:phylum": "Tracheophyta", + "dwc:class": "Magnoliopsida", + "dwc:order": "Gentianales Juss. ex Bercht. & J. Presl", + "dwc:family": "Rubiaceae", + "dwc:genus": "Richardia L.", + "dwc:specificEpithet": "hirsuta", + "dwc:taxonomicStatus": "SYNONYM", + "dwc:acceptedNameUsage": "Richardia scabra L.", + "dwc:acceptedNameUsageID": "4SZKV" + } + ] +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json new file mode 100644 index 0000000..0170388 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json @@ -0,0 +1,19 @@ +{ + "@type": "dcterms:Location", + "dwc:continent": "Europe", + "dwc:country": "Netherlands", + "dwc:countryCode": "NL", + "dwc:stateProvince": "Drente", + "dwc:municipality": "Annen", + "ods:GeoReference": { + "@type": "ods:GeoReference", + "dwc:decimalLatitude": 53.056073, + "dwc:decimalLongitude": 6.722291, + "dwc:geodeticDatum": "WGS84" + }, + "dwc:GeologicalContext": { + "@type": "dwc:GeologicalContext", + "dwc:group": "Bathurst", + "dwc:formation": "Summerville" + } +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/material-entity-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/material-entity-example.json new file mode 100644 index 0000000..1edf067 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/material-entity-example.json @@ -0,0 +1,7 @@ +{ + "@id": "06809dc5-f143-459a-be1a-6f03e63fc083", + "@type": "ods:MaterialEntity", + "dwc:materialEntityID": "06809dc5-f143-459a-be1a-6f03e63fc083", + "ods:materialEntityType": "organism", + "dwc:preparations": "dried sheet" +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json index f815756..64c8c14 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json @@ -4,6 +4,15 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:ChronometricAge", + "description": "The type of the digital object." + }, "chrono:chronometricAgeID": { "type": "string", "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeID", @@ -127,5 +136,9 @@ "Beta Analytic number: 323913" ] } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 438cdd4..2e5f73f 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -4,14 +4,19 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { - "ods:ID": { + "@id": { "type": "string", - "description": "The unique digital identifier of the object", + "description": "The unique identifier of the object", "pattern": "https:\\/\\/doi\\.org\\/10\\.22\\/(.){3}-(.){3}-(.){3}", "examples": [ "https://doi.org/10.22/XXX-XXX-XXX" ] }, + "@type": { + "type": "string", + "description": "The type of the object", + "const": "ods:DigitalSpecimen" + }, "ods:version": { "type": "integer", "description": "The version of the object, each change generates a new version", @@ -31,7 +36,7 @@ "ods:type": { "type": "string", "description": "The DOI or handle to the FDO type of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "pattern": "https:\\/\\/doi\\.org\\/\\w{2}.\\w+\\/\\w*", "examples": [ "https://doi.org/10.15468/1a2b3c" ] @@ -108,11 +113,11 @@ "Botany" ] }, - "ods:markedAsType": { + "ods:isMarkedAsType": { "type": "boolean", "description": "The specimen is marked as a type specimen" }, - "ods:hasMedia": { + "ods:isKnownToContainMedia": { "type": "boolean", "description": "Indicates if there are any media objects attached to this specimen" }, @@ -306,125 +311,84 @@ } ] }, - "ods:MaterialEntities": { + "ods:hasMaterialEntity": { "type": "array", "items": { "type": "object", - "properties": { - "dwc:MaterialEntity": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" } }, - "ods:Identifications": { + "ods:hasIdentification": { "type": "array", "items": { "type": "object", - "properties": { - "dwc:Identification": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" - } - } + "description": "https://rs.tdwg.org/dwc/terms/Identification", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" } }, - "ods:Assertions": { + "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" } }, - "ods:Occurrences": { + "ods:hasEvent": { "type": "array", "items": { "type": "object", - "properties": { - "dwc:Occurrence": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" - } - } + "description": "https://rs.tdwg.org/dwc/terms/Event", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" } }, - "ods:EntityRelationships": { + "ods:hasEntityRelationship": { "type": "array", "items": { "type": "object", - "properties": { - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" } }, - "ods:Citations": { + "ods:hasCitation": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" } }, - "ods:Identifiers": { + "ods:hasIdentifier": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" } }, - "ods:ChronometricAges": { + "ods:hasChronometricAge": { "type": "array", "items": { "type": "object", - "properties": { - "ods:ChronometricAge": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.2.0/digital-specimens/chronometric-age.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/chronometric-age.json" } }, - "ods:Agents": { + "ods:hasAgent": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" } } }, "required": [ - "ods:id", + "@id", + "@type", "ods:version", "ods:type", "ods:created", "ods:midsLevel", - "ods:physicalSpecimenId", - "ods:physicalSpecimenIdType", - "ods:sourceSystem", + "ods:physicalSpecimenID", + "ods:physicalSpecimenIDType", + "ods:sourceSystemID", "dcterms:license", - "dwc:institutionId" - ] + "dwc:institutionID" + ], + "additionalProperties": false } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json similarity index 93% rename from data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json rename to data-model/fdo-types/0.3.0/digital-specimens/schema/event.json index ca34a74..b7dae90 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/occurrences.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json @@ -1,9 +1,18 @@ { - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json", + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/event.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment":"DigitalObject Version 0.3.0", + "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "dwc:Event", + "description": "The type of the digital object." + }, "dwc:organismQuantity": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/organismQuantity", @@ -266,21 +275,20 @@ "ods:collectorID": { "type": "string" }, - "ods:Assertions": { + "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" } }, "dcterms:Location": { "type": "object", "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json" } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json new file mode 100644 index 0000000..5366117 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -0,0 +1,375 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identification.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "DigitalObject Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "dwc:Identification", + "description": "The type of the digital object, in this case a dwc:Identification" + }, + "dwc:identificationID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationID", + "examples": [ + "9992" + ] + }, + "ods:identificationType": { + "type": "string", + "description": "The type of identification" + }, + "ods:taxonFormula": { + "type": "string", + "description": "The full formula of the taxonomic identification" + }, + "dwc:verbatimIdentification": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimIdentification", + "examples": [ + "Peromyscus sp." + ] + }, + "dwc:typeStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/typeStatus", + "example": [ + "holotype" + ] + }, + "dwc:identifiedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedBy", + "example": [ + "James L. Patton" + ] + }, + "dwc:identifiedByID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", + "example": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "dwc:dateIdentified": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/dateIdentified", + "example": [ + "2009-02-20T08:40Z" + ] + }, + "dwc:identificationReferences": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", + "example": [ + "Aves del Noroeste Patagonico. Christie et al. 2004." + ] + }, + "ods:isVerifiedIdentification": { + "type": "boolean", + "description": "If this is the accepted identification, based on https://rs.tdwg.org/dwc/terms/identificationVerificationStatus", + "example": [ + true + ] + }, + "dwc:identificationRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationRemarks", + "examples": [ + "Distinguished between Anthus correndera and Anthus hellmayri based on the comparative lengths of the uñas." + ] + }, + "dwc:identificationQualifier": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationQualifier", + "examples": [ + "cf. var. oxyadenia" + ] + }, + "ods:typeDesignationType": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:typeDesignatedBy": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "ods:hasCitation": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + } + }, + "ods:hasTaxonIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:TaxonIdentification", + "description": "The type of the digital object, in this case a ods:TaxonIdentification" + }, + "dwc:taxonID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonID", + "examples": [ + "https://www.gbif.org/species/212" + ] + }, + "dwc:scientificName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificName", + "examples": [ + "Roptrocerus typographi (Györfi, 1952)" + ] + }, + "dwc:scientificNameID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameID", + "examples": [ + "urn:lsid:ipni.org:names:37829-1:1.3" + ] + }, + "ods:scientificNameHtmlLabel": { + "type": "string", + "description": "A Hyper Text Markup Language (HTML) representation of the scientific name. Includes correct formatting of the name.", + "examples": [ + "Absidia ginsan Komin. et al., 1952" + ] + }, + "dwc:scientificNameAuthorship": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/scientificNameAuthorship", + "examples": [ + "(Torr.) J.T. Howell" + ] + }, + "dwc:nameAccordingTo": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nameAccordingTo", + "examples": [ + "Plants of the World Online" + ] + }, + "dwc:namePublishedInYear": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/namePublishedInYear", + "examples": [ + "2022" + ] + }, + "dwc:taxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRank", + "examples": [ + "species" + ] + }, + "dwc:verbatimTaxonRank": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/verbatimTaxonRank", + "examples": [ + "Agamospecies" + ] + }, + "ods:taxonSource": { + "type": "string", + "description": "Unclear yet", + "$comment": "Unknown what this field should be" + }, + "dwc:taxonRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonRemarks", + "examples": [ + "this name is a misspelling in common use" + ] + }, + "dwc:kingdom": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/kingdom", + "examples": [ + "animalia" + ] + }, + "dwc:phylum": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/phylum", + "examples": [ + "Chordata" + ] + }, + "dwc:class": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/class", + "examples": [ + "Hepaticopsida" + ] + }, + "dwc:order": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/order", + "examples": [ + "Carnivora" + ] + }, + "dwc:family": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/family", + "examples": [ + "Felidae" + ] + }, + "dwc:subfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subfamily", + "examples": [ + "Orchidoideae" + ] + }, + "dwc:genus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genus", + "examples": [ + "Puma" + ] + }, + "dwc:specificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/specificEpithet", + "examples": [ + "concolor" + ] + }, + "dwc:taxonomicStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/taxonomicStatus", + "examples": [ + "accepted" + ] + }, + "dwc:nomenclaturalCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalCode", + "examples": [ + "ICBN" + ] + }, + "dwc:vernacularName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/vernacularName", + "examples": [ + "Meerval | Wels | Catfish | Silure glane | Wels | Waller | Siluro | Malle" + ] + }, + "dwc:subgenus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/subgenus", + "examples": [ + "Strobus" + ] + }, + "dwc:acceptedNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsage", + "examples": [ + "Tamias minimus" + ] + }, + "dwc:acceptedNameUsageID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsageID", + "examples": [ + "6W3C4" + ] + }, + "dwc:cultivarEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/cultivarEpithet", + "examples": [ + "King Edward" + ] + }, + "dwc:genericName": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/genericName", + "examples": [ + "Felis" + ] + }, + "dwc:infragenericEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infragenericEpithet", + "examples": [ + "Abacetillus" + ] + }, + "dwc:infraspecificEpithet": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/infraspecificEpithet", + "examples": [ + "oxyadenia" + ] + }, + "dwc:nomenclaturalStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalStatus", + "examples": [ + "nom. illeg." + ] + }, + "dwc:originalNameUsage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/originalNameUsage", + "examples": [ + "Pinus abies" + ] + }, + "dwc:subtribe": { + "type": "string", + "description": "http://rs.tdwg.org/dwc/terms/subtribe", + "examples": [ + "Plotinini" + ] + }, + "dwc:superfamily": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/superfamily", + "examples": [ + "Cerithioidea" + ] + }, + "dwc:tribe": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/tribe", + "examples": [ + "Arethuseae" + ] + } + }, + "required": [ + "@type", + "dwc:scientificName" + ], + "additionalProperties": false + } + } + }, + "required": [ + "@type", + "dwc:identificationVerificationStatus" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json deleted file mode 100644 index 2e254f2..0000000 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identifications.json +++ /dev/null @@ -1,361 +0,0 @@ -{ - "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", - "type": "object", - "properties": { - "dwc:identificationID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identificationID", - "examples": [ - "9992" - ] - }, - "ods:identificationType": { - "type": "string", - "description": "The type of identification" - }, - "ods:taxonFormula": { - "type": "string", - "description": "The full formula of the taxonomic identification" - }, - "dwc:verbatimIdentification": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/verbatimIdentification", - "examples": [ - "Peromyscus sp." - ] - }, - "dwc:typeStatus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/typeStatus", - "example": [ - "holotype" - ] - }, - "dwc:identifiedBy": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identifiedBy", - "example": [ - "James L. Patton" - ] - }, - "dwc:identifiedByID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", - "example": [ - "https://orcid.org/0000-0002-1825-0097" - ] - }, - "dwc:dateIdentified": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/dateIdentified", - "example": [ - "2009-02-20T08:40Z" - ] - }, - "dwc:identificationReferences": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", - "example": [ - "Aves del Noroeste Patagonico. Christie et al. 2004." - ] - }, - "dwc:identificationVerificationStatus": { - "type": "boolean", - "description": "If this is the accepted identification, based on https://rs.tdwg.org/dwc/terms/identificationVerificationStatus", - "example": [ - true - ] - }, - "dwc:identificationRemarks": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identificationRemarks", - "examples": [ - "Distinguished between Anthus correndera and Anthus hellmayri based on the comparative lengths of the uñas." - ] - }, - "dwc:identificationQualifier": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/identificationQualifier", - "examples": [ - "cf. var. oxyadenia" - ] - }, - "ods:typeDesignationType": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, - "ods:typeDesignatedBy": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, - "ods:Citations": { - "type": "array", - "items": { - "type": "object", - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" - } - } - }, - "ods:TaxonIdentifications": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ods:TaxonIdentification": { - "type": "object", - "properties": { - "dwc:taxonID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonID", - "examples": [ - "https://www.gbif.org/species/212" - ] - }, - "dwc:scientificName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificName", - "examples": [ - "Roptrocerus typographi (Györfi, 1952)" - ] - }, - "dwc:scientificNameID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificNameID", - "examples": [ - "urn:lsid:ipni.org:names:37829-1:1.3" - ] - }, - "ods:scientificNameHtmlLabel": { - "type": "string", - "description": "A Hyper Text Markup Language (HTML) representation of the scientific name. Includes correct formatting of the name.", - "examples": [ - "Absidia ginsan Komin. et al., 1952" - ] - }, - "dwc:scientificNameAuthorship": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/scientificNameAuthorship", - "examples": [ - "(Torr.) J.T. Howell" - ] - }, - "dwc:nameAccordingTo": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nameAccordingTo", - "examples": [ - "Plants of the World Online" - ] - }, - "dwc:namePublishedInYear": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/namePublishedInYear", - "examples": [ - "2022" - ] - }, - "dwc:taxonRank": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonRank", - "examples": [ - "species" - ] - }, - "dwc:verbatimTaxonRank": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/verbatimTaxonRank", - "examples": [ - "Agamospecies" - ] - }, - "ods:taxonSource": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, - "dwc:taxonRemarks": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonRemarks", - "examples": [ - "this name is a misspelling in common use" - ] - }, - "dwc:kingdom": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/kingdom", - "examples": [ - "animalia" - ] - }, - "dwc:phylum": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/phylum", - "examples": [ - "Chordata" - ] - }, - "dwc:class": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/class", - "examples": [ - "Hepaticopsida" - ] - }, - "dwc:order": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/order", - "examples": [ - "Carnivora" - ] - }, - "dwc:family": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/family", - "examples": [ - "Felidae" - ] - }, - "dwc:subfamily": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/subfamily", - "examples": [ - "Orchidoideae" - ] - }, - "dwc:genus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/genus", - "examples": [ - "Puma" - ] - }, - "dwc:specificEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/specificEpithet", - "examples": [ - "concolor" - ] - }, - "dwc:taxonomicStatus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/taxonomicStatus", - "examples": [ - "accepted" - ] - }, - "dwc:nomenclaturalCode": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalCode", - "examples": [ - "ICBN" - ] - }, - "dwc:vernacularName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/vernacularName", - "examples": [ - "Meerval | Wels | Catfish | Silure glane | Wels | Waller | Siluro | Malle" - ] - }, - "dwc:subgenus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/subgenus", - "examples": [ - "Strobus" - ] - }, - "dwc:acceptedNameUsage": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsage", - "examples": [ - "Tamias minimus" - ] - }, - "dwc:acceptedNameUsageID": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/acceptedNameUsageID", - "examples": [ - "6W3C4" - ] - }, - "dwc:cultivarEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/cultivarEpithet", - "examples": [ - "King Edward" - ] - }, - "dwc:genericName": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/genericName", - "examples": [ - "Felis" - ] - }, - "dwc:infragenericEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/infragenericEpithet", - "examples": [ - "Abacetillus" - ] - }, - "dwc:infraspecificEpithet": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/infraspecificEpithet", - "examples": [ - "oxyadenia" - ] - }, - "dwc:nomenclaturalStatus": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/nomenclaturalStatus", - "examples": [ - "nom. illeg." - ] - }, - "dwc:originalNameUsage": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/originalNameUsage", - "examples": [ - "Pinus abies" - ] - }, - "dwc:subtribe": { - "type": "string", - "description": "http://rs.tdwg.org/dwc/terms/subtribe", - "examples": [ - "Plotinini" - ] - }, - "dwc:superfamily": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/superfamily", - "examples": [ - "Cerithioidea" - ] - }, - "dwc:tribe": { - "type": "string", - "description": "https://rs.tdwg.org/dwc/terms/tribe", - "examples": [ - "Arethuseae" - ] - } - }, - "required": [ - "dwc:scientificName" - ] - } - } - } - } - }, - "required": [ - "dwc:identificationVerificationStatus" - ] -} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json index b8364fe..08d46a7 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json @@ -1,9 +1,18 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment":"DigitalObject Version 0.3.0", + "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "dcterms:Location", + "description": "https://purl.org/dc/terms/Location" + }, "dwc:locationID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/locationID", @@ -183,6 +192,14 @@ "ods:GeoReference": { "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:GeoReference" + }, "dwc:verbatimCoordinates": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/verbatimCoordinates", @@ -324,11 +341,24 @@ "ods:preferredSpatialRepresentation": { "type": "string" } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false }, "dwc:GeologicalContext": { "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "dwc:GeologicalContext", + "description": "https://rs.tdwg.org/dwc/terms/GeologicalContext" + }, "dwc:earliestEonOrLowestEonothem": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/earliestEonOrLowestEonothem", @@ -448,7 +478,15 @@ "Harlem coal" ] } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index 82a700d..be7d9c5 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -4,6 +4,15 @@ "type": "object", "$comment": "DigitalObject Version 0.3.0, only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:MaterialEntity", + "description": "The type of the digital object, in this case a ods:MaterialEntity" + }, "dwc:materialEntityID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/materialEntityID", @@ -41,7 +50,7 @@ }, "dwc:institutionID": { "type": "string", - "format": "(https:\/\/ror\.org\/0[\w]{6}[0-9]{2})|(http:\/\/www\.wikidata.org\/entity\/\w+)", + "format": "(https:\/\/ror\\.org\/0[\\w]{6}[0-9]{2})|(http:\/\/www\\.wikidata.org\/entity\/\\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" @@ -96,89 +105,58 @@ "ILL: Union Co. Wolf Lake by Powder Plant Bridge. 1 March 1975 Coll. S. Ketzler, S. Herbert\n\nMonotoma longicollis 4 ♂ Det TC McElrath 2018\n\nINHS Insect Collection 456782" ] }, - "ods:Identifications": { + "ods:hasIdentification": { "type": "array", "items": { "type": "object", - "properties": { - "dwc:Identification": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" } }, - "ods:Assertions": { + "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" } }, - "ods:EntityRelationships": { + "ods:hasEntityRelationship": { "type": "array", "items": { "type": "object", - "properties": { - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" } }, - "ods:Citations": { + "ods:hasCitation": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" } }, - "ods:Identifiers": { + "ods:hasIdentifier": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" } }, - "ods:Events": { + "ods:hasEvent": { "type": "array", "items": { "type": "object", - "properties": { - "dwc:Event": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" } }, - "ods:Agents": { + "ods:hasAgent": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" } } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/examples/agent-example.json b/data-model/fdo-types/0.3.0/shared-models/examples/agent-example.json new file mode 100644 index 0000000..f090fce --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/examples/agent-example.json @@ -0,0 +1,11 @@ +{ + "@id": "https://example.org/agents/12345", + "@type": "ods:Agent", + "ods:agentRole": "collector", + "ods:agentType": "human", + "ods:agentID": "https://orcid.org/0000-0002-1825-0097", + "ods:agentName": "John Smith", + "ods:agentRoleBegan": "2023-10-02T12:31:34.806Z", + "ods:agentRoleEnded": "2023-12-02T12:31:34.806Z", + "ods:agentRoleOrder": 1 +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/examples/assertion-example.json b/data-model/fdo-types/0.3.0/shared-models/examples/assertion-example.json new file mode 100644 index 0000000..e097865 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/examples/assertion-example.json @@ -0,0 +1,19 @@ +{ + "@id": "https://example.org/assertions/12345", + "@type": "ods:Assertion", + "dwc:measurementID": "9c752d22-b09a-11e8-96f8-529269fb1459", + "dwc:parentMeasurementID": "E1_E1_O1_M1", + "dwc:measurementType": "length", + "dwciri:measurementType": "https://vocab.nerc.ac.uk/collection/P01/current/ODRYBM01/", + "dwc:measurementDeterminedDate": "2024-05-30T15:16:00.000Z", + "dwc:measurementValue": "10.0", + "dwciri:measurementValue": "https://vocab.nerc.ac.uk/collection/L22/current/TOOL0960/", + "dwc:measurementAccuracy": "0.1", + "dwc:measurementUnit": "m", + "dwciri:measurementUnit": "https://vocab.nerc.ac.uk/collection/P06/current/UMSQ/", + "ods:assertionByAgentName": "Jane Doe", + "ods:assertionByAgentID": "https://orcid.org/0000-0002-1825-0097", + "ods:assertionProtocol": "Standard Measurement Protocol", + "ods:assertionProtocolID": "https://example.org/protocols/67890", + "ods:assertionRemarks": "Measurement taken using a standard ruler." +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/examples/citation-example.json b/data-model/fdo-types/0.3.0/shared-models/examples/citation-example.json new file mode 100644 index 0000000..eb50401 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/examples/citation-example.json @@ -0,0 +1,16 @@ +{ + "@id": "https://example.org/citations/12345", + "@type": "ods:Citation", + "dcterms:identifier": "doi:10.1234/example", + "dcterms:type": "Journal Article", + "dcterms:date": "2021-08-15", + "dcterms:title": "An Example of a Citation", + "dcterms:creator": "Jane Doe", + "ods:citationPageNumber": "15-20", + "ods:citationRemarks": "This is a key reference for the study.", + "ods:referenceType": "primary", + "dcterms:bibliographicCitation": "Doe, J. (2021). An Example of a Citation. Example Journal, 15-20. doi:10.1234/example", + "ods:referenceYear": 2021, + "ods:referenceIRI": "https://examplejournal.org/article/12345", + "ods:isPeerReviewed": true +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/examples/entity-relationship-example.json b/data-model/fdo-types/0.3.0/shared-models/examples/entity-relationship-example.json new file mode 100644 index 0000000..f3e927a --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/examples/entity-relationship-example.json @@ -0,0 +1,13 @@ +{ + "@id": "https://example.org/relationships/12345", + "@type": "ods:EntityRelationship", + "dwc:relationshipOfResource": "hasGBIFID", + "dwc:relationshipOfResourceID": "https://purl.obolibrary.org/obo/RO_0002456", + "dwc:relatedResourceID": "3024470157", + "ods:relatedResourceURI": "https://www.gbif.org/occurrence/3024470157", + "dwc:relationshipEstablishedDate": "2024-05-30T09:46:20.120Z", + "ods:entityRelationshipOrder": 1, + "dwc:relationshipAccordingTo": "Sam Leeflang", + "ods:relationshipAccordingToID": "https://orcid.org/0000-0002-5669-2769", + "dwc:relationshipRemarks": "Mother and offspring collected from the same nest" +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/examples/identifier-example.json b/data-model/fdo-types/0.3.0/shared-models/examples/identifier-example.json new file mode 100644 index 0000000..f2455b7 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/examples/identifier-example.json @@ -0,0 +1,11 @@ +{ + "@id": "https://example.org/identifiers/12345", + "@type": "ods:Identifier", + "dcterms:title": "dwc:catalogueNumber", + "dcterms:identifier": "BMNH(E)1902475", + "dcterms:format": "application/rdf+xml", + "dcterms:subject": "Specimen", + "ods:isPartOfLabel": true, + "ods:isBarcodeOrNFC": false, + "ods:isIdPersistent": true +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json index 62d9e17..c2635b2 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -3,6 +3,15 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:Agent", + "description": "The type of the digital object, in this case a ods:Agent" + }, "ods:agentRole": { "type": "string", "description": "Indicates the role of the agent", @@ -22,7 +31,7 @@ "organisation" ] }, - "ods:agentID":{ + "ods:agentID": { "type": "string", "description": "Primary identifier of the agent, additional identifiers can go in the identifiers array", "examples": [ @@ -59,22 +68,19 @@ 2 ] }, - "ods:Identifiers": { + "ods:hasIdentifier": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" } } }, "required": [ + "@type", "ods:agentRole", "ods:agentType", "ods:agentName" - ] + ], + "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json b/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json new file mode 100644 index 0000000..560f647 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json @@ -0,0 +1,108 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/assertions.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "$comment": "Annotation Version 0.3.0", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:Assertion", + "description": "The type of the digital object, in this case a ods:Assertion" + }, + "dwc:measurementID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementID", + "examples": [ + "9c752d22-b09a-11e8-96f8-529269fb1459" + ] + }, + "dwc:parentMeasurementID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/parentMeasurementID", + "examples": [ + "E1_E1_O1_M1" + ] + }, + "dwc:measurementType": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementType", + "examples": [ + "length" + ] + }, + "dwciri:measurementType": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/iri/measurementType", + "examples": [ + "https://vocab.nerc.ac.uk/collection/P01/current/ODRYBM01/\"" + ] + }, + "dwc:measurementDeterminedDate": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementDeterminedDate", + "examples": [ + "2024-05-30T15:16:00.000Z" + ] + }, + "dwc:measurementValue": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementValue", + "examples": [ + "10.0" + ] + }, + "dwciri:measurementValue": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementValue", + "examples": [ + "http://vocab.nerc.ac.uk/collection/L22/current/TOOL0960/" + ] + }, + "dwc:measurementAccuracy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementAccuracy", + "examples": [ + "0.1", + "normal distribution with variation of 2 m" + ] + }, + "dwc:measurementUnit": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/measurementUnit", + "examples": [ + "m", + "cm" + ] + }, + "dwciri:measurementUnit": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/iri/measurementUnit", + "examples": [ + "http://vocab.nerc.ac.uk/collection/P06/current/UMSQ/" + ] + }, + "ods:assertionByAgentName": { + "type": "string" + }, + "ods:assertionByAgentID": { + "type": "string" + }, + "ods:assertionProtocol": { + "type": "string" + }, + "ods:assertionProtocolID": { + "type": "string" + }, + "ods:assertionRemarks": { + "type": "string" + } + }, + "required": [ + "@type" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json b/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json deleted file mode 100644 index 1dc0b8a..0000000 --- a/data-model/fdo-types/0.3.0/shared-models/schema/assertions.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/assertions.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "$comment": "Annotation Version 0.3.0", - "properties": { - "ods:assertionID": { - "type": "string" - }, - "ods:assertionType": { - "type": "string" - }, - "ods:assertionMadeDate": { - "type": "string" - }, - "ods:assertionEffectiveDate": { - "type": "string" - }, - "ods:assertionValue": { - "type": "string" - }, - "ods:assertionValueNumeric": { - "type": "integer" - }, - "ods:assertionUnit": { - "type": "string" - }, - "ods:assertionByAgentName": { - "type": "string" - }, - "ods:assertionByAgentID": { - "type": "string" - }, - "ods:assertionProtocol": { - "type": "string" - }, - "ods:assertionProtocolID": { - "type": "string" - }, - "ods:assertionRemarks": { - "type": "string" - } - }, - "required": [ - "ods:assertionType" - ] -} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citations.json b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json similarity index 79% rename from data-model/fdo-types/0.3.0/shared-models/schema/citations.json rename to data-model/fdo-types/0.3.0/shared-models/schema/citation.json index 2b1d76c..e3b1850 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/citations.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json @@ -1,8 +1,17 @@ { - "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/citations.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/citation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Based on https://rs.gbif.org/extension/gbif/1.0/references.xml but includes ods specific terms", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "description": "The type of the digital object, in this case a ods:Citation" + }, "dcterms:identifier": { "type": "string", "description": "https://purl.org/dc/terms/identifier" @@ -58,5 +67,9 @@ "type": "boolean", "description": "Is the citation peer reviewed?" } - } + }, + "required": [ + "@type" + ], + "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json new file mode 100644 index 0000000..c860ab4 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json @@ -0,0 +1,88 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/emtity-relationship.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Based on https://rs.gbif.org/extension/resource_relationship_2024-02-19.xml but with ods specific terms", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:EntityRelationship", + "description": "The type of the record, in this case a ods:EntityRelationship" + }, + "dwc:relationshipOfResource": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/relationshipOfResource", + "examples": [ + "hasGBIFID" + ] + }, + "dwc:relationshipOfResourceID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/relationshipOfResourceID", + "examples": [ + "https://purl.obolibrary.org/obo/RO_0002456" + ] + }, + "dwc:relatedResourceID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/relatedResourceID", + "examples": [ + "3024470157" + ] + }, + "ods:relatedResourceURI": { + "type": "string", + "format": "uri", + "description": "The URI of the related resource", + "examples": [ + "https://www.gbif.org/occurrence/3024470157" + ] + }, + "dwc:relationshipEstablishedDate": { + "type": "string", + "format": "date-time", + "description": "https://rs.tdwg.org/dwc/terms/relationshipEstablishedDate", + "examples": [ + "2024-05-30T09:46:20.120Z" + ] + }, + "ods:entityRelationshipOrder": { + "type": "integer", + "description": "When multiple relationships are added an order can be defined", + "examples": [ + 1 + ] + }, + "dwc:relationshipAccordingTo": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/relationshipAccordingTo", + "examples": [ + "Sam Leeflang" + ] + }, + "ods:relationshipAccordingToID": { + "type": "string", + "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)", + "examples": [ + "https://orcid.org/0000-0002-5669-2769" + ] + }, + "dwc:relationshipRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/relationshipRemarks", + "examples": [ + "Mother and offspring collected from the same nest" + ] + } + }, + "required": [ + "@type", + "dwc:relationshipOfResource", + "dwc:relatedResourceID" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json deleted file mode 100644 index 5ee2cb7..0000000 --- a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationships.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/entity-relationships.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "ods:entityRelationshipType": { - "type": "string" - }, - "ods:objectEntityIRI": { - "type": "string", - "format": "iri", - "description": "The link to the referenced resource. This could be an internal object linked through the PID or an external object" - }, - "ods:entityRelationshipDate": { - "type": "string", - "format": "date-time", - "description": "The data time on which the relationship was established" - }, - "ods:entityRelationshipOrder": { - "type": "integer", - "description": "When multiple relationships are added an order can be defined" - }, - "ods:entityRelationshipCreatorName": { - "type": "string", - "description": "The name of the relationship creator" - }, - "ods:entityRelationshipCreatorID": { - "type": "string", - "description": "The PID of the creator, this could be a Orcid(user), PID(machine) or ROR(organisation)" - } - }, - "required": [ - "ods:entityRelationshipType", - "ods:objectEntityIRI", - "ods:entityRelationshipDate", - "ods:entityRelationshipCreatorID" - ] -} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json new file mode 100644 index 0000000..e82d5bf --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json @@ -0,0 +1,62 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/identifier.json", + "description": "Based on https://rs.gbif.org/extension/gbif/1.0/identifier.xml but includes ods specific terms", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the digital object." + }, + "@type": { + "type": "string", + "const": "ods:Identifier", + "description": "The type of the digital object, in this case a ods:Identifier" + }, + "dcterms:title": { + "type": "string", + "description": "The type of the identifier", + "examples": [ + "dwc:catalogueNumber", + "dwca:id" + ] + }, + "dcterms:identifier":{ + "type": "string", + "description": "The value for the identifier", + "examples": [ + "BMNH(E)1902475", + "RGM.800315" + ] + }, + "dcterms:format": { + "type": "string", + "description": "Mime type of content returned by identifier in case the identifier is resolvable. https://purl.org/dc/terms/format", + "examples": [ + "application/rdf+xml" + ] + }, + "dcterms:subject": { + "type": "string", + "description": "https://purl.org/dc/terms/subject" + }, + "ods:isPartOfLabel": { + "type": "boolean", + "description": "Is the identifier part of the physical label" + }, + "ods:isBarcodeOrNFC": { + "type": "boolean", + "description": "Part of barcode or nfc chip" + }, + "ods:isIdPersistent": { + "type": "boolean", + "description": "Is the identifier persistent" + } + }, + "required": [ + "@type", + "dcterms:title", + "dcterms:identifier" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json deleted file mode 100644 index af1de58..0000000 --- a/data-model/fdo-types/0.3.0/shared-models/schema/identifiers.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/identifiers.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "ods:identifierType": { - "type": "string", - "description": "The type of the identifier", - "examples": [ - "dwc:catalogueNumber", - "dwca:id" - ] - }, - "ods:identifierValue":{ - "type": "string", - "description": "The value for the identifier", - "examples": [ - "BMNH(E)1902475", - "RGM.800315" - ] - }, - "ods:partOfLabel": { - "type": "boolean", - "description": "Is the identifier part of the physical label" - }, - "ods:barcodeOrNFC": { - "type": "boolean", - "description": "Part of barcode or nfc chip" - }, - "ods:isIdPersistent": { - "type": "boolean", - "description": "Is the identifier persistent" - } - }, - "required": [ - "ods:identifierValue" - ] -} \ No newline at end of file From 42639a8690b8ef69316d5c01fa95f81f359ee35c Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Tue, 4 Jun 2024 15:40:18 +0200 Subject: [PATCH 05/12] Small fixes --- .../digital-specimens/schema/digital-specimen.json | 14 +++++++------- .../digital-specimens/schema/identification.json | 12 ++++++------ .../digital-specimens/schema/material-entity.json | 2 +- .../0.3.0/shared-models/schema/citation.json | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 2e5f73f..447322c 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -73,7 +73,7 @@ "Mixed origin", "Unclassified" ], - "example": [ + "examples": [ "Natural" ] }, @@ -89,7 +89,7 @@ "Archive Material", "Unclassified" ], - "example": [ + "examples": [ "Life" ] }, @@ -109,7 +109,7 @@ "Other Geodiversity", "Unclassified" ], - "example": [ + "examples": [ "Botany" ] }, @@ -124,7 +124,7 @@ "ods:specimenName": { "type": "string", "description": "The accepted specimen name of the digital specimen", - "example": [ + "examples": [ "Roptrocerus typographi (Györfi, 1952)" ] }, @@ -156,7 +156,7 @@ "dwc:preparations": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/preparations", - "example": [ + "examples": [ "fossil" ] }, @@ -176,8 +176,8 @@ }, "dwc:institutionID": { "type": "string", - "format": "(https:\/\/ror\\.org\/0[\\w]{6}[0-9]{2})|(http:\/\/www\\.wikidata.org\/entity\/\\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "pattern": "^(https:\\/\\/ror.org\\/\\w{9})|(https:\\/\\/www.wikidata.org/wiki/Q\\w{6})", "examples": [ "https://ror.org/015hz7p22" ] @@ -391,4 +391,4 @@ "dwc:institutionID" ], "additionalProperties": false -} +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json index 5366117..0511285 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -38,42 +38,42 @@ "dwc:typeStatus": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/typeStatus", - "example": [ + "examples": [ "holotype" ] }, "dwc:identifiedBy": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/identifiedBy", - "example": [ + "examples": [ "James L. Patton" ] }, "dwc:identifiedByID": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", - "example": [ + "examples": [ "https://orcid.org/0000-0002-1825-0097" ] }, "dwc:dateIdentified": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/dateIdentified", - "example": [ + "examples": [ "2009-02-20T08:40Z" ] }, "dwc:identificationReferences": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", - "example": [ + "examples": [ "Aves del Noroeste Patagonico. Christie et al. 2004." ] }, "ods:isVerifiedIdentification": { "type": "boolean", "description": "If this is the accepted identification, based on https://rs.tdwg.org/dwc/terms/identificationVerificationStatus", - "example": [ + "examples": [ true ] }, diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index be7d9c5..6e302fd 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -30,7 +30,7 @@ "dwc:preparations": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/preparations", - "example": [ + "examples": [ "fossil" ] }, diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json index e3b1850..cf0b054 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json @@ -47,14 +47,14 @@ "dcterms:bibliographicCitation": { "type": "string", "description": "https://dublincore.org/usage/terms/history/#bibliographicCitation-002", - "example": [ + "examples": [ "https://www.gbif.org/species/2439608 Source: GBIF Taxonomic Backbone" ] }, "ods:referenceYear": { "type": "integer", "description": "The year the reference was published", - "example": [ + "examples": [ 2021 ] }, From 31c6d4f4b3b85d5d404feb3186d9225ee0b35d60 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Wed, 5 Jun 2024 09:22:53 +0200 Subject: [PATCH 06/12] Fix references --- .../digital-specimens/schema/digital-specimen.json | 13 ++++++------- .../0.3.0/digital-specimens/schema/event.json | 2 +- .../digital-specimens/schema/identification.json | 2 +- .../digital-specimens/schema/material-entity.json | 12 ++++++------ .../fdo-types/0.3.0/shared-models/schema/agent.json | 2 +- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 447322c..078546e 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -323,14 +323,14 @@ "items": { "type": "object", "description": "https://rs.tdwg.org/dwc/terms/Identification", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identification.json" } }, "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" } }, "ods:hasEvent": { @@ -338,28 +338,28 @@ "items": { "type": "object", "description": "https://rs.tdwg.org/dwc/terms/Event", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/occurrences.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/event.json" } }, "ods:hasEntityRelationship": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json" } }, "ods:hasCitation": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citation.json" } }, "ods:hasIdentifier": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json" } }, "ods:hasChronometricAge": { @@ -387,7 +387,6 @@ "ods:physicalSpecimenID", "ods:physicalSpecimenIDType", "ods:sourceSystemID", - "dcterms:license", "dwc:institutionID" ], "additionalProperties": false diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json index b7dae90..6e5774d 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json @@ -279,7 +279,7 @@ "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" } }, "dcterms:Location": { diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json index 0511285..41f9cc3 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -105,7 +105,7 @@ "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citation.json" } }, "ods:hasTaxonIdentification": { diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index 6e302fd..0461f2a 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -109,42 +109,42 @@ "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identifications.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identification.json" } }, "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertions.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/assertion.json" } }, "ods:hasEntityRelationship": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json" } }, "ods:hasCitation": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citation.json" } }, "ods:hasIdentifier": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json" } }, "ods:hasEvent": { "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/events.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/event.json" } }, "ods:hasAgent": { diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json index c2635b2..eee0e2c 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -72,7 +72,7 @@ "type": "array", "items": { "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json" } } }, From 2bcdff3a8666fd4e33ca86e3e3cdc89acbd72232 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Wed, 5 Jun 2024 10:16:12 +0200 Subject: [PATCH 07/12] Push changes in digital entity --- data-model/fdo-types/0.3.0/RELEASE_NOTES.md | 29 +++++++-- .../examples/digital-entity-example.json | 23 +++++++ .../schema/digital-entity.json | 64 +++++++------------ .../schema/digital-specimen.json | 9 +++ 4 files changed, 80 insertions(+), 45 deletions(-) create mode 100644 data-model/fdo-types/0.3.0/digital-media-objects/examples/digital-entity-example.json diff --git a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md index cd3fccd..b86852c 100644 --- a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md +++ b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md @@ -5,12 +5,31 @@ New version 0.3.0 for all files concerning the digital specimen. ## ODS Prefix ODS prefix for all terms which still weren't assigned to a ontology. -## Updated arrays to be plural -We decided to update the arrays to be plural, in line with recommendated practices. -This means that where Darwin Core Classes where available we wrapped this by an ods term with the plural. -For example, `dwc:Identification` becomes wrapped in `ods:Identifications` which now contains zero or more instances of `dwc:Identification`. -The tradeoff is that we added an additional layer of nesting, but we believe this is worth it to keep the terms in line with the Darwin Core standard. +## ID capitalised +All terms that contain ID are now capitalised, for example `ods:ID` instead of `ods:id`. +This makes it more in line with Darin Core from which we borrow most of our terms. + +## Added Organism terms +Added terms for dwc:Organism class and put them on the top level. +They can be used to indicate that this specimen is from a particular organism. +We could use this to group all specimen from a single organism together. + +## Updated classes to be in line with best practices +All class are now capitalised. +When there will a property contains an array of classes it will start with `has`. +So the term `ods:hasIdentifications` will contain an array of `ods:Identification` classes. +If the property contains a single class it will just be the capitalised class name. + +## Classes are singular +All classes are now singular, for example `ods:Identification` instead of `ods:Identifications`. +This also changed the file names to singular `citations.json` became `citation.json` + +## Added jsonld properties +Each class now contains a required `@type` property to indicate the type of the class. +Optionally (except for the `ods:DigitalSpecimen` class) a `@id` property which can be used for the identifier. +This is an additional property, it does not replace the id terms, such as `dwc:taxonID`. ## Other Small changes in description for some terms. dwc:institutionName is not a Darwin Core term, converted to ods:institutionName. +Fixed the regex for some of the terms. \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/examples/digital-entity-example.json b/data-model/fdo-types/0.3.0/digital-media-objects/examples/digital-entity-example.json new file mode 100644 index 0000000..beec446 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-media-objects/examples/digital-entity-example.json @@ -0,0 +1,23 @@ +{ + "@id": "https://doi.org/10.22/ABC-DEF-GHI", + "@type": "ods:DigitalSpecimen", + "ods:ID": "https://doi.org/10.22/ABC-DEF-GHI", + "ods:version": 1, + "ods:created": "2024-06-05T12:34:56Z", + "ods:type": "https://doi.org/10.15468/1a2b3c", + "dcterms:type": "Image", + "ac:accessURI": "https://example.org/digital-object/12345", + "dwc:institutionID": "https://ror.org/015hz7p22", + "ods:institutionName": "National Museum of Natural History", + "dcterms:format": "image/jpeg", + "dcterms:license": "https://creativecommons.org/licenses/by/4.0/", + "dcterms:description": "A high-resolution image of a rare specimen.", + "dcterms:rights": "Public domain", + "ods:rightsURI": "https://creativecommons.org/publicdomain/zero/1.0/", + "dcterms:accessRights": "Open access", + "dcterms:rightsHolder": "National Museum of Natural History", + "dcterms:source": "Museum archives", + "dcterms:creator": "Dr. John Doe", + "dcterms:created": "2024-06-05", + "dcterms:modified": "2024-06-05" +} \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json index e8228cc..52df0d3 100644 --- a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -4,6 +4,19 @@ "$comment": "DigitalObject Version 0.3.0", "type": "object", "properties": { + "@id": { + "type": "string", + "description": "The unique identifier of the object", + "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "examples": [ + "https://doi.org/10.22/XXX-XXX-XXX" + ] + }, + "@type": { + "type": "string", + "description": "The type of the object", + "const": "ods:DigitalEntity" + }, "ods:ID": { "type": "string", "description": "The unique digital identifier of the object", @@ -61,8 +74,8 @@ }, "dwc:institutionID": { "type": "string", - "format": "(https:\/\/ror\.org\/0[\w]{6}[0-9]{2})|(http:\/\/www\.wikidata.org\/entity\/\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", + "pattern": "^(https:\\/\\/ror.org\\/\\w{9})|(https:\\/\\/www.wikidata.org/wiki/Q\\w{6})", "examples": [ "https://ror.org/015hz7p22" ] @@ -104,17 +117,12 @@ }, "dcterms:rightsHolder": { "type": "string", - "description": "https://purl.org/dc/terms/rightsHolder", + "description": "https://purl.org/dc/terms/rightsHolder" }, "dcterms:source": { "type": "string", "description": "https://purl.org/dc/terms/source" }, - "ods:sourceURI": { - "type": "string", - "format": "uri", - "$comment": "It is already recommended to use URI in the dcterms:source" - }, "dcterms:creator": { "type": "string", "description": "https://purl.org/dc/elements/1.1/creator" @@ -127,72 +135,48 @@ "type": "string", "description": "https://purl.org/dc/terms/modified" }, - "ods:Assertions": { + "ods:hasAssertion": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Assertion": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertions.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" } }, "ods:Citations": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Citation": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citations.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citation.json" } }, "ods:Identifiers": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Identifier": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifiers.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json" } }, "ods:EntityRelationships": { "type": "array", "items": { "type": "object", - "properties": { - "ods:EntityRelationship": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationships.json" - } - } + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json" } }, "ods:Agents": { "type": "array", "items": { "type": "object", - "properties": { - "ods:Agent": { - "type": "object", - "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/agent.json" + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" } - } - } } }, "required": [ + "@id", + "@type", "ods:ID", "ods:version", "ods:created", - "ac:accessURI", - "dcterms:license" + "ac:accessURI" ] } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 078546e..2db5d4f 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -17,6 +17,14 @@ "description": "The type of the object", "const": "ods:DigitalSpecimen" }, + "ods:ID": { + "type": "string", + "description": "The unique identifier of the object", + "pattern": "https:\\/\\/doi\\.org\\/10\\.22\\/(.){3}-(.){3}-(.){3}", + "examples": [ + "https://doi.org/10.22/XXX-XXX-XXX" + ] + }, "ods:version": { "type": "integer", "description": "The version of the object, each change generates a new version", @@ -380,6 +388,7 @@ "required": [ "@id", "@type", + "ods:ID", "ods:version", "ods:type", "ods:created", From 9b8f07bdd17738f0e87d76706271ac0f76e101dc Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Wed, 5 Jun 2024 11:57:56 +0200 Subject: [PATCH 08/12] Small fix digital entity --- .../digital-media-objects/schema/digital-entity.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json index 52df0d3..14ad368 100644 --- a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -142,28 +142,28 @@ "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" } }, - "ods:Citations": { + "ods:hasCitation": { "type": "array", "items": { "type": "object", "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/citation.json" } }, - "ods:Identifiers": { + "ods:hasIdentifier": { "type": "array", "items": { "type": "object", "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.json" } }, - "ods:EntityRelationships": { + "ods:hasEntityRelationship": { "type": "array", "items": { "type": "object", "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json" } }, - "ods:Agents": { + "ods:hasAgent": { "type": "array", "items": { "type": "object", From 5cd2f89a5e9b8c5e01d174206f437286ee52dcfb Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Wed, 5 Jun 2024 15:13:10 +0200 Subject: [PATCH 09/12] Small fixes and added more notes --- data-model/fdo-types/0.3.0/RELEASE_NOTES.md | 15 +++++++++++++++ .../0.3.0/shared-models/schema/citation.json | 1 + 2 files changed, 16 insertions(+) diff --git a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md index b86852c..150a374 100644 --- a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md +++ b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md @@ -29,6 +29,21 @@ Each class now contains a required `@type` property to indicate the type of the Optionally (except for the `ods:DigitalSpecimen` class) a `@id` property which can be used for the identifier. This is an additional property, it does not replace the id terms, such as `dwc:taxonID`. +## EntityRelationship contains Darwin Core terms +Instead of using new ODS terms we will reuse Darwin Core terms for indicating relationships. +Most new terms come from the Darwin Core ResourceRelationship class. + +## Assertion contains Darwin Core terms +Instead of minting new Assertion terms in the ODS namespace we decided to reuse Darwin Core terms. +Most of these terms come from the MeasurementOrFact class. + +## Identifier more based on gbif:AlternativeIdentifier DWCA extension +Includes more dcterms instead of ods terms. +We did not copy the class as our Identifier class is broader and includes additional ods terms. + +## Changed dwc:InstitutionName to ods:InstitutionName +Institution name is not part of the Darwin Core standard, so we changed it to ods:InstitutionName. + ## Other Small changes in description for some terms. dwc:institutionName is not a Darwin Core term, converted to ods:institutionName. diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json index cf0b054..e0dda1c 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json @@ -10,6 +10,7 @@ }, "@type": { "type": "string", + "const": "ods:Citation",, "description": "The type of the digital object, in this case a ods:Citation" }, "dcterms:identifier": { From 7b47205f0ebafbaba1647d305b460607ec0b4e06 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Fri, 7 Jun 2024 10:44:56 +0200 Subject: [PATCH 10/12] PR review --- data-model/Dockerfile | 2 +- data-model/fdo-types/0.3.0/RELEASE_NOTES.md | 9 ++- .../schema/digital-entity.json | 18 ++---- .../examples/chronometric-age-example.json | 2 +- .../examples/location-example.json | 2 +- .../schema/chronometric-age.json | 6 +- .../schema/digital-specimen.json | 58 ++++++++++++------- .../0.3.0/digital-specimens/schema/event.json | 29 ++++------ .../schema/identification.json | 25 ++------ .../digital-specimens/schema/location.json | 21 +++---- .../schema/material-entity.json | 6 +- .../0.3.0/shared-models/schema/agent.json | 3 +- .../0.3.0/shared-models/schema/assertion.json | 21 ++++--- .../0.3.0/shared-models/schema/citation.json | 5 +- .../schema/entity-relationship.json | 3 +- .../shared-models/schema/identifier.json | 14 ++++- 16 files changed, 119 insertions(+), 105 deletions(-) diff --git a/data-model/Dockerfile b/data-model/Dockerfile index a6fd362..6cd9dd2 100644 --- a/data-model/Dockerfile +++ b/data-model/Dockerfile @@ -28,7 +28,7 @@ COPY ./fdo-types/0.1.0/mappings/schema schema-root/schemas/fdo-types/0.1.0/mappi COPY ./fdo-types/0.1.0/source-systems/schema schema-root/schemas/fdo-types/0.1.0/source-systems COPY ./fdo-types/0.1.0/virtual-collections/schema schema-root/schemas/fdo-types/0.1.0/vitual-collections -COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/digitalobjects/0.2.0/digital-specimens +COPY ./fdo-types/0.2.0/digital-specimens/schema schema-root/schemas/fdo-types/0.2.0/digital-specimens COPY ./fdo-types/0.3.0/digital-specimens/schema schema-root/schemas/fdo-types/0.3.0/digital-specimens COPY ./fdo-types/0.3.0/shared-models/schema schema-root/schemas/fdo-types/0.3.0/shared-models diff --git a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md index 150a374..b3434df 100644 --- a/data-model/fdo-types/0.3.0/RELEASE_NOTES.md +++ b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md @@ -17,11 +17,15 @@ We could use this to group all specimen from a single organism together. ## Updated classes to be in line with best practices All class are now capitalised. When there will a property contains an array of classes it will start with `has`. -So the term `ods:hasIdentifications` will contain an array of `ods:Identification` classes. +So the term `ods:hasIdentification` will contain an array of `ods:Identification` classes. If the property contains a single class it will just be the capitalised class name. +## Updated ODS boolean field to use the format isXYZ +As the terms which contain an array of object are called hasXYZ we needed a new format for boolean fields. +We followed LTC and use the format isXYZ for boolean fields. + ## Classes are singular -All classes are now singular, for example `ods:Identification` instead of `ods:Identifications`. +All classes are now singular, for example `ods:Identification` instead of `ods:Identification`. This also changed the file names to singular `citations.json` became `citation.json` ## Added jsonld properties @@ -46,5 +50,4 @@ Institution name is not part of the Darwin Core standard, so we changed it to od ## Other Small changes in description for some terms. -dwc:institutionName is not a Darwin Core term, converted to ods:institutionName. Fixed the regex for some of the terms. \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json index 14ad368..394cc90 100644 --- a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -7,7 +7,7 @@ "@id": { "type": "string", "description": "The unique identifier of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "pattern": "^https:\/\/doi\\.org\/[\\w\\.]+\/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://doi.org/10.22/XXX-XXX-XXX" ] @@ -20,7 +20,7 @@ "ods:ID": { "type": "string", "description": "The unique digital identifier of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://hdl.handle.net.org/20.5000.1025/XXX-XXX-XXX" ] @@ -28,7 +28,7 @@ "ods:version": { "type": "integer", "description": "The version of the object, each change generates a new version", - "minimum": 0, + "minimum": 1, "examples": [ 1 ] @@ -42,14 +42,13 @@ }, "ods:type": { "type": "string", - "description": "The DOI or handle to the FDO type of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.\\d+\\/[-\\w]+", + "description": "The DOI to the FDO type of the object", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://doi.org/10.15468/1a2b3c" ] }, "dcterms:type": { - "type": "string", "description": "https://purl.org/dc/terms/type", "enum": [ "Collection", @@ -75,7 +74,7 @@ "dwc:institutionID": { "type": "string", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", - "pattern": "^(https:\\/\\/ror.org\\/\\w{9})|(https:\\/\\/www.wikidata.org/wiki/Q\\w{6})", + "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", "examples": [ "https://ror.org/015hz7p22" ] @@ -105,11 +104,6 @@ "description": "https://purl.org/dc/terms/rights", "$comment": "What is the difference with dcterms:license?" }, - "ods:rightsURI": { - "type": "string", - "format": "uri", - "$comment": "What is the difference with dcterms:license? or dcterms:rights?. dcterms:rights is already recommended to be a URI" - }, "dcterms:accessRights": { "type": "string", "description": "https://purl.org/dc/terms/accessRights", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json index 739b766..3d935cf 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/chronometric-age-example.json @@ -8,5 +8,5 @@ "chrono:latestChronometricAge": 3000, "chrono:latestChronometricAgeReferenceSystem": "BP", "chrono:chronometricAgeUncertaintyInYears": 500, - "chrono:materialDated": "Potery" + "chrono:materialDated": "Pottery" } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json b/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json index 0170388..d915233 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/examples/location-example.json @@ -3,7 +3,7 @@ "dwc:continent": "Europe", "dwc:country": "Netherlands", "dwc:countryCode": "NL", - "dwc:stateProvince": "Drente", + "dwc:stateProvince": "Drenthe", "dwc:municipality": "Annen", "ods:GeoReference": { "@type": "ods:GeoReference", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json index 64c8c14..246b3ea 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json @@ -1,17 +1,17 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/digital-specimens/chronometric-age.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Chronometric Age Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Chronometric Age object." }, "@type": { "type": "string", "const": "ods:ChronometricAge", - "description": "The type of the digital object." + "description": "The type of the digital object, in this case ods:ChronometricAge" }, "chrono:chronometricAgeID": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json index 2db5d4f..6e5df7e 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -1,26 +1,26 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/digital-specimen.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Digital Specimen Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The unique identifier of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.22\\/(.){3}-(.){3}-(.){3}", + "description": "The unique identifier of the Digital Specimen object", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://doi.org/10.22/XXX-XXX-XXX" ] }, "@type": { "type": "string", - "description": "The type of the object", + "description": "The type of the object, in this case ods:DigitalSpecimen", "const": "ods:DigitalSpecimen" }, "ods:ID": { "type": "string", "description": "The unique identifier of the object", - "pattern": "https:\\/\\/doi\\.org\\/10\\.22\\/(.){3}-(.){3}-(.){3}", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://doi.org/10.22/XXX-XXX-XXX" ] @@ -43,8 +43,8 @@ }, "ods:type": { "type": "string", - "description": "The DOI or handle to the FDO type of the object", - "pattern": "https:\\/\\/doi\\.org\\/\\w{2}.\\w+\\/\\w*", + "description": "The DOI to the FDO type of the object", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", "examples": [ "https://doi.org/10.15468/1a2b3c" ] @@ -64,7 +64,6 @@ "description": "The physical specimen identifier of the object. Taken over as-is" }, "ods:physicalSpecimenIDType": { - "type": "string", "description": "To indicate if the physical identifier is globally unique or locally unique", "enum": [ "Resolvable", @@ -73,7 +72,6 @@ ] }, "ods:topicOrigin": { - "type": "string", "description": "The topic origin of the specimen", "enum": [ "Natural", @@ -86,7 +84,6 @@ ] }, "ods:topicDomain": { - "type": "string", "description": "The topic domain of the specimen", "enum": [ "Life", @@ -102,7 +99,6 @@ ] }, "ods:topicDiscipline": { - "type": "string", "description": "The topic discipline of the specimen", "enum": [ "Anthropology", @@ -139,27 +135,49 @@ "ods:sourceSystemID": { "type": "string", "description": "The handle to the source system object which retrieved the data from the CMS", - "pattern": "https:\\/\\/hdl\\.handle.net\\/20\\.5000\\.1025\\/(.){3}-(.){3}-(.){3}" + "pattern": "^https:\/\/hdl\\.handle\\.net\/[\\w.]+\/(.){3}-(.){3}-(.){3}" }, "ods:livingOrPreserved": { - "type": "string", "description": "Whether the specimen is living or preserved", "enum": [ "Living", "Preserved" ] }, + "ods:language": { + "type": "array", + "description": "The language of the Digital Specimen metadata. Only indicate, not enforced. Recommended to use ISO 639-1 codes", + "items": { + "type": "string" + }, + "examples": [ + [ + "en", + "fr", + "de" + ] + ] + }, "dcterms:license": { "type": "string", - "description": "License for the metadata of the physical specimen" + "description": "https://purl.org/dc/terms/license", + "examples": [ + "https://creativecommons.org/licenses/by/4.0/" + ] }, "dcterms:modified": { "type": "string", - "description": "Modification date for specimen information" + "description": "https://purl.org/dc/terms/modified", + "examples": [ + "2023-10-02T12:31:34.806Z" + ] }, "dwc:basisOfRecord": { "type": "string", - "description": "The basis for the record" + "description": "https://rs.tdwg.org/dwc/terms/basisOfRecord", + "examples": [ + "PreservedSpecimen" + ] }, "dwc:preparations": { "type": "string", @@ -185,7 +203,7 @@ "dwc:institutionID": { "type": "string", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", - "pattern": "^(https:\\/\\/ror.org\\/\\w{9})|(https:\\/\\/www.wikidata.org/wiki/Q\\w{6})", + "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", "examples": [ "https://ror.org/015hz7p22" ] @@ -225,11 +243,11 @@ "Coordinates generalized from original GPS coordinates to the nearest half degree grid cell." ] }, - "dwc:ownerInstitutionID": { + "dwc:ownerInstitutionCode": { "type": "string", - "description": "ROR or Wikidata identifier for the owning institution", + "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", "examples": [ - "https://ror.org/03wkt5x30" + "InBio" ] }, "dwc:recordedBy": { diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json index 6e5774d..0b774ca 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json @@ -1,17 +1,17 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/event.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Event Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Event object." }, "@type": { "type": "string", - "const": "dwc:Event", - "description": "The type of the digital object." + "const": "ods:Event", + "description": "The type of the digital object, in this case ods:Event" }, "dwc:organismQuantity": { "type": "string", @@ -79,11 +79,7 @@ ] }, "dwc:occurrenceStatus": { - "type": "string", "description": "https://rs.tdwg.org/dwc/terms/occurrenceStatus", - "examples": [ - "present" - ], "enum": [ "present", "absent" @@ -224,10 +220,11 @@ ] }, "dwc:sampleSizeValue": { - "type": "string", + "type": "number", "description": "https://rs.tdwg.org/dwc/terms/sampleSizeValue", "examples": [ - "5" + 5, + 4.23 ] }, "dwc:sampleSizeUnit": { @@ -251,10 +248,6 @@ "2 hours" ] }, - "ods:eventEffort": { - "type": "string", - "$comment": "Not sure what this field means" - }, "dwc:fieldNotes": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/fieldNotes", @@ -270,10 +263,12 @@ ] }, "ods:collectorName": { - "type": "string" + "type": "string", + "description": "The full name of the collector" }, "ods:collectorID": { - "type": "string" + "type": "string", + "description": "The identifier of the collector, recommended would be a ORCID or Wikidata ID" }, "ods:hasAssertion": { "type": "array", @@ -282,7 +277,7 @@ "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" } }, - "dcterms:Location": { + "ods:Location": { "type": "object", "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json" } diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json index 41f9cc3..9d31283 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -1,17 +1,17 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identification.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Identification object Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Identification object." }, "@type": { "type": "string", - "const": "dwc:Identification", - "description": "The type of the digital object, in this case a dwc:Identification" + "const": "ods:Identification", + "description": "The type of the digital object, in this case a ods:Identification" }, "dwc:identificationID": { "type": "string", @@ -73,9 +73,6 @@ "ods:isVerifiedIdentification": { "type": "boolean", "description": "If this is the accepted identification, based on https://rs.tdwg.org/dwc/terms/identificationVerificationStatus", - "examples": [ - true - ] }, "dwc:identificationRemarks": { "type": "string", @@ -91,16 +88,6 @@ "cf. var. oxyadenia" ] }, - "ods:typeDesignationType": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, - "ods:typeDesignatedBy": { - "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" - }, "ods:hasCitation": { "type": "array", "items": { @@ -115,7 +102,7 @@ "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Taxon Identification object." }, "@type": { "type": "string", @@ -369,7 +356,7 @@ }, "required": [ "@type", - "dwc:identificationVerificationStatus" + "ods:isVerifiedIdentification" ], "additionalProperties": false } \ No newline at end of file diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json index 08d46a7..8c50250 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json @@ -1,17 +1,17 @@ { "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Location Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Location object." }, "@type": { "type": "string", - "const": "dcterms:Location", - "description": "https://purl.org/dc/terms/Location" + "const": "ods:Location", + "description": "The type of the digital object, in this case a ods:Location" }, "dwc:locationID": { "type": "string", @@ -194,11 +194,12 @@ "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Geo Reference object." }, "@type": { "type": "string", - "const": "ods:GeoReference" + "const": "ods:GeoReference", + "description": "The type of the object, in this case ods:GeoReference" }, "dwc:verbatimCoordinates": { "type": "string", @@ -347,17 +348,17 @@ ], "additionalProperties": false }, - "dwc:GeologicalContext": { + "ods:GeologicalContext": { "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Geological Context object." }, "@type": { "type": "string", - "const": "dwc:GeologicalContext", - "description": "https://rs.tdwg.org/dwc/terms/GeologicalContext" + "const": "ods:GeologicalContext", + "description": "The type of the object, in this case ods:GeologicalContext" }, "dwc:earliestEonOrLowestEonothem": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index 0461f2a..6756856 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -2,11 +2,11 @@ "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", - "$comment": "DigitalObject Version 0.3.0, only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", + "$comment": "Material Entity Version 0.3.0, only if the part did not get a separate catalogue number, otherwise it will be a separate digital specimen itself", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Material Entity object." }, "@type": { "type": "string", @@ -50,7 +50,7 @@ }, "dwc:institutionID": { "type": "string", - "format": "(https:\/\/ror\\.org\/0[\\w]{6}[0-9]{2})|(http:\/\/www\\.wikidata.org\/entity\/\\w+)", + "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", "description": "ROR or Wikidata identifier, based on https://rs.tdwg.org/dwc/terms/institutionID", "examples": [ "https://ror.org/015hz7p22" diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json index eee0e2c..a78f797 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/agent.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -1,11 +1,12 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/agent.json", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Agent object Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Agent object." }, "@type": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json b/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json index 560f647..0f52f42 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json @@ -1,12 +1,12 @@ { - "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/assertions.json", + "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/assertion.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "$comment": "Annotation Version 0.3.0", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Annotation object." }, "@type": { "type": "string", @@ -38,7 +38,7 @@ "type": "string", "description": "https://rs.tdwg.org/dwc/iri/measurementType", "examples": [ - "https://vocab.nerc.ac.uk/collection/P01/current/ODRYBM01/\"" + "https://vocab.nerc.ac.uk/collection/P01/current/ODRYBM01/" ] }, "dwc:measurementDeterminedDate": { @@ -86,19 +86,24 @@ ] }, "ods:assertionByAgentName": { - "type": "string" + "type": "string", + "description": "Name of the agent who made the assertion" }, "ods:assertionByAgentID": { - "type": "string" + "type": "string", + "description": "ID of the agent who made the assertion, recommended to be a ORCID or Wikidata identifier" }, "ods:assertionProtocol": { - "type": "string" + "type": "string", + "description": "The protocol used to make the assertion" }, "ods:assertionProtocolID": { - "type": "string" + "type": "string", + "description": "The ID of the protocol used to make the assertion" }, "ods:assertionRemarks": { - "type": "string" + "type": "string", + "description": "Remarks about the assertion" } }, "required": [ diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json index e0dda1c..db97ad1 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/citation.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json @@ -2,15 +2,16 @@ "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/citation.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "Based on https://rs.gbif.org/extension/gbif/1.0/references.xml but includes ods specific terms", + "$comment": "Citation object Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Citation object." }, "@type": { "type": "string", - "const": "ods:Citation",, + "const": "ods:Citation", "description": "The type of the digital object, in this case a ods:Citation" }, "dcterms:identifier": { diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json index c860ab4..42132db 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json @@ -2,11 +2,12 @@ "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/emtity-relationship.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "description": "Based on https://rs.gbif.org/extension/resource_relationship_2024-02-19.xml but with ods specific terms", + "$comment": "Entity Relationship object Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for Entity Relationship digital object." }, "@type": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json index e82d5bf..74f647f 100644 --- a/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json +++ b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json @@ -2,11 +2,12 @@ "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/shared-models/identifier.json", "description": "Based on https://rs.gbif.org/extension/gbif/1.0/identifier.xml but includes ods specific terms", "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Identifier object Version 0.3.0", "type": "object", "properties": { "@id": { "type": "string", - "description": "The identifier for the digital object." + "description": "The identifier for the Identifier object." }, "@type": { "type": "string", @@ -15,15 +16,22 @@ }, "dcterms:title": { "type": "string", - "description": "The type of the identifier", + "description": "The type of the identifier, https://purl.org/dc/elements/1.1/title", "examples": [ "dwc:catalogueNumber", "dwca:id" ] }, + "ods:localTitle": { + "type": "string", + "description": "The local title of the identifier", + "examples": [ + "Registratie nummer" + ] + }, "dcterms:identifier":{ "type": "string", - "description": "The value for the identifier", + "description": "The value for the identifier, https://purl.org/dc/terms/identifier", "examples": [ "BMNH(E)1902475", "RGM.800315" From 26d124056a96175e1cbd37769b36c80cd019dd19 Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Fri, 7 Jun 2024 11:16:47 +0200 Subject: [PATCH 11/12] Switch ownerInstitutionCode --- .../0.3.0/digital-specimens/schema/material-entity.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json index 6756856..dbad662 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -77,11 +77,11 @@ "https://www.gbif.org/grscicoll/collection/fbd3ed74-5a21-4e01-b86a-33d36f032d9c" ] }, - "dwc:ownerInstitutionId": { + "dwc:ownerInstitutionCode": { "type": "string", - "description": "Preferably the ROR or Wikidata identifier for the owning institution, other strings are allowed", + "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", "examples": [ - "https://ror.org/03wkt5x30" + "InBio" ] }, "dwc:recordedBy": { From 37ef6c59acf656e782d3fccaedcb4e1bec4433fe Mon Sep 17 00:00:00 2001 From: Sam Leeflang Date: Fri, 7 Jun 2024 11:39:40 +0200 Subject: [PATCH 12/12] Remove comments --- .../schema/digital-entity.json | 13 +++++-------- .../0.3.0/digital-specimens/schema/event.json | 6 ++---- .../digital-specimens/schema/identification.json | 3 +-- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json index 394cc90..c849682 100644 --- a/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -1,7 +1,7 @@ { "$id": "https://schemas.dissco.tech/schemas/fdo-types/0.3.0/digital-media-objects/digital-entity.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "$comment": "DigitalObject Version 0.3.0", + "$comment": "Digital Entity Version 0.3.0", "type": "object", "properties": { "@id": { @@ -14,7 +14,7 @@ }, "@type": { "type": "string", - "description": "The type of the object", + "description": "The type of the object, in this cas ods:DigitalEntity", "const": "ods:DigitalEntity" }, "ods:ID": { @@ -88,8 +88,7 @@ }, "dcterms:format": { "type": "string", - "description": "https://purl.org/dc/terms/format", - "$comment": "Create a enum for this?" + "description": "https://purl.org/dc/terms/format" }, "dcterms:license": { "type": "string", @@ -101,13 +100,11 @@ }, "dcterms:rights": { "type": "string", - "description": "https://purl.org/dc/terms/rights", - "$comment": "What is the difference with dcterms:license?" + "description": "https://purl.org/dc/terms/rights" }, "dcterms:accessRights": { "type": "string", - "description": "https://purl.org/dc/terms/accessRights", - "$comment": "What is the difference with dcterms:license?" + "description": "https://purl.org/dc/terms/accessRights" }, "dcterms:rightsHolder": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json index 0b774ca..27505e1 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json @@ -90,16 +90,14 @@ "description": "https://rs.tdwg.org/dwc/terms/pathway", "examples": [ "releasedForUse" - ], - "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/pw/" + ] }, "dwc:degreeOfEstablishment": { "type": "string", "description": "https://rs.tdwg.org/dwc/terms/degreeOfEstablishment", "examples": [ "captive" - ], - "$comment": "Could be an enumeration based on https://rs.tdwg.org/dwc/doc/doe/" + ] }, "dwc:georeferenceVerificationStatus": { "type": "string", diff --git a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json index 9d31283..723ab48 100644 --- a/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -174,8 +174,7 @@ }, "ods:taxonSource": { "type": "string", - "description": "Unclear yet", - "$comment": "Unknown what this field should be" + "description": "The source of the taxonomic concept" }, "dwc:taxonRemarks": { "type": "string",