- From: Pat Hayes <phayes@ihmc.us>
- Date: Fri, 11 Jan 2008 10:08:32 -0800
- 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? Pat > >However, classes-as-intances does seem natural >in your example (and didn't in mine, I wonder >why). > >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. > >Jeremy -- --------------------------------------------------------------------- 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