A Study of Quantities Sebastian Brandt brandt@cs.manchester.ac.uk (Slides by Bijan Parsia, bparsia@cs.man.ac.uk) Tuesday, 1 April 2014
Previous class • OWL Datatypes – Two worlds paradigm • abstract logic world: classes, individuals, object properties • concrete data world(s): numbers, strings, etc. – Syntax for data integer[>= 0 , <=150] • datatypes, data restrictions (with facets) • boolean connectives for datatypes, user-defined datatypes • data properties link the logic world to the data world(s) – Semantics for data • interpretation domains of “data world” disjoint with “logic world” • fixed semantics for datatypes, matches standard semantics for integer, string, etc. – Limitations: “admissible” datatypes – Existing reasoners can be extended to admissible datatypes • Today – What about units of measure? Quantities? 2 Tuesday, 1 April 2014
All About Quantities Quantities are ubiquitous • Length, time, charge, amount of money, acceleration, velocity, interest rate... • Measured of some sort • Generally represented with a magnitude (a real number) and a unit of measurement • Implicitly, quantities have a dimension • Dimensions are disjoint • Quantities may be derived from other quantities • (Except for "base" quantities) • Quantities can be complex • Consider a first order (plus maths) ontology • http://www-ksl.stanford.edu/knowledge-sharing/papers/engmath.htm 3 Tuesday, 1 April 2014
One Definition (defrelation UNIT-Of-MEASURE ;; units are scalar quantities (=> (unit-of-measure ?u) (scalar-quantity ?u)) ;; units are positive (=> (unit-of-measure ?u) (forall ?u2 (=> (and (unit-of-measure ?u2) (= (quantity.dimension ?u) (quantity.dimension ?u2))) (positive (magnitude ?u ?u2))))) ;; units can be combined using * (abelian-group unit-of-measure * identity-unit) ;; units can be combined using expt (=> (and (unit-of-measure ?u) 4 (real-number ?r)) Tuesday, 1 April 2014
Formalising in OWL • Much we can't hope to capture without extensions • How might we try to capture with vanilla OWL? – First thought: data properties – Yangtze Types: River – Facts: length-in-miles "3937.5"ˆˆxsd:decimal • Advantages: Simple, flexible, extensible • What happens with different units? – Yangtze Facts: length-in-kilometers "6300"ˆˆxsd:decimal – Are these facts consistent? – How do we convert? – Linear (in)equations would help! 5 Tuesday, 1 April 2014
Capturing Conversion • Equations capture the unit conversion – SubClassOf(River – DataAllValuesFrom(length-in-miles length-in-kilometers – DataComparison(Arguments(mi km) eq( mi (* 1.609 km) )))) • Dimensional analysis – Are the properties disjoint? – Do we need a super-property "length"? – How about derived quantities? • Big problem – Horrific proliferation of strange properties • -in-miles, -in-feet, -in-centimeters, ... • length-, height-, depth-, circumference- – Lots of extra stuff in the ontology – Error prone; computationally expensive 6 Tuesday, 1 April 2014
A Solution • Datatypes! – Exactly what Two World Philosophy called for • Separates domain and quantity theories • User friendly: • Yangtze Types: River • Facts: length Yangtze "6300 km"ˆˆowl:quantity, length Yangtze "3937.5 miles"ˆˆowl:quantity • Simple, direct, no clutter – And an efficient engine works behind the scenes! – Doesn’t touch anything when it doesn’t have to – No n-ary! 7 Tuesday, 1 April 2014
More Examples • Assuming height is functional... • Consistent – sheeva Facts: height "2 meters"ˆˆowl:quantity, height "200 cm"ˆˆowl:quantity • Inconsistent – sheeva Facts: height "2 m"ˆˆowl:quantity, – height "2 cm"ˆˆowl:quantity • Entails that Sheeva is a TallThing – TallThing equivalentTo: – height some owl:quantity[>= "6 feet"] 8 Tuesday, 1 April 2014
(Dis)Advantages Of A Datatype • Advantages – Very very user friendly – Can scale to sophisticated equations – Proper simplification and analysis – Solve the problem once – Implementation easy • Disadvantages – Doesn't help us to reason about quantities – Supports ontologies with quantities, not about quantities – Needs a fair bit of tool support 9 Tuesday, 1 April 2014
Recommend
More recommend