- From: Guus Schreiber <schreiber@cs.vu.nl>
- Date: Wed, 14 Apr 2004 16:14:48 +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' > > 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