Skip to main content

Scientific Dataset Ontology

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

Ontology: Scientific Dataset Ontology
Domain: Metadata Ontologies > Scientific Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/scientific-metadata/scientific-dataset-ontology.html

Authors: Mark Anthony Higgins — Sky (Recursive AI)

flow "ScientificDatasetOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: ScientificMetadata
  subject: ScientificDataset
  purpose:
    - represent scientific datasets and their metadata
    - preserve scientific, structural, methodological, temporal, and spatial context
    - support dataset discovery, validation, integration, reproducibility, and reuse
    - connect datasets with observations, measurements, experiments, methods, and provenance
    - enable machine-readable reasoning over scientific data collections

# ---------- CORE ENTITY ----------
entity ScientificDataset:
  type: ScientificResource
  contains:
    - Observation
    - Measurement
    - ScientificVariable
    - DataRecord
  may_include:
    - dataset_identifier
    - title
    - description
    - scientific_domain
    - schema
    - variables
    - dimensions
    - units
    - data_format
    - encoding
    - method
    - instrument
    - experiment
    - sample
    - temporal_coverage
    - spatial_coverage
    - quality
    - uncertainty
    - provenance
    - version
    - licence
    - access_metadata

entity DatasetIdentifier:
  type: Identifier
  identifies: ScientificDataset

entity ScientificVariable:
  type: DatasetVariable
  may_have:
    - variable_name
    - semantic_definition
    - datatype
    - unit
    - dimension
    - valid_range
    - missing_value_semantics

entity DatasetDimension:
  type: StructuralAxis
  examples:
    - time
    - latitude
    - longitude
    - depth
    - height
    - sample
    - replicate
    - wavelength
    - frequency

entity DataRecord:
  type: StructuredDataEntity
  belongs_to: ScientificDataset

# ---------- RELATIONSHIPS ----------
relationships:
  ScientificDataset -> IDENTIFIED_BY -> DatasetIdentifier
  ScientificDataset -> BELONGS_TO_DOMAIN -> ScientificDomain
  ScientificDataset -> CONFORMS_TO -> DataSchema
  ScientificDataset -> HAS_VARIABLE -> ScientificVariable
  ScientificDataset -> HAS_DIMENSION -> DatasetDimension
  ScientificDataset -> CONTAINS -> Observation
  ScientificDataset -> CONTAINS -> Measurement
  ScientificDataset -> MAY_BE_GENERATED_BY -> Experiment
  ScientificDataset -> MAY_USE_METHOD -> ScientificMethod
  ScientificDataset -> MAY_REFERENCE_INSTRUMENT -> ScientificInstrument
  ScientificDataset -> MAY_REFERENCE_SAMPLE -> ScientificSample
  ScientificDataset -> HAS_TEMPORAL_COVERAGE -> TemporalCoverage
  ScientificDataset -> MAY_HAVE_SPATIAL_COVERAGE -> SpatialCoverage
  ScientificDataset -> MAY_HAVE -> DataQuality
  ScientificDataset -> MAY_HAVE -> UncertaintyMetadata
  ScientificDataset -> MAY_HAVE_VERSION -> DatasetVersion
  ScientificDataset -> MAY_REFERENCE -> Provenance

# ---------- IDENTITY ----------
rule dataset_identity:
  ScientificDataset SHOULD have stable DatasetIdentifier
  where persistent citation, reuse, or provenance is required

rule title_not_identity:
  dataset title MUST NOT be assumed globally unique

rule identifier_namespace:
  DatasetIdentifier MUST be interpreted within identifier namespace
  unless globally unique by specification

# ---------- SCHEMA ----------
entity DataSchema:
  type: StructuralMetadata
  defines:
    - variables
    - dimensions
    - datatypes
    - constraints
    - relationships

rule schema_conformance:
  ScientificDataset SHOULD conform to declared DataSchema

rule variable_definition:
  each ScientificVariable SHOULD have semantic definition
  sufficient for machine interpretation

rule datatype:
  data values SHOULD conform to declared variable datatype

# ---------- VARIABLES ----------
rule variable_unit:
  quantitative ScientificVariable SHOULD declare Unit
  where quantity is dimensional

rule variable_dimension:
  ScientificVariable MAY depend on one or more DatasetDimensions

rule missing_values:
  missing_value semantics MUST distinguish where applicable:
    - missing
    - null
    - not_observed
    - below_detection_limit
    - invalid
    - not_applicable

rule controlled_vocabulary:
  categorical variables SHOULD reference controlled vocabulary
  where standard semantic identifiers exist

# ---------- DIMENSIONS ----------
rule dimension_identity:
  DatasetDimension SHOULD have explicit semantic role

rule temporal_dimension:
  IF DatasetDimension = time
  THEN temporal reference, units, and calendar SHOULD be preserved where required

rule spatial_dimension:
  IF dimensions represent spatial coordinates
  THEN coordinate reference semantics SHOULD be preserved

rule multidimensional_data:
  ordering and shape of dimensions MUST be preserved
  for deterministic interpretation

# ---------- OBSERVATIONS / MEASUREMENTS ----------
rule observation_trace:
  contained Observation SHOULD preserve:
    - observed_entity
    - observed_property
    - result
    - time
    - location
    - method

rule measurement_trace:
  contained Measurement SHOULD preserve:
    - quantity
    - value
    - unit
    - uncertainty
    - instrument_optional
    - method

# ---------- TEMPORAL COVERAGE ----------
entity TemporalCoverage:
  type: TemporalMetadata
  may_include:
    - start_time
    - end_time
    - temporal_resolution
    - sampling_interval
    - calendar
    - timezone

rule temporal_bounds:
  IF start_time AND end_time exist
  THEN REQUIRE start_time <= end_time

rule temporal_extent:
  TemporalCoverage SHOULD contain dataset observation times
  unless coverage intentionally describes broader scope

# ---------- SPATIAL COVERAGE ----------
entity SpatialCoverage:
  type: SpatialMetadata
  may_include:
    - geographic_extent
    - coordinate_reference_system
    - spatial_resolution
    - vertical_extent

rule spatial_context:
  spatially referenced ScientificDataset SHOULD preserve CRS

rule spatial_extent:
  declared SpatialCoverage SHOULD be consistent with dataset coordinates
  subject_to stated coverage semantics

# ---------- METHODS / INSTRUMENTS ----------
rule method:
  ScientificMethod SHOULD be preserved
  where data interpretation depends on acquisition or processing method

rule instrument:
  ScientificInstrument SHOULD be referenced
  where instrument properties affect measurements

rule calibration:
  calibration context SHOULD be preserved
  where instrument calibration affects scientific validity

# ---------- QUALITY ----------
entity DataQuality:
  type: ScientificQualityMetadata
  dimensions:
    - completeness
    - validity
    - consistency
    - accuracy
    - precision
    - uncertainty
    - coverage
    - timeliness

rule quality_scope:
  quality assertion SHOULD identify whether it applies to:
    - dataset
    - variable
    - record
    - observation
    - measurement

# ---------- PROVENANCE ----------
entity Provenance:
  type: MetadataEntity
  may_include:
    - creator
    - institution
    - source_data
    - experiment
    - method
    - instrument
    - processing_history
    - software
    - creation_time
    - revision_history

rule provenance_chain:
  DerivedScientificDataset SHOULD retain links to source datasets

rule processing:
  processing step SHOULD record:
    - input
    - operation
    - parameters
    - software_or_agent
    - output
    - timestamp

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

rule versioning:
  material scientific or structural change SHOULD create distinguishable DatasetVersion

rule historical_version:
  superseded dataset versions SHOULD remain traceable
  where reproducibility or citation requires them

# ---------- REPRODUCIBILITY ----------
rule reproducibility:
  ScientificDataset SHOULD preserve sufficient metadata to reconstruct:
    - data origin
    - acquisition method
    - processing history
    - variable semantics
    - units
    - temporal context
    - spatial context
    - software or analysis where applicable

# ---------- VALIDATION ----------
validation:
  require:
    - identifiable_scientific_dataset
    - interpretable_data_structure

  validate_if_present:
    - identifier
    - schema
    - variables
    - dimensions
    - units
    - temporal_coverage
    - spatial_coverage
    - methods
    - instruments
    - quality
    - provenance
    - version

  reject:
    - schema_structure_contradiction
    - dimensional_variable_without_required_unit
    - invalid_temporal_bounds
    - incompatible_spatial_reference
    - ambiguous_dimension_order where deterministic interpretation is required
    - broken_provenance_chain where traceability is mandatory
    - contradictory_version_relationship

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "scientific dataset" ~= "research dataset" WHEN dataset contains scientific or research data
  "dataset variable" ~= "scientific variable" WHEN variable belongs to scientific dataset
  "dataset dimension" ~= "data dimension" WHEN structural axis semantics match
  "temporal coverage" ~= "time coverage"
  "spatial coverage" ~= "geographic coverage" WHEN geographic semantics apply
  "dataset provenance" ~= "data lineage" WHEN derivation semantics apply

  PRESERVE distinctions:
    dataset != schema
    dataset != experiment
    variable != dimension
    observation != measurement
    temporal_coverage != temporal_resolution
    spatial_coverage != spatial_resolution
    raw_dataset != derived_dataset
    version != format
    missing != zero

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_dataset_metadata:
    score: 1.00

  explicit_schema_and_variables:
    score: 1.00

  explicit_provenance:
    score: 1.00

  directly_derived_temporal_coverage:
    score: 0.95

  directly_derived_spatial_coverage:
    score: 0.95

  inferred_schema:
    score: 0.80

  inferred_variable_semantics:
    score: 0.75

  ambiguous_dataset_context:
    score: <= 0.60
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_dataset_revision:
    - preserve previous DatasetVersion
    - create new version
    - record changed variables, dimensions, or records
    - revalidate schema
    - update provenance

  on_schema_change:
    - preserve previous schema
    - validate compatibility
    - migrate or flag affected records
    - update provenance

  on_new_observation:
    - validate observation structure
    - update temporal coverage
    - update spatial coverage where required
    - update quality metadata
    - preserve provenance

  on_processing:
    - preserve source dataset
    - create derived dataset identity
    - record transformation
    - preserve processing parameters
    - update provenance

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - dataset_entities
    - relationships
    - schema_rules
    - variable_rules
    - coverage_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:
    - scientific metadata ontology
    - dataset semantic model
    - scientific data validation structure
    - provenance and reproducibility model

  operations:
    - identify scientific datasets
    - resolve dataset schemas
    - interpret variables and dimensions
    - validate units
    - resolve observations and measurements
    - evaluate temporal coverage
    - evaluate spatial coverage
    - assess quality
    - trace provenance and processing
    - traverse dataset versions
    - preserve uncertainty

  constraints:
    - do_not_invent_variable_semantics
    - do_not_treat_missing_as zero
    - do_not_equate_variable_with dimension
    - do_not_discard source dataset provenance
    - do_not_assume CRS or temporal reference without evidence
    - preserve schema, version, and processing history

# ---------- QUERY MODEL ----------
query:
  input:
    - dataset
    - scientific_domain
    - variable
    - dimension
    - temporal_constraint
    - spatial_constraint
    - quality_constraint
    - method
    - instrument
    - version

  resolve:
    1. identify ScientificDataset
    2. retrieve schema
    3. resolve variables and dimensions
    4. validate units and datatypes
    5. retrieve observations and measurements
    6. apply temporal coverage
    7. apply spatial coverage
    8. evaluate quality
    9. trace provenance and version history
    10. rank by confidence

  output:
    - scientific_dataset
    - schema
    - variables
    - dimensions
    - temporal_coverage
    - spatial_coverage
    - quality
    - provenance
    - version
    - confidence

# ---------- INFERENCE ----------
inference:
  IF dataset contains scientific observations or measurements
  AND scientific context is explicit
  THEN classify as ScientificDataset
  WITH confidence >= 0.95

  IF observation timestamps are valid
  THEN derive TemporalCoverage
  WITH confidence = 0.95

  IF dataset coordinates have valid spatial reference
  THEN derive SpatialCoverage
  WITH confidence = 0.95

  IF dataset is produced by documented processing of source dataset
  THEN classify as DerivedScientificDataset
  AND preserve source relationship

  IF schema or variable semantics remain ambiguous
  THEN preserve candidate interpretations
  AND reduce confidence

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: ScientificDataset
  dataset_structure: machine_interpretable
  schema: explicit_where_available
  variables: semantically_defined
  dimensions: ordered_and_preserved
  temporal_coverage: resolvable
  spatial_coverage: resolvable
  quality: reportable
  provenance: traceable
  version_history: preserved
  reproducibility_context: explicit
  uncertainty: explicit
  semantic_retrieval: enabled

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