Re: Punning and the "properties for classes" use case (from public-owl-dev)

On Nov 4, 2007, at 2:38 PM, Ian Horrocks wrote:
> It is possible in OWL to restrict the size of the domain to be 1  
> (or some other value) in all interpretations -- Peter uses the  
> standard "spy point" trick to do this, by ensuring that every  
> individual is related to the spy individual via the ex:s property  
> and that the spy has at most one "incoming" ex:s edge (via a  
> cardinality restriction in the inverse of ex:s).
>
> Given such a restriction, it is obviously the case that sameAs (c  
> d) is entailed for any two individuals c and d. In OWL Full sameAs  
> (c d) additionally entails equivalentClass (c d), so we also get  
> that Individual ( a type ( c ) ) entails individual ( a type ( d ) ).

Of course, since there is only one class (let's ignore Nothing for  
the moment) then it has to be owl:Thing. So the entailment would boil  
down to saying owl:Thing rdf:type owl:Thing.

> We don't get this kind of entailment in OWL DL because classes are  
> not interpreted in the same way as individuals (i.e., as elements  
> of the domain), so for two classes c and d we would not necessarily  
> entail equivalentClass (c d).

But why couldn't we, with punning, for instance, have Class(C) entail  
Individual(C) to more closely match the OWL Full case? Then we too  
would have a domain size of 1 be inconsistent (because of the  
presence of the individuals owl:Thing and owl:Nothing)?

Wouldn't the entailments match in that case? - both would be  
inconsistent, and hence both would entail anything.

In order to do this, we would need to, effectively, assert an  
individual of the same name as  each entity(class or property) in the  
ontology. While I can imagine why this might be considered  
distasteful, would it work from a technical point of view as far as  
getting us closer to OWL Full alignment?

-Alan

> Hope this helps.

It did. Thanks!

> BTW, it seems to me that such an ontology must be inconsistent when  
> interpreted with Full semantics because a would also be an instance  
> of Nothing, but this isn't relevant to the discussion.

I believe this was one of the known differences between OWL Full and  
OWL DL that David Turner pointed out, documented by test cases:

http://www.w3.org/TR/owl-test/byFunction#function-Thing

Tests 004 and 005 demonstrate that owl:Thing may be finite in OWL  DL  
but not in OWL Full.

(from http://www.w3.org/2007/OWL/wiki/ 
Compatibility_between_OWL_DL_and_OWL_Full)

Received on Tuesday, 6 November 2007 07:48:32 UTC