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?

> 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 features 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 sys
> 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 Horn 
> 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 Thursday, 14 December 2006 23:58:28 UTC