W3C home > Mailing lists > Public > public-owl-comments@w3.org > October 2012

Re: question on primer example

From: Sebastian Rudolph <rudolph@kit.edu>
Date: Wed, 3 Oct 2012 18:04:20 +0200
Cc: "public-owl-comments@w3.org" <public-owl-comments@w3.org>
Message-Id: <8D0074F7-FBF1-4EB4-A4C1-AECB5F10C4F7@kit.edu>
To: "Polleres, Axel" <axel.polleres@siemens.com>
Hi Axel,

> 
> Hi Sebastian,
> 
>> As far as your suggestion to use "all" instead of "some" is
>> concerned, this would not convey the intended semantics since
>> then all individuals which are *not* in a hasAge relation to
>> any value would be classified as teenagers (mind the somewhat
>> unintuitive interpretation of the "all").
> 
> Why? If you refer to the last example in http://www.w3.org/TR/2009/REC-owl2-primer-20091027/#Advanced_Use_of_Datatypes
> "Teenager" is declared as a *subclass* of those with some (or as I suggest 'all') ages between 13 and 19.

Very good point. In my answer I was assuming the classes had been specified as equivalent (which would probably be more adequate). 
I still advocate the "some" in the current modeling but I have to modify my argument a little. 

> In the "all" reading, all I could infer is IMO that someone with an age out of that range would be inferred *not* to be a
> Teenager (which I find quite intuitive, but which wouldn't work for the "some" reading), right?
It *would* work for the "some" reading if "hasAge" is specified to be functional according to the following reasoning:
xyz hasAge 55 =(hasAge is functional)=> xyz has not any Age other than 55 => xyz has not any Age between 13 and 19 => xyz is not a Teenager

Indeed, it would not work without the functionality axiom.

> So, I don't really get it (maybe an embarrassing, temporary brain-malfunctioning :-) but happy to learn where my mistake is).
> 
>> (mind the somewhat
>> unintuitive interpretation of the "all").
> 
> Can you elaborate?
Well, put into model theoretic terms
(1) the "some" version requires all models to satisfy that every teenager must have an age (and furthermore this age must be in a certain range), whereas
(2) the "all" version allows for models that have teenagers who do not have any age associated to them, because the "all" axiom would not be violated by ageless teenagers.
To me, variant (1) seems to be more appropriate.

Best regards,
  Sebastian


> 
> (BTW, I am happy to take this discussion to another, more
> adequate list, if this is not the right place, as mentioned
> earlier, this is not intended as a formal comment to the spec)
> 
> Axel
> 
>> -----Original Message-----
>> From: Sebastian Rudolph [mailto:rudolph@kit.edu]
>> Sent: Mittwoch, 03. Oktober 2012 12:01
>> To: Polleres, Axel
>> Cc: public-owl-comments@w3.org
>> Subject: Re: question on primer example
>> 
>> Hi Axel,
>> 
>> it might be better to refer to the current version of the
>> primer, i.e. http://www.w3.org/TR/2009/REC-owl2-primer-20091027/
>> If you take the mentioned snippet per se, you are right, it
>> allows for persons having more than one age. However if you
>> also specify the axiom
>> 
>> FunctionalDataProperty( :hasAge )
>> 
>> it defines :hasAge to be functional and hence allows only one
>> age per individual. If you assume this axiom, then the
>> definition of Teenager via "some" is perfectly fine.
>> As far as your suggestion to use "all" instead of "some" is
>> concerned, this would not convey the intended semantics since
>> then all individuals which are *not* in a hasAge relation to
>> any value would be classified as teenagers (mind the somewhat
>> unintuitive interpretation of the "all").
>> 
>> Best,
>> Sebastian
>> 
>> 
>> 
>> 
>> 
>> Am 03.10.2012 um 09:19 schrieb Polleres, Axel:
>> 
>>> Hi,
>>> 
>>> I have some question on the primer example on DataRanges, cf.
>>> http://www.w3.org/TR/2008/WD-owl2-primer-20080411/#Adatarange
>>> 
>>> The prose text says
>>> "For example, we might have Teenager as those people whose
>> age is an integer that is at least 13 but less than 20, Adult
>> as those people whose age is at least 21, and Child as those
>> people whose age is in the complement of adult ages."
>>> 
>>> Class: Teenager EquivalentClass: Person and hasAge some
>> integer[>= 13
>>> , < 20]
>>> Class: Adult EquivalentClass: Person and hasAge some integer[>= 21]
>>> Class: Child EquivalentClass: Person and not ( hasAge some
>> integer[>=
>>> 21] )
>>> 
>>> As it stands, this seems to allow several ages per person -
>> one of which is in the defined range.
>>> IMO, it would be more intuitive to use for the first two
>> lines "all" instead of "some" here plus stating that age is
>> functional (each person has exactly one age, wouldn't it?
>>> 
>>> Not a big deal nor meant as a formal comment, but just to
>> note and ask for some opinion from the group or explanation
>> why you got to formulate the example like that.
>>> 
>>> With best regards,
>>> Axel Polleres
>>> 
>>> Siemens Aktiengesellschaft Oesterreich CT RTC BAM CON-AT
>>> Siemensstrasse 90 1210 Vienna, Austria
>>> Tel.: +43 51707-36983
>>> Mobile: +43 664 88550859
>>> mailto:axel.polleres@siemens.com
>>> 
>>> Company Name: Siemens Aktiengesellschaft Oesterreich; Legal Form:
>>> Stock Corporation; Company Seat: Vienna; Register Number:
>> FN 60562 m;
>>> Registered at: Commercial Court Vienna; DVR-Number: 0001708
>> 
>> _________________________________________________
>> PD Dr. Sebastian Rudolph
>> senior researcher & project leader at AIFB Karlsruhe
>> Institute of Technology (KIT)
>> rudolph@kit.edu                    phone +49 721 608 - 47362
>> www.sebastian-rudolph.de        fax +49 721 608 - 45998
>> 
>> 

_________________________________________________
PD Dr. Sebastian Rudolph
senior researcher & project leader at AIFB
Karlsruhe Institute of Technology (KIT)
rudolph@kit.edu                    phone +49 721 608 - 47362
www.sebastian-rudolph.de        fax +49 721 608 - 45998
Received on Wednesday, 3 October 2012 16:04:52 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 3 October 2012 16:04:52 GMT