Problem with inferences

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

Problem with inferences

HsgUnileon
This post was updated on .
Hello,
I am using Protégé Version 4.1.0 and the reasoner Pellet. I have a class called, for example, A, and it has three subclasses, A1, A2 and A3. These subclasses are disjoint and it exists a covering axiom in A. Moreover, I have another classes called B, and another three subclass called High, Medium and Low. Last, I created an object property called "hasSize".
I want that Pellet Reasoner classifies the individuals of A, in each subclass according to:

-If an individual (it belongs to A) "hasSize High", then it belongs to A1, it doesn't care if "hasSize Medium" or "hasSize Low" too.

-If an individual "hasSize Medium" and it isn't "hasSize High", then it belongs to A2, it doesn't care if "hasSize Low" too.

-Last, if an individual "hasSize Low" then it belongs to A3 if only has "hasSize Low" relations.

So, I describe my ontology in this manner:

A1: hasSize some High
A2: (hasSize some Medium) and (hasSize only (Medium or Low))
A3: hasSize only Low

I don't know if A2 is correct, but it is the only way I find to represent the "not belong" based on http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nidA3Q .

I created one individual per each subclass of B (LowIndividual, MediumIndividual, HighIndividual), and one indivudual per A (called AIndividual). Next I made property assertions in 'AIndvidual'. My problems are here, when 'AIndividual' has to classify in A1 is not problem, but if it has to classify in A2 or A3 it doesn't work, and it isn't classified, the 'AIndividual' belongs only to A class. For instance:

- PropertyAssertions of 'AIndividual' which doesn't work:
                           1) hasSize LowIndividual
                               hasSize MediumIndividual
                           2) hasSize Lowindividual
                           3) hasSize MediumIndividual
In these cases, the reasoner doesn't classify the 'AIndividual' in its corresponding subclass of A.

Sorry if my example is confused, but my real ontology is more. Thanks a lot for your help.

Reply | Threaded
Open this post in threaded view
|

Re: Problem with inferences

Thomas Russ
The problem with the inference lies with open world semantics.

You cannot prove an "only" restriction by looking at the known  
property values because open world semantics means there could be  
additional values of the property that are not know.  Those unknown  
values could violate the only constraint.  So no proof is possible.

You will need to arrange for the assertions about the individual to  
close the set of property values.  You can do that by using only  
restrictions that either mirror the terms in your definitions (which  
is perhaps unsatisfying) or you can limit the set of fillers to an  
enumerated set of those fillers that have been asserted.

In other words, you create an assertion like

    AIndividual type (hasSize only {LowIndividual, MediumIndividual})

I assume that you also made High, Medium and Low disjoint.

On Apr 5, 2011, at 5:13 AM, HsgUnileon wrote:

> Hello,
> I am using Protégé Version 4.1.0 and the reasoner Pellet. I have a  
> class
> called, for example, A, and it has three subclasses, A1, A2 and A3.  
> These
> subclasses are disjoint and it exists a covering axiom in A.  
> Moreover, I
> have another classes called B, and another three subclass called High,
> Medium and Low. Last, I created an object property called "hasSize".
> I want that Pellet Reasoner classifies the individuals of A, in each
> subclass according to:
>
> -If an individual (it belongs to A) "hasSize High", then it belongs  
> to A1,
> it doesn't care if "hasSize Medium" or "hasSize Low" too.
>
> -If an individual "hasSize Medium" and it isn't "hasSize High", then  
> it
> belongs to A2, it doesn't care if "hasSize Low" too.
>
> -Last, if an individual "hasSize Low" then it belongs to A3 if only  
> has
> "hasSize Low" relations.
>
> So, I describe my ontology in this manner:
>
> A1: hasSize some High
> A2: (hasSize some Medium) and (hasSize only (Medium or Low))
> A3: hasSize only Low
>
> I don't know if A2 is correct, but it is the only way I find to  
> represent
> the "not belong" based on
> http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nidA3Q
> http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nidA3Q  .
>
> I created one individual per each subclass of B (LowIndividual,
> MediumIndividual, HighIndividual), and one indivudual per A (called
> AIndividual). Next I made property assertions in 'AIndvidual'. My  
> problems
> are here, when 'AIndividual' has to classify in A1 is not problem,  
> but if it
> has to classify in A2 or A3 it doesn't work, and it isn't  
> classified, the
> 'AIndividual' belongs only to A class. For instance:
>
> - PropertyAssertions of 'AIndividual' which doesn't work:
>                           1) hasSize LowIndividual
>                               hasSize MediumIndividual
>                           2) hasSize Lowindividual
>                           3) hasSize HighIndividual
> In these cases, the reasoner doesn't classify the 'AIndividual' in its
> corresponding subclass of A.
>
> Sorry if my example is confused, but my real ontology is more.  
> Thanks a lot
> for your help.
>
> http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/file/n3427847/Image.jpg
>
> --
> View this message in context: http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Problem-with-inferences-tp3427847p3427847.html
> Sent from the Protege OWL mailing list archive at Nabble.com.
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Problem with inferences

HsgUnileon
Thanks a lot Thomas, I try to build my ontology according to open world semantics then.

PS: Yes, High, Medium and Low are disjoint.