W3C home > Mailing lists > Public > public-rule-workshop-discuss@w3.org > August 2005

Re: Merging Rulesets

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Fri, 26 Aug 2005 23:25:41 -0400
To: Sandro Hawke <sandro@w3.org>
Cc: jos.deroo@agfa.com, Christian de Sainte Marie <csma@ilog.fr>, dieter.fensel@deri.org, public-rule-workshop-discuss@w3.org
Message-Id: <20050827032542.4BFBDCB5D3@kiferserv.kiferhome.com>


> > 
> > > Michael Kifer writes:
> > > >             Merging rules is a whole different ball of hair. As far as I
> > > > can tell, logical reasoning (monotonic or nonmonotonic) is not what you
> > > > would use here. This is an intellectual activity, which can be automated
> > > > with the help of heuristics (which are not logical inference rules),
> > > > machine learning, etc.
> > > > 
> > > > I bet, however, that **if** you decide to encode those rule-merging
> > > > heuristics in a rule-based language (and not in Java, for instance) then
> > > > you would prefer a Prolog-like language with S/NAF rather than FOL.
> > > 
> > > The Semantic Web applications I'm familiar with (including everything
> > > based on cwm, some of my prolog work, and various things I hear about)
> > > all merge rulesets freely by just puting them together (concatenation,
> > > set-union, conjunction, etc).  It's trivial with RDF, OWL, N3, and FOL
> > > (when you use URIs for names).   It sounds like it might be very hard
> > > or impossible with rules written in a non-monotonic language.
> > 
> > 1.  N3, as I hope we have established by now, is nonmonotonic.
> 
> Not at all.   At most we have established that it's semantics are
> unclear.  :-)    By design it is meant to be monotonic.


Yes, and you forgot to put the second smiley after the last sentence.
So, I am doing it :-)


> > 2.  Merging rules by concatenation is trivial in Prolog and languages like
> >     Flora-2, which allow for rule reification.
> 
> Of course if you use any CWA/NAF features in prolog you'll get the
> wrong results if you merge by concatenation (with worst-case
> rulesets).


Which CWA/NAF features does one need to use for that and what does CWA have
to do with the problem?


> > When I mentioned heuristics for merging rules I was talking about more
> > interesting issues. You can view schema merging as a special case of rule
> > merging. You wouldn't do this by just unioning schemas.
> > 
> > > Is this the root of all the tension around NAF/LP/etc?
> > 
> > Root of tension? I don't see any tension. The issue is understanding what
> > paradigm suits what tasks, and I don't see this understanding among some of
> > the proponents of FOL, cwm, N3, etc.
> 
> Then please do explain how to address the merging described in the use
> cases in the draft charter, with a non-monotonic logic.

Very simple in Flora-2. A bit more awkward in some Prologs, like XSB.
But none of this has anything to do with CWA.

In Flora-2, you would load the rules from one KB and then add the rules
from another KB. Looks like this (using the pharmacy example in the
charter, so I am calling the module "pharmacy"):

?- flLoad(kb1>>pharmacy), flAdd(kb2>>pharmacy).

In XSB, this is only possible for the default module "usermod" as far as I
know, but other Prologs (e.g., Yap) have no problems with such things.

I cannot figure out what any of these issues have to do with the closed
world assumption.


	--michael  
Received on Saturday, 27 August 2005 03:25:54 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:16:23 GMT