W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2000

Re: A triple is not unique.

From: Gabe Beged-Dov <begeddov@jfinity.com>
Date: Tue, 21 Nov 2000 21:06:28 -0800
Message-ID: <3A1B5454.1D03DE98@jfinity.com>
To: Jonathan Borden <jborden@mediaone.net>
CC: "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
Jonathan Borden wrote:
> >
> > Being able to talk about statements is a central concept of RDF and I
> > think it should be anchored in the RDF model more intrinsically than it
> > is done currently. I don't see a need to bootstrap reification using 4
> > special RDF statements. I'd rather have it built-in.

It may be a central concept to many  but there is a significant
potential audience for RDF that is blissfully unaware of reification
and probably wants to remain so. I agree that it is a pain to deal
with 4 statements but that's what we have. At least that's the case at
the level of the raw RDF model that some people have compared to
assembly language. 

The RDF M&S says in section 6 says that alot of reification should be
going on that isn't in existing implementations:

The Description element itself represents an instance of a Bag
resource. The members of this Bag are the resources corresponding to
reification of each of the statements in the Description. If the bagID
attribute is specified its value is the identifier of this Bag, else
the Bag is

Some implementations provide a configuration setting (or not) to
control whether the presence of BagId on a Description  will cause the
statements in the Description to be reified. As far as I know, no
implementations do what the spec says which is to reify all the
statements in all the Descriptions. 

If they did, there would probably be more discussion of how to
manipulate  rdf:Statement instances rather than how to manipulate
triples. An rdf:Statement instance is required by the spec to have the
four statements that can then be manipulated as the quad that many
implementations use. 

Maybe what we need to do at the API/framework level is to talk about
quad producers and consumers rather than triple producers and
consumers. This still leaves various problems like how to distinguish
how the identifier for a quad/rdf:Statement was generated, i.e. by
what algorithm or policy. Sergey's Skolem function approach is
certainly one algorithm but the reality is that there are other
algorithms that are allowed and we can't rule their use out.
> Another point: In general RDF statements will be anonymous triples and
> reification is just as you say. The context of this discussion is the
> possibility of colliding ***named*** statements. The only way I can see
> doing this is by applying an ID to a typedNode of which rdf:Statement is an
> example. This 'bootstraping' process simply allows one to 'replace' your
> Skolem function with a selected URI in terms of reification. My conclusion
> is that triples remain unique.

There are two ways in the RDF/XML syntax of  explicitly specifying the
identifer for a reified statement resource. The first is to specify a
value for the about or ID attribute of a resource element that has a
rdf:type property with the value of rdf:Statement (it may be a
rdf:Statement typednode). The second is to specify an rdf:ID for a
property element. 

> Jonathan

Cordially from Corvallis,


Received on Tuesday, 21 November 2000 23:06:00 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:07:33 UTC