$schema: https://json-schema.org/draft/2020-12/schema
title: Heritage Digital Twin
description: "HDTO's HC2 Heritage Digital Twin: the aggregate of formal proposition
  sets documenting one\nheritage entity (an `hdto:HC1_Heritage_Entity` \u2014 in this
  register, any HC3-co-typed\n`heritage-object`/`heritage-site`/`building`/`heritage-object-feature`
  instance). D7.1's own\nworked example (the Deryneia icon) shows HC2 is a lightweight
  node identified by its\npropositional content and creating actor, not a rich record
  in its own right \u2014 the actual\ncontent lives in one or more `heritage-proposition-set`
  (HC16) instances it points to.\n\nThis is deliberately **not** modelled as a profile
  of `aggregation` (EDM/ORE Aggregation):\nD7.1 gives no crosswalk between EDM/ORE
  and any HC class \u2014 `aggregation` remains the separate\nEuropeana/ECCCH-portal
  display-record construct it already was.\n"
type: object
required:
- id
- type
- ofHeritageEntity
- containsPropositionSet
properties:
  id:
    type: string
    format: uri
    description: Persistent URI identifying this Heritage Digital Twin.
    x-jsonld-id: '@id'
  type:
    const: HeritageDigitalTwin
    description: Fixed type token (maps to hdto:HC2_Heritage_Digital_Twin).
    x-jsonld-id: '@type'
  ofHeritageEntity:
    type: string
    format: uri
    description: "URI of the heritage entity this is the digital twin of (HP1 has
      digital twin, referenced here in its inverse \"is digital twin of\" direction
      \u2014 HP1i)."
    x-jsonld-reverse: hdto:HP1_has_digital_twin
    x-jsonld-type: '@id'
  label:
    type: string
    description: Short human-readable label identifying this digital twin (e.g. "The
      HDT of the Great Gallery ceiling painting"), per D7.1's own worked example convention.
    x-jsonld-id: http://www.w3.org/2000/01/rdf-schema#label
  creator:
    type: string
    format: uri
    description: URI of the actor (person or organisation) that created/maintains
      this digital twin.
    x-jsonld-id: http://www.w3.org/ns/prov#wasAttributedTo
    x-jsonld-type: '@id'
  containsPropositionSet:
    type: array
    minItems: 1
    items:
      type: string
      format: uri
    description: URIs of `heritage-proposition-set` instances currently valid as content
      of this digital twin (HP33 contains).
    x-jsonld-id: http://isl.ics.forth.gr/ontology/echoes/HP33_contains
    x-jsonld-type: '@id'
    x-jsonld-container: '@set'
  containedPropositionSet:
    type: array
    items:
      type: string
      format: uri
    description: "URIs of `heritage-proposition-set` instances formerly, but no longer,
      valid content (HP34 contained) \u2014 preserves referential integrity for prior
      scholarly references. This is how HC2 versioning works: superseding content
      moves from `containsPropositionSet` to here rather than being deleted."
    x-jsonld-id: http://isl.ics.forth.gr/ontology/echoes/HP34_contained
    x-jsonld-type: '@id'
    x-jsonld-container: '@set'
  composedBy:
    type: string
    format: uri
    description: "URI of the `event` instance (co-typed hdto:HC11_Digital_Twin_Maintenance
      \u2014 see ogc.heritage.event's HDTO alignment note) that composed/most recently
      updated this digital twin (HP19 has composed, inverse direction \u2014 HP19i)."
    x-jsonld-reverse: hdto:HP19_has_composed
    x-jsonld-type: '@id'
x-jsonld-extra-terms:
  HeritageDigitalTwin: http://isl.ics.forth.gr/ontology/echoes/HC2_Heritage_Digital_Twin
x-jsonld-prefixes:
  hdto: http://isl.ics.forth.gr/ontology/echoes/
  rdfs: http://www.w3.org/2000/01/rdf-schema#
  prov: http://www.w3.org/ns/prov#
