{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Digital Representation",
  "description": "A digital asset (image, 3D model, document...) representing or documenting a heritage object,\nmodelled as a CIDOC-CRM E73 Information Object. Profiles PROV-O's Entity: `wasAttributedTo`,\n`wasGeneratedBy` and `wasDerivedFrom` carry its provenance chain. This block adds `isAbout`\n(the heritage object it represents), a media type and an optional persistent identifier.\n",
  "$defs": {
    "properties": {
      "type": "object",
      "properties": {
        "identifier": {
          "type": "string",
          "description": "A local identifier for this digital asset (CIDOC-CRM P1_is_identified_by).",
          "x-jsonld-id": "http://www.cidoc-crm.org/cidoc-crm/P1_is_identified_by"
        },
        "isAbout": {
          "type": "string",
          "format": "uri",
          "description": "URI of the heritage object (or other CRM entity) this digital asset represents or documents (CIDOC-CRM P129_is_about).",
          "x-jsonld-id": "http://www.cidoc-crm.org/cidoc-crm/P129_is_about",
          "x-jsonld-type": "@id"
        },
        "mediaType": {
          "type": "string",
          "description": "The IANA media type of the asset, e.g. `image/jpeg` or `model/gltf-binary` (dct:format).",
          "x-jsonld-id": "http://purl.org/dc/terms/format"
        },
        "persistentIdentifier": {
          "type": "string",
          "format": "uri",
          "description": "A persistent identifier (e.g. ARK, DOI, Handle) minted for this asset.",
          "x-jsonld-id": "http://www.cidoc-crm.org/cidoc-crm/P1_is_identified_by"
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL where this digital asset can be accessed or downloaded (dcat:accessURL).",
          "x-jsonld-id": "http://www.w3.org/ns/dcat#accessURL",
          "x-jsonld-type": "@id"
        },
        "crmdigType": {
          "type": "string",
          "const": "crmdig:D9_Data_Object",
          "description": "Fixed co-type, shared by the whole digital-representation family. Maps via context directly to rdf:type. D7.1's own OGC SensorThings crosswalk table (Table 1, p.28) names crmdig:D9_Data_Object, not crm:E73_Information_Object, as HDTO's actual HC5 anchor \u2014 asserted here alongside (not instead of) whatever CRM/PROV-O typing this instance already carries. Required on every instance of this block and its profiles.",
          "x-jsonld-id": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
          "x-jsonld-type": "@id"
        },
        "hdtoType": {
          "type": "string",
          "format": "uri",
          "enum": [
            "hdto:HC5_Digital_Representation",
            "hdto:HC7_Digital_Audiovisual_Object",
            "hdto:HC8_3D_Model"
          ],
          "default": "hdto:HC5_Digital_Representation",
          "description": "HDTO co-type (D7.1). Maps via context directly to rdf:type. Required on every instance; value must be HC5 (the family default \u2014 used when this block is not further profiled) or one of HC5's own HDTO subclasses HC7/HC8, which `oral-history`/`three-d-model` narrow to via their own fixed `const`.",
          "x-jsonld-id": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
          "x-jsonld-type": "@id"
        }
      },
      "required": [
        "isAbout",
        "crmdigType",
        "hdtoType"
      ]
    }
  },
  "allOf": [
    {
      "$ref": "https://ogcincubator.github.io/bblock-prov-schema/build/annotated/ogc-utils/prov-entity/schema.json"
    },
    {
      "$ref": "#/$defs/properties"
    }
  ],
  "x-jsonld-prefixes": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "crm": "http://www.cidoc-crm.org/cidoc-crm/",
    "dct": "http://purl.org/dc/terms/",
    "dcat": "http://www.w3.org/ns/dcat#",
    "crmdig": "http://www.cidoc-crm.org/extensions/crmdig/",
    "hdto": "http://isl.ics.forth.gr/ontology/echoes/"
  }
}