- From: John F. Sowa <sowa@bestweb.net>
- Date: Fri, 03 Aug 2007 14:08:39 -0400
- 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 UTC