Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core

> 
> > RIF dialects are not the same as rule languages. 
> 
> RIF dialects are AFAIK extensions to RIF CORE exchange format for
> specific features of specific language types not covered by CORE. There
> will be a dialect for production rules (assuming RIF succeeds), although
> it could be part of some other dialect (not sure what would be the
> container for related rule types such as ECA, reaction etc - probably
> production rules is the container for these in fact).

Agree.

> On the other hand, as dialects (including CORE) are not the same as rule
> languages, then they do not need to support recursion?

Yes.

> > Dialects will be selected
> > based on good criteria. Not having a recursion is unlikely to be judged as
> > a good criterion.
>
> Can you explain what you mean here? Why do you think recursion is a good
> criterion for a rule dialect?

I am talking about the core, which is roughly Horn rules.  Horn rules map
semantically into any other conceivable theory (first-order, LP, production
rules). The fact that some production rules (or languages like SQL-92)
don't support recursion is a personal matter for those languages.  They
might do this for efficiency, lack of funds, various business pressures,
etc.) There simply is no good theoretical reason not to include recursion
in the core.
Including it in the core does not affect those underpowered languages
in any serious way.

In a separate email (a reply to Sandro), I tried to propose some guidelines
for deciding what is good for the core or a dialect.

michael

>  
> Paul Vincent
> TIBCO - ETG/Business Rules 
>  
> -----Original Message-----
> From: kifer@cs.sunysb.edu [mailto:kifer@cs.sunysb.edu] 
> Sent: 15 December 2006 10:50
> To: Paul Vincent
> Cc: Boley, Harold; Gary Hallmark; W3C RIF WG
> Subject: Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core 
> 
> 
> > >[Core] is an intersection of all RIF dialects, not of all possible rule
> > languages.
> > 
> > So if RIF-PR (aka the RIF dialect for PR) has no recursion, then
> > recursion is not in the intersection, and thence recursion is not in
> > Core?
> 
> RIF dialects are not the same as rule languages. Dialects will be selected
> based on good criteria. Not having a recursion is unlikely to be judged as
> a good criterion.
> 
> 
> 	--michael 
> 
> > 
> > > What exactly do you mean by computational recursion?
> > 
> > I mean recursion used at compute-time (in execution), as opposed to
> > recursion used in (logical) definitions. This may be moot / may or may
> > not be useful! Please ignore if it isn't...
> > 
> > Paul Vincent
> > TIBCO - ETG/Business Rules 
> >  
> > -----Original Message-----
> > From: kifer@cs.sunysb.edu [mailto:kifer@cs.sunysb.edu] 
> > Sent: 14 December 2006 17:53
> > To: Paul Vincent
> > Cc: Boley, Harold; Gary Hallmark; W3C RIF WG
> > Subject: Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core 
> > 
> > 
> > > 	"This would be a ridiculous and unjustified restriction" 
> > > unless CORE is meant to be a common subset of rule language features, in which case it is fully justified. If CORE is a superset of rule language feature
> s 
> > th
> > > en there is no need to consider extensions. So what is CORE?
> > 
> > It is an intersection of all RIF dialects, not of all possible rule languages.
> > Otherwise we'll end up with relational algebra or even something smaller
> > than that.
> > 
> > > 
> > > From http://www.w3.org/2005/rules/wg/wiki/CORE <<... a format that allows rules to be translated between rule languages and thus transferred between rule
>  s
> > ys
> > > tems. ... In Phase 1, the RIF Working Group is first defining a CORE Condition Language. These conditions are then used as rule bodies to define a CORE H
> or
> > n 
> > > Language. >>
> > 
> > This formulation will need to be fixed. It is a leftover from F2F 3, I think.
> > 
> > > ... I take to mean that there no action language in Phase 1, so "computational recursion" is therefore anyway out of scope. 
> > 
> > What exactly do you mean by computational recursion? From the charter
> > Phase 1 is supposed to include Horn with function symbols, so it would be
> > computationally complete.
> > 
> > 
> > 	--michael  
> > 
> > 
> > > Paul Vincent
> > > TIBCO - ETG/Business Rules 
> > >  
> > > 
> > > -----Original Message-----
> > > From: Boley, Harold [mailto:Harold.Boley@nrc-cnrc.gc.ca] 
> > > Sent: 14 December 2006 15:34
> > > To: Michael Kifer; Paul Vincent
> > > Cc: Gary Hallmark; W3C RIF WG
> > > Subject: RE: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core 
> > > 
> > > Whether a *specific* Rulebase written in CORE uses recursion/co-recursion
> > > or no recursion, can be found out by a static (dataflow) analysis system.
> > > Keeping the result of this analysis for later use (including for production
> > > rule transformation), e.g. in a 'semantic attribute', is a good example of
> > > Rulebase-level annotations (cf. Roadmap, parts #6 and #9):
> > > http://lists.w3.org/Archives/Public/public-rif-wg/2006Feb/0256.html
> > > 
> > > -- Harold
> > > 
> > > 
> > > -----Original Message-----
> > > From: public-rif-wg-request@w3.org [mailto:public-rif-wg-request@w3.org] On Behalf Of Michael Kifer
> > > Sent: Thursday, December 14, 2006 10:55 AM
> > > To: Paul Vincent
> > > Cc: Gary Hallmark; W3C RIF WG
> > > Subject: Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core 
> > > 
> > > 
> > > 
> > > This would be a ridiculous and unjustified restriction.
> > > 
> > > The core is for exchange. There is no requirement for any concrete
> > > system to properly include the core. (Don't confuse concrete systems with
> > > RIF dialects.)
> > > 
> > > 
> > > 	--michael  
> > > 
> > > > +1
> > > > Recursion should not be a part of a core rule format (I'm pretty sure recursion is not a feature of constraint rules either).
> > > > 
> > > > Paul Vincent
> > > > TIBCO - ETG/Business Rules 
> > > >  
> > > > -----Original Message-----
> > > > From: public-rif-wg-request@w3.org [mailto:public-rif-wg-request@w3.org] On Behalf Of Gary Hallmark
> > > > Sent: 13 December 2006 18:39
> > > > To: public-rif-wg@w3.org
> > > > Cc: W3C RIF WG
> > > > Subject: Re: [TED] Action-188, ISSUE: production rule systems have "difficulty" with recursive rules in RIF Core
> > > > 
> > > > 
> > > > 
> > > > 
> > > > Paul Vincent wrote:
> > > > 
> > > > >  
> > > > >
> > > > > Why would you want to define recursion 
> > > > > (http://en.wikipedia.org/wiki/Recursion) in a production rule system?
> > > > >
> > > > >
> > > > Paul,
> > > > 
> > > > As I understand it, RIF Core should be common to *all* RIF dialects, 
> > > > including a production rule dialect.  Now, it's clear that there are 
> > > > aspects of production rules that probably won't translate to Core (e.g. 
> > > > priority, retract).  That may be ok if we can add them to the dialect 
> > > > without breaking the Core semantics.  On the other hand, it is critical 
> > > > that *everything* in Core can be translated to PR, otherwise we have 
> > > > dialects of Core itself, which means it really isn't a Core.  Therefore, 
> > > > if Core supports recursive rules, then so should PR.   If we don't think 
> > > > its practical to support recursive rules in PR, then we should remove 
> > > > this feature from Core.
> > > > 
> > > > Mark,
> > > > 
> > > > I agree that it may be more efficient to add new rete nodes and/or 
> > > > syntax to support recursive rules, but that's not really the point.  The 
> > > > translation from Core to PR should be possible (per our RIF 
> > > > requirements) without having to modify or enhance the production rule 
> > > > engine.
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> 

Received on Sunday, 17 December 2006 17:12:36 UTC