Skip to main content

Instrument Metadata 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: Instrument Metadata Ontology
Domain: Metadata Ontologies > Scientific Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/scientific-metadata/instrument-metadata-ontology.html

Authors: Mark Anthony Higgins — Sky (Recursive AI)

flow "InstrumentMetadataOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: ScientificMetadata
  subject: InstrumentMetadata
  purpose:
    - represent metadata describing scientific instruments
    - preserve instrument identity, configuration, calibration, capability, and status
    - support measurement traceability, reproducibility, validation, and maintenance
    - connect instruments with observations, methods, operators, and results
    - enable machine-readable reasoning over scientific measurement systems

# ---------- CORE ENTITY ----------
entity InstrumentMetadata:
  type: ScientificMetadata
  describes: ScientificInstrument
  may_include:
    - instrument_identifier
    - instrument_name
    - instrument_type
    - manufacturer
    - model
    - serial_number
    - hardware_version
    - firmware_version
    - software_version
    - configuration
    - measurement_capability
    - operating_range
    - resolution
    - accuracy
    - precision
    - sensitivity
    - calibration
    - maintenance
    - status
    - location
    - operator
    - installation_date
    - temporal_metadata
    - provenance

entity ScientificInstrument:
  type: MeasurementSystem
  performs_or_supports:
    - Measurement
    - Observation
    - Experiment

entity InstrumentIdentifier:
  type: Identifier
  identifies: ScientificInstrument

entity InstrumentType:
  type: Classification
  examples:
    - sensor
    - detector
    - analyser
    - microscope
    - spectrometer
    - balance
    - thermometer
    - chromatograph
    - imaging_system
    - data_logger

entity InstrumentConfiguration:
  type: ConfigurationMetadata
  may_include:
    - hardware_components
    - settings
    - operating_mode
    - acquisition_parameters
    - software_configuration

# ---------- RELATIONSHIPS ----------
relationships:
  InstrumentMetadata -> DESCRIBES -> ScientificInstrument
  ScientificInstrument -> IDENTIFIED_BY -> InstrumentIdentifier
  ScientificInstrument -> HAS_TYPE -> InstrumentType
  ScientificInstrument -> MAY_HAVE_MANUFACTURER -> Manufacturer
  ScientificInstrument -> MAY_HAVE_MODEL -> Model
  ScientificInstrument -> HAS_CONFIGURATION -> InstrumentConfiguration
  ScientificInstrument -> HAS_CAPABILITY -> MeasurementCapability
  ScientificInstrument -> MAY_HAVE -> Calibration
  ScientificInstrument -> MAY_HAVE -> MaintenanceRecord
  ScientificInstrument -> HAS_STATUS -> InstrumentStatus
  ScientificInstrument -> MAY_BE_LOCATED_AT -> Location
  ScientificInstrument -> MAY_BE_OPERATED_BY -> Agent
  ScientificInstrument -> PRODUCES -> Measurement
  Measurement -> GENERATED_BY -> ScientificInstrument
  InstrumentMetadata -> MAY_REFERENCE -> Provenance

# ---------- IDENTITY ----------
rule instrument_identity:
  ScientificInstrument SHOULD have stable InstrumentIdentifier
  where measurement traceability is required

rule serial_identity:
  serial_number MAY contribute to instrument identity
  but MUST be interpreted with manufacturer/model context where necessary

rule name_not_identity:
  instrument_name MUST NOT be assumed globally unique

# ---------- CONFIGURATION ----------
rule configuration_trace:
  InstrumentConfiguration SHOULD be preserved for measurements
  when configuration affects scientific interpretation

rule configuration_change:
  material configuration change SHOULD create a distinguishable configuration state

rule measurement_configuration:
  Measurement SHOULD reference applicable InstrumentConfiguration
  where settings influence output

# ---------- CAPABILITY ----------
entity MeasurementCapability:
  type: InstrumentProperty
  may_include:
    - measurable_quantity
    - operating_range
    - detection_limit
    - resolution
    - sensitivity
    - accuracy
    - precision
    - sampling_rate

rule operating_range:
  measurement value outside declared OperatingRange SHOULD be flagged

rule capability_context:
  instrument capability MUST be interpreted under applicable configuration and conditions

# ---------- RESOLUTION / ACCURACY / PRECISION ----------
rule quality_distinctions:
  InstrumentResolution != InstrumentAccuracy
  InstrumentAccuracy != InstrumentPrecision
  InstrumentPrecision != InstrumentSensitivity

rule numeric_resolution:
  displayed decimal precision MUST NOT automatically imply physical instrument resolution

rule measurement_quality:
  instrument specifications SHOULD NOT automatically be assigned as uncertainty of every measurement
  unless measurement model explicitly defines that relationship

# ---------- CALIBRATION ----------
entity Calibration:
  type: QualityMetadata
  applies_to: ScientificInstrument
  may_include:
    - calibration_identifier
    - calibration_date
    - calibration_method
    - reference_standard
    - calibration_parameters
    - calibration_result
    - valid_from
    - valid_until
    - calibration_agent
    - uncertainty

rule calibration_validity:
  IF calibration is required
  AND measurement_time exists
  THEN evaluate measurement_time against calibration validity

rule calibration_reference:
  Calibration SHOULD identify reference standard where metrological traceability requires it

rule calibration_update:
  recalibration MUST preserve previous calibration history

# ---------- MAINTENANCE ----------
entity MaintenanceRecord:
  type: InstrumentLifecycleMetadata
  may_include:
    - maintenance_date
    - maintenance_type
    - action
    - component_change
    - technician
    - next_due_date

rule maintenance_history:
  MaintenanceRecord SHOULD remain historically traceable

rule maintenance_calibration:
  maintenance MAY invalidate previous calibration
  according_to instrument policy

# ---------- STATUS ----------
entity InstrumentStatus:
  type: StateMetadata
  values:
    - active
    - available
    - in_use
    - calibration_due
    - maintenance_due
    - out_of_service
    - retired

rule status_time:
  InstrumentStatus SHOULD be temporally contextualised

rule retired_instrument:
  retired instrument metadata SHOULD remain available for historical measurement provenance

# ---------- SOFTWARE / FIRMWARE ----------
rule firmware_version:
  firmware version SHOULD be preserved where it affects acquisition or processing

rule software_version:
  instrument control or acquisition software version SHOULD be preserved
  where it affects measurement reproducibility

rule version_change:
  software_or_firmware change MAY require revalidation or recalibration

# ---------- MEASUREMENT TRACEABILITY ----------
rule measurement_link:
  Measurement generated by ScientificInstrument SHOULD preserve:
    - instrument_identifier
    - configuration
    - calibration_context
    - measurement_time
    - operator_optional
    - method
    - provenance

rule raw_output:
  raw instrument output SHOULD remain distinguishable from processed measurement result

# ---------- VALIDATION ----------
validation:
  require:
    - identifiable_scientific_instrument

  validate_if_present:
    - identifier
    - type
    - manufacturer
    - model
    - serial_number
    - configuration
    - operating_range
    - resolution
    - accuracy
    - precision
    - calibration
    - maintenance
    - status
    - software_version
    - firmware_version

  reject:
    - contradictory_instrument_identity
    - invalid_operating_range
    - impossible_calibration_period
    - measurement_claim_outside_supported_capability_without flag
    - contradictory_status_at_same_time
    - unsupported_accuracy_or_resolution_claim

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "instrument metadata" ~= "scientific instrument metadata"
  "device metadata" ~= "instrument metadata" WHEN device performs scientific measurement
  "instrument settings" ~= "instrument configuration" WHEN configuration semantics match
  "calibration metadata" ~= "instrument calibration metadata"
  "instrument specification" ~= "instrument capability metadata" WHEN describing measurable performance

  PRESERVE distinctions:
    instrument != measurement
    instrument_type != instrument_identifier
    configuration != calibration
    calibration != maintenance
    resolution != accuracy
    accuracy != precision
    precision != sensitivity
    raw_output != processed_result
    software_version != firmware_version

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_instrument_identifier:
    score: 1.00

  explicit_configuration:
    score: 1.00

  valid_calibration_record:
    score: 0.95

  explicit_measurement_link:
    score: 1.00

  inferred_instrument_from_dataset:
    score: 0.80

  inferred_configuration:
    score: 0.70

  ambiguous_instrument_identity:
    score: <= 0.60
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_configuration_change:
    - preserve previous configuration
    - create new configuration state
    - associate effective time
    - reassess affected measurements
    - update provenance

  on_calibration:
    - preserve calibration history
    - add new Calibration record
    - update validity state
    - reassess subsequent measurement context
    - update provenance

  on_maintenance:
    - preserve maintenance history
    - update InstrumentStatus
    - determine whether recalibration is required
    - update provenance

  on_software_or_firmware_change:
    - preserve previous version
    - record new version
    - reassess configuration compatibility
    - flag revalidation requirement where applicable
    - update provenance

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - instrument_entities
    - relationships
    - identity_rules
    - configuration_rules
    - capability_rules
    - calibration_rules
    - maintenance_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
    - instrument identity model
    - measurement traceability structure
    - calibration and lifecycle model

  operations:
    - identify scientific instruments
    - resolve instrument types
    - inspect configuration
    - evaluate measurement capability
    - validate operating ranges
    - resolve calibration state
    - inspect maintenance history
    - resolve software and firmware versions
    - link measurements to instruments
    - preserve provenance
    - expose uncertainty

  constraints:
    - do_not_invent_instrument_identity
    - do_not_assume_instrument_is calibrated
    - do_not_equate_resolution_with accuracy
    - do_not_equate_calibration_with maintenance
    - do_not_assign specification_values_as measurement_uncertainty without model
    - preserve historical configurations and calibration records

# ---------- QUERY MODEL ----------
query:
  input:
    - instrument_identifier
    - instrument_type
    - manufacturer
    - model
    - capability
    - configuration
    - calibration_state
    - status
    - measurement

  resolve:
    1. identify ScientificInstrument
    2. resolve identity and type
    3. retrieve configuration
    4. evaluate measurement capability
    5. inspect calibration
    6. inspect maintenance
    7. resolve status at relevant time
    8. link measurements
    9. inspect software and firmware context
    10. evaluate provenance and confidence

  output:
    - instrument
    - identity
    - type
    - configuration
    - capability
    - calibration
    - maintenance
    - status
    - measurements
    - provenance
    - confidence

# ---------- INFERENCE ----------
inference:
  IF Measurement explicitly references InstrumentIdentifier
  THEN associate Measurement with ScientificInstrument
  WITH confidence = 1.00

  IF measurement time lies within valid Calibration period
  THEN infer calibration_context = valid
  WITH confidence = 0.95

  IF measurement value lies outside declared OperatingRange
  THEN infer capability_warning

  IF instrument configuration changed before measurement
  THEN use configuration effective at measurement time

  IF instrument identity remains ambiguous
  THEN return candidate instruments
  AND preserve uncertainty

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: InstrumentMetadata
  instrument_identity: machine_interpretable
  configuration: versioned
  capability: explicit
  calibration: traceable
  maintenance: traceable
  status: temporally_contextualised
  measurements: instrument_linked
  provenance: preserved
  uncertainty: explicit
  semantic_retrieval: enabled

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