- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Tue, 16 Jun 2009 20:29:38 +0100
- To: Sandro Hawke <sandro@w3.org>
- CC: Christian De Sainte Marie <csma@fr.ibm.com>, RIF <public-rif-wg@w3.org>
Sandro Hawke wrote: > I have an naive question about our effort to define of safeness. > > We say, "Intuitively, safeness of rules guarantees that when performing > reasoning in a forward-chaining manner, it is possible to find bindings > for all the variables in the rule so that the condition can be > evaluated. " > > Is there any variation among PR systems, where there are rules for which > some systems can find such bindings and others cannot? If not, is it > likely PR systems will emerge which will differ from the crowd about > which rules are safe? Since I haven't heard anyone argue about our > definition of safeness in these terms (eg "this is safe for clips but > not jess"), I'm guessing the answer to both is No. > > In that case, can't our single, normative definition one sentence, like: > "A rule is safe if it is possible to find bindings for all the variables > in the rule such that the condition can be evaluated." That should > probably be expanded a little (including explaining binding patterns for > externals), but I'm not seeing why we need to standardize what amount to > an algorithm for determining this case. By all means, we could provide > one or more helpful, non-normative guides to how to determine if > bindings are findable, but if there's no actual disagreement likely > among implementors, I don't see why we're trying to standardize it. Our definition has to be useful for any RIF Core producer/consumer not just PR systems. A RIF implementer working with, say, a backchaining engine would have a different notion of what would be safe for their execution strategy and wouldn't necessarily be familiar with PR systems and the associated constraints on bindings. We are requiring them to only produce safe rules even though their own rule language does care. Since we are requiring this conformance check as part of the standard don't we have to define it in terms which would allow such people to implement the check without having to go and learn about the other rule languages? Dave
Received on Tuesday, 16 June 2009 19:30:42 UTC