- 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