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