$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,

  modelled as a CIDOC-CRM E73 Information Object. Profiles PROV-O''s Entity: `wasAttributedTo`,

  `wasGeneratedBy` and `wasDerivedFrom` carry its provenance chain. This block adds
  `isAbout`

  (the heritage object it represents), a media type and an optional persistent identifier.

  '
$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.yaml
- $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/
