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] SWRL related Quesitons!

Thomas Russ tar at ISI.EDU
Thu Jan 3 09:48:42 PST 2008

On Jan 3, 2008, at 1:23 AM, Najeeb Elahi wrote:

> Hi Everyone,
> thanks Martin,
> yes i know there is "Create Subproperty" tab for creating sub  
> property,
> and moreover if you have already defined properties, you can drag  
> and drop
> under other property to achieve the required functionality within one
> ontology. However I want to make already defined imported property  
> as a
> sub property of exiting property in Main Ontology.
> any suggestion for implementing Negation?

Not in the general case for properties.

However, for your specific example, you could come up with a  
restriction that expresses the concept you want:

>>   Members(?x)  ^ NOT hasFriend(?x, Elin) ^  hasContact(?x, ?t) ->
>>   SendRequest(?t)
>> any solution will be highly appreciated.

You would do that by defining (in OWL) a restriction class like:

     hasFriend allValuesFrom (Complement {Elin})

essentially what you are doing is defining a class, where all of the  
fillers of the hasFriend property come from the complement (negation)  
of the class consisting of the set with individual Elin.   You can  
then use this restriction class in the rule.

Now, it does have the drawback that you need to define this sort of  
restriction for each filler that you care about.  Moreover, it is not  
likely to do what you want anyway, since the open world reasoning  
makes it very difficult for OWL reasoners to infer satisfaction of  
allValuesFrom restrictions, unless you are pretty explicit about the  
fillers.  Also, you need to make sure that you include all appropriate  
allDifferent or differentFrom assertions, since OWL does not have a  
unique name assumption either.  And without the unique name  
assumption, proving that one individual can't be the same as another  
(in this case Elin), is very difficult.

The fundamental difficulty that you are encountering is that you are  
trying to perform inferences that require forms of reasoning (closed  
world, unique names) that are not supported by OWL and its related  

More information about the protege-owl mailing list