3 Replies Latest reply on May 31, 2016 6:24 PM by alwu-Oracle

    Support for negation as failure in user defined rules



      I am trying to creale a user defined rule in oracle 12c and insert it to a rulebase created with the SEM_APIS.CREATE_RULEBASE command. Is it  possible to use a negation as a failure statement in the IF side or in the Filter condition of the rule ?

      Consider the following Example:  a chairperson of a conference is also a reviewer of the conference if it is not a student.


      INSERT INTO MDSYS.semr_my_rb VALUES( ('chairpersonRule', '(?r :ChairPersonOf ?c)',  '(NOT EXSTS (?r  rdf:type :Student ))',  '(?r :ReviewerOf ?c)',SEM_ALIASES (SEM_ALIAS(' ', 'http://some.org/test/')) )


      I saw  in an old post https://community.oracle.com/message/11167821#11167821  that is possible to support negation in rules by applying  SQL FILTER not exist commands on the triple values table .

      But how can I include the rule using  negation into a rulebase and use it for inferencing without making use of low level SQL statements ?


      my regards,