QUDT Ontologies Overview

QUDT presents a unified architecture for the conceptual representation of quantities, quantity kinds, units, dimensions, and data types, which lie at the core of all scientific and engineering inquiry. But the QUDT specification is more than a core architecture and a list of these concepts, because it implements international standards and thus provides the foundation for system interoperability. In order to provide for interoperability and data exchange between information systems, the specification needs to be available in a machine processable form, with no ambiguities. For these reasons, the QUDT approach to specifying these concepts is to use precise semantically grounded specifications in an ontology model with translation into machine-processable representations.

Ontologies provide the object-oriented strengths of encapsulation, inheritance, and polymorphism, strengths which are unavailable in other structured modeling approaches. The characteristics modeled in QUDT require a model-based approach because they are functionally dependent. Modeling one without modeling its dependency on the other requires that the understanding of those dependencies be carried by the observer, which injects ambiguity into the modeling approach. These models (dimensions, coordinate systems, etc.), like everything else, are hierarchical, so using a language to model them which doesn't support inheritance imposes constraints on the models and their use which, again, results in ambiguity.

QUDT supports system interoperability in four ways:

  1. The unit ontologies provide a formal way of specifying units explicitly, thereby avoiding tacit conventions that are prone to misinterpretation.
  2. QUDT distinguishes between variants of a given unit. For example, the English word "day" interpreted as a unit of measure may refer to a mean solar day, a sidereal day, or the length of time equivalent to exactly 86,400 seconds. Each of these interpretations of "day" appears as a distinct unit in the ontology.
  3. QUDT distinguishes between units of different types that are commonly referred to with the same name. For example, "second" may refer to a measure of time or a measure of angle. Again, each usage appears as a distinct term in the ontology.
  4. The ontology provides explicit conversion information, serving as a single point of reference for such conversions.

QUDT is based largely on the international standard for metric units (SI), as described in "BIPM International System of Units", the "ISO standards on Units and Quantities", and "The NIST Guide for the use of the International System of Units". In addition, QUDT includes units from other systems, such as CGS units for mechanics, CGS EMU (electromagnetic) units, CGS-ESU (electrostatic) units, and Gaussian units for electrodynamics, and the Planck system of natural units. Most US Customary and British Imperial units for length, weight, and heat are also included. It is the hope and intention that QUDT form the basis for a unification of the various quantity and unit ontologies and the various standards that represent them in use around the world, including but not limited to IEC 61360, UCUM, and UN/ECE. Compliance with these standards comes along with it a requirement that QUDT be verifiable as being compliant with them. The QUDT ontologies are being converted to SHACL with the construction of SHACL validators to meet this requirement.

Wherever applicable, the SI standard is used for conversions between non-SI units. To convert from unit U1 to U2, one first converts U1 to SI (the equivalent value in the appropriate SI unit), then converts SI to U2. In the QUDT Ontologies, each unit has a corresponding conversion multiplier, which multiplied to quantities to convert from the current unit to the corresponding SI unit. So, if N1 and N2 are the conversion multipliers for U1 and U2 respectively, then the proper factor to convert from U1 to U2 is N1/N2. Unit conversion data was largely derived from the values given by the National Institute of Standards and Technology (NIST) for fundamental constants, as documented in "The NIST Reference on Constants, Units, and Uncertainty".

QUDT semantics are based on dimensional analysis expressed in the OWL Web Ontology Language (OWL). The dimensional approach relates each unit to a system of base units using numeric factors and a vector of exponents defined over a set of fundamental dimensions. In this way, the role of each base unit in the derived unit is precisely defined. A further relationship establishes the semantics of units and quantity kinds. By this means, QUDT supports reasoning over quantities as well as units. QUDT models may be translated into other representations for machine processing, or other programming language structures according to need. The following sections briefly define the primary objects of interest in the QUDT ontology and their relevance to the formal specification of quantities, units, dimensions and data types.

1.1: Ontology Architecture

QUDT ontologies are organized as collections of different types of graphs, as listed in the QUDT catalog. Vocabulary graphs hold different domains of quantities and units, which import the appropriate QUDT schemas. The core schema of QUDT imports the VAEM, DTYPE and SKOS ontologies.

1.2: Quantity Kind

qudt:belongsToSystemOfQuantities
qudt:hasQuantityKind
qudt:applicableUnit
qudt:belongsToSystemOfQuantities
qudt:qkdvDenominator
qudt:dimensionVectorForSI
qudt:generalization
skos:broader
qudt:hasDimensionVector
qudt:isQuantityKindOf
qudt:qkdvNumerator
qudt:hasQuantityKind
qudt:hasQuantityKind

1.3: Quantity

qudt:belongsToSystemOfQuantities
qudt:generalization
skos:broader
qudt:isQuantityKindOf
qudt:belongsToSystemOfQuantities
qudt:hasQuantityKind
qudt:quantityValue
qudt:hasQuantityKind
qudt:hasQuantityKind

1.4: Quantity value

qudt:applicableUnit
qudt:generalization
skos:broader
qudt:hasQuantityKind
qudt:quantityValue
qudt:hasQuantityKind
qudt:hasQuantity
qudt:hasQuantityKind
qudt:unit

1.5: Quantity Kind Dimension Vector (SI)

qudt:qkdvDenominator
qudt:generalization
skos:broader
qudt:hasDimensionVector
qudt:qkdvNumerator

1.6: Unit

qudt:applicableUnit
qudt:generalization
skos:broader
qudt:hasQuantityKind
qudt:isUnitOfSystem
qudt:hasAllowedUnit
qudt:hasCoherentUnit
qudt:hasDefinedUnit
qudt:hasUnit