- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Sun, 17 Dec 2006 23:09:51 +0000
- To: Gary Hallmark <GARY.HALLMARK@ORACLE.COM>
- Cc: Michael Kifer <kifer@cs.sunysb.edu>, W3C RIF WG <public-rif-wg@w3.org>
I think there is some cross purpose talk here. Michael is, of course, correct that you can use a superset of your language's functionality to exchange rulesets written in your language, since that superset can express those rulesets. Any tool consuming rules from your language only has to know the subset of the language that corresponds to your language. But that's the point of having a "restrictive", or exact, er.."dialect" (is that the term?) be the object of a conformance level, so that you can say any conforming tool for this dialect can (more or less) handle any ruleset in that dialect *and not (necessarily) more*. (Perhaps, "in principle" is better than "more or less".) Let me make this a bit more concrete (er...in an abstract way :)). Let's assume there is a RIF Core that is recursive horn + function symbols. Now it's perfectly true that a production rule system (which supports, lets say, function symbols but not recursion) can use this RIF Core to exchange rules with systems that implement all of RIF Core. So too can a datalog system (with recursion but no function symbols). But the datalog system and the production rule system cannot exchange (arbitrary) rule sets via RIF Core. In fact, to exchange with "like" systems, there has to be something in those like systems that rejects rulesets with function symbols/recursion. They will have it, of course, but it helps to have a name for what they check for. But this suggests to me that RIF Core shouldn't be a common subset, but rather that dialects should be able to "extend" RIF Core with restrictions *as well as* extensions. That way, RIF Core can be "natural" (which I do think is nice) but the conformance levels/ dialects can be more exact. I think, personally, I'd prefer this because I think it's a bit more flexible and one doesn't have to worry about *really really* getting the intersection right. Having a mechanism for restriction (as well as extension) is a bit messier, but it's also useful in dialects (e.g., one could say that one's tool supports a certain restriction of a common dialect). Just a thought. Cheers, Bijan.
Received on Sunday, 17 December 2006 23:10:05 UTC