- From: Paul Vincent <pvincent@tibco.com>
- Date: Tue, 16 Jun 2009 07:50:49 -0700
- To: "Sandro Hawke" <sandro@w3.org>, "Christian De Sainte Marie" <csma@fr.ibm.com>
- Cc: "RIF" <public-rif-wg@w3.org>
Hi Sandro: Generally*, a ruleVariable can bind to: - zero entities: -- the rule is invalid for firing** - one entity: -- this is the case where a rule variable is really treated as a simple (singleton) variable that can only have one value; for example from a parameter to the rule service; -- also the case when there is only 1 member of the class specifying the ruleVariable in memory - two or more entities: -- this is the case where there are >1 members of the Class specifying the ruleVariable in memory In the case where there is a singleton value, but the value is defined as "null", then this is normally considered to be a "value". >From the above, the statement > "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. " ...seems to be reasonable, as it covers cases of zero, 1 or more bindings. Your alternative > "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." ...seems cleaner as I can't think how the safeness would be affected for backward chaining rather than forward chaining: it might be that this constraint is "just in case"... Notes: * as in "I don't know nor conceive of any counterexamples" ** excluding the case of disjunction / "or" in the rule condition: disjunct parts of a rule should really be viewed as separate rules PS: its not a naive question IMHO. Paul Vincent +1 650 206 2493 / mobile +44 781 493 7229 > -----Original Message----- > From: public-rif-wg-request@w3.org [mailto:public-rif-wg-request@w3.org] > On Behalf Of Sandro Hawke > Sent: 16 June 2009 14:44 > To: Christian De Sainte Marie > Cc: RIF > Subject: Re: [Core][PRD] Definition of safeness > > > 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. > > -- Sandro
Received on Tuesday, 16 June 2009 14:51:34 UTC