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