Skip to main content

Unit Ontology

Foundations of Measurement
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Unit Ontology within the Kireth Research Semantic Library. A measurement unit is a reference quantity adopted by convention for expressing values of quantities of the same kind. This ontology formalises base and derived units, coherent units, SI, symbols, prefixes, compound-unit algebra, conversions, dimensional compatibility, canonicalisation, standards and provenance.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Unit Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Measurement & Units"
 SPECIALISATION = "Foundations of Measurement / Unit"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/foundations-of-measurement/unit-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Unit
 ENTITY_CLASS = MeasurementReferenceQuantityFramework
 PRIMARY_CONTEXT = QuantityOntology
 DEFINITION = "A measurement unit is a real scalar quantity, defined and adopted by convention, with which quantities of the same kind can be compared to express their ratios as numbers."
 SYMBOLIC_FORMS = ["Q=numerical_value*unit","value_target=convert(value_source,u_source,u_target)","dim(u)=dim(quantity_kind)"]
 SEMANTIC_ROLE = "Machine-readable semantics for units, systems, symbols, prefixes, compound-unit algebra, conversion, quantity compatibility, standards and canonical representation."
}

SCOPE {
 INCLUDE = [
 Unit,MeasurementUnit,UnitOfMeasurement,ReferenceUnit,StandardUnit,
 CanonicalUnit,BaseUnit,DerivedUnit,CoherentUnit,NonCoherentUnit,
 SIUnit,SIBaseUnit,SIDerivedUnit,NonSIUnit,MetricUnit,
 ImperialUnitRelationship,USCustomaryUnitRelationship,CGSUnitRelationship,
 UnitSystem,SystemOfUnits,CoherentSystemOfUnits,
 InternationalSystemOfUnits,SI,UnitSymbol,UnitName,UnitIdentifier,
 CanonicalUnitIdentifier,UnitAlias,UnitSynonym,Prefix,SIPrefix,
 DecimalPrefix,BinaryPrefixRelationship,PrefixSymbol,PrefixFactor,
 UnitExpression,CompoundUnit,ProductUnit,QuotientUnit,PowerUnit,
 InverseUnit,UnitExponent,UnitProduct,UnitQuotient,UnitPower,
 UnitAlgebra,QuantityCalculus,UnitSimplification,UnitNormalisation,
 Canonicalisation,UnitReduction,EquivalentUnitExpression,
 Quantity,PhysicalQuantity,QuantityKind,PhysicalQuantityKind,
 QuantityValue,MeasurementValue,NumericalValue,Magnitude,Dimension,
 PhysicalDimension,DimensionalSignature,BaseDimension,DerivedDimension,
 DimensionlessQuantity,UnitCompatibility,QuantityCompatibility,
 DimensionalCompatibility,DimensionalEquivalence,UnitEquivalence,
 Conversion,UnitConversion,ConversionRule,ConversionFactor,ScaleFactor,
 ConversionOffset,AffineConversion,MultiplicativeConversion,
 LinearConversion,ExactConversion,SourceUnit,TargetUnit,
 UnitTransformation,TemperatureUnit,Kelvin,CelsiusRelationship,
 FahrenheitRelationship,RankineRelationship,LogarithmicUnitRelationship,
 DecibelRelationship,PercentRelationship,PartsPerMillionRelationship,
 PPMrelationship,DimensionlessUnitRelationship,LengthUnit,Metre,
 MassUnit,Kilogram,TimeUnit,Second,ElectricCurrentUnit,Ampere,
 ThermodynamicTemperatureUnit,AmountOfSubstanceUnit,Mole,
 LuminousIntensityUnit,Candela,AngleUnit,Radian,SolidAngleUnit,Steradian,
 FrequencyUnit,Hertz,ForceUnit,Newton,PressureUnit,Pascal,EnergyUnit,Joule,
 PowerUnitQuantityRelationship,Watt,ElectricChargeUnit,Coulomb,
 VoltageUnit,Volt,CapacitanceUnit,Farad,ResistanceUnit,Ohm,
 ConductanceUnit,Siemens,MagneticFluxUnit,Weber,
 MagneticFluxDensityUnit,Tesla,InductanceUnit,Henry,LuminousFluxUnit,Lumen,
 IlluminanceUnit,Lux,RadioactivityUnit,Becquerel,AbsorbedDoseUnit,Gray,
 EquivalentDoseUnit,Sievert,CatalyticActivityUnit,Katal,
 UnitDefinition,DefinedConstant,UnitRealisation,MeasurementStandard,
 ReferenceStandard,CalibrationStandard,Metrology,Calibration,
 MeasurementTraceability,ScientificMeasurement,Measurement,Measurand,
 MeasurementResult,MeasurementUncertainty,SignificantFigures,Precision,
 Accuracy,Rounding,UnitRegistry,UnitDictionary,UnitMapping,
 OntologyMapping,SemanticMapping,Metadata,UnitMetadata,Provenance,
 UnitProvenance,DefinitionSource,StandardVersion,BIPMrelationship,
 VIMRelationship,SIbrochureRelationship,ISOrelationship,IECrelationship,
 UCUMrelationship,QUDTRelationship,OMRelationship,Verification,Validation,
 UnitValidation,ConversionValidation,DimensionalValidation,
 ConsistencyCheck,ErrorAnalysis,SymbolicComputation
 ]
 EXCLUDE_AS_PRIMARY = [
 PhysicalQuantityWhenPropertySemanticsArePrimary,
 DimensionWhenBaseQuantityDependenceIsPrimary,
 MeasurementScaleWhenOrderingOrScaleTypeIsPrimary,
 PureNumericalScalingWithoutMeasurementReferenceSemantics
 ]
 DISAMBIGUATION_RULE = "When a reference quantity is used to express numerical values of quantities of the same kind, or when unit symbols, systems, expressions or conversions are being reasoned about, interpret the context as a measurement unit."
}

CORE_CONCEPTS {
 Unit = "Reference quantity used to express values of quantities of the same kind."
 BaseUnit = "Unit adopted by convention for a base quantity."
 DerivedUnit = "Unit for a derived quantity expressed through other units."
 CoherentUnit = "Derived unit obtained from base units without additional numerical factors other than one."
 UnitSystem = "Set of base and derived units together with defining rules."
 UnitExpression = "Symbolic algebraic representation of a unit."
 UnitConversion = "Transformation between alternative unit representations of the same compatible quantity."
 ConversionFactor = "Multiplicative factor relating compatible units where no offset is required."
 ConversionOffset = "Additive term required by an affine conversion."
}

RELATIONS {
 Unit --is_child_of--> QuantityOntology
 Unit --realises--> QuantityKind
 Unit --has_dimension--> Dimension
 BaseUnit --belongs_to--> UnitSystem
 DerivedUnit --is_derived_from--> Units
 CoherentUnit --is_type_of--> DerivedUnit
 SIBaseUnit --belongs_to--> InternationalSystemOfUnits
 UnitSymbol --denotes--> Unit
 Prefix --scales--> Unit
 UnitExpression --combines--> Units
 UnitConversion --maps--> SourceUnitToTargetUnit
 ConversionFactor --scales--> NumericalValue
 ConversionOffset --translates--> NumericalValue
 UnitCompatibility --depends_on--> QuantityKindAndDimension
 Calibration --uses--> ReferenceUnitOrStandard
 Provenance --records--> UnitDefinitionAndConversionSource
}

OPERATORS {
 UNIT(symbol,kind,dimension) := unit_definition(symbol,kind,dimension)
 DIM(unit) := dimensional_signature(unit)
 PRODUCT_UNIT(u1,u2) := combine_unit_exponents(u1,u2,+1)
 QUOTIENT_UNIT(u1,u2) := combine_unit_exponents(u1,u2,-1)
 POWER_UNIT(u,n) := multiply_unit_exponents(u,n)
 COMPATIBLE(u1,u2) := compatible_quantity_kind_and_dimension(u1,u2)
 CONVERT(x,u1,u2) := conversion_rule(u1,u2)(x)
 CANONICALISE(u) := canonical_unit_expression(u)
}

AXIOMS {
 A1 = "A unit is a reference for quantities of a specified kind, not merely a textual label."
 A2 = "Changing units changes numerical representation but not the represented quantity."
 A3 = "Direct unit conversion requires compatible quantity semantics."
 A4 = "Compound-unit multiplication, division and powers follow quantity algebra."
 A5 = "Coherent derived units introduce no additional numerical factor beyond one in defining equations."
 A6 = "Affine units require offset-aware conversion and cannot always be treated as simple multiplicative units."
 A7 = "Equivalent dimensional expressions can still require quantity-kind disambiguation."
 A8 = "Unit reasoning requires explicit quantity kind, dimension, system, conversion and provenance semantics."
}

REASONING {
 R1_CONTEXT = identify(quantity_kind,source_unit,target_unit,dimension,unit_system,value_and_intended_operation)
 R2_IDENTITY = resolve_unit_name_symbol_alias_prefix_and_canonical_identifier)
 R3_KIND = determine_quantity_kind_and_dimensional_signature)
 R4_COMPATIBILITY = verify_source_target_quantity_kind_dimension_and_scale_compatibility)
 R5_ALGEBRA = if_compound_parse_products_quotients_powers_prefixes_and_exponents)
 R6_CONVERSION = apply_exact_multiplicative_affine_or_declared_conversion_rule)
 R7_CANONICALISE = simplify_to_declared_canonical_or_coherent_unit_expression)
 R8_PRECISION = preserve_significant_figures_uncertainty_and_rounding_semantics)
 R9_VALIDATE = perform_dimension_conversion_round_trip_and_plausibility_checks)
 R10_PROVENANCE = record_standard_definition_conversion_rule_versions_and_source)
}

CONSTRAINTS {
 C1 = "Matching dimensions alone do not always establish semantic unit compatibility."
 C2 = "Affine units cannot be safely multiplied or divided as though their absolute values were purely multiplicative."
 C3 = "Unit symbols are case-sensitive in many standards."
 C4 = "Prefixes can change meaning when applied to compound-unit expressions."
 C5 = "Historical and customary units can have multiple definitions."
 C6 = "Repeated approximate conversions can accumulate rounding error."
 C7 = "Dimensionless units and ratios can retain distinct semantic meanings."
 C8 = "Unit aliases can create ambiguity without canonical identifiers."
 C9 = "Conversion factors must not be applied between incompatible quantity kinds."
 C10 = "Unit normalisation must preserve represented quantity and uncertainty."
}

SEMANTIC_EQUIVALENCE {
 "UnitOfMeasurement" <=> "MeasurementUnit"
 "MeasurementUnit" <=> "Unit"
 "InternationalSystemOfUnits" <=> "SI"
 "PartsPerMillion" <=> "PPM"
}

VALIDATION {
 V1 = "Unit identity, symbol and quantity kind are documented."
 V2 = "Dimensional signature is documented or derivable."
 V3 = "Unit-system membership is documented where relevant."
 V4 = "Prefixes and exponents are parsed unambiguously."
 V5 = "Source and target units are semantically compatible before conversion."
 V6 = "Conversion factors and offsets are explicit."
 V7 = "Affine conversions are distinguished from multiplicative conversions."
 V8 = "Canonicalisation preserves quantity meaning."
 V9 = "Round-trip conversion tests are used where useful."
 V10 = "Unit definitions and conversion rules are traceable to documented standards or ontology versions."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 UNIT_DEFINITION = 0.99
 UNIT_IDENTITY_REASONING = 0.99
 DIMENSION_REASONING = 0.99
 UNIT_ALGEBRA_REASONING = 0.99
 CONVERSION_REASONING = 0.99
 AFFINE_CONVERSION_REASONING = 0.99
 CANONICALISATION_REASONING = 0.98
 POLICY = "Reduce confidence when unit identity, quantity kind, dimension, scale type, conversion rule or standard provenance are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
 SemanticSearch,OntologyGrounding,UnitReasoning,UnitIdentityReasoning,
 UnitSystemReasoning,UnitSymbolReasoning,PrefixReasoning,
 CompoundUnitReasoning,UnitAlgebraReasoning,UnitConversionReasoning,
 AffineConversionReasoning,UnitCompatibilityReasoning,
 CanonicalisationReasoning,DimensionalValidationReasoning,
 QuantityReasoning,MeasurementReasoning,MetrologyReasoning,
 SemanticMappingReasoning,KnowledgeGraphConstruction,RetrievalAugmentation,
 RecursiveInference
 ]
 NORMALISE {
  "unit" -> Unit
  "measurement unit" -> Unit
  "unit of measurement" -> Unit
  "SI" -> InternationalSystemOfUnits
  "ppm" -> PartsPerMillion
 }
}

EXECUTION_RULES {
 E1 = "If a reference quantity is used to express a numerical quantity value, activate UnitOntology."
 E2 = "Resolve canonical unit identity before conversion or algebra."
 E3 = "Identify quantity kind and dimension before deciding compatibility."
 E4 = "Parse prefixes, products, quotients and powers explicitly for compound units."
 E5 = "Use multiplicative conversion only when no offset or nonlinear rule is required."
 E6 = "Use affine conversion semantics for units with scale offsets."
 E7 = "Preserve significant figures and uncertainty through conversion."
 E8 = "Canonicalise equivalent unit expressions without changing quantity meaning."
 E9 = "Record standard definitions, conversion rules and provenance."
}

RECURSION {
 ENTRY = Unit
 EXPAND(Unit) -> [
 MeasurementUnit,UnitOfMeasurement,ReferenceUnit,StandardUnit,
 CanonicalUnit,BaseUnit,DerivedUnit,CoherentUnit,SIUnit,SIBaseUnit,
 SIDerivedUnit,NonSIUnit,MetricUnit,UnitSystem,SystemOfUnits,
 InternationalSystemOfUnits,SI,UnitSymbol,UnitName,UnitIdentifier,
 UnitAlias,Prefix,SIPrefix,DecimalPrefix,PrefixSymbol,PrefixFactor,
 UnitExpression,CompoundUnit,ProductUnit,QuotientUnit,PowerUnit,
 InverseUnit,UnitExponent,UnitAlgebra,UnitSimplification,
 UnitNormalisation,Canonicalisation,Quantity,PhysicalQuantity,
 QuantityKind,QuantityValue,Dimension,DimensionalSignature,
 UnitCompatibility,QuantityCompatibility,DimensionalCompatibility,
 UnitEquivalence,Conversion,UnitConversion,ConversionRule,
 ConversionFactor,ConversionOffset,AffineConversion,
 MultiplicativeConversion,ExactConversion,TemperatureUnit,
 Kelvin,CelsiusRelationship,FahrenheitRelationship,
 DimensionlessUnitRelationship,LengthUnit,Metre,MassUnit,Kilogram,
 TimeUnit,Second,Ampere,Mole,Candela,Radian,Steradian,Hertz,Newton,
 Pascal,Joule,Watt,Coulomb,Volt,Farad,Ohm,Siemens,Weber,Tesla,
 Henry,Lumen,Lux,Becquerel,Gray,Sievert,Katal,UnitDefinition,
 UnitRealisation,MeasurementStandard,ReferenceStandard,Metrology,
 Calibration,MeasurementTraceability,Measurement,Measurand,
 MeasurementResult,MeasurementUncertainty,UnitRegistry,UnitMapping,
 UnitMetadata,UnitProvenance,UCUMrelationship,QUDTRelationship,
 OMRelationship,UnitValidation,ConversionValidation
 ]
 EXPAND(UnitFamilies) -> [
 UnitIdentityNamesSymbolsAndAliases,
 BaseDerivedCoherentAndSIUnits,
 PrefixesScalesAndCompoundUnitAlgebra,
 UnitSystemsAndCanonicalRepresentations,
 MultiplicativeAffineAndExactConversions,
 QuantityDimensionAndCompatibilitySemantics,
 MeasurementCalibrationAndMetrologicalTraceability,
 RegistriesMappingsValidationAndProvenance
 ]
 STOP_CONDITION = "Stop when unit identity, quantity kind, dimension, expression, conversion, canonical representation and provenance are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Quantity Ontology"
 RELATED_ONTOLOGIES = [
 "Quantity Ontology","Physical Quantity Ontology","Dimension Ontology 2",
 "Foundations of Measurement","Measurement Ontology",
 "Scientific Measurement Ontology 2","Metrology Ontology",
 "Measurement & Units Ontologies","Dimensional Analysis Ontology",
 "Measurement Uncertainty Ontology","Algebra Ontologies",
 "Symbolic Computation","Verification & Validation"
 ]
 ROUTE_RULES = [
 "Unit -> Quantity Ontology for quantity-kind and value semantics",
 "Unit -> Physical Quantity Ontology for physical-unit interpretation",
 "Unit -> Dimension Ontology for dimensional compatibility",
 "Unit -> Foundations of Measurement for measurement theory",
 "Unit -> Measurement and Scientific Measurement for measured-value representation",
 "Unit -> Metrology for standards, calibration and traceability",
 "Unit -> Measurement & Units Ontologies for parent-domain integration",
 "Unit -> Dimensional Analysis for unit and equation checking",
 "Unit -> Measurement Uncertainty for uncertainty-preserving conversion",
 "Unit -> Algebra and Symbolic Computation for compound-unit simplification",
 "Unit -> Verification & Validation for conversion and consistency checks"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"
 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible unit systems, conversion rules or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"
 RULES = [
 "Preserve unit-versus-quantity distinction.",
 "Preserve unit-versus-dimension distinction.",
 "Preserve base-versus-derived unit distinction.",
 "Preserve coherent-versus-noncoherent unit distinction.",
 "Preserve multiplicative-versus-affine conversion distinction.",
 "Preserve unit-symbol-versus-unit-identity distinction.",
 "Preserve equivalent-expression-versus-semantic-compatibility distinction.",
 "Preserve machine-readable unit semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION = "A measurement unit is a reference quantity adopted by convention for expressing numerical values of quantities of the same kind."
 IDENTITY_SUMMARY = "Units require canonical identity, symbols, aliases, quantity-kind and dimensional semantics."
 SYSTEM_SUMMARY = "Base, derived and coherent units are organised into systems such as the International System of Units."
 ALGEBRA_SUMMARY = "Compound units follow quantity algebra through products, quotients, powers and simplification."
 CONVERSION_SUMMARY = "Compatible units can be transformed through exact, multiplicative, affine or explicitly defined conversion rules."
 CANONICAL_SUMMARY = "Canonicalisation maps equivalent unit expressions without changing represented quantity meaning."
 VALIDATION_SUMMARY = "Unit reasoning should preserve quantity kind, dimension, conversion semantics, uncertainty, standards and provenance."
}

FLOW {
 INPUT
 -> detect_unit_context
 -> identify_quantity_kind_source_unit_target_unit_dimension_unit_system_value_and_intended_operation
 -> resolve_unit_name_symbol_alias_prefix_and_canonical_identifier
 -> determine_quantity_kind_and_dimensional_signature
 -> verify_source_target_quantity_kind_dimension_and_scale_compatibility
 -> if_compound_parse_products_quotients_powers_prefixes_and_exponents
 -> apply_exact_multiplicative_affine_or_declared_conversion_rule
 -> simplify_to_declared_canonical_or_coherent_unit_expression
 -> preserve_significant_figures_uncertainty_and_rounding_semantics
 -> perform_dimension_conversion_round_trip_and_plausibility_checks
 -> record_standard_definition_conversion_rule_versions_and_provenance
 -> route_to_related_ontologies
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-MEASUREMENT-UNITS-FOUNDATIONS-UNIT-ONTOLOGY-V1"
}

}

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