- From: Dimitrios Koutsomitropoulos <kotsomit@hpclab.ceid.upatras.gr>
- Date: Fri, 7 Nov 2008 22:33:27 +0200
- To: <public-owl-dev@w3.org>
Bijan, thanks for your prompt reply. Please find my comments/understanding below: > -----Original Message----- > From: public-owl-dev-request@w3.org [mailto:public-owl-dev- > request@w3.org] On Behalf Of Bijan Parsia > Sent: Friday, November 07, 2008 9:52 PM > To: Dimitrios Koutsomitropoulos > Cc: public-owl-dev@w3.org > Subject: Re: Punning between properties types > > > On 7 Nov 2008, at 17:53, Dimitrios Koutsomitropoulos wrote: > > > Hello all, > > > > Regarding the punning issue in OWL 2, I notice than in the new OWL > > 2 semantics document [1], in the changes summary, punning has been > > disallowed between object and data properties. > > > > The relevant issue [2] is resolved based on the fact that “there > > are no use-cases” or “we don’t know how to do it”. > > No no no! Some people might believe these things but I certainly and > vocally don't ;) There are plenty of use cases and we do know how to > do it. The problem is that in order to disambiguate certain punning > cases in RDF triples we need to introduce new logical vocabulary > (since there is no context for the occurrence of a URI node...there's > only one in the whole graph). Some people (most prominently, HP) > objected to this. So, the compromise was to through out all sorts of > punning that in the RDF serialization required new vocabulary. > > > From this I understand that an <owl:objectProperty> cannot be > > treated as an <owl:datatypeProperty> and vice-versa. > > This is true. > > > However what is the deal with <rdf:property> ? > > There's no such thing, really, in OWL 2 non-full. Every property is > required to be one or the other (or an annotation propery). So the only legal way for an <rdf:property> to be treated by an OWL 2 tool, is to consider the ontology as OWL 2 full. Where I presume this property would be considered *both* as object- and data- and not punned. But it would still be syntactically correct, whereas in OWL 2 DL it is not allowed. > > > When an rdf ontology is loaded by a reasoner or an application , > > how should it treat a generic <rdf:property>? > > The spec does not say. In the extreme case it could reject the > ontology as malformed (for DL reasoning). Or it could ask the user. > Or it could attempt some repair using heuristics. Or it could pass it > on to an OWL Full mode (if there is such). This fullness should imply that no reasoning is to be attempted? > > > I see three options: > > > > - Such properties should be totally ignored (or should not > > exist all along) > > - Should be considered only of a fixed type (either data - > > or object-) > > - Should be punned based on their use > > The latter is possible in some cases, but not in every case. A simple > example, suppose you have P and C as terms in your ontology and the > declarations: > > ObjectProperty(P) > DataProperty(P) > Class(C) > Datatype(C) > > Now, what do you do with the expression P some C? Is it an > objectproperty somevalues from or a dataproperty somevaluesfrom, or > both? More to the point what if you want to say that something was P > (object) some C and P (data) all not (datatype) C? > > Those parens don't work in RDF. > > Now, in many cases we can make good guesses. Tools will have to come > up with them :) Therefore, punning on the types of properties *can* work, at least in some cases, without fullness. For example for those where there are no restrictions on such properties. Shouldn't this part be considered by the OWL 2 spec? > > > Latest Protégé 4 (b. 103) seems to follow the last option, with > > which I personally agree. This is also supported by the latest FaCT+ > > + (1.2.0) > > There is another option: "Determined based on what we can glean of > their use". > > > However Pellet 2.0 throws exceptions. Is this a bug or a feature, > > considering the above resolution? > > It is conforming. The specs don't say what to do with non-conforming > ontologies. I'd say that one would hope that the tools will do better > than throw an exception. Is there a way to guide Pellet to "overcome" such properties? It just seems to consider such properties only as object ones and rejects the ontology when it finds out that they (may) reference data values (I should have posted this elsewhere but I couldn't help it, sorry) > > > In addition, should Protégé 4 and FaCT++ drop this feature? What about Protégé and FaCT++ then? Are they not conforming? > > Finally, is this perhaps an issue different than punning between > > properties (i.e. has nothing to do)? > > > It's related. Same with me. Therefore, the WG should look into this. Or at least specify what apps *may* do in such cases. Dimitrios
Received on Friday, 7 November 2008 20:34:29 UTC