{
  "$id": "https://schemas.dissco.tech/schemas/fdo-type/digital-media/0.3.0/digital-media.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$comment": "Digital Media Version 0.3.0",
  "title": "DigitalMedia",
  "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:DigitalMedia",
      "const": "ods:DigitalMedia"
    },
    "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: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"
      ]
    },
    "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": [
      ]
    },
    "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:organisationID": {
      "type": "string",
      "description": "ROR or Wikidata identifie 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"
      ]
    },
    "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"
    },
    "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: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: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: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",
    "dcterms:created",
    "dcterms:modified",
    "ac:accessURI",
    "ods:sourceSystemID"
  ]
}