RE: [OEP] a Quantity pattern? [was: Re: [UNITS] FAQ : Constraints on data values range] $swbpd

Guus,

How absolutely wonderful a treat to be able to read angle-bracket free examples!! 

With a bit of indentation, we have something very readable indeed.

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)))

I don't know what this syntax is, but I love it! it has a lot more information per character than raw OWL and results in between 500% and infinite-fold increase in speed of understanding the content.  Infinity happens because often I never get over the syntax shock to try and understand it.

Network Inference uses something much like this, for representing queries. 

I have accepted a number of good arguments on the problems of adopting another more human-friendly syntax, and with the abstract syntax, in particular. I am still optimistic that in principle it is possible to do something along these lines and do much better than raw OWL (say as measured in semantic content per character, and speed in understanding the content from reading it, both for teaching newbies, and for experienced folk). 
1. If there were easy ways for such a syntax to be cut/pasted, and that tools would readily import/export the syntax,  then this would address one of Jim's excellent points.
2. If it can readily be extended to include all of OWL-Full, that solves one major problem with the abstract syntax.

Are there any showstoppers that I have forgotten?  I agree that it is not THIS group's job to come up with such a syntax, I'm just hoping that one day I can avoid reading raw OWL/RDF entirely.

Mike


 -----Original Message-----
From: 	public-swbp-wg-request@w3.org [mailto:public-swbp-wg-request@w3.org]  On Behalf Of Guus Schreiber
Sent:	Wednesday, April 14, 2004 7:38 AM
To:	Bernard Vatant
Cc:	SWBPD
Subject:	[OEP] a Quantity pattern? [was: 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'


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 Friday, 16 April 2004 23:10:46 UTC