Inferences using ComplementOf not working

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Inferences using ComplementOf not working

Alex Macfie
In a OWL ontology in Protege 3.4, I'm trying to use Necessary &
Sufficient conditions to do create a class that is defined (partly) as
the negation of another class (using owl:complementOf)

For instance.
I create classes PERMITTED, DENIED and AUTHORIZED.
AUTHORIZED is a defined class with Necessary & Sufficient conditions:
(1) PERMITTED
(2) not DENIED

Now suppose that PERMITTED contains 4 instances: p1, p2, p3 and p4. p3
is also in class DENIED.
Now if I run the reasoner, surely the reasoner should infer that
AUTHORIZED contains the instances that are in PERMITTED but not in
DENIED. That is, AUTHORIZED should contain inferred instances p1, p2,
p4. But it infers nothing for AUTHORIZED. This is true even if DENIED is
empty. If I define AUTHORIZED with just the first Necessary & Sufficient
condition above (PERMITTED), then the reasoner does infer that
AUTHORIZED contains all 4 instances in PERMITTED. But the negative
condition doesn't work.

--
Alex Macfie, [hidden email]
http://www.cgce.net/

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Inferences using ComplementOf not working

Timothy Redmond

Did you assert that p1, p2 and p3 are not in DENIED?

An OWL reasoner will not jump to the conclusions that are natural for a
human.  I suspect if you search for posts about open world you will see
other posts about this sort of thing.  I am guessing that you are
looking for a negation by failure semantics.

-Timothy



On 12/07/2010 03:51 PM, Alex Macfie wrote:

> In a OWL ontology in Protege 3.4, I'm trying to use Necessary&
> Sufficient conditions to do create a class that is defined (partly) as
> the negation of another class (using owl:complementOf)
>
> For instance.
> I create classes PERMITTED, DENIED and AUTHORIZED.
> AUTHORIZED is a defined class with Necessary&  Sufficient conditions:
> (1) PERMITTED
> (2) not DENIED
>
> Now suppose that PERMITTED contains 4 instances: p1, p2, p3 and p4. p3
> is also in class DENIED.
> Now if I run the reasoner, surely the reasoner should infer that
> AUTHORIZED contains the instances that are in PERMITTED but not in
> DENIED. That is, AUTHORIZED should contain inferred instances p1, p2,
> p4. But it infers nothing for AUTHORIZED. This is true even if DENIED is
> empty. If I define AUTHORIZED with just the first Necessary&  Sufficient
> condition above (PERMITTED), then the reasoner does infer that
> AUTHORIZED contains all 4 instances in PERMITTED. But the negative
> condition doesn't work.
>

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: Inferences using ComplementOf not working

Thomas Russ

On Dec 7, 2010, at 5:17 PM, Timothy Redmond wrote:

>
> Did you assert that p1, p2 and p3 are not in DENIED?
>
> An OWL reasoner will not jump to the conclusions that are natural  
> for a human.  I suspect if you search for posts about open world you  
> will see other posts about this sort of thing.  I am guessing that  
> you are looking for a negation by failure semantics.

Exactly.

Open World semantics make reasoning with complement, only (all values  
from) restrictions and max or exact cardinality restrictions  
difficult.  For complement, an OWL reasoner needs to prove that  
something cannot be in the DENIED class in order for it to be in the  
complement of the DENIED class.

Effectively that means you need to either
   (a) Directly assert that p1, p2 and p4 are not denied
   (b) Have some other inference that makes them inconsistent with the  
denied class.

There is really no other choice with open world semantics.

> On 12/07/2010 03:51 PM, Alex Macfie wrote:
>> In a OWL ontology in Protege 3.4, I'm trying to use Necessary&
>> Sufficient conditions to do create a class that is defined (partly)  
>> as
>> the negation of another class (using owl:complementOf)
>>
>> For instance.
>> I create classes PERMITTED, DENIED and AUTHORIZED.
>> AUTHORIZED is a defined class with Necessary&  Sufficient conditions:
>> (1) PERMITTED
>> (2) not DENIED
>>
>> Now suppose that PERMITTED contains 4 instances: p1, p2, p3 and p4.  
>> p3
>> is also in class DENIED.
>> Now if I run the reasoner, surely the reasoner should infer that
>> AUTHORIZED contains the instances that are in PERMITTED but not in
>> DENIED. That is, AUTHORIZED should contain inferred instances p1, p2,
>> p4. But it infers nothing for AUTHORIZED. This is true even if  
>> DENIED is
>> empty. If I define AUTHORIZED with just the first Necessary&  
>> Sufficient
>> condition above (PERMITTED), then the reasoner does infer that
>> AUTHORIZED contains all 4 instances in PERMITTED. But the negative
>> condition doesn't work.
>>
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03