FLOW ALGEBRA
Ontology: Mapping Metadata Ontology
Domain: Metadata Ontologies > Spatial Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/spatial-metadata/mapping-metadata-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "MappingMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: SpatialMetadata
subject: MappingMetadata
purpose:
- represent metadata describing maps and mapped spatial resources
- preserve cartographic, geographic, scale, projection, and layer context
- support map discovery, interpretation, comparison, and reuse
- describe relationships between source data and map representation
- enable machine reasoning over cartographic products
# ---------- CORE ENTITY ----------
entity MappingMetadata:
type: SpatialMetadata
describes: MapResource
may_include:
- map_title
- map_type
- geographic_extent
- coordinate_reference_system
- projection
- map_scale
- spatial_resolution
- layer_metadata
- symbology
- legend
- source_data
- creation_date
- revision_date
- cartographer
- mapping_method
- accuracy
- generalisation
- provenance
entity MapResource:
type: SpatialRepresentation
represents: GeographicOrSpatialInformation
entity MapType:
type: Classification
examples:
- topographic_map
- thematic_map
- cadastral_map
- geological_map
- road_map
- navigation_map
- reference_map
- choropleth_map
- digital_map
- web_map
entity MapScale:
type: SpatialScale
may_be:
- representative_fraction
- verbal_scale
- graphical_scale
entity MapLayer:
type: SpatialDataLayer
belongs_to: MapResource
may_include:
- layer_name
- feature_type
- source
- spatial_reference
- visibility_range
- symbology
entity Symbology:
type: CartographicRepresentation
maps:
- spatial_feature
- visual_symbol
entity Legend:
type: MapInterpretationStructure
explains: Symbology
entity SourceData:
type: Dataset
contributes_to: MapResource
entity MappingMethod:
type: ProductionMethod
examples:
- survey_mapping
- remote_sensing
- digitisation
- photogrammetry
- GIS_compilation
- field_mapping
- automated_mapping
# ---------- RELATIONSHIPS ----------
relationships:
MappingMetadata -> DESCRIBES -> MapResource
MapResource -> HAS_TYPE -> MapType
MapResource -> HAS_EXTENT -> GeographicExtent
MapResource -> USES -> CoordinateReferenceSystem
MapResource -> MAY_USE -> Projection
MapResource -> HAS_SCALE -> MapScale
MapResource -> MAY_HAVE_RESOLUTION -> SpatialResolution
MapResource -> CONTAINS -> MapLayer
MapLayer -> USES -> Symbology
Legend -> EXPLAINS -> Symbology
MapResource -> DERIVED_FROM -> SourceData
MapResource -> CREATED_BY_METHOD -> MappingMethod
MapResource -> MAY_HAVE_ACCURACY -> SpatialAccuracy
MapResource -> MAY_USE -> Generalisation
MappingMetadata -> MAY_REFERENCE -> Provenance
# ---------- MAP IDENTITY ----------
rule map_identity:
MapResource SHOULD have stable identity
independent_of individual rendering session
rule map_title:
MapTitle is descriptive metadata
AND MUST NOT be assumed globally unique
rule map_type:
MapType SHOULD reflect primary cartographic purpose
while allowing multiple secondary classifications
# ---------- SPATIAL REFERENCE ----------
rule spatial_reference:
IF map contains coordinate-dependent spatial information
THEN CoordinateReferenceSystem SHOULD be declared
rule projection:
IF map uses projected coordinates
THEN Projection SHOULD be resolvable from CRS or explicit metadata
rule extent:
GeographicExtent SHOULD describe geographic coverage of MapResource
AND MUST NOT automatically imply exact mapped feature boundaries
# ---------- SCALE ----------
rule scale_semantics:
MapScale describes relationship between map representation and real-world distance
rule representative_fraction:
IF scale represented as 1:N
THEN larger N generally indicates smaller-scale mapping
AND smaller N generally indicates larger-scale mapping
rule digital_scale:
digital maps MAY support variable display scale
therefore distinguish:
- source_scale
- compilation_scale
- display_scale
rule scale_resolution:
MapScale != SpatialResolution
although scale MAY constrain meaningful resolution and feature representation
# ---------- LAYERS ----------
rule layer_identity:
each MapLayer SHOULD have distinct semantic identity
rule layer_reference:
MapLayer MAY inherit MapResource spatial reference
unless layer-specific reference is explicitly declared
rule layer_visibility:
IF visibility_range exists
THEN preserve minimum and maximum display scales
rule layer_order:
rendering order MAY affect visual interpretation
and SHOULD be preserved where semantically relevant
# ---------- SYMBOLOGY ----------
rule symbol_mapping:
Symbology MUST associate visual representation with feature semantics
rule legend_consistency:
IF Legend exists
THEN legend entries SHOULD correspond to active map symbology
rule visual_semantics:
visual symbol differences MAY encode:
- category
- magnitude
- status
- direction
- uncertainty
- hierarchy
rule style_not_entity:
visual styling MUST NOT alter underlying spatial entity identity
# ---------- SOURCE DATA ----------
rule source_traceability:
MapResource SHOULD reference SourceData where available
rule derived_map:
IF map is derived from multiple datasets
THEN preserve source-level provenance where possible
rule source_update:
source dataset revision MAY invalidate or supersede mapped representation
# ---------- GENERALISATION ----------
entity Generalisation:
type: CartographicProcess
operations:
- simplify
- aggregate
- select
- displace
- smooth
- collapse
- exaggerate
rule generalisation_context:
cartographic generalisation MAY alter representation
without altering underlying real-world entity identity
rule scale_generalisation:
smaller display or compilation scales MAY require greater generalisation
# ---------- ACCURACY ----------
rule map_accuracy:
SpatialAccuracy MUST be distinguished from:
- SpatialResolution
- MapScale
- CoordinatePrecision
rule visual_accuracy:
apparent graphical precision MUST NOT be interpreted as positional accuracy
# ---------- VALIDATION ----------
validation:
require:
- identifiable_map_resource
validate_if_present:
- geographic_extent
- coordinate_reference_system
- projection
- map_scale
- spatial_resolution
- layers
- symbology
- legend
- source_data
- accuracy
reject:
- incompatible_projection_and_crs
- invalid_scale_representation
- unresolved_layer_reference where required
- legend_symbol_contradiction
- unsupported_accuracy_claim
- source_provenance_contradiction
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"mapping metadata" ~= "map metadata"
"cartographic metadata" ~= "mapping metadata" WHEN describing map representation
"map layer" ~= "spatial layer" WHEN layer belongs to mapped spatial resource
"map extent" ~= "geographic extent" WHEN describing geographic map coverage
"map projection" ~= "projection" WHEN context = cartographic spatial reference
"map scale" ~= "cartographic scale"
PRESERVE distinctions:
map_scale != spatial_resolution
map_scale != display_zoom
map_extent != feature_boundary
symbology != spatial_feature
legend != symbology
source_data != map_resource
map_accuracy != coordinate_precision
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_mapping_metadata:
score: 1.00
explicit_crs_and_projection:
score: 1.00
explicit_source_data:
score: 1.00
derived_extent_from_map_layers:
score: 0.95
inferred_map_type:
score: 0.85
inferred_scale_from_rendering:
score: 0.70
ambiguous_cartographic_context:
score: <= 0.60
action: preserve uncertainty
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_map_revision:
- preserve previous map version
- update revision metadata
- validate spatial reference
- validate layer structure
- update provenance
on_layer_update:
- preserve prior layer metadata where required
- validate layer spatial reference
- update extent where necessary
- validate symbology
- update provenance
on_source_data_update:
- preserve previous source reference
- reassess derived map validity
- regenerate or flag stale representations where required
- update provenance
on_projection_change:
- preserve original spatial reference
- transform mapped coordinates where valid
- reassess extent
- update provenance
on_scale_change:
- preserve source and compilation scale
- reassess generalisation
- reassess layer visibility
- preserve cartographic semantics
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- mapping_entities
- relationships
- spatial_reference_rules
- scale_rules
- layer_rules
- symbology_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:
- spatial metadata ontology
- cartographic metadata model
- map interpretation structure
- mapping provenance model
operations:
- identify map resources
- classify map types
- resolve map extent
- resolve CRS and projection
- interpret map scale
- inspect map layers
- interpret symbology and legends
- trace source data
- reason about generalisation
- distinguish scale, resolution, and accuracy
- preserve provenance
- expose uncertainty
constraints:
- do_not_equate_map_scale_with spatial_resolution
- do_not_equate_display_zoom_with source_scale
- do_not_treat_symbology_as underlying entity
- do_not_invent_source_data
- do_not_assume_visual_precision_equals accuracy
- preserve map revision and provenance context
# ---------- QUERY MODEL ----------
query:
input:
- map_resource
- map_type
- geographic_extent
- layer
- scale_constraint
- projection
- source_data
- thematic_subject
resolve:
1. identify MapResource
2. retrieve MappingMetadata
3. resolve MapType
4. resolve GeographicExtent
5. resolve CRS and Projection
6. evaluate MapScale and SpatialResolution
7. inspect MapLayers
8. interpret Symbology and Legend
9. trace SourceData and Provenance
10. rank results by confidence
output:
- map_resource
- map_type
- geographic_extent
- spatial_reference
- map_scale
- layers
- source_data
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF map layers have valid spatial extents
THEN derive aggregate MapResource extent
WITH confidence = 0.95
IF authoritative CRS identifier exists
THEN resolve map spatial reference
WITH confidence = 1.00
IF map contains thematic classification and thematic symbology
THEN infer ThematicMap candidate
WITH confidence <= 0.85
IF source data and transformation history are available
THEN construct mapping provenance chain
IF only rendered image is available
AND no scale or reference metadata exists
THEN do_not infer precise geospatial properties
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: MappingMetadata
map_structure: machine_interpretable
spatial_reference: preserved
geographic_extent: resolvable
scale_context: explicit
layers: semantically_addressable
symbology: interpretable
source_provenance: traceable
uncertainty: explicit
semantic_retrieval: enabled
end flow
Download Code
Copy to Clipboard