W3C home > Mailing lists > Public > semantic-web@w3.org > March 2005

Re: An inconsistency or not?

From: Chris Purcell <cjp39@cam.ac.uk>
Date: Thu, 31 Mar 2005 11:22:01 +0100
Message-Id: <5085d9be36d92afefedd9f23cf161f6b@cam.ac.uk>
Cc: Minsu Jang <minsu@etri.re.kr>
To: semantic-web@w3.org

This doesn't seem correct. What the top set of statements implies is:

* All elements of A are also elements of B, C and D
	hence A rdfs:subClassOf B, A rdfs:subClassOf C, A rdfs:subClassOf D
* A is in fact B
	hence B rdfs:subClassOf C, B rdfs:subClassOf D

To see that your entailments are false, consider the following universe:
	A = { x }, B = { x }, C = { x, y }, D = { x, z }
Now intersection(B,C,D) = { x } = A, and A = B, so this satisfies all 6 
statements. Clearly, however, A != C, A != D, B != C, B != D, and C != 
D.

(I also mistakenly "deduced", while drafting this, that B 
owl:intersectionOf [C,D] would be entailed; however, putting D = { x, y 
} in the above shows the invalidity of this.)

What exact cases are you having problems with? Hopefully the problem is 
an accident in your logic, and your engine needs no further work :) 
However, a complicated piece of reasoning did arise recently on this 
list, and those who maintain inference engines would doubtless be most 
grateful for any edge cases you can provide.

Chris

> Thanks to all who replied with helpful discussions.
> Now, I can conclude that any two individuals with different names can 
> be
> thought of as being equal if there's a set of sentences that entails 
> the
> equality of the two, even though there's no explicit assertion that 
> they are
> equal.
>
> Now I can see the above conclusion is quite obvious. But then, I think 
> it
> suggests many difficult cases for which inference rules cannot easily 
> be
> written. Consider the following entailment. (I guess this entailment is
> correct.)
>
> A rdf:type owl:Class.
> B rdf:type owl:Class.
> C rdf:type owl:Class.
> D rdf:type owl:Class.
> A owl:intersectionOf [B, C, D].
> A owl:equivalentClass B.
>
> --->
>
> A owl:equivalentClass C.
> A owl:equivalentClass D.
> B owl:equivalentClass C.
> B owl:equivalentClass D.
> C owl:equivalentClass D.
>
> Can any OWL reasoner do this kind of entailment? I'm curious to know, 
> as I'm
> experiencing a lot of difficulty due to the cases like above in 
> revising a
> set of OWL inference rules for my production rule engine.
>
> Cheers,
> Minsu Jang
Received on Thursday, 31 March 2005 10:22:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:41:45 UTC