W3C home > Mailing lists > Public > semantic-web@w3.org > August 2007

Re: AW: [ontolog-forum] Current Semantic Web Layer Cake

From: John F. Sowa <sowa@bestweb.net>
Date: Fri, 03 Aug 2007 14:08:39 -0400
Message-ID: <46B36F27.1040108@bestweb.net>
To: Valentin Zacharias <Zacharias@fzi.de>
CC: Pat Hayes <phayes@ihmc.us>, "[ontolog-forum]" <ontolog-forum@ontolog.cim3.net>, Ivan Herman <ivan@w3.org>, Juan Sequeda <juanfederico@gmail.com>, SW-forum list <semantic-web@w3.org>

Valentin,

I am strongly in favor of research on nomonotonic reasoning.
I am also very strongly in favor of technology based on
nonmonotonic methods, such as negation as failure, which has
proved to be extremely valuable in Prolog and SQL.

 > What I don't get is that you [Pat] (and John F. Sowa in other
 > emails) seem to insist that this must be classic, FOL like,
 > monotonic semantic and that all formalisms with different
 > semantics (or kinds of reasonings) have no place in the
 > Semantic Web.

What I do insist is that if you have any prayer of a hope
of an expectation of interoperability, then you must specify
the semantics precisely:

  1. If you mean classical FOL, say so.  There are several ISO
     standards for different subsets of FOL, such as Z and
     the more recent Common Logic, which includes the semantics
     of Z, RDF(S), and OWL as subsets.

  2. If you mean Prolog, then say so.  There is also an ISO
     standard for Prolog.

But if you say that the standard will specify the syntax and
leave the semantics up for grabs, you are asking for disaster.

Remember what happened to Visual Basic when Microsoft pulled
the plug on VB6 and gave the world C# semantics with VB syntax.
The result was that no VB6 application would run in VB.Net
without a complete rewrite.  If you just standardize the syntax,
you have done *nothing* to promote interoperability.

I could accept the idea of a common notation for if-then rules,
but with two very clearly specified options for the semantics:

  1. A purely classical FOL that is compatible with CL and its
     subsets, such as Z, RDF(S), and OWL.

  2. A negation-as-failure semantics that is compatible with the
     ISO standard for Prolog.

If you want that, then say so.  But make it very, very clear that
the two semantics are *not* compatible -- and that no attempt to
exchange rules between the two versions of semantics should be
done, except under stringently controlled conditions.

In general, it is possible to import monotonic results from CL
(or its subsets Z, RDF, and OWL) into a Prolog environment.  But
it is not possible to take the results of an arbitrary Prolog
conclusion and send it back to CL (or its subsets) without very
carefully specified conditions.

In general, I would emphasize the "Pro" in Prolog, which stands
for "programming".  Prolog is a very powerful programming language,
and it is essential to recognize that it is very different from
a classical FOL reasoning system.

John
Received on Friday, 3 August 2007 18:08:46 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:17 GMT