- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Fri, 14 Dec 2001 15:26:13 -0500
- To: www-webont-wg@w3.org
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