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

> 
> I don't understand your argument.  I may want to exchange a single 
> "hello world" fact, but it doesn't mean I want to restrict RIF Core to 
> doing just that.
> 
> Here is my argument.  Can you point out the fallacy, or if not, accept 
> the conclusion?
> 
> RIF Core is a common subset of all RIF Dialects.
> 
> There will be a RIF dialect for production rules.
> 
> A RIF dialect should capture common and useful language features of 
> important real world rule languages because those are the ones we care 
> about interchanging.

One apparent fallacy is that you seem to think that "capturing" means
equality, not inclusion.

I have posted a reply to Sandro's email where I tried to outline guidelines
for defining dialects (incl the core).

> Support for recursive rules is not common among real production rule 
> languages.

One can write a crappy paper or implement a crappy system (no particular
system is being meant :-), and this is the sole business of the
author/company.

But remember that we are trying to define a standard for exchanging rules
on the Web, and this standard will hopefully be used for a good number of
years. It is our responsibility to think through before making decisions.


	--michael  

> Therefore, RIF Core should not include recursive rules.
> 
> Michael Kifer wrote:
> 
> >>>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.)
> >>>      
> >>>
> >>I'm not sure where the disagreement or misunderstanding here is.
> >>
> >>My understanding fits with what Gary said, that RIF Core is a dialect
> >>and it's a part of every RIF dialect, so every rule engine using RIF
> >>must implement RIF Core.    
> >>    
> >>
> >
> >I think that this requirement makes no sense and, furthermore, is meaningless.
> >Suppose people want to exchange aggregate-free subsets of SQL 1992 through RIF.
> >Does it mean that RIF core should be limited to relational algebra?
> >Or does it mean that we will kick them out even though they can perfectly
> >use RIF core to exchange their stuff (preserving semantics etc.) we will
> >somehow stop them until they implement full RIF Core?
> >
> >(Note that different SQL vendors have various deviations from SQL 1992
> >(even though most of them claim to support it!), so such an exchange is not
> >completely out of question.)
> >
> >	--michael  
> >
> >  
> >
> >>We'll need some normative Conformance text at some point, something a
> >>bit like:
> >>   http://www.w3.org/TR/owl-test/#consistencyChecker
> >>
> >>We could say something like (as a rought first cut):
> >>
> >>     A "RIF Core Rule Engine" is a rule engine which can perform sound
> >>     and complete reasoning on any rule set which can encoded in one or
> >>     more RIF Core documents.  It must be able to answer all queries
> >>     against the deductive closure of the ruleset, where a query is
> >>     equivalent to a RIF Core anticedent, and to answer a query means to
> >>     provide every matching set of bindings to the variables in the
> >>     anticedent. 
> >>
> >>At the moment, unless some new information comes along, I'm inclined to
> >>agree that we need to leave recursive Horn rules out of the core.
> >>
> >>My understanding is that recursive Horn rules are also a problem for
> >>prolog.  As with rete systems, there are lots of clever and effective
> >>ways of dealing with this problem (I was once an enthusiastic XSB user),
> >>but my sense is that they are still kind of cutting edge instead of the
> >>kind of dirt simple we want in RIF Core.  With non-recursive rules, one
> >>can do the trivial mapping to prolog or rete rules and any halfway
> >>decent engine will be a sound and complete reasoner for RIF Core rules.
> >>I think that's what we want.
> >>
> >>We could go another step back for RIF Core, all the way to datalog, but
> >>I think non-recursive terms are still quite useful (eg for defining
> >>uncle), so I'd rather not do that.
> >>
> >>   -- Sandro
> >>
> >>    
> >>
> >
> >
> >  
> >
> 
> 

Received on Sunday, 17 December 2006 17:26:18 UTC