I have put together a short, informal note on the layering landscape. For
a more formal derivation of the layering problem itself, see
http://lists.w3.org/Archives/Public/www-webont-wg/2002Mar/0018.html
Peter F. Patel-Schneider
Bell Labs Research
The Layering Landscape
Peter F. Patel-Schneider
The layering discussion is about the relationship between OWL and other
formalisms. As a formalism is about syntax and semantics, the layering
discussion is about both syntax and semantics.
The Landscape
To hopefully make some things clearer, I present a quick overview of
RDF(S), OIL, and DAML+OIL as they relate to the layering discussion.
1/ RDF(S)
The syntax of RDF(S) is triples, serialized in XML (or not). The semantics
of RDF(S) is a slightly non-standard model-theoretic semantics. The main
semantic relationship in RDF(S) is a fairly standard version of entailment.
In the semantics of RDF *everything* mentioned denotes. What this means is
that there are objects in the domain of interpretations for individuals,
classes, and properties. Further, classes and properties are linked to
their extension. Even things that might be considered to be syntax, such
as instance and subclass, are properties or whatever.
So in RDFS there is a property rdf:type that is the relationship between
resources and their types; there is a class rdfs:Resource that is the class
of all resources; and there is a class rdfs:Class that is the class of all
classes.
2/ OIL
A syntax of OIL is a subset of XML, unrelated to the syntax of RDF(S). The
semantics of OIL is a standard DL model-theoretic semantics.
In the semantics of OIL only individuals denote objects in the domain.
Classes have an extension, which is a subset of the domain. The extension
of properties is a set of pairs. Descriptions have no status in
interpretations; the extension of descriptions is built up from the
extension of its components.
In OIL, the structural relationships are not properties. That is there is
no property that corresponds to the type relationship, nor is there a
property that correspons to the subclass relationship.
3/ DAML+OIL
The syntax of DAML+OIL is RDF syntax. The model-theoretic semantics of
DAML+OIL is a slightly non-standard combination of DL semantics and the
RDFS semantics. Entailment is not used in the semantics of DAML+OIL. In
fact, the semantics of DAML+OIL does not include any semantic
relationships. (This is a bug, not a feature.)
The Problem
The problem, in a nutshell, is that making OWL an extension of RDFS in the
same way that RDFS is an extension of RDF produces semantic paradoxes.
(By this I mean that OWL's syntax would be triples and everything would
denote.)
Why do these semantic paradoxes arise? If everything has to denote, then
lots of classes and restrictions have to exist in OWL interpretations, or else
there will be too few valid entailments. Because classes and restrictions
need to have links back to themselves, some of these ``built-in'' classes
and restrictions have links back to themselves. Because rdf:type is a
property, and because of the expressive power needed in OWL, a ``built-in''
restriction that cannot be given a class extension thus exists in all
OWL interpretations, and thus there are no OWL interpretations.
This restriction is, informally, a restriction that is defined as having as
instances those resources who have no rdf:type relationship to itself. If
a resource is an instance of this restriction, then it can't have an
rdf:type relationship to the restriction, and thus is not an instance of
the restriction. If a resource is not an instance of this restriction,
then it must have an rdf:type relationship to the restriction, and thus is
an instance of this restriction.
Caveat
Pat Hayes disagrees with me on some portion of this. I believe that what
he is disagreeing with is the idea of doing the extension in this way, not
on the result of doing the extension this way.
Solutions
Any solution to this problem will have to either:
1/ Use RDF syntax (N-triples) for OWL but change the semantics, perhaps by
making some things not denote.
2/ Use a different syntax for the portions of OWL that should not denote,
and give that syntax its own meaning. The N-triples portion of the
syntax can have the same meaning as in RDFS.
3/ Not use (standard) entailment for determining consequences. (I'm not
sure if this would result in a viable approach.)
Each of these options can be realized in several different ways.
For example, in the different-semantics option, making all restrictions and
OWL-defined classes not denote might be sufficient. However, it might also
be sufficient to make rdf:type not denote.
In the different-syntax option, it might be possible to use a different
syntax only for restrictions. Using a different syntax for all class and
property definitions is definitely a viable approach. In this option,
there are also a number of approaches to providing semantics for the extra
syntax.