{
  "$id": "https://schemas.dissco.tech/schemas/fdo-type/digital-media/0.5.0/digital-media.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$comment": "Digital Media Version 0.5.0",
  "title": "DigitalMedia",
  "type": "object",
  "properties": {
    "@id": {
      "type": "string",
      "description": "The unique identifier (DOI) of the Digital Media",
      "pattern": "^https:\/\/doi\\.org\/[\\w\\.]+\/(\\w){3}-(\\w){3}-(\\w){3}",
      "examples": [
        "https://doi.org/10.3535/XXX-XXX-XXX"
      ]
    },
    "@type": {
      "type": "string",
      "description": "The type of the object, in this case ods:DigitalMedia",
      "const": "ods:DigitalMedia"
    },
    "dcterms:identifier": {
      "type": "string",
      "description": "The unique identifier (DOI) of the Digital Media",
      "pattern": "^https:\/\/doi\\.org/[\\w\\.]+/(\\w){3}-(\\w){3}-(\\w){3}",
      "examples": [
        "https://doi.org/10.3535/XXX-XXX-XXX",
        "https://doi.org/10.3535/XXX-XXX-YYY"
      ]
    },
    "ods:fdoType": {
      "type": "string",
      "description": "The DOI to the FDO type of the object",
      "pattern": "^https:\/\/doi\\.org\/[\\w\\.]+/[\\w\\.]+",
      "examples": [
        "https://doi.org/21.T11148/bbad8c4e101e8af01115",
        "https://doi.org/21.T11148/894b1e6cad57e921764e"
      ]
    },
    "ods:version": {
      "type": "integer",
      "description": "The version of the object, each change generates a new version. The version starts at 1 and each change will increment the version number with 1",
      "minimum": 1,
      "examples": [
        1,
        3,
        5
      ]
    },
    "ods:status": {
      "enum": [
        "Draft",
        "Active",
        "Tombstone"
      ],
      "description": "The status of the Digital Object. A digital object can be in Draft, when it is not published yet. Active when it is published and the object is active and Tombstone which means the object has been archived."
    },
    "dcterms:modified": {
      "type": "string",
      "description": "The timestamp that the object was last changed, which resulted in a new version of the object. Following the ISO Date Time Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
      "examples": [
        "2023-10-02T12:31:34.806Z",
        "2023-09-15T08:45:12.123Z"
      ]
    },
    "dcterms:created": {
      "type": "string",
      "description": "The timestamp that the object was created in DiSSCo, Following the ISO Date Time Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
      "format": "date-time",
      "examples": [
        "2023-10-02T12:31:34.806Z",
        "2023-09-15T08:45:12.123Z"
      ]
    },
    "dcterms:type": {
      "type": "string",
      "description": "Describing the nature or type of the Digital Media, restricted to the controlled vocabulary of https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#DCMIType",
      "enum": [
        "Collection",
        "Dataset",
        "Event",
        "Image",
        "InteractiveResource",
        "MovingImage",
        "PhysicalObject",
        "Service",
        "Software",
        "Sound",
        "StillImage",
        "Text"
      ]
    },
    "ac:accessURI": {
      "type": "string",
      "description": "This is the URI through which DiSSCo will retrieve the media item and serves as the main identifier for the media item before a DOI is available",
      "examples": [
        "https://image.bgbm.org/images/internal/HerbarThumbs/B100272813_1700",
        "https://medialib.naturalis.nl/file/id/RGM.924559/format/large"
      ]
    },
    "ods:sourceSystemID": {
      "type": "string",
      "description": "The handle to the source system object which is used to retrieve the data from the CMS",
      "pattern": "^https:\/\/hdl\\.handle\\.net\/[\\w.]+\/(.){3}-(.){3}-(.){3}",
      "examples": [
        "https://hdl.handle.net/20.5000.1025/XXX-XXX-XXX"
      ]
    },
    "ods:sourceSystemName": {
      "type": "string",
      "description": "The name of the source system as provided to DiSSCo",
      "examples": [
        "Naturalis Biodiversity Center (NL) - Vermes",
        "Botanic Garden and Botanical Museum Berlin (DE) - Herbarium"
      ]
    },
    "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",
        "https://www.wikidata.org/wiki/Q641676",
        "https://ror.org/03wkt5x30"
      ]
    },
    "ods:organisationName": {
      "type": "string",
      "description": "Primary organisation name according to ROR or Wikidata",
      "examples": [
        "National Museum of Natural History",
        "Tallinn University of Technology",
        "Muséum national d'Histoire naturelle"
      ]
    },
    "dcterms:format": {
      "type": "string",
      "description": "The file format, physical medium, or dimensions of the resource. Best practise to use MIME types",
      "examples": [
        "image/jpeg",
        "image/png",
        "image/tiff"
      ]
    },
    "ac:metadataLanguage": {
      "type": "string",
      "format": "iri",
      "description": "The URI of the language of description and other metadata (but not necessarily of the image itself), from the ISO639-2 list of URIs for ISO 3-letter language codes, http://id.loc.gov/vocabulary/iso639-2",
      "examples": [
        "http://id.loc.gov/vocabulary/iso639-2/dut",
        "http://id.loc.gov/vocabulary/iso639-2/eng"
      ]
    },
    "ac:metadataLanguageLiteral": {
      "type": "string",
      "description": "The URI of the language of description and other metadata (but not necessarily of the image itself), from the ISO639-2 list of URIs for ISO 3-letter language codes, http://id.loc.gov/vocabulary/iso639-2",
      "examples": [
        "nld",
        "eng"
      ]
    },
    "ac:subtype": {
      "type": "string",
      "format": "iri",
      "description": "A class, represented by an IRI, that provides for more specialization of the media item type than dcterms:type",
      "examples": [
        "http://rs.tdwg.org/acsubtype/values/Animation",
        "http://rs.tdwg.org/acsubtype/values/Drawing",
        "http://rs.tdwg.org/acsubtype/values/Photograph",
        "http://rs.tdwg.org/acsubtype/values/RecordedOrganism"
      ]
    },
    "ac:subtypeLiteral": {
      "type": "string",
      "description": "A class, represented by a controlled value string, that provides for more specialization of the media item type than dc:type",
      "examples": [
        "Animation",
        "Drawing",
        "Photograph",
        "RecordedOrganism"
      ]
    },
    "dcterms:title": {
      "type": "string",
      "description": "A name given to the resource. Concise title, name, or brief descriptive label of institution, resource collection, or individual resource. This field SHOULD include the complete title with all the subtitles, if any",
      "examples": [
        "Image of a botanical sheet with label",
        "Sound recording of the specimen in the field"
      ]
    },
    "dcterms:language": {
      "type": "string",
      "description": "Language(s) of resource itself represented in the ISO639-2 three-letter language code. ISO639-1 two-letter codes are permitted but deprecated",
      "examples": [
        "nld",
        "eng"
      ]
    },
    "dcterms:description": {
      "type": "string",
      "description": "A free-text account of the content of the resource",
      "examples": [
        "Image of a botanical sheet with label",
        "Sound recording of the specimen in the field"
      ]
    },
    "dcterms:rights": {
      "type": "string",
      "description": "Information about rights held in and over the resource. Recommended best practise is to use a URI for the rights",
      "examples": [
        "https://creativecommons.org/licenses/by/4.0/",
        "https://creativecommons.org/licenses/by-nc-sa/4.0/"
      ]
    },
    "xmpRights:UsageTerms": {
      "type": "string",
      "description": "A collection of text instructions on how a resource can be legally used, given in a variety of languages",
      "examples": [
        "CC BY 4.0",
        "CC BY-NC-SA 4.0"
      ]
    },
    "xmpRights:WebStatement": {
      "type": "string",
      "description": "A Web URL for a statement of the ownership and usage rights for this resource",
      "examples": [
        "https://creativecommons.org/licenses/by/4.0/",
        "https://creativecommons.org/licenses/by-nc-sa/4.0/"
      ]
    },
    "dcterms:available": {
      "type": "string",
      "description": "Date (often a range) that the resource became or will become available",
      "examples": [
        "2023-10-01",
        "2024-01-01/2024-12-31"
      ]
    },
    "ac:comments": {
      "type": "string",
      "description": "Any comment provided on the media resource, as free-form text",
      "examples": [
        "This is a test object",
        "This object is not yet published"
      ]
    },
    "dcterms:source": {
      "type": "string",
      "description": "A related resource from which the described resource is derived",
      "examples": [
        "http://biocol.org/institution/australian-national-insect-collection"
      ]
    },
    "Iptc4xmpExt:CVterm": {
      "type": "string",
      "format": "iri",
      "description": "A term to describe the content of the image by a value from a Controlled Vocabulary",
      "examples": [
        "http://rs.tdwg.org/accontent/values/c000"
      ]
    },
    "ac:subjectCategoryVocabulary": {
      "type": "string",
      "description": "Any vocabulary or formal classification from which terms in the Subject Category have been drawn",
      "examples": [
        "http://rs.tdwg.org/accontent/values"
      ]
    },
    "ac:variant": {
      "type": "string",
      "format": "iri",
      "description": "The category describing this Service Access Point variant, denoted by an IRI",
      "examples": [
        "http://rs.tdwg.org/acvariant/values/v001",
        "http://rs.tdwg.org/acvariant/values/v005"
      ]
    },
    "ac:variantLiteral": {
      "type": "string",
      "description": "The category describing this Service Access Point variant, denoted by a controlled value string",
      "examples": [
        "Thumbnail",
        "Good Quality"
      ]
    },
    "ac:variantDescription": {
      "type": "string",
      "description": "Text that describes this Service Access Point variant. Most variants (thumb, low-res, high-res) are self-explanatory and it is best practice to leave this property empty if no special description is needed",
      "examples": [
        "Video shortened instead of simply quality reduced"
      ]
    },
    "exif:PixelYDimension": {
      "type": "integer",
      "description": "Information specific to compressed data. When a compressed file is recorded, the valid height of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file",
      "examples": [
        1080,
        1920
      ]
    },
    "exif:PixelXDimension": {
      "type": "integer",
      "description": "Information specific to compressed data. When a compressed file is recorded, the valid width of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file",
      "examples": [
        1920,
        1080
      ]
    },
    "ac:tag": {
      "type": "array",
      "description": "A list of tags or keywords that describe the media item",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "Herbarium",
          "Botany",
          "Leaf"
        ],
        [
          "Insect",
          "Entomology",
          "Head"
        ]
      ]
    },
    "xmp:CreateDate": {
      "type": "string",
      "description": "The date and time the resource was created. For a digital file, this need not match a file-system creation time. For a freshly created resource, it should be close to that time, modulo the time taken to write the file. Later file transfer, copying, and so on, can make the file-system time arbitrarily different.",
      "examples": [
        "2023-10-01T12:31:34.806Z",
        "2023-09-15T08:45:12.123Z"
      ]
    },
    "ac:timeOfDay": {
      "type": "string",
      "description": "Free text information beyond exact clock times",
      "examples": [
        "afternoon",
        "twilight"
      ]
    },
    "ac:subjectOrientation": {
      "type": "string",
      "format": "iri",
      "description": "Specific orientation (= direction, view angle) of the subject represented in the media resource with respect to the acquisition device, denoted by an IRI",
      "examples": [
        "http://rs.tdwg.org/acorient/values/r0002",
        "http://rs.tdwg.org/acorient/values/r0004"
      ]
    },
    "ac:subjectOrientationLiteral": {
      "type": "string",
      "description": "Specific orientation (= direction, view angle) of the subject represented in the media resource with respect to the acquisition device, denoted by a controlled value string",
      "examples": [
        "Frontal",
        "Lateral"
      ]
    },
    "ac:subjectPart": {
      "type": "string",
      "format": "iri",
      "description": "The portion or product of organism morphology, behaviour, environment, etc. that is either predominantly shown or particularly well exemplified by the media resource, denoted by an IRI",
      "examples": [
        "http://rs.tdwg.org/acpart/values/p0027",
        "http://rs.tdwg.org/acpart/values/p0031"
      ]
    },
    "ac:subjectPartLiteral": {
      "type": "string",
      "description": "The portion or product of organism morphology, behaviour, environment, etc. that is either predominantly shown or particularly well exemplified by the media resource, denoted by a controlled value string",
      "examples": [
        "Head",
        "Wing"
      ]
    },
    "ac:captureDevice": {
      "type": "string",
      "description": "Free form text describing the device or devices used to create the resource",
      "examples": [
        "Canon EOS 5D Mark IV",
        "Nikon D850"
      ]
    },
    "ac:digitizationDate": {
      "type": "string",
      "description": "Date the first digital version was created",
      "examples": [
        "2023-10-01",
        "2023-09-15"
      ]
    },
    "ac:frameRate": {
      "type": "number",
      "description": "The decimal fraction representing the frequency (rate) at which consecutive images (frames) were captured in real time for a moving image, expressed as the number of frames per second",
      "examples": [
        60,
        0.2
      ]
    },
    "ac:resourceCreationTechnique": {
      "type": "string",
      "description": "Information about technical aspects of the creation and digitization process of the resource. This includes modification steps (\"retouching\") after the initial resource capture.",
      "examples": [
        "Media may have been manipulated to improve appearance",
        "Multiflash lighting"
      ]
    },
    "ods:hasAssertions": {
      "type": "array",
      "description": "Contains zero or more ods:Assertion objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/assertion.json"
      }
    },
    "ods:hasCitations": {
      "type": "array",
      "description": "Contains zero or more ods:Citation objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/citation.json"
      }
    },
    "ods:hasIdentifiers": {
      "type": "array",
      "description": "Contains zero or more ods:Identifier objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/identifier.json"
      }
    },
    "ods:hasEntityRelationships": {
      "type": "array",
      "description": "Contains zero or more ods:EntityRelationship objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/entity-relationship.json"
      }
    },
    "ods:hasAgents": {
      "type": "array",
      "description": "Contains zero or more ods:Agent objects",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/agent.json"
      }
    },
    "ods:hasMediaDerivatives": {
      "type": "array",
      "description": "Contains zero or more derivatives of this Media Object",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/digital-media/0.5.0/digital-media-derivative.json"
      }
    },
    "ods:hasTombstoneMetadata": {
      "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.4.0/tombstone-metadata.json"
    }
  },
  "required": [
    "@id",
    "@type",
    "dcterms:identifier",
    "ods:fdoType",
    "ods:version",
    "dcterms:created",
    "dcterms:modified",
    "ac:accessURI",
    "ods:sourceSystemID"
  ]
}