1

I am using Protege 3.4 and I built my ontology and extended it with SWRL rules using SWRL and sqwrl built ins . The rules classifies instances of a class of the ontology ; the RHS is class assertion of an instance .It works successfully but when I change the values of the causes in the LHS no reclassification is done the instance is asserted to the same class

Why does this happen ? How to reclassify instances ?

ex: SWRL rules: 1. Message(?m) hasInterest(?m,?i) hasCategory(?m,?c) sqwrl:makeset(?s1,?i) sqwrl:makeset(?s2,?c) sqwrl:intersection(?s3,?s1,?s2) sqwrl:size(?n,?s3) swrlb:greaterThan(?n,0) -> Ham(?m)

  1. Message(?m) hasInterest(?m,?i) hasCategory(?m,?c) sqwrl:makeset(?s1,?i) sqwrl:makeset(?s2,?c) sqwrl:difference(?s3,?s1,?s2) sqwrl:size(?n,?s3) swrlb:greaterThan(?n,0) -> Spam(?m)

So once the message instance is classified as ham for example , whenever I change the values of i or c it will always be ham .

  • Once you change data, you have to force the re-classification. Other wise it would be obviosly to expensive to run it each time automatically when a user does change something – UninformedUser May 11 '17 at 03:20
  • By the way, why don't you use Protege 5.x ? It also supports SWRL – UninformedUser May 11 '17 at 03:21
  • What do you mean forcing it ? I'll edit my question for more details and concerning protege 5 because I use swrl rules with sqwrl functions too and protege 5 use drools which does not support this and pellet does not support the sqwrl functions too as I've learnt after searching – user3379762 May 12 '17 at 11:14
  • This was initially my question , I was using protege 5 but to solve this problem I found sqwrl functions as I added in the questions . http://stackoverflow.com/questions/43543913/protege-using-swrlequal-to-compare-the-values-of-datatype-property – user3379762 May 12 '17 at 11:18
  • I didn't know that you use Protege 5. In your question you said that you use Protege 3.4. Which version of Protege do you use now? If you use Protege 5, you use SWRL tab to change the rules and SQWRL to query via SWRL rules? – UninformedUser May 12 '17 at 13:50
  • I initially used Protege 5 but had to switch to Protege 3.4 to assert the class of a message ham or spam using swrl rules above and sqwrl built ins using SWRLJess tab as Drools tab in Protege 5 does not support fact assertions using swrl rules and sqwrl builn ins – user3379762 May 13 '17 at 09:44

0 Answers0