Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Modeling Question - OWL Role Chain

Thomas Russ tar at ISI.EDU
Tue Apr 27 09:02:05 PDT 2010


On Apr 26, 2010, at 11:01 PM, Albert Secure wrote:

>
> Hi,
>
> Though I have some initial success with modeling my food ontology (
> http://protege-ontology-editor-knowledge-acquisition-system.136.n4.nabble.com/Going-beyond-pizza-td2017315.html
> see previous post ) but when I use property chain for the class  
> shouldTake
> and shouldAvoid, I cannot made them disjoint any more, otherwise it  
> will
> give a reasoner error saying non-simple class cannot have disjoint.

Correct.  Some of the more advanced features of OWL cannot be  
combined, since some constructs are limited to simple properties.   
This is done to keep the reasoning decidable.  Various limitations in  
expressive power are made in the OWL language for that purpose.  It is  
part of the design trade-offs for description logics.

> If I make a person have both diseases 'diabetes' and 'hepatitis',  
> and say
> 'alcohol' isGoodFor hepatitis but isBadFor diabetes, then the property
> assertion would say he 'shoudAvoid alcohol' but there is also another
> contradicting assertion say 'shouldTake alcohol', which is correct  
> in logic,
> but I want to make shouldTake and shouldAvoid disjoint so that both
> assertiona do not appear at all.

Well, even if you succeed, you won't get the effect you want.  Instead  
of suppressing the assertion, you would end up with an inconsistent  
knowledge base.  There is no default or defeasible reasoning supported  
in OWL.  It is all strict reasoning, and if you end up with support  
for contradictory assertions, they are not suppressed.  Instead they  
make your model inconsistent.

If you want the behavior you describe, you will need to find a  
different modeling or representation framework.

> Another thought - I notice that there is the 'negative object property
> assertion' which might be able to solve such problem, but I cannot  
> see how
> they can be used - can't find any relevant documentation. Can any  
> one give
> some tips on how to model such negation so that I don't have  
> shouldAvoid in
> the first instance, just shouldTake should be sufficed and then have  
> all the
> negative items appear under the negative property assertion pane.

Again, if you model it this way you would have a situation where you  
have both a positive and a negative property assertion and that will  
cause an inconsistency.




More information about the protege-owl mailing list