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

Re: Statements/Reified statements

From: Jonathan Borden <jborden@mediaone.net>
Date: Wed, 22 Nov 2000 17:08:22 -0500
Message-ID: <02bb01c054d0$bb8721a0$0a2e249b@nemc.org>
To: "Sergey Melnik" <melnik@db.stanford.edu>, "Pierre-Antoine CHAMPIN" <champin@bat710.univ-lyon1.fr>
Cc: "ML RDF-interest" <www-rdf-interest@w3c.org>
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.

> 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 ID="S2">
    <predicate resource="asserts"/>
    <subject resource="John"/>
    <object resource="S1"/>

> 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.

> 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?

The reason a statement is not equivalent to its reified statement as
represented by a quad is that the subject of each of the statements of a
reified quad is the URI which 'names' the statement triple. As far as I can
tell, this name is the only additional piece of information not implicit in
the statement triple

> - toss "quad" reification mechanism altogether

fine, replace its function: (XXX asserts S) where S references a statement

> If someone chooses to reply to this posting, please be constructive. If
> you claim reification should be done in this or other way, justify you
> opinion, or tell what the drawbacks of the above suggestion are. There
> are many ways to express the same thing which are all theoretically
> equivalent. However, we have to store reified statements, send them over
> networks and use in query processing. Keep that in mind.

Perhaps you might propose a specific replacement. I'm not personally at all
tied to reification quads, they do seem a bit expensive as a mechanism for
assigning a name to a statement. I do appreciate what the mechanism does
accomplish within the framework of URIs. I also feel that using Bags with
_1,_2 ... is a likewise expensive way to represent spaces within RDF. The
advantage of the current mechanisms is that the core concept of a monolithic
model of unique triples is preserved.

Jonathan Borden
The Open Healthcare Group
Received on Wednesday, 22 November 2000 17:20:38 UTC

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