Re: Statements/Reified statements

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>

<Statement ID="S2">
    <predicate resource="asserts"/>
    <subject resource="John"/>
    <object resource="S1"/>
</Statement>


>
> 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
http://www.openhealth.org

Received on Wednesday, 22 November 2000 17:20:38 UTC