Skip to content

Commensurability Composition Semantics and Context

steveraysteveray edited this page Jun 25, 2026 · 3 revisions

Commensurability, Composition, Semantics and Context

This page explains how QUDT decides whether two quantity kinds, two units, or two qudt:Quantity instances are commensurable — i.e. whether their values can be meaningfully compared, added, or converted between each other. QUDT separates this question into three layers:

  1. Composition — dimensional analysis (qkdv: dimension vectors)
  2. Semantics — commensurability families of quantity kinds and units
  3. Context — commensurability as actually realized by a specific qudt:Quantity

A note on terminology: a quantity kind (quantitykind:Mass, quantitykind:Energy, ...) is a kind of measurable phenomenon and carries no value. A quantity (qudt:Quantity) is a specific, valued observation or specification — "the mass of this box is 5 kg." The three layers below build toward that distinction: dimension and family are properties of kinds; commensurability of an actual measurement is decided at the quantity level.

1. Composition (dimensionality)

Every quantity kind has a dimension vector (qudt:hasDimensionVector), an instance of qkdv:Dimension_AxEyLzIwMvHuTtDs encoding the exponents of the seven SI base dimensions (Amount of substance, Electric current, Length, Luminous intensity, Mass, Thermodynamic temperature, Time) plus a Dimensionless (angle) exponent. Dimension vectors compose the way the underlying physical quantities compose: multiplying two quantity kinds adds their exponents; inverting one negates them.

Sharing a dimension vector is a necessary but not sufficient condition for commensurability. Two quantity kinds with the same dimension are dimensionally compatible — they could in principle be related by a numeric factor — but that alone does not mean their values mean the same thing or are interchangeable. Classic same-dimension, different-meaning pairs:

Dimension Quantity kind A Quantity kind B
M L² T⁻² Torque / moment of force Energy / work
T⁻¹ Frequency Activity of a radionuclide; angular frequency
L² T⁻² Absorbed dose Dose equivalent
M L² T⁻² H⁻¹ Heat capacity Entropy
D (dimensionless) Plane angle Refractive index, strain, mass fraction

Metrology resolves some of these ambiguities by minting distinct unit symbols for the same dimension (watt vs. var vs. volt-ampere for power, per IEC 80000-6; hertz vs. becquerel for T⁻¹; gray vs. sievert for dose). Where no distinct unit exists (torque and energy both stay N·m / J), only the quantity kind distinguishes them — composition alone cannot.

This is why QUDT does not use dimension-vector equality as the commensurability test. The dimension vector is a cross-check: two quantity kinds that are commensurable (§2) should always share a dimension; if a QA query finds a same-dimension pair that is not linked, that is either a genuinely separate family or a missing curated link.

2. Semantics (commensurability families)

Within a given dimension, QUDT groups quantity kinds and units into commensurability families — formally, equivalence classes of mutually convertible quantity kinds — using two precise, disjoint relations:

Relation Asserts commensurability? Meaning
qudt:specializationOf Yes The subject is a true specialization of the broader quantity kind: same dimension, values are comparable, convertible, and additive.
qudt:organizedUnder No Organizational / unit-applicability grouping only — e.g. all the dimensionless quantity kinds organized under quantitykind:Dimensionless. Members share a dimension but are not interchangeable.

Both are sub-properties of skos:broader (so generic SKOS tooling still sees a single hierarchy), but only qudt:specializationOf — together with qudt:exactMatch for declared synonyms — defines the commensurability test:

(qudt:specializationOf | ^qudt:specializationOf | qudt:exactMatch | ^qudt:exactMatch)*

Two quantity kinds are commensurable if and only if this path connects them. It is deliberately not skos:broader in general, because skos:broader is now the union of the commensurate relation (specializationOf) and the non-commensurate one (organizedUnder) — traversing it would incorrectly weld, say, Strain and MassFraction into one family just because both are organized under Dimensionless.

A family is a connected component, not a tree: a quantity kind may have multiple specializationOf parents (e.g. recognized synonyms with independent histories), so a family can have more than one root. The invariant that replaces "one root per family" is dimension homogeneity per component — no specializationOf (or exactMatch) edge may cross a dimension vector.

Worked example: the electric-power group

Electric power makes the distinction concrete. quantitykind:ActivePower, quantitykind:ReactivePower, and quantitykind:ApparentPower all share the power dimension A0E0L2I0M1H0T-3D0 (M L² T⁻³) and are all gathered under quantitykind:ElectricPower — but by two different relations, because only one of them is commensurate with it:

  • quantitykind:ActivePower is qudt:specializationOf quantitykind:ElectricPower — genuinely commensurate, measured in unit:W (watt) and its SI prefixes, fully interconvertible with electric power.
  • quantitykind:ReactivePower and quantitykind:ApparentPower are qudt:organizedUnder quantitykind:ElectricPower — grouped for navigation, but not asserted commensurate. They are vector components, not interchangeable magnitudes: apparent power S combines active power P and reactive power Q as |S|² = P² + Q², so a reactive-power reading cannot be converted to an active-power reading without phase information.

Metrology made the same split visible by minting distinct units for the one dimension — unit:W (watt, active), unit:VAR (var, reactive), and unit:VA (volt-ampere, apparent), per IEC 80000-6 — and QUDT's applicableUnit sets follow suit: watts for ActivePower, vars for ReactivePower, volt-amperes for ApparentPower, pairwise disjoint. The shared dimension does not make them one commensurability family; qudt:organizedUnder is precisely the relation that groups them without asserting it.

Units are polysemous

The same unit symbol can serve quantity kinds in different families (joule serves both Energy and, via N·m, would-be Torque measurements; radian-as-1 serves Plane Angle and several dimensionless ratios). So a unit alone does not name a commensurability class — the mirror-image relations on the unit side make this explicit:

Relation Asserts commensurability? Meaning
qudt:unitForQuantityKind Yes The unit is a unit for this quantity kind — a member of the commensurate family the unit is convertible within.
qudt:categorizedByQuantityKind No The unit is grouped under a non-commensurate category, e.g. the placeholder quantitykind:Unknown or a dimensionless bucket.

Both are sub-properties of the legacy qudt:hasQuantityKind (kept for backward compatibility); new data should use the precise relation.

applicableUnit is a different axis entirely

qudt:applicableUnit lists the commonly-used, customary units of a quantity kind. It is curated guidance — not a derivation from commensurability or dimension, and not a closure over every unit that could express the quantity.

The clearest illustration is a genuine commensurability family whose members nonetheless carry different unit lists. quantitykind:ThermalEnergy is qudt:specializationOf quantitykind:Energy: they share the dimension A0E0L2I0M1H0T-2D0, sit in one commensurability family, and are fully interconvertible (1 BTU = 1055.06 J, exactly). Yet their applicableUnit sets are deliberately different:

  • quantitykind:Energy lists the full cross-domain spread — J and its SI prefixes, the BTU and CAL families, ERG, EV, W-HR/KiloW-HR, THERM, TOE, FT-LB_F, PlanckEnergy.
  • quantitykind:ThermalEnergy lists only the heat-domain customary units — the temperature-referenced BTU and calorie variants (BTU_39DEG_F, BTU_59DEG_F, CAL_15DEG_C, CAL_MEAN, …), THERM, and refrigeration units such as TON_FG-HR. It omits the electrical (W-HR), atomic (EV, E_h), and mechanical (ERG, FT-LB_F) units the generic parent carries.

Both kinds are equally commensurate across the whole energy family; what differs is which units practitioners actually reach for. A thermal engineer reports heat in BTU or calories, never in electronvolts or kilowatt-hours — even though every one of those would convert correctly. The unit list is shaped by domain convention, not by what is dimensionally or commensurably possible.

So applicableUnit is curated, per-domain guidance, decoupled from commensurability. A child quantity kind whose unit list differs from its parent's — fewer units, or a different domain-appropriate set — is not a bug. applicableUnit is expected to be incomplete (gaps are normal and never a build requirement) but should be correct (no nonsensical entries); completeness is never a goal.

3. Context (commensurability of qudt:Quantity instances)

A quantity kind carries no value, and a unit is polysemous across families. Neither, on its own, pins down a single commensurability class. It is the qudt:Quantity — the valued, contextual instance — that cements the pairing: a declared qudt:Quantity binds one specific unit to one specific quantity kind (via qudt:hasQuantityKind and qudt:hasUnit or equivalent), and that binding is what fixes which family the value belongs to.

Concretely: a bare value of 10 J is ambiguous between Energy and (numerically) Torque, because the unit alone doesn't disambiguate. A qudt:Quantity that additionally asserts hasQuantityKind quantitykind:Torque removes the ambiguity — the quantity, not the unit or the kind in isolation, is what two values must agree on before they can be compared, added, or converted.

Practical consequence: commensurability between two real-world measurements is ultimately a question about their qudt:Quantity declarations, not just a lookup against the quantity-kind family graph in §2. The family graph tells you which quantity kinds are mutually convertible in principle; the qudt:Quantity instance tells you whether a particular pair of measured values actually exercises that relationship.

4. Worked example: equivalents (chemistry)

"Equivalents" are a family of quantity kinds that express an amount not as a count of particles or a plain mass but as a measure of reactive capacity. QUDT already carries a cluster of them, each modelled as a specializationOf its ordinary base kind:

Quantity kind Dimension specializationOf Factor to the base depends on
quantitykind:MolarEquivalent A AmountOfSubstance charge number (valency) z
quantitykind:ReactiveCharge A AmountOfSubstance charge number (valency) z
quantitykind:EquivalentConcentration A L⁻³ Concentration charge number (valency) z
quantitykind:MassEquivalent M Mass reaction / species
quantitykind:CO2Equivalent M MassEquivalent global-warming potential (GWP)
quantitykind:EquivalentDensity M L⁻³ Density reaction / species

These are a stress test for the three layers above, because the factor that converts an equivalent to its base is not a constant — it is a property of the species being measured, and lives at neither the unit nor the quantity-kind level.

Composition (§1). EquivalentConcentration shares the dimension A L⁻³ with ordinary Concentration. The clinical units added in PR #1484Eq/L, mEq/L, µEq/L, … — all anchor to mol/m³ with qudt:conversionMultiplier 1.0, exactly like mmol/L. Dimensionally they are indistinguishable.

Semantics (§2). The data places EquivalentConcentration in the same family as Concentration (via specializationOf). But the equivalent↔molar conversion is mediated by the species' charge number, or valency, z: the amount in equivalents equals the amount in moles times z. One millimole of Na⁺ (z = 1) is 1 mEq, but one millimole of Ca²⁺ (z = 2) is 2 mEq. So "convert mEq/L to mmol/L" has no single answer — it is ×1 for monovalent ions and ÷2 for divalent ions — even though both units share a dimension and both report a multiplier of 1.0. CO2Equivalent is the same shape with a different factor: it is reported in plain mass units (kg and t are unitForQuantityKind both Mass and CO2Equivalent), and the factor that turns a mass of some greenhouse gas into its CO₂-equivalent mass is that gas's global-warming potential, which depends on the gas and on the chosen time horizon.

Context (§3). The missing number — z, or the GWP — is a property of the analyte or the gas, i.e. of the specific thing being measured. It is therefore pinned down only at the level of a concrete qudt:Quantity, or by a more specific quantity kind that fixes that factor. This is the same lesson as Torque vs. Energy, but sharper: there the two kinds are genuinely incommensurable, whereas here mEq/L really is convertible to mmol/L — just not by a factor that any unit or dimension can supply on its own.

An open modelling question. Because the factor becomes constant once the valency is fixed — not the individual species — a natural candidate is to specialise by valency rather than by analyte: quantity kinds such as a "monovalent", "divalent", or "trivalent" equivalent concentration, each specializationOf quantitykind:EquivalentConcentration and each carrying a definite z (1, 2, 3, …). This keys the distinction on exactly the property that sets the conversion factor, so one "divalent equivalent concentration" serves every divalent ion (Ca²⁺, Mg²⁺, …) rather than needing a separate kind per species; and with z fixed, the relationship to Concentration becomes a genuine constant factor (÷ z) — which is what specializationOf is meant to assert. On this model the bare EquivalentConcentration, with no valency fixed, would be precisely the kind that cannot claim a constant factor to Concentration. (The CO2Equivalent branch does not fit this pattern: its factor is a per-gas global-warming potential, not a valency, so it would need a different treatment.) None of this is established; it is one of several directions under discussion in issue #1485, alongside marking such kinds as requiring an external parameter (valence, molar mass) or restricting conversion to an explicit "linearly convertible" relation. What the three-layer model already settles is where the answer must live: not in the unit, and not in the dimension, but in the context that fixes the factor.

Summary

Layer Question answered Mechanism Necessary/sufficient
Composition Could these be related by a numeric factor at all? qkdv: dimension vector equality Necessary, not sufficient
Semantics Are these quantity kinds (or units) mutually convertible? specializationOf / exactMatch connectivity (quantity-kind side); unitForQuantityKind (unit side) Sufficient within a dimension
Context Are these two specific measured values comparable? The unit + quantity-kind pairing declared on each qudt:Quantity Decides the actual case

See also: Contextual Units for a related but distinct notion of "context" (units qualified by measurement conditions, not commensurability).

Clone this wiki locally