- From: Guus Schreiber <schreiber@cs.vu.nl>
- Date: Wed, 14 Apr 2004 16:37:57 +0200
- To: Bernard Vatant <bernard.vatant@mondeca.com>
- Cc: SWBPD <public-swbp-wg@w3.org>
Bernard Vatant wrote:
>
> I have not noticed any activity under [UNITS] so far ... this is a first bait :))
>
> A FAQ in Protégé-OWL list, I'll give here the latest variant sent yesterday (summed up)
>
> "I have defined a class 'Wheel'
> and a DatatypeProperty 'diameterValue'
> on Domain 'Wheel'
> and Range 'Integer'
Is this an opportunity for a modelling pattern?
Guideline: for numeric values, always use the "quantity" pattern
[Fowler, Gruber]
For example (in a sloppy fashion, other have done this better)
ObjectProperty(diameterValue
domain(Wheel)
range(LengthQuantity))
Class(Quantity)
DatatypeProperty(value
domain(Quantity)
range(xsd:decimal))
DatatypeProperty(unit
domain(Quantity)
range(Unit))
Class(LenthQuantity
subClassOf(Quantity)
Retriction(unit, allValuesFrom(LengthQuantity))
Individual(myWheel
type(Wheel)
diameterValue(type(LengthQuantity) value(15) unit(cm)))
[the middle part is general and could come out of some
units-and-dimensions ontology]
Guus
>
> I want to create a class 'BigWheel' with a restriction on the property
> 'diameterValue', for instance 'diameterValue => 10'.
>
> How do I do that in OWL?"
>
> I had answered that basically you can't express that kind of 'quantitative restriction' in
> OWL, although there are workarounds, like using a 'minDiameterValue' property and so on.
>
> I guess every other user wanting to include units in one's ontology will hit that kind of
> wall.
>
> It figures we should come out with clear explanations why OWL does not support
> quantitative restrictions on DatatypeProperty with numerical Range, and more generally
> restrictions linked to the very nature of data themselves, like defining the class
> 'WellDescribedThing' by restriction on a 'description' value to 'over 1000 words'.
>
> [Seems to me that there are many ways to work around declaration of those kinds of
> restrictions, but that OWL internally makes no provision to check their consistency, but
> can be used to pass them as black boxes to external applications that can make sense of
> them. IOW, I can declare an instance of 'BigWheel' with 'diameterValue' set to 9.7, no
> inconsistency will be detected by pure logical tools with 'minDiameterValue = 10', but
> external applications able to deal with quantities will make sense of it.]
>
> Bernard Vatant
> Senior Consultant
> Knowledge Engineering
> Mondeca - www.mondeca.com
> bernard.vatant@mondeca.com
>
>
>
--
Free University Amsterdam, Computer Science
De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands
Tel: +31 20 444 7739/7718
E-mail: schreiber@cs.vu.nl
Home page: http://www.cs.vu.nl/~guus/
Received on Wednesday, 14 April 2004 10:40:31 UTC