1

I need help figuring out why my SWRL rules in Protege are not inferring any property. For instance, I have a rule to calculate the door area for a wall as:

Door(?d) ^ hasHeight(?d, ?h) ^ hasWidth(?d, ?w) ^ swrlb:multiply(?da, ?h, ?w) -> hasDoorArea(?d, ?da) ^ sqwrl:select(?d, ?da)

When I run the rule on SQWRL I get a result however, this result does not show in the ontology. I have enabled inferred object property assertion on the reasoner but it still would not return results. Any help will be useful please.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
  • using `sqwrl:select` is not a valid SWRL rule. Or did you remove it in the original rule and just added here by accident to show the SQWRL query? Which reasoner do you use? Which Protege version? and it must be an *inferred **data** property assertion*, it is clearly a numeric literal. – UninformedUser Apr 02 '19 at 05:50
  • Hi, thanks for this. Do I need to remove he sqwrl:select ? I use Pallet reasoner and it did not work. – kudirat ayinla Apr 02 '19 at 08:01
  • yes, remove the `sqwrl:select` - any parser will reject the rule because of the non-standard atom. by the way, works for me as expected, I tested it. – UninformedUser Apr 02 '19 at 10:28
  • Thank you very much. It worked – kudirat ayinla Apr 03 '19 at 16:40

0 Answers0