- From: Christian De Sainte Marie <csma@fr.ibm.com>
- Date: Wed, 21 Apr 2010 19:13:45 +0200
- To: Wolfgang Laun <wolfgang.laun@gmail.com>
- Cc: public-rif-comments@w3.org
- Message-ID: <OFB7F8C014.99DC0A64-ONC125770C.005B2B0D-C125770C.005EA3C7@fr.ibm.com>
Dear Wolfgang, Wolfgang Laun <wolfgang.laun@gmail.com> wrote on 10/12/2009 13:38:00: > > thank you very much for your reply. to summarize: > - your argument against "no-loop" is not well substantiated; It is, indeed, interesting that Jess and Drools agree that "no-loop" should be defined as "inhibit the creation of an activation A:<R,F1,F2,...> during the execution of R's consequence". (Note that the Jess/Drools definition does not prevent looping should R activate R' and then R' activate R.) However, JRules and other major engines do not agree, and we could not find a suitable definition that was shared by all the production rule systems we looked at. As a consequence, we made two changes in the specification: * Modify is now a compound action, that can always be replaced by one or more Retract followed by an Assert; * The default conflict resolution strategy rif:forwardChaining takes now into account the intermediate states of the fact base after each atomic action (rather than only after the complete execution of each rule instance). As a consequence, to answer to your initial question (in [1]), the rif:forwardChaining strategy, that is defined as the minimal conflict resolution strategy that any RIF-PRD implementation must support, does not support the no-loop feature. However, the RIF dialects are meant to be extended, and we expect that more elaborate conflict resolution strategies will be specified. Discussions regarding proposed extensions are welcome on the RIF developers mailing list (mailto:public-rif-dev@w3.org). [1] http://lists.w3.org/Archives/Public/public-rif-comments/2009Aug/0000.html > - I'm still not convinced that "forall" is a well-chosen keyword; We certainly agree, regarding RIF-PRD alone. However, there is a non-trivial intersection of production rules and logic rules - called RIF Core - where the syntax and semantics of the two kinds of rules coincide. Clearly for Core (and for the dialects that extend it on the logic side, like RIF-BLD), use of "forall" makes logical sense. We chose not to introduce a different keyword for the non-Core production rules, even if "forall" makes less intuitive sense in some cases. > - we seem to agree on the importance of being able to define "class > [relationship] assertions". The working group has published a first public working draft of a document that specifies how RIF can be combined with XML (data and or schema) [2]. We would welcome your comments on that draft. [2] http://www.w3.org/TR/rif-xml-data/ Please acknowledge receipt of this email to <mailto: public-rif-comments@w3.org>. In your acknowledgment please let us know whether or not you are satisfied with the working group's response to your comment. Cheers, The RIF WG -------------------- Christian de Sainte Marie IBM 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 ? SIREN/SIRET : 552 118 465 03644
Received on Wednesday, 21 April 2010 17:14:23 UTC