Skip to main content

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

flow "MigrationMetadataOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: DigitalPreservationMetadata
  subject: MigrationMetadata
  purpose:
    - represent metadata describing preservation migration of digital resources
    - preserve source and target objects, formats, versions, tools, parameters, validation, fixity, provenance, and semantic continuity
    - support format, media, system, database, encoding, normalisation, transcoding, schema, and container migration
    - distinguish migrated representations from source files while preserving derivation and intellectual-entity continuity
    - enable machine-readable reasoning over migration lifecycles

# ---------- CORE ----------
entity MigrationMetadata:
  type: PreservationMetadata
  describes: MigrationEvent
  may_include:
    - migration_identifier
    - source_object
    - source_version
    - source_format
    - target_object
    - target_version
    - target_format
    - migration_type
    - migration_tool
    - tool_version
    - parameters
    - validation
    - source_fixity
    - target_fixity
    - semantic_assessment
    - outcome
    - confidence
    - provenance

entity MigrationEvent:
  type: PreservationEvent

entity MigrationIdentifier:
  type: Identifier
  identifies: MigrationEvent

relationships:
  MigrationMetadata -> DESCRIBES -> MigrationEvent
  MigrationEvent -> IDENTIFIED_BY -> MigrationIdentifier
  MigrationEvent -> CONSUMES -> SourcePreservationObject
  MigrationEvent -> PRODUCES -> TargetPreservationObject
  TargetPreservationObject -> DERIVED_FROM -> SourcePreservationObject
  SourcePreservationObject -> HAS_FORMAT -> SourceFormat
  TargetPreservationObject -> HAS_FORMAT -> TargetFormat
  MigrationEvent -> USES -> MigrationTool
  MigrationEvent -> MAY_HAVE_VALIDATION -> MigrationValidation
  MigrationEvent -> MAY_HAVE_AGENT -> MigrationAgent
  MigrationMetadata -> MAY_REFERENCE -> MigrationProvenance

# ---------- IDENTITY ----------
rule migration_identity:
  MigrationEvent SHOULD have stable MigrationIdentifier

rule source_target:
  TargetPreservationObject != SourcePreservationObject

rule migration_not_overwrite:
  source preservation evidence SHOULD NOT be overwritten
  by target migration metadata

# ---------- TYPES ----------
migration_types:
  - format_migration
  - media_migration
  - storage_migration
  - system_migration
  - platform_migration
  - database_migration
  - encoding_migration
  - normalisation
  - transcoding
  - schema_migration
  - container_migration

rule migration_type:
  MigrationType SHOULD preserve transformation semantics

# ---------- SOURCE / TARGET ----------
entity SourcePreservationObject:
  type: PreservationObject
  may_include: [object_identifier, object_version, format, size, fixity, technical_metadata]

entity TargetPreservationObject:
  type: PreservationObject
  may_include: [object_identifier, object_version, format, size, fixity, technical_metadata]

rule source:
  source object identity and version MUST be preserved

rule target:
  target object SHOULD receive distinct identity or version
  according_to preservation policy

# ---------- MIGRATION FORMS ----------
entity FormatMigration:
  subtype_of: MigrationEvent

rule format_migration:
  format migration SHOULD preserve source and target format identifiers

rule extension:
  file extension != verified format identity

entity MediaMigration:
  subtype_of: MigrationEvent

rule media_migration:
  media migration MAY preserve identical file bytes
  while changing physical storage

rule media_format:
  media migration != format migration
  unless file representation also changes

entity SystemMigration:
  subtype_of: MigrationEvent
  may_include:
    - source_system
    - target_system
    - source_schema
    - target_schema
    - transformation_rules

rule system:
  system migration SHOULD preserve data mapping
  and transformation provenance

entity DatabaseMigration:
  subtype_of: SystemMigration
  may_include:
    - source_database
    - target_database
    - schema_mapping
    - datatype_mapping
    - record_counts
    - constraints
    - indexes

entity NormalisationMigration:
  subtype_of: MigrationEvent

entity TranscodingMigration:
  subtype_of: MigrationEvent
  may_include:
    - codec_source
    - codec_target
    - quality_parameters
    - bitrate
    - resolution
    - sampling_parameters

rule transcoding:
  transcoding MAY be lossy or lossless
  and SHOULD preserve quality-impact metadata

# ---------- TOOL / PARAMETERS ----------
entity MigrationTool:
  type: SoftwareAgent
  may_include:
    - tool_identifier
    - tool_name
    - tool_version
    - vendor
    - configuration

rule tool:
  MigrationTool and version SHOULD be preserved
  for reproducibility

entity MigrationParameters:
  type: ProcessingMetadata
  may_include:
    - parameter_name
    - value
    - datatype
    - unit
    - configuration_reference

rule parameters:
  material migration parameters SHOULD be preserved

entity MigrationAgent:
  type: Agent
  may_be: [Person, Organization, SoftwareAgent, AutomatedProcess]

# ---------- PLAN / TRIGGER ----------
entity MigrationPlan:
  type: PreservationPlan
  may_include:
    - target_objects
    - source_formats
    - target_formats
    - rationale
    - tool
    - parameters
    - validation_requirements
    - rollback_plan
    - acceptance_criteria

rule plan:
  MigrationPlan SHOULD define validation
  and acceptance criteria before execution

entity MigrationTrigger:
  type: PreservationTrigger
  may_include:
    - format_obsolescence
    - software_obsolescence
    - hardware_obsolescence
    - storage_risk
    - policy_change
    - interoperability_requirement

# ---------- FIXITY ----------
entity SourceMigrationFixity:
  type: FixityMetadata

entity TargetMigrationFixity:
  type: FixityMetadata

rule fixity:
  source and target fixity SHOULD be independently calculated
  where byte representation changes

rule fixity_difference:
  source_fixity != target_fixity
  MAY be expected during transformative migration

rule fixity_semantics:
  differing fixity != migration failure
  when migration intentionally changes byte representation

# ---------- VALIDATION / SIGNIFICANT PROPERTIES ----------
entity MigrationValidation:
  type: ValidationMetadata
  may_include:
    - format_validation
    - structural_validation
    - content_validation
    - metadata_validation
    - record_count_validation
    - rendering_validation
    - semantic_validation
    - fixity_validation
    - result
    - errors
    - warnings

validation_results:
  - passed
  - passed_with_warnings
  - failed
  - partial
  - indeterminate
  - unknown

rule validation:
  MigrationValidation SHOULD preserve validation methods and outcomes

entity SignificantProperty:
  type: PreservationMetadata
  may_include:
    - property_identifier
    - property_name
    - expected_value
    - tolerance
    - preservation_priority

significant_property_examples:
  - text_content
  - image_dimensions
  - colour_space
  - page_order
  - layout
  - audio_duration
  - sample_rate
  - video_duration
  - frame_rate
  - database_records
  - relationships
  - metadata_fields

rule significant_properties:
  migration success SHOULD be assessed
  against preservation-significant properties

# ---------- FIDELITY / CONTINUITY ----------
migration_fidelity:
  - lossless
  - lossy
  - functionally_equivalent
  - partially_equivalent
  - unknown

rule fidelity:
  migration fidelity SHOULD be explicit

rule lossy:
  lossy migration SHOULD preserve known information loss
  and acceptance rationale

entity SemanticContinuity:
  type: PreservationAssessment
  may_include:
    - source_intellectual_entity
    - target_representation
    - preserved_properties
    - changed_properties
    - lost_properties
    - assessment_method
    - confidence

rule continuity:
  semantic continuity != byte identity

rule intellectual_entity:
  target representation MAY continue same IntellectualEntity
  while File identity changes

# ---------- DERIVATION / CHAIN ----------
entity MigrationDerivation:
  type: ProvenanceRelationship

rule derivation:
  migration MUST preserve source-to-target derivation

entity MigrationChain:
  type: ProvenanceStructure
  contains: MigrationEvent

rule chain:
  migration sequence SHOULD preserve chronological order

# ---------- ROLLBACK / FAILURE ----------
entity MigrationRollback:
  type: PreservationEvent
  may_include:
    - failed_migration
    - rollback_source
    - restored_state
    - reason
    - validation

entity MigrationFailure:
  type: PreservationRisk
  may_include:
    - migration_event
    - failure_type
    - errors
    - affected_objects
    - recovery_action

failure_types:
  - tool_failure
  - invalid_output
  - data_loss
  - metadata_loss
  - structural_loss
  - semantic_loss
  - unsupported_format
  - incomplete_conversion
  - unknown

# ---------- RISK / VERSION / ACCEPTANCE ----------
entity MigrationRisk:
  type: RiskMetadata
  may_include:
    - source_format_risk
    - target_format_risk
    - tool_risk
    - information_loss_risk
    - metadata_loss_risk
    - dependency_risk
    - reversibility
    - risk_level
    - assessment_time

entity MigrationVersionMetadata:
  type: VersionMetadata
  may_include:
    - source_version
    - target_version
    - migration_event
    - predecessor
    - successor

entity MigrationAcceptance:
  type: ValidationMetadata
  may_include:
    - acceptance_criteria
    - validation_results
    - accepted_by
    - acceptance_time
    - status

acceptance_status:
  - accepted
  - rejected
  - conditionally_accepted
  - pending

rule acceptance:
  successful tool completion != accepted preservation migration
  without required validation

# ---------- PROVENANCE ----------
entity MigrationProvenance:
  type: ProvenanceMetadata
  may_include:
    - source_object
    - source_version
    - target_object
    - target_version
    - migration_event
    - migration_tool
    - parameters
    - agent
    - validation
    - acceptance
    - timestamps
    - migration_chain

rule provenance:
  MigrationMetadata SHOULD preserve complete source-to-target history

# ---------- VALIDATION RULES ----------
validation:
  require:
    - identifiable_migration_event
    - identifiable_source_object
    - identifiable_target_object
    - migration_type

  reject:
    - target_object_presented_as identical_source_file
    - source_metadata_overwritten_by target_metadata
    - differing_fixity_presented_as automatic_failure_for_transformative_migration
    - tool_completion_presented_as migration_success_without required_validation
    - semantic_continuity_presented_as byte_identity
    - lossy_migration_presented_as lossless_without evidence
    - migrated_output_presented_as accepted_without acceptance_evidence

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "migration metadata" ~= "metadata describing preservation migration"
  "format migration" ~= "conversion from source format to target format"
  "preservation migration" ~= "managed transformation for continued digital preservation"
  "migration validation" ~= "assessment of migrated output against preservation requirements"
  "migration chain" ~= "ordered provenance sequence of migrations"
  "significant properties" ~= "properties prioritised for preservation during migration"

  PRESERVE distinctions:
    source_object != target_object
    source_file != migrated_file
    media_migration != format_migration
    migration_completion != migration_acceptance
    fixity_difference != automatic_failure
    semantic_continuity != byte_identity
    lossless != lossy
    target_format_identifier != filename_extension
    derivation != identity
    rollback != successful_migration

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_migration_metadata:
    score: 1.00
  source_target_identifiers_preserved:
    score: 1.00
  validated_source_and_target_formats:
    score: 0.99
  complete_tool_and_parameter_metadata:
    score: 0.99
  validated_significant_properties:
    score: 0.99
  accepted_migration:
    score: 0.99
  tool_completion_only:
    score: <= 0.75
  incomplete_validation:
    score: <= 0.70
  unknown_information_loss:
    score: <= 0.60
  missing_source_provenance:
    score: <= 0.50
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_migration_plan:
    - identify source objects and formats
    - select target formats
    - define significant properties
    - select MigrationTool
    - define parameters
    - define validation and acceptance criteria
    - initialise provenance

  on_migration_execution:
    - preserve source object
    - execute transformation
    - create TargetPreservationObject
    - record tool and parameters
    - calculate target fixity
    - create MigrationEvent
    - update provenance

  on_validation:
    - validate target format
    - compare significant properties
    - validate structure, content, and metadata
    - record known loss or changes
    - calculate fidelity state
    - update confidence

  on_acceptance:
    - evaluate validation against acceptance criteria
    - record acceptance status
    - preserve source according_to retention policy
    - update migration chain and provenance

  on_failure:
    - preserve failed output and evidence where appropriate
    - classify MigrationFailure
    - execute rollback where required
    - retain source preservation object
    - update provenance

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - migration_entities
    - relationships
    - migration_type_rules
    - source_target_rules
    - validation_rules
    - significant_property_rules
    - continuity_rules
    - acceptance_rules
    - semantic_equivalence
    - confidence
    - update_model

  canonicalisation:
    - preserve_migration_identifiers
    - preserve_source_and_target_identifiers
    - preserve_source_and_target_versions
    - preserve_format_identifiers
    - preserve_tool_versions_and_parameters
    - preserve_migration_chain_order
    - preserve_validation_evidence
    - preserve_rule_order

  output:
    deterministic_semantic_hash

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
  interpret_as:
    - digital preservation metadata ontology
    - preservation migration lifecycle model
    - source-to-target transformation and validation structure
    - significant-property and semantic-continuity model

  operations:
    - identify MigrationEvent
    - resolve source and target objects
    - classify migration type
    - resolve source and target formats
    - inspect migration tool and parameters
    - inspect source and target fixity
    - validate significant properties
    - assess lossless, lossy, or functional equivalence
    - trace derivation and migration chains
    - inspect rollback and failure evidence
    - evaluate acceptance
    - assess migration risk
    - trace provenance
    - preserve uncertainty

  constraints:
    - do_not_equate_source_file_with migrated_file
    - do_not_overwrite_source_preservation_evidence
    - do_not_equate_fixity_difference_with automatic_failure
    - do_not_equate_tool_completion_with accepted_migration
    - do_not_equate_semantic_continuity_with byte_identity
    - do_not_present_lossy_migration_as lossless
    - preserve_source_target_formats_tools_validation_acceptance_and_provenance

# ---------- QUERY MODEL ----------
query:
  input:
    - migration_identifier
    - source_object_identifier
    - target_object_identifier
    - migration_type
    - source_format
    - target_format
    - tool_identifier
    - validation_state
    - acceptance_state
    - assessment_time

  resolve:
    1. identify MigrationEvent
    2. resolve source object and version
    3. resolve target object and version
    4. classify MigrationType
    5. inspect source and target formats
    6. inspect tool, parameters, and agent
    7. inspect fixity and significant properties
    8. inspect validation, fidelity, and acceptance
    9. traverse migration chain, risk, and provenance
    10. return confidence

  output:
    - migration_event
    - migration_identifier
    - source_object
    - source_version
    - target_object
    - target_version
    - migration_type
    - source_format
    - target_format
    - tool
    - parameters
    - validation
    - significant_properties
    - fidelity
    - acceptance
    - provenance
    - confidence

# ---------- INFERENCE ----------
inference:
  IF target format validates
  AND required significant properties are preserved
  AND acceptance criteria pass
  THEN infer accepted_migration_candidate

  IF source and target fixity differ
  AND migration intentionally transforms bytes
  THEN do_not infer migration failure from fixity difference alone

  IF significant properties are lost
  THEN classify migration fidelity according_to loss
  AND preserve acceptance rationale

  IF migration provenance is incomplete
  THEN preserve source-target uncertainty
  AND reduce confidence

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: MigrationMetadata
  migration_identity: machine_interpretable
  source_and_target_objects: distinguishable
  versions: traceable
  migration_types: explicit
  source_and_target_formats: validated
  tools_and_parameters: reproducible
  fixity: transformation_aware
  significant_properties: explicit
  validation: evidence_based
  fidelity: explicit
  semantic_continuity: byte_identity_distinct
  derivation_and_chains: traversable
  rollback_and_failure: traceable
  acceptance: explicit
  risk: reportable
  provenance: preserved
  uncertainty: explicit
  long_term_preservation: enabled

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