Data Metadata
Authors:
MArk Anthony Higgins - Sky Recursive Ai
MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: July 6th 2026
Revised Date: July 6th 2026
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Ontology: Data Metadata Ontology
Domain: Metadata Ontologies > Data Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/data-metadata.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "DataMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: DataMetadata
subject: DataMetadata
purpose:
- represent metadata describing data resources
- describe structure, semantics, representation, quality, provenance, and lifecycle
- support data discovery, interpretation, validation, integration, and reuse
- preserve relationships between datasets, schemas, fields, records, and values
- enable machine-readable reasoning over data assets
# ---------- CORE ENTITY ----------
entity DataMetadata:
type: MetadataEntity
describes: DataResource
may_include:
- identifier
- title
- description
- data_type
- schema
- format
- encoding
- field_metadata
- value_domain
- unit
- quality
- provenance
- source
- version
- temporal_metadata
- spatial_metadata
- access_metadata
- rights_metadata
- lifecycle_metadata
entity DataResource:
type: InformationResource
may_be:
- Dataset
- DataFile
- Database
- Table
- Record
- DataStream
- DataObject
- DerivedDataset
entity Dataset:
subtype_of: DataResource
contains:
- Record
- DataField
- DataValue
entity DataSchema:
type: StructuralMetadata
defines:
- fields
- datatypes
- constraints
- relationships
- cardinality
entity DataField:
type: SchemaElement
may_have:
- field_name
- semantic_definition
- datatype
- unit
- value_domain
- nullability
- constraint
entity DataValue:
type: DataElement
belongs_to: DataField
# ---------- RELATIONSHIPS ----------
relationships:
DataMetadata -> DESCRIBES -> DataResource
Dataset -> CONFORMS_TO -> DataSchema
DataSchema -> DEFINES -> DataField
Dataset -> CONTAINS -> Record
Record -> HAS_VALUE -> DataValue
DataValue -> BELONGS_TO -> DataField
DataField -> HAS_DATATYPE -> DataType
DataField -> MAY_USE -> Unit
DataField -> MAY_HAVE -> ValueDomain
DataResource -> HAS_FORMAT -> DataFormat
DataResource -> MAY_HAVE_ENCODING -> DataEncoding
DataResource -> MAY_HAVE -> DataQuality
DataResource -> MAY_HAVE_VERSION -> DataVersion
DataResource -> DERIVED_FROM -> DataSource
DataMetadata -> MAY_REFERENCE -> Provenance
DataResource -> MAY_HAVE -> TemporalMetadata
DataResource -> MAY_HAVE -> SpatialMetadata
# ---------- IDENTIFICATION ----------
rule resource_identity:
DataResource SHOULD have stable Identifier
where persistent reference is required
rule identifier_uniqueness:
Identifier MUST be unique within its declared namespace
rule title_not_identity:
title MUST NOT be treated as globally unique resource identity
# ---------- SCHEMA ----------
rule schema_conformance:
IF Dataset declares DataSchema
THEN records SHOULD conform to declared schema
rule datatype:
DataValue MUST be interpretable according_to DataField datatype
unless explicitly marked invalid or unresolved
rule required_field:
IF DataField constraint = required
THEN corresponding value MUST exist
unless schema semantics explicitly permit absence
rule nullability:
null_value MUST be distinguished from:
- missing_value
- empty_string
- zero
- false
# ---------- VALUE DOMAIN ----------
entity ValueDomain:
type: SemanticConstraint
may_define:
- allowed_values
- minimum_value
- maximum_value
- pattern
- vocabulary
- unit
rule domain_validation:
IF ValueDomain exists
THEN DataValue SHOULD be validated against domain constraints
rule controlled_vocabulary:
IF ValueDomain references controlled vocabulary
THEN preserve vocabulary identifier and term identity
# ---------- UNITS ----------
rule unit_context:
quantitative DataField SHOULD declare Unit
where interpretation depends on measurement unit
rule unit_compatibility:
comparisons between quantitative values REQUIRE compatible dimensions
rule unit_conversion:
IF units differ but dimensions are compatible
THEN valid conversion MAY normalise values for comparison
# ---------- FORMAT / ENCODING ----------
entity DataFormat:
type: RepresentationMetadata
examples:
- CSV
- JSON
- XML
- RDF
- Parquet
- binary
- plain_text
entity DataEncoding:
type: RepresentationMetadata
describes: CharacterOrBinaryEncoding
rule format:
DataFormat describes representation
AND MUST NOT be assumed to define semantic meaning alone
rule encoding:
textual DataResource SHOULD preserve character encoding
where required for deterministic interpretation
rule format_conversion:
conversion between formats SHOULD preserve:
- values
- schema semantics
- identifiers
- provenance
where target representation supports them
# ---------- QUALITY ----------
entity DataQuality:
type: QualityMetadata
dimensions:
- completeness
- validity
- consistency
- accuracy
- uniqueness
- timeliness
- integrity
rule quality_context:
DataQuality assertion SHOULD identify metric, method, and scope
rule missing_data:
missing data MUST NOT automatically be interpreted as invalid data
# ---------- PROVENANCE ----------
entity Provenance:
type: MetadataEntity
describes:
- origin
- creator
- source
- transformation
- processing_history
- version_history
rule provenance_chain:
DerivedDataset SHOULD retain links to source DataResource
rule transformation:
data transformation SHOULD record:
- input_resource
- operation
- parameters
- software_or_agent
- output_resource
- timestamp
# ---------- VERSION ----------
entity DataVersion:
type: VersionMetadata
may_include:
- version_identifier
- creation_time
- predecessor
- successor
- change_description
- status
rule version_history:
material changes SHOULD produce distinguishable DataVersion
rule historical_preservation:
superseded versions SHOULD remain traceable
where provenance or reproducibility requires
# ---------- TEMPORAL / SPATIAL ----------
rule temporal_context:
IF data meaning depends on time
THEN TemporalMetadata SHOULD be preserved
rule spatial_context:
IF data meaning depends on location
THEN SpatialMetadata SHOULD be preserved
# ---------- ACCESS / RIGHTS ----------
entity AccessMetadata:
type: AdministrativeMetadata
may_include:
- access_level
- access_method
- authentication_requirement
- availability
entity RightsMetadata:
type: AdministrativeMetadata
may_include:
- licence
- copyright
- usage_constraint
- attribution_requirement
rule access_not_rights:
AccessMetadata != RightsMetadata
# ---------- VALIDATION ----------
validation:
require:
- identifiable_data_resource
validate_if_present:
- identifier
- schema
- datatype
- format
- encoding
- value_domain
- units
- quality
- provenance
- version
- temporal_metadata
- spatial_metadata
reject:
- schema_datatype_contradiction
- value_outside_mandatory_domain
- incompatible_unit_comparison
- invalid_identifier_namespace_usage
- contradictory_version_relationship
- unsupported_quality_claim
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"data metadata" ~= "metadata about data"
"dataset metadata" ~= "data metadata" WHEN describing dataset-level properties
"field metadata" ~= "column metadata" WHEN tabular semantics apply
"schema metadata" ~= "structural metadata" WHEN describing data structure
"data provenance" ~= "provenance metadata" WHEN context = data lineage
"data format" ~= "file format" WHEN resource is file-based
PRESERVE distinctions:
data != metadata
dataset != schema
datatype != data_format
format != encoding
null != missing
empty != null
provenance != version
access_metadata != rights_metadata
data_quality != data_value
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_data_metadata:
score: 1.00
explicit_schema:
score: 1.00
explicit_provenance:
score: 1.00
schema_derived_field_semantics:
score: 0.95
inferred_datatype:
score: 0.85
inferred_schema:
score: 0.80
inferred_semantics_from_field_name:
score: <= 0.70
ambiguous_data_context:
score: <= 0.60
action: preserve uncertainty
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_data_update:
- preserve previous version where required
- validate changed values
- update quality metadata
- update provenance
- reassess derived metadata
on_schema_update:
- preserve previous schema version
- validate compatibility
- revalidate affected records
- record migration or transformation
- update provenance
on_format_conversion:
- preserve source format
- preserve source resource
- validate semantic equivalence
- record conversion process
- update provenance
on_source_change:
- preserve previous source relationship
- reassess derived data validity
- update lineage
- record provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- data_entities
- relationships
- schema_rules
- value_rules
- quality_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:
- data metadata ontology
- schema reasoning model
- data quality model
- provenance and lineage structure
- semantic retrieval model
operations:
- identify data resources
- resolve schemas
- interpret fields and values
- validate datatypes
- resolve units and value domains
- assess data quality
- trace provenance
- traverse version history
- apply temporal and spatial context
- preserve uncertainty
constraints:
- do_not_invent_missing_values
- do_not_treat_null_as zero
- do_not_equate_format_with datatype
- do_not_discard provenance
- do_not_assume field_name fully defines semantics
- preserve source data and version context
# ---------- QUERY MODEL ----------
query:
input:
- data_resource
- identifier
- field
- datatype
- value_constraint
- format
- quality_constraint
- provenance_constraint
- temporal_constraint
- spatial_constraint
resolve:
1. identify DataResource
2. retrieve DataMetadata
3. resolve DataSchema
4. resolve fields and datatypes
5. apply value-domain constraints
6. validate units where applicable
7. evaluate quality
8. trace provenance and versions
9. apply temporal and spatial context
10. rank by confidence
output:
- data_resource
- schema
- fields
- format
- quality
- provenance
- version
- confidence
# ---------- INFERENCE ----------
inference:
IF Dataset consistently conforms to observed field structure
THEN infer candidate DataSchema
WITH confidence <= 0.80
IF field values consistently match one datatype
THEN infer candidate DataType
WITH confidence <= 0.85
IF resource B is produced by documented transformation of resource A
THEN infer B DERIVED_FROM A
WITH confidence = 0.95
IF explicit version chain exists
THEN reconstruct DataResource history
IF metadata semantics remain ambiguous
THEN preserve candidate interpretations
AND reduce confidence
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: DataMetadata
data_structure: machine_interpretable
schema: explicit_where_available
field_semantics: preserved
quality: reportable
provenance: traceable
version_history: traversable
temporal_spatial_context: preserved
uncertainty: explicit
semantic_retrieval: enabled
end flow