W3C home > Mailing lists > Public > www-rdf-logic@w3.org > November 2001

Re: a question about RDF reification

From: Drew McDermott <drew.mcdermott@yale.edu>
Date: Sat, 3 Nov 2001 18:31:06 -0500 (EST)
Message-Id: <200111032331.fA3NV6j27725@pantheon-po02.its.yale.edu>
To: www-rdf-logic@w3.org

   [Peter Patel-Schneider]
   I've been thinking some more about RDF reification and came up with the
   following questions for those of you who support RDF reification:

   Suppose you have an XML/RDF document that uses reified statements....
   If you change rdf:Statement to RDF:STATEMENT in the document has anything
   really changed as far as RDF is concerned?  

No.

   If you think that something important has changed, what is it?  

Any inference system that's counting on seeing occurrences of
'rdf:Statement' and doing something with them will behave differently
on the new document.

Here's an analogy: Some logicians study first-order logic with
equality.  This is first-order logic augmented with a "reserved word,"
namely '=', plus axioms or inference rules that guarantee that
formulas such as a=b -> (f a) = (f b) is a theorem.

We could ask them the question: "If we changed '=' to '=='
in your theory, has anything really changed as far as first-order
logic is concerned?"  The answer is, Yes and No.  Let's distinguish
between "vanilla logicians," who study ordinary first-order logic; and
"equality mavens," who study first-order logic with equality.
A vanilla logician would answer No, because the models of the revised theory
are exactly the same as the models of the original theory, except that
the symbol '==' now plays the role '=' played before.  But equality
mavens can't agree, because for them '=' is similar to a logical
symbol (such as 'forall' or 'and') in that its semantics are *given.*
Just as "p and q" is true in an interpretation if and only if p is
true and q is true, so "a = b" is true if and only if a and b denote
the same thing.  Models in which they don't are ruled out a priori.
Theories are complete only if they draw all conclusions true in *those
models.* 

Hence in the realm of first-order logic with equality, asserting that
'Osama == lover(Alice)' doesn't have the same consequences as
asserting that 'Osama = lover(Alice)'.

If this is confusing, try the question "What if we changed occurrences
of 'and' to 'schmand'; would it make any difference?"  Obviously, if
we change *everything,* i.e., revise all our axioms, inference rules,
model theories, (lecture notes, textbooks, ...) so that 'and' is gone
and 'schmand' replaces it, then the answer is No.  But of course what
Peter intended was that all the standard machinery remain, so that 'p
and q' implies 'p', while 'p schmand q' implies nothing.

In other words, it all depends on what you hold fixed.  We all agree
to hold the meanings of "logical" symbols fixed, and allow others to
vary.  In some treatments '=' becomes a logical symbol; in others
'knows' becomes a logical symbol; and so forth.

The comeback is that rdf:Statement has not been constrained at all by
the model theory, so there is nothing whose fixedness makes any
difference.  That's true of this particular model theory, but it's not
necessarily true for the enlarged theories various RDF hackers may be
relying on, explicitly or implicitly.

Another objection is that rdf:Statement is in a different category
from a predicate like '='.  Equality applies to the same sort of
entities as all the other predicates in the theory (numbers, for
instance).  rdf:Statement talks about an object at a different
linguistic level entirely.  This is a good objection to *some*
argument, but not to the one I'm making.  Nothing in my argument
depends on the entities described by rdf:Statement being the same as
or different from the entities described by other RDF triples.

Obviously I have become more friendly to reification in recent months.
I still agree that it raises some real problems.  However, I don't
think the one Peter mentions is among them.

                                             -- Drew McDermott


P.S. I didn't understand this part:

   ....and
   doesn't use rdf:ID for resources or rdf:bagID.  (This qualification is to
   get around the fact that rdf:ID for resources and rdf:bagID implicitly
   involve rdf:Statement.  It could be relaxed by essentially modifying the
   expansion of these constructs.)
Received on Saturday, 3 November 2001 18:31:20 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:16:02 UTC