Re: [UNITS] FAQ : Constraints on data values range

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'
> 
> 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?"

This requires the ability to use user-defined XML Schema datatypes, an 
issue on our TF list.
Assuming we you can do this (at some near point in the future), the 
solutions looks like this:

1. Define a datatype such as "ex:TenPlus" e.g. as a subtype of the 
built-in datatype xsd:decimal, with the additional constraint that the 
value should be >= 10 (you can express this in XML Schema).

2. Define a restriction on BigWheel, e.g.

Class(BigWheel
   insersectionOf(
     Wheel
     Restriction(diamterValue, allValuesFrom(ex:TenPlus)

[assuming this this is a necessary and sufficient definition, otherwise 
use subClassOf instead of intersectionOf]

Guus

> 
> 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:17:18 UTC