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

Re: Statements/Reified statements

From: Sergey Melnik <melnik@db.stanford.edu>
Date: Wed, 22 Nov 2000 15:48:06 -0800
Message-ID: <3A1C5B36.F0552705@db.stanford.edu>
To: Jonathan Borden <jborden@mediaone.net>
CC: ML RDF-interest <www-rdf-interest@w3c.org>
Jonathan Borden wrote:
> 
> Sergey Melnik wrote:
> 
> > Pierre-Antoine CHAMPIN wrote:
> > > ...
> > > First, Statements and Reified statements are not the same thing.
> >
> > Although this is consistent with the spec, I believe there are
> > significant advantages both for understanding and manipulating reified
> > statements if these two notions are merged into one.
> 
>     By merging into one, do you mean drop the notion of statement
> reification? If a statement and a reified statement are the same thing, I'm
> sure loads of people would prefer forget reification exists.

Don't drop reification, it's heavy ;) I'd rather make it a lightweight
built-in feature by explicitly making every statement a resource.

> > Can you (or anyone) list some use cases where it is beneficial to make
> > this distinction? I can think of several cases, in which distinguishing
> > statements vs. reified statements makes things a lot more complicated.
> > Just consider a database query that retrieves all assertions made about
> > a statement (by anyone).
> 
>     How about:
> 
> <Statement ID="S1">
>     <predicate resource="bar"/>
>     <subject resource="foo"/>
>     <object resource="baz"/>
> </Statement>
> 
> <Statement ID="S2">
>     <predicate resource="asserts"/>
>     <subject resource="John"/>
>     <object resource="S1"/>
> </Statement>

The model I'd generate for this is:

(John asserts (foo bar baz))

> > The M&S spec clearly states that statements are *non-atomic* entities in
> > the RDF model, i.e. they have 3 identifiable parts. Why then getting
> > into trouble of defining another mechanism ("quad reification") for
> > identifying these same parts in a less efficient (in all senses) manner?
> 
>     In order to assign a URI to a triple.

Why not make it computable if necessary (Skolem)? Can save a lot of
space...

> > The "fix" or interpretation I advocate is the following:
> >
> > - STATEMENTS ARE RESOURCES (that implies that every statement is unique
> > and equivalent to reified statement)
> 
> A resource is something identified by a URI (by definition). Begging the
> question: what would the URI of a statement be in this case?

There are a lot of algorithms that can be used to generate statement
URIs. One could use either a lossless one (like a separated
concatenation of subj pred and obj labels) or a one-way hash function
like SHA-1 as implemented in Stanford API.

Sergey
Received on Wednesday, 22 November 2000 18:30:12 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:46 GMT