- 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
> > > > > 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 UTC