- From: Uli Sattler <Ulrike.Sattler@manchester.ac.uk>
- Date: Thu, 9 Mar 2006 19:34:48 +0000
- To: RIF WG <public-rif-wg@w3.org>
ok, let's assume we were following this approach.
In this case, we would need to
- decide on one syntax for the rules themselves (which shouldn't
be too difficult, but who knows),
- come up with a set of labels to use as foo and bar in
language="foo" variant="bar"...perhaps one per member of this
working group?
- To enable true "mix and match" interchange, we would also need
to specify what the language/variant of the combination of 2
rulesets
is, one from foo1/bar1, the other from foo2/bar2...
I can see the great potential of this solution, but I am not sure
whether this will support rule interchange: I guess it all depends on
(a) the number of foos and bars, and (b) the availability of a
solution to the mixn'match problem...
Cheers, Uli
On 9 Mar 2006, at 19:18, Francis McCabe wrote:
>
> I believe that it was Michael Kifer who noted:
>
>> The implication of this is that RIF will have two completely disjoint
>> things: declarative rules and production rules, and that we should
>> probably
>> split into two subgroups.
>
> I think that this misses the true import of my original comment.
>
> 1. My *real* issue was with the split between phase I and II;
> particular wrt the way that PRs were going to be handled.
>
> 2. If you believe that the kinds of issues with mapping are
> restricted between the extremes of PRs and predicate logic, then I
> am afraid you are in for a disappointment. It seems to me that
> there is at least as much potential for difficulty between
> different flavors of logic as between logic and PRs. E.g., all the
> different kinds of approximate reasoning, reasoning over sets of
> theories, DL versus LP, not to mention all the negative kinds of
> reasoning :)
>
> 3. I believe that there is a way of making progress that does not
> involve YARL (yet another rule language). This is in the area of
> marking up rule sets in a standardized way without trying to
> standardize the rule languages themselves.
>
> As a straw man (YASM) one could imagine something like:
>
> <ruleset language="prolog" variant="ISO" topic="ancestor">
> ancestor(X,Y) :- parent(X,Y).
> ancestor(X,Z) :- parent(X,Y), ancestor(Y,Z).
> </ruleset>
>
> This would allow meta-tools to process rulesets and decide for
> themselves whether to handle a given ruleset without trying to
> actually parse the ruleset first. I think that this could be quite
> useful in many cases of ruleset integration, but would not address
> the semantic interoperability issues.
>
> One might choose to go on to have a standard abstract syntax, with
> an associated XML concrete syntax, that any rule language could be
> mapped to:
>
> <ruleset language="prolog" variant="ISO" topic="ancestor"
> representation="RIF-XML">
> <rule>
> <head>
> <predication>
> <predicate name="ancestor"/>
> etc. etc.
> </ruleset>
>
> This would have the (perhaps marginal) benefit of allowing
> standardized processing of the syntax of different rule languages.
>
> Note that there is not necessarily much implied semantics in this.
> No discussion about negation etc.
>
> A third level of defining a meta-notation for semantics, so that we
> could construct the appropriate interpretation for a ruleset might
> look like:
>
> <ruleset language="prolog" ...>
> <rof>
> <elimination="resolution"/>
> <negation="clark"/>
> </rof>
> <rule>
> ...
> </ruleset>
>
> This last phase, of course, would be the hardest to do. And perhaps
> have the least payback given any given rule engine is going to have
> a restricted pre-determined set of rules of inference that it
> 'knows' about.
>
> Frank
>
>
>
>
Received on Thursday, 9 March 2006 19:36:12 UTC