- From: Evren Sirin <evren@clarkparsia.com>
- Date: Fri, 02 Nov 2007 09:03:38 -0400
- To: Michael Schneider <schneid@fzi.de>
- CC: public-owl-dev@w3.org, jjc@hpl.hp.com, alanruttenberg@gmail.com
Michael, You are correct in your understanding of punning. It is true that punning semantics is strictly weaker than OWL-Full semantics and the inferences you will get will be a subset of OWL Full entailments. But what is the alternative? Without punning, any ontology where classes are used as instances will not be allowed in OWL-DL and rejected by OWL-DL reasoners. So you have to use an OWL-Full reasoner which means you are stuck with incompleteness (I'm not aware of any OWL-Full reasoner) and depending on which OWL-Full reasoner you use incompleteness come from different parts (e.g. some reasoners doesn't support owl:sameValuesFrom, others don't support owl:oneOf, etc.). At least with punning you know what causes the incompleteness. I might be wrong but I'm not aware of anything other than sameAs-equivalentClass (and possibly equivalentProperty) relation that would cause the punning semantics incomplete w.r.t OWL-Full semantics. I'd be interested in seeing if there is any other use case where punning semantics does not entail everything OWL-Full semantics does. FWIW, punning has been implemented in Pellet for years and I don't remember any of our users calling it "confusing" or "useless". I believe it is more of a personal style choice to use punning (it might be confusing for some people but not others). I think it is a viable option for "properties for classes" use case (though I'd personally call it classes as instances use case) because most of these use cases do not depend on sameAs-equivalentClass relation. Cheers, Evren On 11/1/07 11:38 AM, Michael Schneider wrote: > [Public comment to public-owl-wg discussion; CC'ing to involved WG members] > > Foreword: Until now, I have found very few information about punning, and I > do not remember any serious discussion about punning in this mailing list > (just a few remarks here and there by different people). So I will just use > this opportunity to start such a discussion. It might well be that, due to > my missing knowledge about punning, I am wrong in several points I am > stating in this mail. But I believe that it is better to state wrong points, > which will then hopefully get corrected within the following discussion, > instead of having no public discussion at all. > > Summary: > > This week, Jeremy Carroll discusses punning in the OWL-WG mailing list in: > > "comments on RDF mapping" > http://lists.w3.org/Archives/Public/public-owl-wg/2007Oct/0336.html > http://lists.w3.org/Archives/Public/public-owl-wg/2007Oct/0337.html > > His observation is that certain OWL-Full entailments do not exist with > punning. For instance: > > """ > <a> rdf:type owl:Thing . > <a> rdf:type owl:Class . > <b> rdf:type owl:Thing . > <b> rdf:type owl:Class . > <a> owl:sameAs <b> . > > entails [in OWL Full] > > <a> owl:equivalentClass <b> . > """ > > But, according to Jeremy, the latter statement is /not/ entailed in > OWL-1.1(-DL) with punning. > > I am going to comment on Alan Ruttenberg's answer to Jeremy's mails. > > > Alan Ruttenberg wrote on 30 Oct 2007 in > http://lists.w3.org/Archives/Public/public-owl-wg/2007Oct/0353.html > > >> My understanding is that there is a requirement to be able to create >> properties attached to classes that have more inference support than >> is currently possible using annotation properties. For example, it is >> desirable that an "annotation property" for an editing time stamp >> should have a range that is xsd:date, or, for SKOS, we would like to >> be create subproperties of rdfs:label. >> > > I agree that this would be a very valuable feature. But I don't believe that > this feature is really provided by punning. > > >> Alan Rector articulated these cases initially, IIRC. I suspect they >> are recorded somewhere amongst the OWLED stuff. >> >> I believe that you have correctly identified the missing entailments. >> Those entailments, while desirable in general, are not necessary for >> the above use case. >> > > I think that this argumentation might be somewhat shortsighted. Let's regard > for example the following situation: > > (1) <c1> a owl:Class . > (2) <p> a owl:ObjectProperty . > (3) <c1> <p> <x> . > > While c will not allow this combination of axioms, it actually is > allowed with punning. So it looks like as if I really have achieved to add > an objectproperty to some class. > > Now, it will probably be quite common in the SemWeb to make further > assertions about a class by using a /different/ name for it, and OWL with > punning allowes us to do so by stating an additional renaming axiom like: > > (4) <c2> owl:sameAs <c1> . > > Having axioms (1) to (4), a punning enabled reasoner will be able to infer > the following new statement: > > (5) <c2> <p> <x> . > > So up to now, everything looks fine with regards to the "properties for > classes" use case. > > But it doesn't might look so fine anymore, if we have additional axioms on > class <c1>. Say, we have the assertion: > > (6) <i> a <c1> . > > and I want to make <c1> into a sub class of another class <d>, but now by > using its alleged synonym "<c2>": > > (7) <c2> rdfs:subClassOf <d> . > > then I would expect that the following statement can also be inferred: > > (8) <i> a <d> . > > But as far as /I/ understand punning, (8) won't be entailable, because the > URI called "<c1>" denotes a class in (1), while it denotes an individual in > (3). In effect, I did not, as intended, assign property <p> to the class > ressource denoted by the name "<c1>", but instead, this property has been > assigned to some possibly completely different individual resource, which > just happens to have the same name. And there has to be no semantical > relationship between these two resources, so these two resources don't have > to coincide, see section 3.3 of [1]. > > I can at least see in the semantics draft [2] that in OWL-1.1 there will be > no strict separation of the different parts of the OWL universe > (individuals, classes, etc.) anymore, as it has been originally demanded for > OWL-1.0-DL. But this makes it only /possible/ for an individual and a class > to be the same. As long as I do not have any means in OWL-1.1-DL to also > /enforce/ these two resources to be the same, this relaxation seems to be > useless to me with respect to punning. (BTW: I am not certain whether this > relaxation is a good idea, but this is another topic.) > > Punning, as I understand it from [1], is just a means for "overloading" > names for resources from different parts of the OWL universe. Without > punning, I would have to write axioms (1) and (3) above in a form like > > (1') <c1_class> a owl:Class . > (3') <c1_indiv> a owl:Thing . > > In OWL-DL plus punning, the reasoner will have to do such URI renamings > itself in a pre-processing step before it can start its reasoning tasks. > This seems necessary, otherwise the reasoner might produce wrong > entailments. > > >> As I understand it, the reason those entailments >> are not supported is that there is not enough theoretical work to >> ensure that they can be implemented in a sound, complete, and >> decidable manner. >> >> Proponents of punning would label this: >> >> "OWL DL, now with more, but not all, of OWL Full goodness" >> > > As I understand it, punning has nothing to do with OWL Full semantics, and > then it would not provide any kind of "OWL Full goodness". I rather believe > that the proponents of punning think that overloading URIs in OWL might be > useful, or at least convenient, in certain cases. I could imagine that the > argumentation might go this way: > > "In OWL-1.0-DL, one workaround to assign properties > to a class C is to dedicate some individual iC, which > receives the property as a proxy for C. So why not just > give this proxy individual the same name as the class > to make the intended connection between them both more > explicit?" > > But I find it pretty confusing to overload URIs, to say the least. As my > example above demonstrates, it is very easy to draw wrong conclusions about > the semantics of an ontology when using URI overloading (confusing for a > human, who constructs and/or reads ontologies; not confusing for a machine, > of course). So I consider punning, while perhaps a "nice-to-have" feature, > to be a very dangerous feature in practice, and I will prefer to follow the > saver principle: "One URI, one resource". > > Anyway, if my argumentation above is right, then punning does not cover the > "properties for classes" use case. > > > Cheers, > Michael > > [1] "Next Steps for OWL" > http://owl-workshop.man.ac.uk/acceptedLong/submission_11.pdf > > [2] "OWL 1.1 Model-Theoretic Semantics", chapter 2 > http://www.webont.org/owl/1.1/semantics.html#2 > > > -- > Dipl.-Inform. Michael Schneider > FZI Forschungszentrum Informatik Karlsruhe > Abtl. Information Process Engineering (IPE) > Tel : +49-721-9654-726 > Fax : +49-721-9654-727 > Email: Michael.Schneider@fzi.de > Web : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555 > > FZI Forschungszentrum Informatik an der Universität Karlsruhe > Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe > Tel.: +49-721-9654-0, Fax: +49-721-9654-959 > Stiftung des bürgerlichen Rechts > Az: 14-0563.1 Regierungspräsidium Karlsruhe > Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer > Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus > >
Received on Friday, 2 November 2007 13:03:56 UTC