W3C home > Mailing lists > Public > public-rif-wg@w3.org > March 2006

Re: An unfortunate side-effect

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Thu, 09 Mar 2006 15:17:46 -0500
To: Francis McCabe <frankmccabe@mac.com>
Cc: public-rif-wg@w3.org
Message-ID: <4649.1141935466@kiferdesk>

This is a reasonable thing to do when all else fails. But the goal of many
participants here is to provide greater interoperability for well-known
sublanguages that are already in wide use and for which implementation
techniques are well-known. The roadmap that we presented goes a long way
towards that goal. I admit that the production rule part was fairly weak
there, but I am happy to leave that part to those who care about PRs more.


> 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 21:18:04 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:37 UTC