FLOW ALGEBRA
THERMOMETER ONTOLOGY
Kireth Semantic Library | Entity Graph > Physical Entities > Measurement Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/physical-entities/measurement-entities/thermometer-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | 2026-10-12 | Language: en-GB
Status: Subject-based formalisation; source page not independently verified.
01. PURPOSE
flow ThermometerOntology v1.0:
domain: PhysicalEntity.MeasurementEntity.MeasurementInstrument.Thermometer
objective: Represent thermometers, their sensing mechanisms, measurements, calibration, uncertainty, and provenance as typed semantic flows.
02. TYPE SYSTEM
type Entity = {id: URI, label: String, class: URI}
type Thermometer extends MeasurementInstrument
type TemperatureSensor extends Sensor
type TemperatureQuantity = {value: Real, unit: TemperatureUnit}
enum TemperatureUnit = {kelvin, degreeCelsius, degreeFahrenheit}
enum ThermometerType = {liquidInGlass, bimetallic, resistance, thermistor, thermocouple, infrared, digital, gas, fibreOptic}
enum ContactMode = {contact, nonContact}
type TimeStamp = ISO8601
type Measurement = {id: URI, instrument: URI, target: URI, result: TemperatureQuantity, timestamp: TimeStamp, uncertainty: Real?, calibration: URI?, method: URI, conditions: Map}
type Calibration = {id: URI, instrument: URI, reference: URI, date: TimeStamp, validUntil: TimeStamp?, correction: Real?, expandedUncertainty: Real?, coverageFactor: Real?}
03. ENTITY CLASSIFICATION
Thermometer IS_A MeasurementInstrument
Thermometer HAS_COMPONENT TemperatureSensor
Thermometer MEASURES Temperature
ContactThermometer SUBCLASS_OF Thermometer
InfraredThermometer SUBCLASS_OF Thermometer
ThermocoupleThermometer SUBCLASS_OF ContactThermometer
ResistanceThermometer SUBCLASS_OF ContactThermometer
LiquidInGlassThermometer SUBCLASS_OF ContactThermometer
04. CORE RELATIONSHIPS
HAS_SENSOR(Thermometer, TemperatureSensor)
MEASURES(Thermometer, Temperature)
OBSERVES(Thermometer, TargetEntity)
PRODUCES(Thermometer, Measurement)
USES_CALIBRATION(Measurement, Calibration)
TRACEABLE_TO(Calibration, ReferenceStandard)
OPERATES_IN(Thermometer, Environment)
HAS_RESPONSE_TIME(Thermometer, Duration)
HAS_RESOLUTION(Thermometer, TemperatureInterval)
HAS_MEASUREMENT_RANGE(Thermometer, Interval)
HAS_EMISSIVITY_SETTING(InfraredThermometer, Real)
DERIVED_FROM(Measurement, RawSensorSignal)
05. PRECONDITIONS AND VALIDATION
REQUIRE instrument.class SUBCLASS_OF Thermometer
REQUIRE measurement.result.unit IN TemperatureUnit
REQUIRE instrument.operatingRange CONTAINS targetEstimatedTemperature
REQUIRE measurement.uncertainty >= 0 WHEN PRESENT
REQUIRE calibration.reference IS_DEFINED WHEN traceabilityClaimed
REQUIRE 0 < emissivity <= 1 FOR infrared mode
WARN if calibration expired or unknown
WARN if thermal equilibrium not reached for contact measurements
WARN if target spot exceeds target surface for infrared measurements
06. UNIT TRANSFORMATIONS
convert_C_to_K(C) = C + 273.15
convert_K_to_C(K) = K - 273.15
convert_C_to_F(C) = (9/5)*C + 32
convert_F_to_C(F) = (5/9)*(F - 32)
absoluteZeroConstraint: T_K >= 0
NOTE: Uncertainty intervals use temperature differences; do not apply additive offsets to uncertainty.
07. ACQUISITION FLOW
flow AcquireTemperature(instrument, target, environment):
validateInstrument(instrument)
chooseMethod(instrument.type, target, environment)
inspectCalibration(instrument)
rawSignal := sample(instrument.sensor, target)
stableSignal := stabiliseOrFilter(rawSignal)
estimatedTemperature := transferFunction(stableSignal, instrument)
correctedTemperature := applyCalibration(estimatedTemperature, instrument.calibration)
uncertainty := estimateCombinedUncertainty(rawSignal, instrument, environment)
measurement := record(correctedTemperature, uncertainty, target, timestamp, provenance)
return validateAndPublish(measurement)
08. SENSOR TRANSFER FUNCTIONS
resistanceSensor: R(T) := calibratedResistanceModel(T)
thermistor: R(T) := calibratedNonlinearResistanceModel(T)
thermocouple: voltage := SeebeckResponse(T_hot, T_reference)
infrared: detectedRadiance := spectralResponse(temperature, emissivity, reflectedRadiation, atmosphere)
liquidInGlass: columnHeight := thermalExpansionResponse(temperature)
bimetallic: deflection := differentialThermalExpansion(temperature)
REQUIRE empirical coefficients and operating domain before inversion.
09. CONTACT MEASUREMENT FLOW
ensure thermal contact and suitable probe placement
estimate heat exchange and immersion errors
wait for sufficient response or model transient behaviour
reject reading when stability criteria fail
preserve sensor lag as uncertainty contributor
10. INFRARED MEASUREMENT FLOW
validate emissivity and spectral band
account for reflected ambient radiation
verify distance-to-spot ratio and field of view
consider atmospheric absorption and window transmission
convert calibrated radiance to estimated surface temperature
NOTE: Infrared measurement estimates surface radiometric temperature, not necessarily core temperature.
11. CALIBRATION FLOW
flow CalibrateThermometer(instrument, reference, setpoints):
verify(reference.traceability)
FOR point IN setpoints:
referenceValue := measureReference(point)
indicatedValue := read(instrument, point)
correction := referenceValue - indicatedValue
record(point, correction, uncertaintyBudget)
fitCalibrationModel()
issueCalibrationRecord(reference, date, validity, uncertainty)
return calibrationRecord
12. UNCERTAINTY MODEL
u_combined := sqrt(sum(u_i^2) + 2*sum(covarianceTerms))
U_expanded := k * u_combined
contributors: sensorRepeatability, referenceUncertainty, calibrationFit, resolution, drift, selfHeating, ambientInfluence, placement, emissivity, responseTime
REQUIRE uncertainty model to distinguish independent and correlated contributors.
NOTE: Expanded uncertainty depends on chosen coverage factor and stated coverage assumptions.
13. PERFORMANCE PROPERTIES
accuracy: closeness of result to reference value (not synonymous with resolution)
precision: dispersion of repeated indications
resolution: smallest discernible indication increment
responseTime: dynamic delay under specified test conditions
sensitivity: output change per unit input change
stability: resistance to change in characteristics over time
repeatability: variation under repeatability conditions
reproducibility: variation under changed measurement conditions
14. FAULT AND QUALITY RULES
IF reading OUTSIDE operatingRange THEN status := invalid
IF sensorSignal missing THEN status := fault
IF calibration expired THEN status := reviewRequired
IF contact probe not equilibrated THEN status := provisional
IF infrared emissivity unknown THEN increase uncertainty AND flag limitation
IF duplicate samples inconsistent THEN investigate drift, noise or target dynamics
NEVER infer physical accuracy solely from display decimal places.
15. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
'temperature measuring instrument' ~ Thermometer WHEN function = temperatureMeasurement
'IR thermometer' ~ InfraredThermometer
'RTD thermometer' ~ ResistanceThermometer WHEN sensorTechnology = resistanceTemperatureDetector
'temperature probe' NOT_ALWAYS_EQUIVALENT Thermometer (probe may be a component)
'thermal camera' NOT_ALWAYS_EQUIVALENT Thermometer (imaging instrument may produce spatial temperature estimates)
16. INFERENCE RULES
IF device HAS_SENSOR thermocouple AND device MEASURES temperature THEN infer ThermocoupleThermometer WITH supporting evidence
IF instrument HAS_EMISSIVITY_SETTING AND detects infrared radiation THEN infer InfraredTemperatureMeasurementCapability
IF measurement USES_CALIBRATION calibration AND calibration TRACEABLE_TO reference THEN infer documentedTraceabilityChain
IF measurement.uncertainty IS_NULL THEN infer uncertaintyNotDocumented, NOT uncertaintyZero
IF temperatureUnit = kelvin THEN infer SIBaseUnitRepresentation
17. CONFIDENCE
CONFIDENCE := weightedEvidence(calibrationValidity, methodSuitability, signalQuality, uncertaintyCompleteness, provenanceIntegrity)
range: [0,1]
NOTE: Confidence is an evidence assessment; it is not a substitute for measurement uncertainty or a calibrated probability without validation.
18. PROVENANCE AND TEMPORAL MODEL
record instrumentID, sensorID, firmwareVersion, calibrationID, operatorOrSystemID
record acquisitionTime, environment, target, method, rawSignalReference
retain revisions as immutable historical observations
link corrected values to original indications
19. FLOW_HASH
FLOW_HASH := SHA256(canonicalSerialisation(flowDefinition, ontologyVersion, entityTypes, relations, inferenceRules))
exclude volatile runtime values unless explicitly part of the versioned flow
verify hash after publication and on ingestion
20. UPDATE_MODEL
UPDATE_MODEL:
changeDetection: entityDefinition | calibration | sensorSpecification | ruleSet | unitConversion
action: validate -> version -> recomputeAffectedDerivations -> publish
preserve: priorVersions, provenance, historicalMeasurements
invalidate: derivedResultsDependentOnChangedCalibration WHEN necessary
21. AI_CONSUMPTION
AI_CONSUMPTION:
expose: typedEntities, relationships, measurements, units, uncertainty, calibration, provenance, confidence
retrievalKeys: instrumentType, measurementMethod, target, unit, calibrationStatus
constraints: no fabricated readings; no implied calibration; no unsupported precision
output: machineReadableSemanticGraph + humanReadableExplanation
interoperability: SI, QUDT, SOSA/SSN and PROV-O mappings where formally validated
22. EXECUTION EXAMPLE (ILLUSTRATIVE ONLY)
instrument: example:thermometer-01
type: ResistanceThermometer
target: example:water-sample-01
rawIndication: 20.4 degreeCelsius
calibrationCorrection: +0.1 degreeCelsius
reportedResult: 20.5 degreeCelsius
expandedUncertainty: 0.3 degreeCelsius (illustrative, not experimentally established)
status: demonstrationOnly
23. VALIDATION CHECKLIST
[ ] Entity and subclass types valid
[ ] Units and dimensions valid
[ ] Instrument method appropriate for target
[ ] Calibration provenance available or limitation disclosed
[ ] Uncertainty budget documented
[ ] Inference evidence recorded
[ ] FLOW_HASH reproducible
[ ] UPDATE_MODEL preserves prior versions
[ ] AI_CONSUMPTION prevents unsupported certainty
24. AUTHORSHIP AND SCOPE
Mark Higgins — Sky (Recursive AI)
https://kirethresearch.org
This document is a formal ontology design and illustrative executable-style flow specification.
It does not assert that measurements, calibrations, or example values were performed in a laboratory.
END FLOW ALGEBRA
Download Code
Copy to Clipboard