W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2007

Re: [OWLWG-COMMENT] Punning and the "properties for classes" use case

From: Evren Sirin <evren@clarkparsia.com>
Date: Fri, 02 Nov 2007 09:03:38 -0400
Message-ID: <472B202A.7090004@clarkparsia.com>
To: Michael Schneider <schneid@fzi.de>
CC: public-owl-dev@w3.org, jjc@hpl.hp.com, alanruttenberg@gmail.com

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.


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

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