Pellet reasoner not able to understand the rule using class properties as the condition

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

Pellet reasoner not able to understand the rule using class properties as the condition

mani
Hi,
We created a rule using SWRL. In that rule refers to a class's properties where that class itself is an object of a tuple.
rule = Imp()    
        rule.set_as_rule("""Variant(?v), hasObservation(?v , ?obs), hasCategory(?obs, ?cat), hasCategory(?cat, ?grp),prefLabel(?grp, ?lbl), stringEqualIgnoreCase(?lbl, 'Phenotype Match'),hasScore(?obs, ?score), equal(?score, 0) -> UnKnownPhenotype(?v)""")

After removing stringEqualIgnoreCase condition the rule is working. But with the condition, the reasoner not able to classify the instance.

Can you please help us with the above rule.
         
Reply | Threaded
Open this post in threaded view
|

Re: Pellet reasoner not able to understand the rule using class properties as the condition

Jiba
Administrator
Hi,

Class properties are a feature of Owlready, but they are not supported by other tools like SWRL, Pellet or Protégé.

Class properties are translated by Owlready into restrictions (by default, SOME restriction). If you want to use them in SWRL, you should check whether the class is a subclass of a restriction having the appropriate property and value.

Jiba