"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

Units of Measure service

UOM Service

Key inputs:

SI is the definitive source for definitions for at least the 7 basic units, and also defines a set of 'derived' units related to these. However, the definitions are scattered amongst a set of tables formatted for reading rather than processing.

UCUM provides an algorithm for creating a UOM symbol, based on multiplying, dividing, and raising to powers a set of terminal symbols listed in 23 tables and also provided in an XML document. The 'register' of terminals, maps each to 'kind of quantity' (in words) and to a 'definition unit' (i.e. the preferred unit for this kind of quantity) with the necessary conversion factor, and function if required ( cel(), degf(), tan(), pH(), ln(), lg(), ld() ). So UCUM is potentially comprehensive, and supports the conversion of arbitrary units automatically, where the symbol compresses the definition into a memorable text string. The UCUM documentation describes the production rule for the symbol as BNF and as a state machine.

POSC provides individual definitions in a formal syntax, and a large register of definitions. The POSC register also includes some 'conventional' units important in engineering and environmental sciences that UCUM doesn't cover. POSC has the notion of 'quantity type', which is key to grouping UOM's consistently so that conversions are possible. But doesn't provide a formal register of quantity-types, so the definitions are still not rigorous.

Note that the GML unit-of-measure schema essentially follows POSC.

UCUM and POSC (and others, like Gellish) use SI, but attempt to be self-contained in the sense that they define their own set of identifiers. The ideal system would recognize SI as the authority for the core units, and build out from there.

A comprehensive register of units might be built as a hybrid. The idea is to start by loading representations of all the source vocabularies, retaining the identifiers used in the original versions. To this add
  1. the missing 'quantity-type' vocabulary, and
  2. 'decorations' to record the mappings (especially 'exact match' type mappings) between items in different vocabs.

UCUM would appear in this system as labels or notations for the contents of the other vocabularies. Importantly, the decorations are governed separately from the source vocabularies. This is part of the value-add, but the decorations should not leak into the source vocabs which are governed externally, even if re-cast in a new formalism(*) to suit our platform.

We are looking at SKOS/RDF, with RDFS-based extensions to match the POSC model for UOM definitions (which requires factors and exponents, and pointers to quantity-types). Perhaps OWL would be better, more rigorous etc, but it would also have to be extended. And while the very useful properties skos:prefLabel, skos:altLabel, skos:notation are available for any rdf Resource, the SKOS mapping relations, which are an important part of the multi-source strategy, can only be between skos:Concepts.

This rdf+xml example shows some of the ideas, though I haven't yet settled on a pattern for using skos:ConceptScheme, skos:Collection and owl:Ontology consistently.

This repository has some other work in progress.

-- SimonCox - 22 May 2009

UOM vocabulary harmonization

Topic revision: r6 - 24 Feb 2012, SimonCox

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).