Skip to main content

Preservation Metadata Ontology

Digital Preservation Metadata
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 08 October 2026
Audio Overview
FLOW ALGEBRA

Ontology: Preservation Metadata Ontology
Domain: Metadata Ontologies > Digital Preservation Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/digital-preservation-metadata/preservation-metadata-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)

flow "PreservationMetadataOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: DigitalPreservationMetadata
  subject: PreservationMetadata
  purpose:
    - represent metadata required to manage and preserve digital objects over time
    - preserve identity, provenance, fixity, technical characteristics, events, rights, agents, versions, and dependencies
    - support integrity checking, format identification, migration, replication, recovery, retention, authenticity, and long-term access
    - distinguish preservation metadata from descriptive, structural, administrative, and access metadata
    - enable machine-readable reasoning over preservation evidence and lifecycle state

# ---------- CORE ----------
entity PreservationMetadata:
  type: MetadataEntity
  describes: PreservationObject
  may_include:
    - preservation_identifier
    - object_level
    - descriptive_reference
    - structural_metadata
    - technical_metadata
    - format_metadata
    - fixity_metadata
    - event_metadata
    - agent_metadata
    - provenance_metadata
    - rights_metadata
    - version_metadata
    - dependency_metadata
    - environment_metadata
    - storage_metadata
    - authenticity_metadata
    - retention_metadata
    - validation_metadata

entity PreservationObject:
  type: DigitalResource
  may_be: [IntellectualEntity, Representation, File, Bitstream]

entity PreservationIdentifier:
  type: PersistentIdentifier
  identifies: PreservationObject

relationships:
  PreservationMetadata -> DESCRIBES -> PreservationObject
  PreservationObject -> IDENTIFIED_BY -> PreservationIdentifier
  IntellectualEntity -> HAS_REPRESENTATION -> Representation
  Representation -> CONTAINS -> File
  File -> MAY_CONTAIN -> Bitstream
  File -> HAS_FORMAT -> PreservationFormatMetadata
  File -> MAY_HAVE_FIXITY -> FixityMetadata
  PreservationObject -> PARTICIPATES_IN -> PreservationEventMetadata
  PreservationEventMetadata -> MAY_HAVE_AGENT -> PreservationAgentMetadata
  PreservationObject -> MAY_HAVE_PROVENANCE -> PreservationProvenanceMetadata
  PreservationObject -> MAY_HAVE_RIGHTS -> PreservationRightsMetadata
  PreservationObject -> MAY_HAVE_VERSION -> PreservationVersionMetadata
  PreservationObject -> MAY_HAVE_DEPENDENCY -> PreservationDependencyMetadata
  PreservationObject -> MAY_REQUIRE -> PreservationEnvironmentMetadata
  PreservationObject -> MAY_BE_STORED_IN -> PreservationStorageMetadata
  PreservationObject -> MAY_HAVE_AUTHENTICITY -> PreservationAuthenticityMetadata

# ---------- OBJECT LEVEL / IDENTITY ----------
object_levels:
  - intellectual_entity
  - representation
  - file
  - bitstream

rule object_level:
  PreservationMetadata SHOULD identify applicable object level

rule hierarchy:
  IntellectualEntity != Representation
  Representation != File
  File != Bitstream

rule identifier:
  PreservationObject SHOULD have persistent identifier
  where long-term management requires

rule filename:
  filename != persistent preservation identity

rule storage_location:
  storage location != preservation identity

rule checksum_identity:
  checksum != semantic object identity

# ---------- METADATA CATEGORIES ----------
entity PreservationDescriptiveReference:
  type: MetadataReference
  may_include: [title, creator, subject, description, external_descriptive_record, catalogue_identifier]

rule descriptive:
  descriptive metadata MAY support discovery
  but SHOULD remain distinguishable from preservation evidence

entity PreservationStructuralMetadata:
  type: StructuralMetadata
  may_include: [parent_object, child_objects, sequence, representation_membership, file_relationships, bitstream_relationships]

rule structure:
  structural metadata SHOULD preserve composition and ordering where relevant

entity TechnicalPreservationMetadata:
  type: TechnicalMetadata
  may_include:
    - file_size
    - media_type
    - format
    - encoding
    - compression
    - resolution
    - duration
    - dimensions
    - software_requirements
    - hardware_requirements

rule technical:
  technical metadata SHOULD preserve characteristics required to render, interpret, validate, or migrate object

# ---------- FORMAT ----------
entity PreservationFormatMetadata:
  type: TechnicalPreservationMetadata
  may_include:
    - format_name
    - format_version
    - format_identifier
    - media_type
    - signature
    - registry_reference
    - identification_method
    - confidence

rule format:
  file extension != verified file format

rule format_identification:
  format identification SHOULD preserve method, tool, and confidence

# ---------- FIXITY ----------
entity FixityMetadata:
  type: IntegrityMetadata
  may_include: [algorithm, digest, calculation_time, object_scope, verification_history]

rule fixity:
  digest MUST preserve algorithm and object scope

rule fixity_authenticity:
  fixity evidence != complete authenticity proof

entity FixityVerification:
  type: ValidationMetadata
  may_include: [expected_digest, observed_digest, algorithm, result, timestamp]

fixity_results:
  - match
  - mismatch
  - unavailable
  - error

rule fixity_verification:
  mismatch SHOULD trigger preservation investigation

# ---------- EVENT METADATA ----------
entity PreservationEventMetadata:
  type: EventMetadata
  may_include:
    - event_identifier
    - event_type
    - event_time
    - event_detail
    - outcome
    - outcome_detail
    - agent
    - source_object
    - resulting_object

preservation_event_types:
  - ingest
  - validation
  - format_identification
  - fixity_check
  - migration
  - normalisation
  - replication
  - recovery
  - metadata_update
  - access
  - deletion

rule event:
  PreservationEventMetadata SHOULD preserve event type, time, outcome, agent, and object

rule ingest:
  ingest SHOULD record source, received object, validation, identifier, format, fixity, and storage assignment

rule migration:
  migration SHOULD preserve source object, resulting object, formats, tool, parameters, and validation

rule migration_identity:
  resulting migrated File != source File

rule replication:
  replication SHOULD preserve source copy, destination copy, storage, and fixity result

# ---------- AGENT / PROVENANCE ----------
entity PreservationAgentMetadata:
  type: AgentMetadata
  may_include: [agent_identifier, agent_name, agent_type, software_version, organisation, role]

agent_types:
  - person
  - organisation
  - software
  - automated_process

rule agent:
  responsible Agent SHOULD be linked to preservation event where available

entity PreservationProvenanceMetadata:
  type: ProvenanceMetadata
  may_include:
    - origin
    - creator
    - depositor
    - custody_history
    - ingest_source
    - event_history
    - transformation_history
    - agents
    - versions

rule provenance:
  PreservationMetadata SHOULD preserve chain of custody and transformation history

# ---------- RIGHTS / VERSION ----------
entity PreservationRightsMetadata:
  type: RightsMetadata
  may_include:
    - rights_holder
    - licence
    - preservation_permission
    - migration_permission
    - replication_permission
    - emulation_permission
    - access_permission
    - restriction
    - embargo
    - validity_period

rule rights:
  preservation permission != access permission

entity PreservationVersionMetadata:
  type: VersionMetadata
  may_include: [version_identifier, predecessor, successor, creation_time, change_reason, generating_event]

rule version:
  material preservation-state change SHOULD create distinguishable version

# ---------- DEPENDENCY / ENVIRONMENT ----------
entity PreservationDependencyMetadata:
  type: DependencyMetadata
  may_include: [dependency_identifier, dependency_type, required_resource, required_version, availability_state]

dependency_types:
  - software
  - operating_system
  - codec
  - font
  - library
  - hardware
  - runtime
  - schema
  - external_resource

rule dependency:
  dependencies required for rendering or execution SHOULD be preserved

entity PreservationEnvironmentMetadata:
  type: EnvironmentMetadata
  may_include: [operating_system, software, software_version, hardware, runtime, configuration]

rule environment:
  environment metadata SHOULD be preserved where future access depends on it

# ---------- STORAGE / AUTHENTICITY ----------
entity PreservationStorageMetadata:
  type: StorageMetadata
  may_include:
    - storage_identifier
    - storage_type
    - location
    - copy_identifier
    - encryption
    - replication_state
    - integrity_monitoring
    - availability_state

rule storage:
  storage identifier or location != PreservationObject identity

entity PreservationAuthenticityMetadata:
  type: TrustMetadata
  may_include:
    - provenance
    - fixity_history
    - digital_signatures
    - custody_history
    - validation_history
    - event_history

rule authenticity:
  authenticity assessment SHOULD combine available preservation evidence

rule authenticity_claim:
  authenticity claim SHOULD preserve evidence and assessment method

entity PreservationSignatureMetadata:
  type: IntegrityMetadata
  may_include: [signature_algorithm, signer, certificate, signature_time, validation_time, validation_state]

# ---------- RETENTION / ACCESS / RISK ----------
entity PreservationRetentionMetadata:
  type: LifecycleMetadata
  may_include:
    - retention_policy
    - retention_period
    - retain_until
    - review_date
    - disposal_authority
    - legal_hold

rule retention:
  retention metadata SHOULD preserve authority and temporal scope

entity PreservationAccessMetadata:
  type: AccessMetadata
  may_include:
    - access_level
    - access_copy
    - access_format
    - restriction
    - authentication
    - authorisation

rule access:
  preservation availability != unrestricted public access

entity PreservationRiskMetadata:
  type: RiskMetadata
  may_include:
    - format_obsolescence
    - dependency_loss
    - storage_failure
    - integrity_failure
    - rights_restriction
    - unsupported_environment
    - risk_level
    - assessment_time

rule risk:
  preservation risk SHOULD preserve assessment method and time

entity PreservationStrategyMetadata:
  type: StrategyMetadata
  may_include:
    - strategy_type
    - target_objects
    - rationale
    - trigger_conditions
    - validation_requirements

strategy_types:
  - migration
  - emulation
  - normalisation
  - replication
  - encapsulation
  - format_refresh
  - technology_preservation

rule strategy:
  strategy SHOULD preserve rationale and applicability

# ---------- VALIDATION ----------
validation:
  require:
    - identifiable_preservation_object

  validate_if_present:
    - preservation_identifier
    - object_level
    - technical_metadata
    - format_metadata
    - fixity_metadata
    - event_metadata
    - agent_metadata
    - provenance_metadata
    - rights_metadata
    - version_metadata
    - dependency_metadata
    - environment_metadata
    - storage_metadata
    - authenticity_metadata
    - retention_metadata

  reject:
    - filename_presented_as persistent_identity
    - storage_location_presented_as object_identity
    - file_extension_presented_as verified_format
    - checksum_without_algorithm
    - fixity_presented_as complete_authenticity_proof
    - migrated_file_presented_as byte_identical_source
    - preservation_permission_presented_as public_access_permission
    - descriptive_metadata_presented_as preservation_evidence_without support

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "preservation metadata" ~= "metadata supporting digital preservation"
  "digital preservation metadata" ~= "preservation metadata" WHEN digital objects are represented
  "fixity metadata" ~= "integrity digest metadata"
  "preservation event metadata" ~= "metadata describing preservation actions"
  "preservation provenance" ~= "custody and transformation history"
  "preservation rights metadata" ~= "rights governing preservation actions"

  PRESERVE distinctions:
    preservation_metadata != descriptive_metadata
    preservation_metadata != access_metadata
    intellectual_entity != representation
    representation != file
    file != bitstream
    filename != persistent_identity
    storage_location != object_identity
    file_extension != verified_format
    fixity != authenticity
    migration_derivation != byte_identity
    preservation_permission != access_permission
    technical_validity != factual_correctness

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_preservation_metadata:
    score: 1.00
  persistent_identifier:
    score: 1.00
  verified_fixity:
    score: 0.99
  validated_format_identification:
    score: 0.99
  complete_event_metadata:
    score: 0.99
  complete_provenance:
    score: 0.99
  validated_migration:
    score: 0.98
  extension_only_format:
    score: <= 0.70
  incomplete_provenance:
    score: <= 0.65
  weak_authenticity_evidence:
    score: <= 0.50
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_ingest:
    - assign PreservationIdentifier
    - identify object level
    - capture technical metadata
    - identify format
    - calculate fixity
    - record rights and source
    - create ingest event
    - initialise provenance

  on_fixity_verification:
    - calculate observed digest
    - compare expected digest
    - record verification result
    - trigger investigation on mismatch
    - update event history

  on_migration:
    - preserve source object metadata
    - create resulting object metadata
    - record migration event
    - identify target format
    - calculate new fixity
    - validate result
    - update provenance

  on_replication:
    - create storage-copy metadata
    - record destination
    - verify fixity
    - record replication event
    - update storage metadata

  on_risk_change:
    - update PreservationRiskMetadata
    - evaluate PreservationStrategyMetadata
    - preserve assessment and decision history

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - preservation_metadata_entities
    - relationships
    - identity_rules
    - technical_rules
    - fixity_rules
    - event_rules
    - provenance_rules
    - rights_rules
    - validation
    - semantic_equivalence
    - confidence
    - update_model

  canonicalisation:
    - preserve_persistent_identifiers
    - preserve_object_levels
    - preserve_fixity_algorithm_and_digest
    - preserve_event_order
    - preserve_version_relationships
    - preserve_chain_of_custody
    - preserve_rule_order

  output:
    deterministic_semantic_hash

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
  interpret_as:
    - digital preservation metadata ontology
    - preservation evidence and lifecycle model
    - technical, fixity, event, provenance, rights, and authenticity structure
    - long-term digital-object management model

  operations:
    - identify preservation metadata
    - resolve preservation object and object level
    - distinguish descriptive, structural, technical, and preservation metadata
    - identify and validate formats
    - verify fixity
    - traverse preservation events
    - resolve agents and versions
    - inspect dependencies and environments
    - evaluate preservation rights
    - assess authenticity evidence
    - inspect storage and retention
    - evaluate preservation risk and strategy
    - trace provenance
    - preserve uncertainty

  constraints:
    - do_not_equate_preservation_metadata_with descriptive_metadata
    - do_not_equate_filename_with persistent_identity
    - do_not_equate_storage_location_with object_identity
    - do_not_equate_file_extension_with verified_format
    - do_not_equate_fixity_with complete_authenticity
    - do_not_equate_preservation_permission_with public_access
    - preserve_identifiers_fixity_events_agents_rights_versions_and_provenance

# ---------- QUERY MODEL ----------
query:
  input:
    - preservation_identifier
    - object_level
    - format
    - fixity
    - event_type
    - agent
    - version
    - dependency
    - storage
    - retention_state

  resolve:
    1. identify PreservationObject
    2. resolve PreservationIdentifier
    3. determine object level
    4. inspect structural and technical metadata
    5. inspect format and fixity metadata
    6. traverse preservation events and agents
    7. resolve provenance and versions
    8. inspect rights, dependencies, environment, and storage
    9. evaluate authenticity, retention, risk, and strategy
    10. return confidence

  output:
    - preservation_object
    - identifier
    - object_level
    - structural_metadata
    - technical_metadata
    - format_metadata
    - fixity_metadata
    - events
    - agents
    - provenance
    - rights
    - versions
    - dependencies
    - storage
    - authenticity
    - retention
    - confidence

# ---------- INFERENCE ----------
inference:
  IF observed digest matches expected digest
  THEN infer fixity_match
  within declared algorithm and object scope

  IF format is identified by validated signature
  THEN prefer validated format identification
  over filename extension

  IF migration produces validated resulting object
  THEN preserve derivation relationship
  AND create new preservation-state metadata

  IF provenance or authenticity evidence is incomplete
  THEN preserve uncertainty
  AND do_not infer complete authenticity

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: PreservationMetadata
  preservation_object_identity: machine_interpretable
  object_levels: explicit
  metadata_categories: distinguishable
  structural_metadata: traversable
  technical_metadata: explicit
  format_metadata: validated
  fixity_metadata: verifiable
  event_metadata: chronological_and_traceable
  agents: explicit
  provenance: preserved
  rights_and_access: distinguishable
  versions: traversable
  dependencies_and_environment: explicit
  storage: traceable
  authenticity: evidence_based
  retention_risk_strategy: reportable
  uncertainty: explicit
  long_term_retrieval: enabled

end flow
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ