W3C home > Mailing lists > Public > public-owl-dev@w3.org > January to March 2008

Re: Xtreme Punning

From: Pat Hayes <phayes@ihmc.us>
Date: Fri, 11 Jan 2008 10:08:32 -0800
Message-Id: <p06230906c3ad5a79ea47@[]>
To: Jeremy Carroll <jjc@hpl.hp.com>
Cc: Denny Vrande„iÁ <dvr@aifb.uni-karlsruhe.de>, Owl Dev <public-owl-dev@w3.org>

At 12:18 PM +0000 1/11/08, Jeremy Carroll wrote:
>Denny Vrande„iÁ wrote:
>>I think this kind of punning comes very natural.
>>Snoopy a Dog.
>>Dog a Species.
>>Charlie_Brown Dog Snoopy.
>>All of them feel right, and are also allowed in 
>>both RDF and OWL with punning.
>>Father rdfs:range Father.
>>Anakin a Father.
>>Luke Father Anakin.
>>This is a natural pattern to describe most of 
>>the so called dependant properties in 
>>OntoClean, as well, but that's a sidenote.
>>Or, to put it shortly, I really like punning :) 
>>It will also make our work on wikis so much 
>>easier! (and I could write an essay on how)
>It seems to me that names are cheap, and that 
>using the same name for both a property and a 
>class is simply a bit sloppy. Using a slightly 
>different name is usually clearer, and with some 
>naming conventions can work quite well.

Conventions which everyone has to agree to use: 
which will never happen. Names are cheap, but 
agreement on names is not cheap, so the fewer 
names we can get away with the better. The 
datatype example in my earlier email is a good 
example, IMO: all three uses are quite natural, 
and I wouldn't want to have to remember to 
distinguish xsd:number from rdfs:numberMapping 
from owl:numberThing.

This whole debate seems curiously dated and 
archaic, almost retro. We had these debates in 
the Common Logic WG about 5 years ago, or maybe 
it was 6 years. As all these issues are already 
thoroughly solved by the old HiLog/RDF/CL 
semantics, I am amazed that they are still being 
discussed. Its really very simple. Names can be 
freely used in ANY logical syntactic role, 
without ANY restrictions. EVERY occurrence of a 
name denotes the same thing. ALL names denote 
both a class and a property (and in CL a 
function; and in IKL, a proposition. No doubt 
other ideas can be incorporated.) ANYTHING can be 
an instance. Hence, any two legal sentences 
(ontologies) can be simply concatenated and the 
result is still legal (no checking to be done 
when merging graphs) and meaningful. And it all 
works very simply, with a simple uniform 
semantics, which one can quickly get used to. For 
example, equality reasoning works in the 
classical way everywhere: if A=B  then you can 
substitute 'A' for 'B' anywhere and it means the 
same. Its a bit like learning to swim: the 
hardest thing is to just not be afraid to let go. 
And yes, you CAN write silly things (though they 
do have precise, if somewhat loony, meanings). 
But then you can can write silly things in just 
about any reasonably expressive logic. No way we 
can prevent people writing silly things: that's 
like trying to write a programming language that 
doesn't allow bugs. FWIW, on at least two cases 
so far, apparently silly such things have in fact 
turned out to be quite useful (my favorite is 
allowing a character string to be a function in 
CL, which we used very effectively in IKRIS to 
provide a kind of 'subscripted name')

One gets exactly the same result from the punning 
semantics by also applying punning to identity, 
by the way, so that there is one identity 
relation (call it sameAs :) which means 
owl:sameAs applied to individuals, 
owl:sameClassAs applied to classes and 
owl:samePropertyAs applied to properties. (But 
you also allow it to be used between categories: 
in fact, there's no way to tell.) A while ago, I 
asked Peter why not just do this and put an end 
to all this debate about what can be the same as 
what, and his answer was that doing this would 
allow examples which couldn't be solved by the 
latest DL reasoners. They would be incomplete on 
such a language. Well, tough titty for the latest 
DL reasoners, IMO. The design of the SWeb 
shouldn't be driven by the limitations of the 
latest reasoners, but by semantic clarity. 
Moreover, the state of the reasoning art is a 
moving target. Will be need OWL1.2 when someone 
implements a better reasoner?


>However, classes-as-intances does seem natural 
>in your example (and didn't in mine, I wonder 
>I would write your examples as:
>Snoopy a Dog.
>Dog a Species.
>Charlie_Brown hasDog Snoopy.
>father rdfs:range Father.
>Anakin a Father.
>Luke father Anakin.

IHMC		(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.	(850)202 4416   office
Pensacola			(850)202 4440   fax
FL 32502			(850)291 0667    cell
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Friday, 11 January 2008 18:08:49 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:58:16 UTC