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
Download Code
Copy to Clipboard