UPDATE: On the Relationship between RDFS and SWOL

		On the Relationship between RDFS and SWOL


Some messages between Dan Connolly and myself have caused me to reexamine
my thoughts on the relationship between RDFS and SWOL.  I thought that it
might help if I also wrote them down so that the group as a whole could
become involved.  Throughout this discussion I will be ignoring the tricky
bits of RDFS (e.g., reification).  I'm also abstracting a bit from both
RDFS and DAML+OIL, but, I think, not in any way that affects the validity
of the analysis below.  In particular, I'm ignoring datatyping.


For the purposes of this discussion I will assume that a logical formalism
has two components:  syntax and semantics.   It is also possible to think
of semantics as nothing more than a way of defining entailment, and to
think of the rest of the semantics as non-observable.


Now what is the relationship between RDFS and DAML+OIL?

1/ The syntax of RDFS and the syntax of DAML+OIL are the same.
   (Well at least in a certain sense.   I'm ignoring aspects like broken
   DAML+OIL lists.)

2/ The semantics of DAML+OIL is a strict superset of the semantics of RDFS.
   That is, given an RDFS (or DAML+OIL) KB a DAML+OIL model (satisfying
   interpretation) of the KB is also an RDFS model of the KB, because
   DAML+OIL includes all the RDFS constraints on interpretations and the
   DAML+OIL syntactic mappings and constraints include all the RDFS
   syntactic mappings and constraints.

Therefore, if K1 and K2 are two RDFS (or DAML+OIL) KBs then if KB1 RDFS
entails KB2 then KB1 also DAML+OIL entails KB2.


This seems like the ideal situation.  However it is not, because there are
too few DAML+OIL entailments.  For example, switching the order of classes
in an intersectionOf results in non-entailment, which is certainly not
desirable.  The reason for this problem is that DAML+OIL puts the syntax of
DAML+OIL constructs in interpretations, just as RDFS does.


What can be done?  It is not possible, I think, to solve the problem by
adding more semantic constraints to the DAML+OIL model theory because that
would result in semantic paradoxes and an ill-formed model theory.  The
proposal embodied in my new semantics for SWOL is to remove the offensive
DAML+OIL syntactic mappings from the SWOL model theory.

This can result in an entailment for DAML+OIL syntax that does the right
thing.  However, the relationship between DAML+OIL/SWOL (DAML+OIL syntax
with the new SWOL semantics) and RDFS is somewhat different.

1/ The syntax of RDFS and the syntax of DAML+OIL/SWOL are still the same.

2/ The semantics of RDFS and DAML+OIL/SWOL are now incomparable.  It is
   still the case that all SWOL interpretations are RDFS interpretations,
   because the SWOL model theory includes all the RDFS constraints on
   interpretations.  However, given an RDFS (or DAML+OIL) KB, there are
   DAML+OIL/SWOL models of KB that are not RDFS models of KB because
   DAML+OIL/SWOL does not include all the RDFS syntactic mappings and
   constraints.  In particular, DAML+OIL/SWOL does not require that
   DAML+OIL syntax (like intersectionOf) result in relationships in models,
   nor does it require that DAML+OIL lists inside descriptions result in
   list structures in models.

3/ However, if K1 and K2 are two RDFS KBs that do not mention any of the
   DAML+OIL syntactic vocabulary it is the case (at least I hope that it is
   the case) that K1 RDFS entails K2 if and only if K1 DAML+OIL/SWOL
   entails K2.

Well so what now is wrong?  Why have I gone further and messed with the
DAML+OIL syntax?  Well I am dissatisfied with DAML+OIL/SWOL having
constructs that use RDFS syntax but have different meaning from RDFS.  I'm
even dissatisfied with the fact that the models are different, but I'm
especially dissatisfied that DAML+OIL/SWOL entailment and RDFS entailment
are incomparable on RDFS KBs that use DAML+OIL vocabulary.

For example,

	<daml:Class rdf:ID="Person">
           <rdfs:subClassOf>
	     <daml:List>
	       <daml:first rdf:resource="Animal"/>
	       <daml:rest rdf:resource="daml:nil"/>
	     </daml:List>
           </rdfs:subClassOf>
	</daml:Class>

RDFS entails, but does not DAML+OIL/SWOL entail,

	     <daml:List>
	       <daml:first rdf:resource="Animal"/>
	       <daml:rest rdf:resource="daml:nil"/>
	     </daml:List>


To remedy this problem, I have tried to design a new syntax for SWOL with
the following properties:

1/ An RDFS KB that does not mention the SWOL vocabulary is a SWOL KB.

2/ If KB is an RDFS KB that does not mention any of the syntactic
   SWOL vocabulary or use any of the SWOL-only syntax then the SWOL models of
   KB are in one-to-one correspondence with the RDFS models of KB.
   (Actually something a bit more involved may be needed here, due to
   technical details.)

3/ If KB1 and KB2 are RDFS KBs that do not mention any of the syntactic
   SWOL vocabulary or use any of the SWOL-only syntax then KB1 SWOL entails
   KB2 if and only if KB1 RDFS entails KB2.

Comments are welcome.

Received on Friday, 14 December 2001 15:26:44 UTC