Re: semantics status of RDF(S)

From: Aaron Swartz <aswartz@swartzfam.com>
Subject: Re: semantics status of RDF(S)
Date: Tue, 03 Apr 2001 18:36:41 -0500

> Peter F. Patel-Schneider <pfps@research.bell-labs.com> wrote:
> 
> > We can then transfer negated statements via RDF, but RDF will
> > get in the way by providing its own (incompatible) meaning for the triples
> > that encode negation.  It would be much better if RDF would stay out of the
> > way, and not provide any meaning for these triples, but that is not within
> > the philosophy of RDF.
> 
> I've heard this argument before (from you, I'm pretty sure), and I believe
> it is simply false. You're forgetting reification. Saying negation, truth,
> etc. works just fine in RDF. Simply reify. Here's how it would be in XRDF:
> 
> <rdf:Description>
>   <negation rdf:resource="#s"
> </rdf:Description>
> 
> <rdf:Description rdf:about="#s">
>   <rdf:subject rdf:resource="mailto:pfps@research.bell-labs.com" />
>   <rdf:predicate rdf:resource="http://example.org/confusedAbout" />
>   <rdf:object>reification</rdf:object>
> </rdf:Description>
> 
[...]
> 
> Does this solve the flaw you see?
> 
> -- 
> [ Aaron Swartz | me@aaronsw.com | http://www.aaronsw.com ]

Not at all.  

I am not saying that it is (just) the reification that is a problem if you
choose to use reification.  I am saying that all the extra stuff that you
need (including reification, if you choose to use reification) is the
problem.  This has nothing to do with the choice of using reification or
not, but let's suppose that we do use reification where we can. 

In your example you have triples

	{ negation , d , s }
	{ rdf:subject, s, pfps }
	{ rdf:predicate, s, confused }
	{ rdf:object, s, reification }

All four of these triples have the same status as triples like

	{ loves, john, mary }

and clutter up the semantic message of a document.  Yes, three of these
triples use RDF reification predicates and so can, maybe, be ignored by RDF
processors who are not interested in reified statements (but it is very
dangerous to do so).  However, the first triple uses a predicate that is in
no way special to RDF and so I don't see how RDF processors and
applications can treat it in any other way than triples like

	{ loves, john, mary }


If you really want to extend RDF by reification, then it would be much
better to reify everything that you say, so you would end up with something
like

	{ disjunction, d, s1 }

	{ negation , d , s }
	{ rdf:subject, s, pfps }
	{ rdf:predicate, s, confused }
	{ rdf:object, s, reification }

	{ rdf:subject, s1, john }
	{ rdf:predicate, s1, loves }
	{ rdf:object, s2, mary }

This is much better from just about any viewpoint I can imagine.  However,
this does reduce RDF to no more than a vehicle for transmitting syntax,
which, I believe, gets back to one of the arguments Drew McDermott was
making.


Peter F. Patel-Schneider
Bell Labs Research

Received on Wednesday, 4 April 2001 06:46:09 UTC