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

Re: An inconsistency or not?

From: Minsu Jang <minsu@etri.re.kr>
Date: Fri, 01 Apr 2005 13:28:29 +0900
To: Chris Purcell <cjp39@cam.ac.uk>, <semantic-web@w3.org>
Message-ID: <BE72FCFD.9D98%minsu@etri.re.kr>

Wow!

I really appreciate your thorough explanation. Thank you!
Now, I realized that I've gone too far to generalize the equality.
I should have been careful to deal with equality of classes in terms of the
class extension.

By the way, one more case I think worth checking out is shown below.

A rdf:type owl:Class.
_r1 rdf:type owl:Restriction.
_r1 owl:onProperty p.
_r1 owl:cardinality 2.
a rdf:type A.
a p R1.
a p R2.
a p R3.

>From the above sentences, we can assume R1 == R2, or R2 == R3, or R1 == R3.
But without any additional assertions about the relationships among R1, R2
and R3, we cannot decide any one of the three equalities to be true. Thus,
the above set of sentences do not entail anything on the equalities among
R1, R2 and R3. Does my rationale look correct?
 
By the way, one difficult case I encountered in writing OWL inference rules
is about checking equality among list elements. When you're given a list of
classes or individuals, some elements of the list can actually be
equivalent, which affects the reasoning result. For example:

A rdf:type owl:Class.
A owl:intersectionOf [B,C,D].
B owl:equivalentClass D.
E owl:intersectionOf [B,C].

>From the above sentences, it should be possible to infer that A is
equivalent to E, for which I find writing an inference rule to be difficult.
I'm still working on it.

Regards,
Minsu Jang

On 2005.3.31 7:22 PM, "Chris Purcell" <cjp39@cam.ac.uk> wrote:

> 
> 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 Friday, 1 April 2005 04:28:35 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:05 GMT