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 RULE

Thomas Russ tar at ISI.EDU
Thu May 15 11:00:31 PDT 2008

On May 15, 2008, at 5:53 AM, drazik wrote:

> I have 2 classes:  Parent, and Child. I have an object properly :  
> hasChild ,
> that
> I tried to configure the SWRL following rule:
> Parent(?P)   ∧Child(?C) ∧ hasChild(?P,?C)   →  (hasChild <= 1)(? 
> P)
> I  think (hasChild<= 1) is syntactically not supported,
> so I will have to create a named OWL class with the class description
> (hasChild <= 1) attached. Assuming the class is called Contraint, the
> rule will be:
>  Parent(?P)   ∧Child(?C) ∧  hasChild(?P,?C)   → Contraint(?P)
> but this rule doesn't work ,
> where is the problem ??
> if there is a possibility to express this restriction with protege  
> tel me it

You can write this sort of rule directly using OWL without needing  
SWRL at all.  This type of definition is, in fact, the entire point of  
using a description logic like OWL in the first place.

Typically what one would do is create a general class like Person and  
then define Parent to have necessary an sufficient conditions of  
"Person and at least 1 hasChild".  Then any standard OWL reasoner will  
detect and infer any instances of Person that satisfy the definition  
of Parent.

More information about the protege-owl mailing list