Re: RDF Graph

At 00:05 06/10/04 +0200, Jan Algermissen wrote:

>Hi,
>
>this is likely to be a silly question, but I seem to be unable to parse
>the anser from the RDF Recommendations.
>
>"An RDF graph, or simply a graph, is a set of RDF triples."
>(from RDF Semantics, 0.3 "Graph Definitions")
>
>Since the graph is a set it does not contain duplicate triples, yes?
>
>A conforming software (for managing RDF graphs) would automatically
>delete duplicates, yes?

I think so.  Both of the graph-model implementations I've written do this.

But, apart from using the term 'set', on a quick scan I don't see any 
further specific text in the RDF specs that emphasizes this point.

I think it's fairly obvious that a graph with duplicated statements would 
be semantically equivalent to the same graph with duplicates 
removed.  (Consider: a && a == a).

But less obviously, I think such graphs would be syntactically equivalent 
in the sense described by the RDF concepts document, section 6.3.  That is, 
according to the definition there:

    ex:a ex:p ex: s .

is syntactically equivalent to:

    ex:a ex:p ex: s .
    ex:a ex:p ex: s .

Thus, according to the RDF specification, a graph with duplicate statements 
is not distinguishable in any way from the same graph with duplicate 
statements removed.  To this extent, the choice to remove or not remove 
duplicate statements is an implementation decision, which the RDF 
specifications (rightly IMO) do not constrain.

However, this is a point that the DAWG work may need to consider, since the 
difference may become visible in a graph query.  Certainly, in my own work, 
if I stored a graph with duplicate statements such duplication would become 
visible in the results of a graph query in a way that I think is not really 
desirable, particularly when an RDF graph is described as a *set* of 
statements.

#g


------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact

Received on Monday, 11 October 2004 15:19:01 UTC