- From: Pat Hayes <phayes@ihmc.us>
- Date: Mon, 5 Nov 2007 17:23:32 -0600
- To: Bijan Parsia <bparsia@cs.man.ac.uk>
- Cc: Owl Dev <public-owl-dev@w3.org>
>On 5 Nov 2007, at 20:57, Michael Schneider wrote: > >[snip] >>Ok, now we come to some core point: The use cases. When I wrote my original >>mail, the only relevant usecase for "classes as instances" I could imagine >>was to assign object properties to classes. But there are more, right? What >>I am still missing is a document which lists and discusses some relevant use >>cases for punning. > >People want some syntactic freedom. The bad use is to get >"meaningful" annotation properties (i.e., dc:date-modifed implies >dc:date). The reason I regard this as bad is two fold: 1) it >interprets classes into the same domain as the subject matter model >and I think annotations are better for being more separated from the >subject matter (subtle bugs because your classes end up being >instances of Person are annoying to contemplate) and 2) I'd like to >have more freedom in my logic of annotations. > >Otherwise, it's pretty harmless. I'd prefer to pun annotations in to >a disjoint domain. > >>Particularly, I am looking for use cases where the >>missing sameAs-equivalentClass entailment does not hurt. > >It never hurts. We've had it in pellet for years with no problems >reported by any user :) Well, incompleteness is often reasonably harmless. After all, the entire world of DLs is really about incomplete, but useful, first-order reasoners. I wonder however how many people would have been able to do their job more easily if the logic had had a genuine equality in it. >>Honestly, I have >>difficulties to imagine that this is really the case. > >Ad esse, ad posse est. Frankly, I've grown ever more strongly >against hilog semantics (= entailing iff) because it's really hard >to understand (what happens with a disjunctive equality?), and the >actual worthwhile examples are non-existent. Well... not quite. They may be little known in the DL world, but several projects have used and relied upon having genuine equality (in OWL 1.1 terms, equal-individual implies equal-class) critically in Common Logic and IKL. >Most people don't even know about the possibility. I explained it to >one owl full advocate and he said, "Oh, that's really a bug, isn't >it?" Yes, you have repeated that anecdote several times. Apparently some people don't understand OWL-Full. Sigh. In fact, however, in a full logic the hilog, aka CL, semantics are extremely simple to understand, and the resulting logic extremely simple to use and to follow. An equation between two names (of any 'sort') means that anything - ANYTHING - said with one of them is logically equivalent to the same thing said with the other. That really is all that it amounts to. Duh. If you worry why equivalent-class (eg) doesn't imply equal-class, note that the hilog semantics distinguishes classes from class extensions, which is a real win, both semantically and computationally (and one that is lost with punning.) One way to say this in punning terms is that the genuine equality in OWL-1.1 is the intersection of sameAs, equivalentClass and equivalentProperty; and that *this* should be a primitive, because this is the relationship with the most coherent logic. In a weak punning language like OWL 1.1, sameAs no longer means 'same as'. It amounts to equality on only part of the universe, or perhaps better only one facet of a multifaceted universe. In fact, OWL 1.1 simply doesn't have a genuine equality, which IMO makes it a very faulty language. >I regard relying on that entailment (esp. for alignment) as a total >anti-pattern. (= a b) & (P a) entails (P b) is an anti-pattern?? This way madness lies. >Much better would be, after a merge, do query for all equalities >involving individuals which pun classes, then review them manually >to see which you actually think should push equivalences. What are the criteria for this decision? What does it mean for an equality to not 'push an equivalence'? Got any examples? Equality is supposed to mean that the two names denote one single thing, right? Interpreted as names of classes, why does this not mean being the same class? >Punning allows you to do this easily. It leads to confusion and puzzles about identity, seems to me. The fact that you have to invoke mysterious manual interventions to draw conclusions seems to be a symptom of that. >Mashups require some human intervention. I see no reason why >ontology mashups wouldn't. Having equality in the language is not a "mash-up". >Though it is good to be able to merge them and do *something* >without getting a syntax error. That's what punning gives you. But so do many other treatments. Of course one should be able to do this, but this isn't a vote for punning, its a vote against having anal DL-style syntax restrictions in place. Pat >>Nevertheless, the most >>relevant point is to first have such a use case document. And also I want to >>have a technical specification of punning, because I have the feeling that >>there is still no common agreement on what punning provides and what not. > >See the semantics document from OWL 1.1. See Boris's paper: > > <http://web.comlab.ox.ac.uk/oucl/work/boris.motik/publications/motik07metamodeling-journal.pdf> > >wherein it's called "contextual semantics" or pi-semantics. > >There are multiple implementations. I don't know where you get your >feeling from, but it seems rather off to me. > >Cheers, >Bijan. -- --------------------------------------------------------------------- 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 Monday, 5 November 2007 23:23:59 UTC