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

Re: RIF (was Re: [ontolog-forum] Current Semantic Web Layer Cake)

From: John F. Sowa <sowa@bestweb.net>
Date: Tue, 31 Jul 2007 16:52:16 -0400
Message-ID: <46AFA100.4000904@bestweb.net>
To: Sandro Hawke <sandro@w3.org>
CC: Valentin Zacharias <Zacharias@fzi.de>, phayes@ihmc.us, ivan@w3.org, juanfederico@gmail.com, semantic-web@w3.org

Sandro,

I have no objection to that statement (assuming that we can agree
on what the term "same semantics" means):

 > RIF is not a rule language; it a family of related rule languages.
 > We're calling each RIF language a RIF "dialect".  Our plan is to
 > encourage the dialects to use the same syntax when the semantics
 > line up, and to require the same semantics whenever the same syntax
 > is actually used.

The ISO standard for Common Logic specifies a very general model
theory and an abstract syntax.  We also use the term "dialect",
but for any syntax that has a semantics-preserving mapping to
the abstract syntax.  The standard includes three annexes for
three dialects that express the full semantics:  CLIF, CGIF,
and XCL.  But any other language that expresses any subset
of the semantics can be considered a CL dialect.

RDF and OWL, for example, satisfy the requirements to be CL
dialects.

 > ... but formally the semantics are to be specified at the
 > dialect level.

That is very dangerous, because then you must provide a formal
proof that two independently specified semantics are logically
equivalent.  In the worst case, that proof could be undecidable.

What we did for CL is to specify the model theory in terms
of the abstract syntax.  Then that semantics is inherited by
the dialects by mapping their syntax to the abstract syntax.
This is a much simpler approach, in which any discrepancies
between dialects are resolved just by seeing how they are
mapped to the abstract syntax.

 > The idea is that when you're designing a dialect, you should
 > specify the semantics using Model Theory.  If you can't do that,
 > then you should use Proof Theory.  If you still can't then you
 > may fall back to an operational definition.  This is necessary,
 > as far as we can tell, because we don't have Model-Theoretic or
 > Proof-Theoretic approach to defined the semantics of the Production
 > Rule systems which dominate the Business Rules market.

That is totally unacceptable.  The size of their market is irrelevant.
If they can't define their semantics, they've got to be deprecated
until they get their acts in gear.  There are many standards projects
that died because loosey-goosey semantics caused seemingly compliant
implementations to be incompatible.  When that happens, the market
share for the standard quickly becomes ZERO.

 > The RIF Working Group had a broad mission to cover both logical
 > rule languages and non-logical rule languages (like the Business
 > Rules systems mentioned above).

The solution is simple.  You define the semantics formally.  And
say that any system supported to the extent that they comply
with the definition.  Everything else is deprecated.

 > If we consider the "RIF" box in the layer cake to be "RIF BLD"
 > then I think we're in good shape with the Unifying Logic.  If we
 > do this, the concerns raised above -- the loophole, etc -- don't
 > come into play.

Fine.  Then put RIF BLD into the Semantic Web layer cake, and
cast the deprecated versions into outer darkness, where there
is weeping and gnashing of teeth.

John
Received on Tuesday, 31 July 2007 20:52:35 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:41:58 UTC