RE: [Core][PRD] Definition of safeness (re PRD)

Oops: just to clarify in the light of Dave's response: my comment below
pertains to PRD, and is possibly irrelevant / out-of-context for BLD
etc!


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 Paul Vincent
> Sent: 16 June 2009 15:51
> To: Sandro Hawke; Christian De Sainte Marie
> Cc: RIF
> Subject: RE: [Core][PRD] Definition of safeness
> 
> 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 20:52:39 UTC