diff --git a/data-model/Dockerfile b/data-model/Dockerfile index 414d2cf..6cd9dd2 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/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 +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..b3434df --- /dev/null +++ b/data-model/fdo-types/0.3.0/RELEASE_NOTES.md @@ -0,0 +1,53 @@ +# 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. + +## 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: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:Identification`. +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`. + +## 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. +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 new file mode 100644 index 0000000..c849682 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-media-objects/schema/digital-entity.json @@ -0,0 +1,173 @@ +{ + "$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": "Digital Entity Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The unique identifier of the 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, in this cas ods:DigitalEntity", + "const": "ods:DigitalEntity" + }, + "ods:ID": { + "type": "string", + "description": "The unique digital identifier of the object", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}", + "examples": [ + "https://hdl.handle.net.org/20.5000.1025/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": [ + ] + }, + "ods:type": { + "type": "string", + "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": { + "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", + "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", + "examples": [ + "https://ror.org/015hz7p22" + ] + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ] + }, + "dcterms:format": { + "type": "string", + "description": "https://purl.org/dc/terms/format" + }, + "dcterms:license": { + "type": "string", + "description": "https://purl.org/dc/terms/license" + }, + "dcterms:description": { + "type": "string", + "description": "https://purl.org/dc/terms/description" + }, + "dcterms:rights": { + "type": "string", + "description": "https://purl.org/dc/terms/rights" + }, + "dcterms:accessRights": { + "type": "string", + "description": "https://purl.org/dc/terms/accessRights" + }, + "dcterms:rightsHolder": { + "type": "string", + "description": "https://purl.org/dc/terms/rightsHolder" + }, + "dcterms:source": { + "type": "string", + "description": "https://purl.org/dc/terms/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:hasAssertion": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" + } + }, + "ods:hasCitation": { + "type": "array", + "items": { + "type": "object", + "$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/identifier.json" + } + }, + "ods:hasEntityRelationship": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/entity-relationship.json" + } + }, + "ods:hasAgent": { + "type": "array", + "items": { + "type": "object", + "$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" + ] +} \ 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..3d935cf --- /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": "Pottery" +} \ 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..d915233 --- /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": "Drenthe", + "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 new file mode 100644 index 0000000..246b3ea --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/chronometric-age.json @@ -0,0 +1,144 @@ +{ + "$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": "Chronometric Age Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Chronometric Age object." + }, + "@type": { + "type": "string", + "const": "ods:ChronometricAge", + "description": "The type of the digital object, in this case ods:ChronometricAge" + }, + "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", + "examples": [ + "27 BC to 14 AD" + ] + }, + "ods:verbatimChronometricAgeProtocol": { + "type": "string", + "description": "The verbatim name of the protocol used to determine the chronometric age." + }, + "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" + ] + }, + "chrono:chronometricAgeRemarks": { + "type": "string", + "description": "https://rs.tdwg.org/chrono/terms/chronometricAgeRemarks", + "examples": [ + "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 new file mode 100644 index 0000000..6e5df7e --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/digital-specimen.json @@ -0,0 +1,420 @@ +{ + "$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": "Digital Specimen Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "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, in this case ods:DigitalSpecimen", + "const": "ods:DigitalSpecimen" + }, + "ods:ID": { + "type": "string", + "description": "The unique identifier of the object", + "pattern": "^https://doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){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 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" + ] + }, + "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": { + "description": "To indicate if the physical identifier is globally unique or locally unique", + "enum": [ + "Resolvable", + "Global", + "Local" + ] + }, + "ods:topicOrigin": { + "description": "The topic origin of the specimen", + "enum": [ + "Natural", + "Human-made", + "Mixed origin", + "Unclassified" + ], + "examples": [ + "Natural" + ] + }, + "ods:topicDomain": { + "description": "The topic domain of the specimen", + "enum": [ + "Life", + "Environment", + "Earth System", + "Extraterrestrial", + "Cultural Artefacts", + "Archive Material", + "Unclassified" + ], + "examples": [ + "Life" + ] + }, + "ods:topicDiscipline": { + "description": "The topic discipline of the specimen", + "enum": [ + "Anthropology", + "Botany", + "Astrogeology", + "Geology", + "Microbiology", + "Palaeontology", + "Zoology", + "Ecology", + "Other Biodiversity", + "Other Geodiversity", + "Unclassified" + ], + "examples": [ + "Botany" + ] + }, + "ods:isMarkedAsType": { + "type": "boolean", + "description": "The specimen is marked as a type specimen" + }, + "ods:isKnownToContainMedia": { + "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", + "examples": [ + "Roptrocerus typographi (Györfi, 1952)" + ] + }, + "ods:sourceSystemID": { + "type": "string", + "description": "The handle to the source system object which retrieved the data from the CMS", + "pattern": "^https:\/\/hdl\\.handle\\.net\/[\\w.]+\/(.){3}-(.){3}-(.){3}" + }, + "ods:livingOrPreserved": { + "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": "https://purl.org/dc/terms/license", + "examples": [ + "https://creativecommons.org/licenses/by/4.0/" + ] + }, + "dcterms:modified": { + "type": "string", + "description": "https://purl.org/dc/terms/modified", + "examples": [ + "2023-10-02T12:31:34.806Z" + ] + }, + "dwc:basisOfRecord": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/basisOfRecord", + "examples": [ + "PreservedSpecimen" + ] + }, + "dwc:preparations": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/preparations", + "examples": [ + "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", + "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)", + "examples": [ + "https://ror.org/015hz7p22" + ] + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ] + }, + "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" + ] + }, + "dwc:informationWithheld": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/informationWithheld", + "examples": [ + "location information not given for endangered species" + ] + }, + "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:ownerInstitutionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", + "examples": [ + "InBio" + ] + }, + "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" + ] + }, + "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:hasMaterialEntity": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/material-entity.json" + } + }, + "ods:hasIdentification": { + "type": "array", + "items": { + "type": "object", + "description": "https://rs.tdwg.org/dwc/terms/Identification", + "$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/assertion.json" + } + }, + "ods:hasEvent": { + "type": "array", + "items": { + "type": "object", + "description": "https://rs.tdwg.org/dwc/terms/Event", + "$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-relationship.json" + } + }, + "ods:hasCitation": { + "type": "array", + "items": { + "type": "object", + "$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/identifier.json" + } + }, + "ods:hasChronometricAge": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/chronometric-age.json" + } + }, + "ods:hasAgent": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/agent.json" + } + } + }, + "required": [ + "@id", + "@type", + "ods:ID", + "ods:version", + "ods:type", + "ods:created", + "ods:midsLevel", + "ods:physicalSpecimenID", + "ods:physicalSpecimenIDType", + "ods:sourceSystemID", + "dwc:institutionID" + ], + "additionalProperties": false +} \ No newline at end of file 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 new file mode 100644 index 0000000..27505e1 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/event.json @@ -0,0 +1,287 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/event.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Event Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Event object." + }, + "@type": { + "type": "string", + "const": "ods:Event", + "description": "The type of the digital object, in this case ods:Event" + }, + "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" + ] + }, + "dwc:sex": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/sex", + "examples": [ + "female" + ] + }, + "dwc:lifeStage": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/lifeStage", + "examples": [ + "adult" + ] + }, + "dwc:reproductiveCondition": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/reproductiveCondition", + "examples": [ + "pregnant" + ] + }, + "dwc:behavior": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/behavior", + "examples": [ + "running" + ] + }, + "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" + ] + }, + "dwc:establishmentMeans": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/establishmentMeans", + "examples": [ + "introduced" + ] + }, + "dwc:occurrenceStatus": { + "description": "https://rs.tdwg.org/dwc/terms/occurrenceStatus", + "enum": [ + "present", + "absent" + ] + }, + "dwc:pathway": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/pathway", + "examples": [ + "releasedForUse" + ] + }, + "dwc:degreeOfEstablishment": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/degreeOfEstablishment", + "examples": [ + "captive" + ] + }, + "dwc:georeferenceVerificationStatus": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/georeferenceVerificationStatus", + "examples": [ + "verified by data custodian" + ] + }, + "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: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", + "examples": [ + "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", + "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" + ] + }, + "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": "number", + "description": "https://rs.tdwg.org/dwc/terms/sampleSizeValue", + "examples": [ + 5, + 4.23 + ] + }, + "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" + ] + }, + "dwc:samplingEffort": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/samplingEffort", + "examples": [ + "2 hours" + ] + }, + "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", + "description": "The full name of the collector" + }, + "ods:collectorID": { + "type": "string", + "description": "The identifier of the collector, recommended would be a ORCID or Wikidata ID" + }, + "ods:hasAssertion": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/assertion.json" + } + }, + "ods: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..723ab48 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/identification.json @@ -0,0 +1,361 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/identification.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Identification object Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Identification object." + }, + "@type": { + "type": "string", + "const": "ods:Identification", + "description": "The type of the digital object, in this case a ods: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", + "examples": [ + "holotype" + ] + }, + "dwc:identifiedBy": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedBy", + "examples": [ + "James L. Patton" + ] + }, + "dwc:identifiedByID": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identifiedByID", + "examples": [ + "https://orcid.org/0000-0002-1825-0097" + ] + }, + "dwc:dateIdentified": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/dateIdentified", + "examples": [ + "2009-02-20T08:40Z" + ] + }, + "dwc:identificationReferences": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/identificationReferences", + "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", + }, + "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:hasCitation": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.1.0/shared-models/citation.json" + } + }, + "ods:hasTaxonIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Taxon Identification 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": "The source of the taxonomic concept" + }, + "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", + "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 new file mode 100644 index 0000000..8c50250 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/location.json @@ -0,0 +1,493 @@ +{ + "$id": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/digital-specimens/location.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$comment": "Location Version 0.3.0", + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Location object." + }, + "@type": { + "type": "string", + "const": "ods:Location", + "description": "The type of the digital object, in this case a ods:Location" + }, + "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: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", + "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": { + "@id": { + "type": "string", + "description": "The identifier for the Geo Reference object." + }, + "@type": { + "type": "string", + "const": "ods:GeoReference", + "description": "The type of the object, in this case ods:GeoReference" + }, + "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" + } + }, + "required": [ + "@type" + ], + "additionalProperties": false + }, + "ods:GeologicalContext": { + "type": "object", + "properties": { + "@id": { + "type": "string", + "description": "The identifier for the Geological Context object." + }, + "@type": { + "type": "string", + "const": "ods:GeologicalContext", + "description": "The type of the object, in this case ods:GeologicalContext" + }, + "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" + ] + } + }, + "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 new file mode 100644 index 0000000..dbad662 --- /dev/null +++ b/data-model/fdo-types/0.3.0/digital-specimens/schema/material-entity.json @@ -0,0 +1,162 @@ +{ + "$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": "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 Material Entity 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", + "examples": [ + "06809dc5-f143-459a-be1a-6f03e63fc083" + ] + }, + "ods:materialEntityType": { + "type": "string", + "description": "Type of material entity", + "examples": [ + "organism" + ] + }, + "dwc:preparations": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/preparations", + "examples": [ + "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", + "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" + ] + }, + "ods:institutionName": { + "type": "string", + "description": "Full museum name according to ROR or Wikidata", + "examples": [ + "National Museum of Natural History" + ] + }, + "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" + ] + }, + "dwc:ownerInstitutionCode": { + "type": "string", + "description": "https://rs.tdwg.org/dwc/terms/ownerInstitutionCode", + "examples": [ + "InBio" + ] + }, + "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" + ] + }, + "ods:hasIdentification": { + "type": "array", + "items": { + "type": "object", + "$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/assertion.json" + } + }, + "ods:hasEntityRelationship": { + "type": "array", + "items": { + "type": "object", + "$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/citation.json" + } + }, + "ods:hasIdentifier": { + "type": "array", + "items": { + "type": "object", + "$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/event.json" + } + }, + "ods:hasAgent": { + "type": "array", + "items": { + "type": "object", + "$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 new file mode 100644 index 0000000..a78f797 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/agent.json @@ -0,0 +1,87 @@ +{ + "$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 Agent 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", + "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:hasIdentifier": { + "type": "array", + "items": { + "type": "object", + "$ref": "https://schemas.dissco.tech/schemas/digitalobjects/0.3.0/shared-models/identifier.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..0f52f42 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/assertion.json @@ -0,0 +1,113 @@ +{ + "$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 Annotation 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", + "description": "Name of the agent who made the assertion" + }, + "ods:assertionByAgentID": { + "type": "string", + "description": "ID of the agent who made the assertion, recommended to be a ORCID or Wikidata identifier" + }, + "ods:assertionProtocol": { + "type": "string", + "description": "The protocol used to make the assertion" + }, + "ods:assertionProtocolID": { + "type": "string", + "description": "The ID of the protocol used to make the assertion" + }, + "ods:assertionRemarks": { + "type": "string", + "description": "Remarks about the assertion" + } + }, + "required": [ + "@type" + ], + "additionalProperties": false +} \ No newline at end of file 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 new file mode 100644 index 0000000..db97ad1 --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/citation.json @@ -0,0 +1,77 @@ +{ + "$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 Citation object." + }, + "@type": { + "type": "string", + "const": "ods:Citation", + "description": "The type of the digital object, in this case a ods:Citation" + }, + "dcterms:identifier": { + "type": "string", + "description": "https://purl.org/dc/terms/identifier" + }, + "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": "Page number of the citation" + }, + "ods:citationRemarks": { + "type": "string", + "description": "Any further remarks about the citation" + }, + "ods:referenceType": { + "type": "string", + "description": "The type of reference" + }, + "dcterms:bibliographicCitation": { + "type": "string", + "description": "https://dublincore.org/usage/terms/history/#bibliographicCitation-002", + "examples": [ + "https://www.gbif.org/species/2439608 Source: GBIF Taxonomic Backbone" + ] + }, + "ods:referenceYear": { + "type": "integer", + "description": "The year the reference was published", + "examples": [ + 2021 + ] + }, + "ods:referenceIRI": { + "type": "string", + "format": "iri", + "description": "Reference to the web source of this citation" + }, + "ods:isPeerReviewed": { + "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..42132db --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/entity-relationship.json @@ -0,0 +1,89 @@ +{ + "$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 Entity Relationship 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/identifier.json b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json new file mode 100644 index 0000000..74f647f --- /dev/null +++ b/data-model/fdo-types/0.3.0/shared-models/schema/identifier.json @@ -0,0 +1,70 @@ +{ + "$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 Identifier 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, 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, https://purl.org/dc/terms/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