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

Re: Comments on * DRAFT * Rules Working Group Charter $Revision: 1.60 $

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Tue, 23 Aug 2005 22:46:39 -0400
To: Sandro Hawke <sandro@w3.org>
Cc: public-rule-workshop-discuss@w3.org
Message-Id: <20050824024640.0AB60CB5D3@kiferserv.kiferhome.com>


> 
> > An exchange language is about XML syntax. You don't need semantics for
> > that---only an encoding.
> 
> If the XML syntax doesn't have an associated semantics, how can you
> tell if you've mapped your language to the standard format correctly?
> Not everthing call "implies" means the same thing, right?

I assumed (from reading the charter) that you will be encoding an existing
language (FOL) with an existing semantics. It then boils down to pure
syntax. I may have been mistaken, but see below.


> > This is not what the proposed draft appears to be
> > suggesting.  If an exchange syntax was all that they wanted (and not a
> > language for USING rules) then the drafters of that charter are confused,
> > IMO.
> 
> Rather than saying over and over that I (the charter editor) am
> confused, you might try explaining things, preferably using words that
> everyone on the list (especially me) can understand.   (But probably
> do it bit by bit, in a dialog, rather than writing a mini textbook.)

No need to write a textbook.

As I (now) understand, the charter meant to propose a WG that will focus on

   1. encoding FOL or an FOL-like language in XML
   2. mapping existing (incl. commercial) rule languages into FOL and then
      using the encoding in (1) to communicate
   3. The language is to be
      	  - monotonic
	  - NAFless
	  - SNAFFfull

I can see two technical problems here (which I called confusions in my
previous msg):

    a. Most research and commercial rule languages cannot be mapped into
       monotonic FOL because they are nonmonotonic 
    b. monotonic+NAFless+SNAFfull is an inconsistent requirement: SNAF is
       nonmonotonic.


> > I believe that you misunderstood Dieter's comments about OWL. They were
> > about the requirements for going forward and why OWL is not the right basis
> > for that in certain cases. (Remember the 2 vs. 1 stack debate?)
> 
> There are perhaps three separate issues for the draft here:
> 
>    1.  Compatibility with OWL.  This seems pretty important to users,
>        but presumably could be forsaken for a good enough reason.  I
>        took a stab at defining the right kind of compatibility;
>        refinements to that definition are welcome.
> 
>    2.  Are we aiming for datalog, Horn, FOL, or what?  [Notice I'm
>        speaking in generalities here.  We can quibble on whether we
>        mean with or without equality, or what kind of negation, or
>        even more minute details later.  Broadly, what neighborhood are
>        we in?]  It seems like some users want each, and the
>        interlingua argument compels us to go with FOL.  Users can just
>        use the datalog subset of FOL; they can't just define a
>        standard extension of datalog to FOL.


Judging by the prevailing use of rules, people rely heavily on NAF.


>    3.  Is the language monotonic?   Monotonicity appears to be a
>        requirement for a Web-based language.  If you want to argue
>        about this, let's do it in a thread just about monotonicity. 

A requirement? How did you arrive at this requirement? This wasn't one of
the conclusions of the workshop. In fact, the workshop has identified SNAF
as an important requirement (as you yourself wrote), and this is inherently
nonmonotonic.


> > NAF is a special case of SNAF.  Again, the drafters of the charter were
> > seriously confused when they said that SNAF is "in" and NAF is "out."
> 
> Would you be happy with "NAF" replaced by "unscoped NAF"?  That's all
> I meant.  (There's an amusing parallel between this ambiguity in
> English and default negation itself.)

If you believe in "unscoped NAF" then you might as well believe in the
Unicorn. In fact, Unicorn is more real than "unscoped NAF". Conceptual
drawings of the Unicorn exist, so I can say that, at least, it has been
defined even if it hasn't been found in nature so far. But "unscoped NAF"
doesn't exist and hasn't been defined, so you might as well write in the
charter that "self-proofless proto-predicative ultras" (whatever this might
be) are out of scope.

Allow me to set things straight please. The inference rules that are often
(incorrectly) referred to as NAF ***always*** have scope. I am not familiar
with any notion of NAF that doesn't refer to a scope. Typically the scope
is IMPLICIT, but it is ALWAYS WELL DEFINED. So, NAF is a form of SNAF where
the scope is defined implicitly, but always rigorously.  All Prolog systems
that I am aware of are like that.

The only (I believe) system that uses SNAF for real (but doesn't call it
SNAF), is FLORA-2 http://flora.sourceforge.net (I suppose some Prologs can
claim that they had a rudimentary form of it.) This means that NAF (and any
other inference) is done with respect to an explicitly specified scope.

But FLORA-2 also allows the scope to be specified implicitly (yet it is
always well-defined), which is a very convenient shortcut.

This implies that what you are saying in the charter is that such shortcuts
are out of the window. If you indeed meant that, then you would have to
explain why. Inserting in the charter opinions that ignore prior art is not
what you want to do, I believe.

But, frankly, I don't think that you meant the above at all. It was just a
confusion caused by a misunderstanding of the nature of NAF, its
relationship to SNAF, and the fact that SNAF is inherently a nonmonotonic
notion.


> > Again, EXCHANGE means XML syntax to me.  Then you need to decide WHAT
> > concrete languages you are going to exchange. FOL is NOT a more general
> > language -- it is a different language, and it is not a rules language. You
> > may need to exchange FOL as well as other rule sets.
> 
> Are you thinking an exchange syntax would only let you move rules to
> other systems which happened to implement the same type of rules, and
> there would be an unlimitted number of vendor-specified types?  That's
> kind of what it sounds like you're thinking of, and it's not at all
> what we're talking about.  That approach was called "tagging" at the
> workshop and in the workshop report (section 3.5).
> 
> We're talking about one language which is a superset of many of the
> common languages, so it can be used as an interlingua.  You translate
> your ruleset into it, and if you can translate it back out into
> another vendor's language (because it has enough features), your rules
> will mean the same thing.   I'm surprised the mission statement
> isn't clear on this.

The only rule language that FOL is a superset of (modulo a mapping) is SWRL
- an untested newcomer. And of Horn Datalog, which is near-useless. All the
real rule-based languages don't map into FOL AFAIK.


> Perhaps the title should be changed to "Rule Interchange Format (RIF)
> Working Group".   The draft does say:
> 
>      The Working Group is to specify an interlingua, a common format
>      into which existing rule languages can be mapped. This
>      interlingua may itself be considered a rule language, and may be
>      supported natively by some rule systems in the future, but
>      interlingua features are more important than features which make
>      the language itself easy to use directly. 
> 
> but perhaps that's still not clear enough.

No, not clear enough.  Worse, I am afraid you are proposing to charter the
WG to go and search for the Unicorn.


> > If we are talking about exchange, then we already have RuleML. It provides
> > exchange syntax for a variety of languages. Tweaking it hear and there will
> > to the exchange trick.
> 
> Can you point us to a specification for RuleML, so vendors and users
> can start to see whether it meets their needs?   It seemed pretty
> clear that users at the workshop were, in general, not happy with any
> of the candidate technologies, but maybe something was missed.

Harold has already gave a pointer in an earlier message. But I an banishing
the thought that you may have been unfamiliar with RuleML---dismissing it
as just a "useful XML syntax" won't do it.

If you are after an interlingua for rules, you should have looked at RuleML
more carefully to see what a bunch of folks have been cooking in the last
4-5 years.

I also very much agree with Dieter that it is just as important to
define an expressive Web rules language. (Rules language -- not FOL.)



	--michael  
Received on Wednesday, 24 August 2005 02:46:48 GMT

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