In my case I want to model units as simple as possible. This means that I just
want to be as standard as possible without all the special flexibilities like
prefixes etc. In that scenario the unit for height is ok (because it is the
same for every class that has height as domain). (ie Mm>m becomes a conversion
issue not a modelling issue).
Clearly I see the more flexible cases and now also the more flexible modelling
solutions. The more flexible however the more we go away from standard owl
semantics (ie via quantity value) and come into our own unit/property
meta-modelling....
I do have however another issue:
If I now want to use them as range I have to manually add all the 'rdf:type
rdfs:datatype' clauses for all units.
Or can this be done more simple (or could we convince the nasa guys to adapt
(or maybe have TBC variant of the ontology where all clauses are added for all
units?)
Thx Michel
-----Original Message-----
From: [email protected] [mailto:[email protected]]
On Behalf Of Irene Polikoff
Sent: maandag 10 oktober 2011 23:04
To: [email protected]
Subject: RE: [topbraid-users] Re: unit as range error
Hi Simon,
< Your solution here seems to be to give the same context (units) to all values
of a particular property.>
I think some applications (especially, scientific and engineering) need very
rich support for units of measure. Other applications may have lighter
treatments.
QUDT ontologies attempt to enable a range of use cases.
The blog example is very simple in that it says that the property (height) has
a certain unit as its rdfs:range. Alternatively, an OWL restriction could have
been used to say that in a context of a certain class, the range of values is
centimeters, in the context of another class, it is meters, etc.
In both cases the choice is being made to treat units as datatypes.
If you look at QUDT ontologies, you will see that there is a class Quantity
Value defined as follows:
Annotation Properties
description: A quantity value expresses the numerical value of a quantity with
respect to a chosen unit of measure. For example, the value of Planck's
constant in Joule-Seconds (J s) is approximately 6.62606896E-34, whereas the
value in Erg-Seconds (erg s) is approximately 6.62606896E-27.
label: Quantity value
Other Properties
subClassOf:
value for quantity only Quantity
numeric value only qudt:numericUnion
standard uncertainty only xsd:double
standard uncertainty max 1
value for quantity max 1
relative standard uncertainty max 1
numeric value exactly 1
relative standard uncertainty only xsd:double unit only Unit unit exactly 1
Thing
type Class
So, instead of treating a property such as 'height' as a datatype property, one
can create an instance of a Quantity Value and say what Quantity is being
measured, what is the numeric value and what is the unit of measure where
things like centimeter, etc. are resources - instance of class Unit and things
like height are resources as well - instances of class Quantity.
By Quantity here we don't mean a number but an observable property of an
object, event or system that can be measured and quantified numerically.
The QUDT is actually even richer than that because it also has support for
quantity kinds and dimensions.
For example, the speed of light in a vacuum and the escape velocity of the
Earth are both quantities of the kind speed but are of different magnitudes.
What is the GI community?
Irene Polikoff
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Simon Cox
Sent: Monday, October 10, 2011 12:01 AM
To: TopBraid Suite Users
Subject: [topbraid-users] Re: unit as range error
I just saw this discussion.
This echoes a permathread in the GI community as well, and is arguably one of
the biggest gaps in almost all computer languages in terms of their application
to the real world.
The point is that 304.8mm=1ft, 1kg=2.205lb, etc.
They are alternative and entirely equivalent serializations of the same
quantity.
Quantities have no meaning without a unit of measure, and generally should not
be transported without the uom being provided either locally or by the context.
Your solution here seems to be to give the same context (units) to all values
of a particular property.
The GI community has traditionally used UML for conceptual modelling, and has a
base class 'Measure' to handle this.
Translated into OWL it looks llike this:
base:Measure
a rdfs:Class ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty meas:units
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty meas:value
] .
meas:units
a owl:FunctionalProperty , owl:DatatypeProperty ;
rdfs:comment "Value should be a valid UCUM symbol"^^xsd:string ;
rdfs:domain base:Measure ;
rdfs:range xsd:string ;
dc:description "The value of this property is a designator for the units
of measure or scale for the quantity"^^xsd:string .
meas:value
a owl:FunctionalProperty , owl:DatatypeProperty ;
rdfs:domain base:Measure ;
rdfs:range base:Number ;
dc:description "The value of this property is a number that is scaled by
the unit of measure to obtain a quantity"^^xsd:string .
Simon
On Oct 5, 6:53 pm, "Bohms, H.M. (Michel)" <[email protected]> wrote:
> Hi Holger
>
> I just recently discovered the great unit pattern/ontology.
>
> However when I try to put say unit:Kilogram as range the box stays red.
(I imported the local file)
>
> I see this issues reported earlier for older versions but should have
> been
resolved in later versions.
>
> [cid:738164810@05102011-25D7]
>
> thx for feedback, Michel
> This e-mail and its contents are subject to the DISCLAIMER
athttp://www.tno.nl/emaildisclaimer
>
> Outlook.jpg
> 203KViewDownload
--
You received this message because you are subscribed to the Google Group
"TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid
Live, TopBraid Ensemble, SPARQLMotion and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--
You received this message because you are subscribed to the Google Group
"TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid
Live, TopBraid Ensemble, SPARQLMotion and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en