The Problem with Having DAML+OIL Syntax Produce RDF Triples
The problem with including meaningful syntax in interpretations is coming
up with a set of semantic rules that actually work, i.e., don't produce
paradoxes. Embedding RDF and RDF Schema syntax in RDF interpretations only
works because RDF and RDF Schema are so weak that you cannot get into these
paradoxical situations. However the situation is different in DAML+OIL as
it is more powerful.
Here is a very simple example using complementOf.
Suppose we want to have a language of classes whose only class constructor
is complementOf. In RDF syntax complementOf most naturally turns out to be
a property between classes, so we can say
Thing complementOf Nothing .
or
notPerson complementOf Person .
We can come up with an RDF-style semantics for this very simple language,
something like the following.
There is a collection of names, V
and a collection of blank nodes, B
An extended interpretation consists of
R the domain of resources, nonempty
EXT : R -> 2^(RxR) the extension of properties
CEXT : R -> 2^R the extension of classes
S : V -> R the denotation of names
A : B -> R the mapping of blank nodes
An interpretation is an extended interpretation without the blank node map.
We define I as I(n) = S(n) for n a name
I(b) = A(b) for b a blank node
An extended interpretation satisfies statements as follows:
A P O . < I(A), I(O) > in EXT(S(P))
A complementOf B . CEXT(I(A)) = R \ CEXT(I(B))
where A,B,O are names or blank nodes and P is a name.
An interpretation satisfies a collection of statements if there is some
extended interpretation that satisfies each statement in the collection and
that matches the interpretation in the obvious way.
So far everything is fine. We are now at the DAML+OIL point, more or
less. (See the model theory for DAML+OIL (March 2001) at
http://www.daml.org/2001/03/model-theoretic-semantics.html .)
If we state, for example,
Person complementOf Person.
all we get is no interpretations that satisfy the (singleton) collection of
statements.
However, suppose we want to have the meaning of complementOf really show up
in interpretations.
We need to add the following conditions *to interpretations*
An interpretation satisfies the following constraints
if in EXT(S(complementOf)) then CEXT(a) = R \ CEXT(b)
So what is wrong with this?
Well consider the following extended interpretation, with only two names,
and no blank nodes
R = { equiExtension, complementOf, a }
S(complementOf) = complementOf
EXT(complementOf) = { < a,a > }
EXT(a) = { }
CEXT(complementOf) = { }
But when we try to finish this interpretation by determining CEXT(a) we are
in trouble. If something is in CEXT(a) then, by the semantic rules for
complementOf, it has to not be in CEXT(a). If something is not in CEXT(a)
then, by the semantic rules for complementOf, it has to be in CEXT(a).
There is no way to determine CEXT(a) and thus we have created an
ill-specified model theory.
In particular, we have gone from a perfectly good syntactic construct,
complementOf, that had a perfectly good meaning for reflexive complementOf,
to an ill-specified model theory.
Why does this happen? Well when something is in syntax you can just say,
by means of the model theory, that there is no way that a construction can
result in an interpretation. However, when something is in the semantics
you don't have this liberty because any semantic construction *has* to make
sense.
(The situation is probably even worse than indicated above because, to make
entailment work correctly, interpretations would have to include all
possible class constructions, and thus, maybe, every interpretation would
be semantically ill-formed, not just some of them.)
A similar thing happens, by the way, in axiomatizations. An axiomatization
with a similar flaw ends up ends up producing a contradiction from the
empty set of statements.
The conclusion here is that it is not possible to have DAML+OIL class
constructions be in an RDF-like model theory. (Well, in the interests of
fairness, there might be a way, but it would have to somehow forbid
complementOf loops of odd lengths. Worse, these loops might not just have
complementOf relationships but could have many other kinds of
class-relating relationships. It would be a gigantic mess, at best.)