- From: Sandro Hawke <sandro@w3.org>
- Date: Thu, 14 Dec 2006 11:22:30 -0500
- To: kifer@cs.sunysb.edu (Michael Kifer)
- Cc: "Paul Vincent" <pvincent@tibco.com>, "Gary Hallmark" <gary.hallmark@oracle.com>, "W3C RIF WG" <public-rif-wg@w3.org>
> 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. 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 Thursday, 14 December 2006 16:23:36 UTC