Skip to main content

Image Metadata Ontology

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

Ontology: Image Metadata Ontology
Domain: Metadata Ontologies > Document Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/document-metadata/image-metadata-ontology.html

Authors: Mark Anthony Higgins — Sky (Recursive AI)

flow "ImageMetadataOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: DocumentMetadata
  subject: ImageMetadata
  purpose:
    - represent metadata describing image resources and image representations
    - preserve image identity, dimensions, format, colour, capture, content, rights, integrity, and provenance
    - support image discovery, validation, accessibility, retrieval, transformation, and reuse
    - distinguish visual content from technical metadata and derived representations
    - enable machine-readable reasoning over image lifecycles

# ---------- CORE ENTITY ----------
entity ImageMetadata:
  type: DocumentMetadata
  describes: ImageResource
  may_include:
    - image_identifier
    - title
    - description
    - alternative_text
    - creator
    - capture_time
    - creation_time
    - modification_time
    - width
    - height
    - resolution
    - orientation
    - image_format
    - media_type
    - colour_space
    - bit_depth
    - compression
    - camera_metadata
    - location_metadata
    - subject_metadata
    - embedded_metadata
    - rights
    - licence
    - checksum
    - version
    - provenance

entity ImageResource:
  type: MediaResource
  may_be:
    - Photograph
    - Illustration
    - Diagram
    - Chart
    - Screenshot
    - Scan
    - Render
    - ScientificImage
    - SatelliteImage
    - MedicalImage
    - GeneratedImage

entity ImageIdentifier:
  type: Identifier
  identifies: ImageResource

# ---------- RELATIONSHIPS ----------
relationships:
  ImageMetadata -> DESCRIBES -> ImageResource
  ImageResource -> IDENTIFIED_BY -> ImageIdentifier
  ImageResource -> HAS_REPRESENTATION -> ImageRepresentation
  ImageRepresentation -> HAS_FORMAT -> ImageFormat
  ImageRepresentation -> HAS_DIMENSIONS -> ImageDimensions
  ImageRepresentation -> MAY_HAVE_COLOUR_SPACE -> ColourSpace
  ImageRepresentation -> MAY_USE_COMPRESSION -> CompressionMethod
  ImageResource -> MAY_HAVE_CREATOR -> Agent
  ImageResource -> MAY_HAVE_CAPTURE_METADATA -> CaptureMetadata
  ImageResource -> MAY_HAVE_LOCATION -> SpatialMetadata
  ImageResource -> MAY_DEPICT -> Entity
  ImageResource -> MAY_HAVE_VERSION -> ImageVersion
  ImageMetadata -> MAY_REFERENCE -> ImageProvenance

# ---------- IMAGE IDENTITY ----------
rule image_identity:
  ImageResource SHOULD have stable ImageIdentifier
  where persistent reference or provenance is required

rule filename_not_identity:
  filename MUST NOT be assumed globally unique image identity

rule representation_identity:
  ImageResource != ImageRepresentation

rule derived_representation:
  resized, recompressed, or reformatted image MAY preserve same underlying visual resource
  while creating distinct ImageRepresentation

# ---------- DIMENSIONS ----------
entity ImageDimensions:
  type: SpatialMetadata
  may_include:
    - width
    - height
    - unit

rule dimensions:
  raster image dimensions SHOULD preserve pixel width and height

rule aspect_ratio:
  IF width > 0 AND height > 0
  THEN aspect_ratio = width / height

rule crop:
  cropped image SHOULD preserve derivation relationship
  to source image where provenance matters

# ---------- RESOLUTION ----------
entity ImageResolution:
  type: RepresentationMetadata
  may_include:
    - pixel_density
    - horizontal_resolution
    - vertical_resolution
    - unit

rule resolution:
  pixel dimensions != physical print resolution

rule resolution_context:
  resolution values SHOULD preserve unit
  such as pixels_per_inch or pixels_per_centimetre

# ---------- FORMAT ----------
entity ImageFormat:
  type: RepresentationMetadata
  examples:
    - JPEG
    - PNG
    - GIF
    - WebP
    - TIFF
    - BMP
    - SVG
    - HEIF
    - AVIF

rule format:
  ImageFormat != image content type

rule extension:
  filename extension MUST NOT be treated as definitive ImageFormat identity

rule media_type:
  MediaType SHOULD preserve applicable image MIME semantics

# ---------- COLOUR ----------
entity ColourSpace:
  type: RepresentationMetadata
  examples:
    - sRGB
    - AdobeRGB
    - DisplayP3
    - CMYK
    - Grayscale
    - Lab

rule colour_space:
  ColourSpace SHOULD be preserved
  where rendering or colour interpretation depends on it

rule colour_profile:
  embedded ICC profile SHOULD remain associated with ImageRepresentation

# ---------- BIT DEPTH ----------
entity BitDepth:
  type: RepresentationMetadata
  may_include:
    - bits_per_channel
    - channel_count

rule bit_depth:
  bit depth SHOULD preserve channel interpretation

# ---------- COMPRESSION ----------
entity CompressionMethod:
  type: RepresentationMetadata
  may_be:
    - lossless
    - lossy

rule compression:
  compression method SHOULD preserve whether transformation is lossy

rule lossy:
  lossy recompression MAY alter image data
  and SHOULD create new representation provenance

# ---------- ORIENTATION ----------
entity ImageOrientation:
  type: RepresentationMetadata
  may_include:
    - rotation
    - mirror_state
    - exif_orientation

rule orientation:
  display orientation MAY depend on embedded orientation metadata

rule pixel_orientation:
  stored pixel arrangement != displayed orientation
  when orientation transform is applied

# ---------- CAPTURE METADATA ----------
entity CaptureMetadata:
  type: TechnicalMetadata
  may_include:
    - camera_make
    - camera_model
    - lens
    - focal_length
    - aperture
    - exposure_time
    - ISO
    - flash
    - capture_time
    - orientation
    - location

rule capture:
  CaptureMetadata SHOULD remain distinguishable
  from later editing metadata

rule capture_time:
  capture time MAY differ from file creation or modification time

# ---------- EMBEDDED METADATA ----------
embedded_metadata_types:
  - EXIF
  - IPTC
  - XMP
  - ICC

rule embedded_metadata:
  embedded metadata SHOULD preserve source namespace and field semantics

rule metadata_conflict:
  conflicting EXIF, IPTC, XMP, or external metadata
  SHOULD remain traceable
  rather_than silently overwritten

# ---------- LOCATION ----------
entity ImageLocationMetadata:
  type: SpatialMetadata
  may_include:
    - latitude
    - longitude
    - altitude
    - place
    - coordinate_reference

rule location:
  capture location != depicted location
  unless explicitly established

# ---------- SUBJECT / CONTENT ----------
entity ImageSubjectMetadata:
  type: SemanticMetadata
  may_include:
    - depicted_entity
    - concept
    - scene
    - object
    - event
    - keyword

rule depiction:
  ImageResource MAY depict Entity
  without implying creator, owner, or location identity

rule automated_tag:
  machine-generated subject tag MUST remain distinguishable
  from human-verified annotation

# ---------- ALTERNATIVE TEXT ----------
entity ImageAlternativeText:
  type: AccessibilityMetadata
  describes: ImagePurposeOrContent

rule alt_text:
  alternative text SHOULD describe relevant image purpose or content
  according_to accessibility context

rule alt_not_filename:
  filename != AlternativeText

rule decorative_image:
  decorative image MAY intentionally have empty alternative text
  according_to accessibility semantics

# ---------- GENERATED IMAGES ----------
entity GeneratedImage:
  subtype_of: ImageResource
  generated_by: AIModelOrRenderingProcess

rule generated_image:
  generated image SHOULD preserve generating process
  where provenance is required

rule generated_source_distinction:
  generated image != captured photograph
  unless composite provenance explicitly includes photographic source

# ---------- EDITING / DERIVATION ----------
entity ImageTransformation:
  type: ProcessingActivity
  may_include:
    - crop
    - resize
    - rotate
    - colour_adjustment
    - retouch
    - compositing
    - format_conversion
    - compression

rule transformation:
  transformed ImageRepresentation SHOULD preserve:
    - source_image
    - operation
    - parameters
    - software_or_agent
    - timestamp
    - output_representation

# ---------- RIGHTS ----------
entity ImageRights:
  type: RightsMetadata
  may_include:
    - creator
    - copyright_holder
    - licence
    - usage_rights
    - attribution_requirement
    - restrictions

rule rights:
  ImageRights SHOULD remain distinct
  from technical metadata and access state

# ---------- INTEGRITY ----------
entity ImageChecksum:
  type: IntegrityMetadata
  may_include:
    - algorithm
    - digest

rule checksum:
  checksum applies to specific byte representation

rule perceptual_hash:
  perceptual similarity hash != cryptographic integrity hash

# ---------- VERSION ----------
entity ImageVersion:
  type: VersionMetadata
  may_include:
    - version_identifier
    - predecessor
    - successor
    - creation_time
    - change_description

rule version:
  material visual or semantic change MAY create distinguishable ImageVersion

rule representation_change:
  pure format conversion MAY create new representation
  without creating new semantic ImageVersion

# ---------- PROVENANCE ----------
entity ImageProvenance:
  type: ProvenanceMetadata
  may_include:
    - creator
    - capture_device
    - source_image
    - generation_process
    - editing_history
    - conversion_history
    - software
    - timestamps

rule provenance:
  ImageMetadata SHOULD preserve origin and transformation history
  at granularity available

# ---------- VALIDATION ----------
validation:
  require:
    - identifiable_image_resource

  validate_if_present:
    - image_identifier
    - dimensions
    - resolution
    - format
    - media_type
    - colour_space
    - bit_depth
    - orientation
    - capture_metadata
    - location
    - subject_metadata
    - alternative_text
    - rights
    - checksum
    - provenance

  reject:
    - invalid_image_dimensions
    - contradictory_format_metadata
    - unsupported_colour_space_claim
    - capture_location_presented_as depicted_location_without evidence
    - filename_presented_as alternative_text
    - perceptual_hash_presented_as cryptographic_integrity_proof
    - generated_image_presented_as captured_photograph_without provenance

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "image metadata" ~= "metadata about an image"
  "image dimensions" ~= "pixel dimensions" WHEN raster representation applies
  "image format" ~= "image file format"
  "image orientation" ~= "display orientation" WHEN orientation metadata controls display
  "alt text" ~= "alternative text"
  "image provenance" ~= "image origin and editing history"

  PRESERVE distinctions:
    image_resource != image_representation
    dimensions != resolution
    format != media_type
    capture_time != file_creation_time
    capture_location != depicted_location
    filename != alt_text
    generated_tag != verified_annotation
    perceptual_hash != cryptographic_hash
    format_conversion != semantic_image_change
    generated_image != captured_photograph

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_image_metadata:
    score: 1.00

  parser_validated_image_format:
    score: 0.99

  explicit_embedded_metadata:
    score: 0.98

  cryptographic_checksum_match:
    score: 0.99

  human_verified_subject_annotation:
    score: 0.98

  machine_generated_subject_tag:
    score: <= 0.85

  extension_inferred_format:
    score: <= 0.70

  ambiguous_image_metadata:
    score: <= 0.60
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_image_creation:
    - assign ImageIdentifier
    - record representation metadata
    - record creator or capture metadata
    - calculate integrity metadata where required
    - initialise provenance

  on_image_transformation:
    - preserve source image
    - create transformed representation or version
    - record operation and parameters
    - recalculate checksum
    - update provenance

  on_metadata_update:
    - preserve previous metadata where auditability requires
    - record source of changed metadata
    - detect metadata conflicts
    - update provenance

  on_format_conversion:
    - preserve ImageResource identity where semantics are unchanged
    - create new ImageRepresentation
    - record source and target formats
    - preserve conversion provenance

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - image_entities
    - relationships
    - identity_rules
    - representation_rules
    - capture_rules
    - accessibility_rules
    - integrity_rules
    - provenance_rules
    - validation
    - semantic_equivalence
    - confidence
    - update_model

  canonicalisation:
    - normalise_whitespace
    - preserve_case_sensitive_identifiers
    - sort_unordered_property_sets
    - preserve_rule_order

  output:
    deterministic_semantic_hash

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
  interpret_as:
    - document metadata ontology
    - image resource and representation model
    - image accessibility and semantic annotation structure
    - image provenance and integrity model

  operations:
    - identify image resources
    - resolve image representations
    - inspect dimensions and resolution
    - identify format and media type
    - interpret colour and orientation metadata
    - inspect capture metadata
    - resolve spatial metadata
    - inspect subjects and annotations
    - evaluate alternative text
    - distinguish generated and captured images
    - trace transformations
    - verify integrity
    - preserve provenance

  constraints:
    - do_not_equate_filename_with_identity
    - do_not_equate_dimensions_with_resolution
    - do_not_equate_capture_location_with depicted_location
    - do_not_present_machine_tag_as verified_annotation
    - do_not_equate_perceptual_hash_with cryptographic_integrity
    - preserve_source_representation_transformations_rights_and_provenance

# ---------- QUERY MODEL ----------
query:
  input:
    - image_identifier
    - image_type
    - creator
    - format
    - dimensions
    - capture_time
    - location
    - subject
    - version
    - checksum

  resolve:
    1. identify ImageResource
    2. resolve ImageIdentifier
    3. inspect ImageRepresentations
    4. inspect dimensions, resolution, and format
    5. inspect colour, orientation, and capture metadata
    6. resolve location and subject metadata
    7. inspect accessibility metadata
    8. traverse versions and transformations
    9. inspect rights, integrity, and provenance
    10. return confidence

  output:
    - image_resource
    - identifier
    - representations
    - dimensions
    - resolution
    - format
    - colour_space
    - capture_metadata
    - location
    - subjects
    - accessibility
    - integrity
    - provenance
    - confidence

# ---------- INFERENCE ----------
inference:
  IF parser validates image representation
  THEN identify ImageFormat
  WITH confidence = 0.99

  IF authoritative ImageIdentifier resolves uniquely
  THEN identify ImageResource
  WITH confidence = 1.00

  IF transformed representation references source image
  THEN infer derivation relationship

  IF EXIF location exists
  THEN infer capture_location candidate
  NOT depicted_location

  IF metadata remains ambiguous
  THEN preserve candidate interpretations
  AND reduce confidence

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: ImageMetadata
  image_identity: machine_interpretable
  representations: format_aware
  dimensions_and_resolution: explicit
  colour_and_orientation: preserved
  capture_metadata: traceable
  spatial_metadata: context_aware
  semantic_annotations: confidence_qualified
  accessibility: reportable
  integrity: verifiable
  transformations: traceable
  provenance: preserved
  uncertainty: explicit
  semantic_retrieval: enabled

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