Re: N3 and N-Triples (was: RDF in HTML: Approaches)

[Andy Seaborne]

>
> > the model theory is quite clear that
> > bnodes are not identified with anything outside the graph in which
> they
> > appear
>
> This is the key to me.  My understanding os the scope of the graph is
> limited.
>
> If I have an in-memory graph, and I write it to a serialized form then
> read it in again (same machine or different machine, same process,
> different process), why do I get a different set of bNodes?  I guess
> this is asking whether the graph-in-the-file is the same
> graph-in-the-memory.  Never did understand this.
>

The bnodes ***are*** identified.  Not with an RDF identifier, but by the
edges and nodes they are connected to.  If you look at it this way, it's
easy to see that a locally-assigned identifier, outside of the RDF model,
might make processing much easier while still not needing to be included in
the interchange format.

I suppose that you could treat reification of statements in a similar way -
you may make a statement an object in its own right internally (outside of
the RDF model) as long as you serialize it for interchange in the standard
RDF reification construction.

For either of these two cases, there is a difference between the
added-identifier way and the strict RDF model way.  For bnodes, a node's
existence is inferred by the fact that it has properties ("I think therefore
I am"), as opposed to being stated outright ("I am, therefore I may
think").  You may think the difference is academic, but maybe not.

For reified statements, an rdf:Statement does not have to actually exist or
be asserted (you can say "If John said {x,y,z} then he was wrong", even if
John never actually said any such thing).  Using an locally-defined
identifier to refer to a statement requires that statement already to exist,
which is a different thing.

Is this helpful?

Cheers,

Tom P

Received on Thursday, 6 June 2002 09:24:02 UTC