{
  "$id": "https://schemas.dissco.tech/schemas/digitalobjects/digital-specimen/0.3.0/digital-specimen.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$comment": "Digital Specimen Version 0.3.0",
  "title": "DigitalSpecimen",
  "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:status": {
      "enum": [
        "ods:Draft",
        "ods:Active",
        "ods:Tombstone"
      ],
      "description": "The status of the Digital Object"
    },
    "dcterms:modified": {
      "type": "string",
      "description": "The timestamp that the object was last changed, which resulted in a new version of the object",
      "examples": [
        "2023-10-02T12:31:34.806Z"
      ]
    },
    "dcterms:created": {
      "type": "string",
      "description": "The timestamp that the object 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\\.]+",
      "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:sourceSystemName": {
      "type": "string",
      "description": "The name of the source system as provided to DiSSCo",
      "examples": [
        "Naturalis Biodiversity Center (NL) - Vermes"
      ]
    },
    "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/"
      ]
    },
    "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"
      ]
    },
    "ods:organisationCode": {
      "type": "string",
      "description": "Code used by the organisation",
      "examples": [
        "MNF"
      ]
    },
    "ods:organisationID": {
      "type": "string",
      "description": "ROR or Wikidata identifier of the organisation",
      "pattern": "^(https?:\/\/ror\\.org\/0\\w{6}[0-9]{2})|^(https?:\/\/www\\.wikidata\\.org\/wiki\/Q\\w+)",
      "examples": [
        "https://ror.org/015hz7p22"
      ]
    },
    "ods:organisationName": {
      "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."
      ]
    },
    "ods:ownerOrganisationCode": {
      "type": "string",
      "description": "The name used by the organisation having ownership of the object",
      "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"
      ]
    },
    "dwc:datasetID": {
      "type": "string",
      "description": "http://rs.tdwg.org/dwc/terms/datasetID",
      "examples": [
        "b15d4952-7d20-46f1-8a3e-556a512b04c5"
      ]
    },
    "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": "string",
      "description": "https://rs.tdwg.org/dwc/terms/dynamicProperties",
      "examples": ["{\"relativeHumidity\": 28,\"airTemperatureInCelsius\": 22}"
      ]
    },
    "ods:hasMaterialEntity": {
      "type": "array",
      "description": "Contains zero or more ods:MaterialEntity objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/digital-specimen/0.3.0/material-entity.json"
      }
    },
    "ods:hasIdentification": {
      "type": "array",
      "description": "Contains zero or more ods:Identification objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/digital-specimen/0.3.0/identification.json"
      }
    },
    "ods:hasAssertion": {
      "type": "array",
      "description": "Contains zero or more ods:Assertion objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/assertion.json"
      }
    },
    "ods:hasEvent": {
      "type": "array",
      "description": "Contains zero or more ods:Event objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/digital-specimen/0.3.0/event.json"
      }
    },
    "ods:hasEntityRelationship": {
      "type": "array",
      "description": "Contains zero or more ods:EntityRelationship objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/entity-relationship.json"
      }
    },
    "ods:hasCitation": {
      "type": "array",
      "description": "Contains zero or more ods:Citation objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/citation.json"
      }
    },
    "ods:hasIdentifier": {
      "type": "array",
      "description": "Contains zero or more ods:Identifier objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/identifier.json"
      }
    },
    "ods:hasChronometricAge": {
      "type": "array",
      "description": "Contains zero or more ods:ChronometricAge objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/digital-specimen/0.3.0/chronometric-age.json"
      }
    },
    "ods:hasAgent": {
      "type": "array",
      "description": "Contains zero or more ods:Agent objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/agent.json"
      }
    },
    "ods:TombstoneMetadata": {
      "type": "object",
      "description": "Object containing the tombstone metadata of the object. Only present when ods:status is ods:Tombstone",
      "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.3.0/tombstone-metadata.json"
    }
  },
  "required": [
    "@id",
    "@type",
    "ods:ID",
    "ods:version",
    "ods:type",
    "dcterms:created",
    "dcterms:modified",
    "ods:midsLevel",
    "ods:normalisedPhysicalSpecimenID",
    "ods:physicalSpecimenID",
    "ods:physicalSpecimenIDType",
    "ods:sourceSystemID",
    "ods:organisationID"
  ],
  "additionalProperties": false
}