Re: idempotency of triple stores

In discussing this subject, I'd be careful not to implicitly assume that 
the contents of a "triple store" are necessarily equivalent to the 
contents of a (single) "graph".  While RDF semantics defines a graph as 
a *set* of statements, and also defines how to merge graphs (if there 
are no blank nodes, take the union of the graphs), RDF semantics doesn't 
say anything about the definition or behavior of "triple stores".

Of course, if you assume that the contents of a triple store consists of 
one big graph, then the RDF graph semantics ought to apply to those 
contents, but:

a.  I'd want to see the particular triple store's definition of how it 
handles statements before making that assumption

b.  There's no explicit requirement in RDF specs that a triple store 
behave like that (since "triple store" isn't defined).

It seems to me that a triple store might well be defined so as to store 
multiple graphs, keeping straight which triples are in which graphs, and 
performing appropriate operations on graphs (like merges) when directed 
to do so.

In addition, operations on the triple store (such as deletion of 
statements) would not necessarily affect any "documents" from which the 
statements originally came.

--Frank

Steve Harris wrote:
> On Thu, Oct 20, 2005 at 06:50:53PM +0200, Martin Hepp (DERI extern) wrote:
> 
>>Hi Mark,
>>in my humble opinion, writing the same triple multiple times does not change
>>the state of the triple store. In other words, duplicate triples should not
>>be stored multiple times (there might be implementations that are flawed in
>>this sense). Unless it is encapsulated as a reified statement, a triple does
>>not have an identity of its own.
>>
>>So if one writes the same triple twice and deletes it once afterwards, the
>>triple should no longer exist (*).
>>
>>
>>Martin 
>>
>>(*) Unless it can also be deduced, e.g. based on an rdfs:subClassOf
>>relationship. Quite naturally, if you delete an explicit triple, but it is
>>still stored implicitly, it is still there - but that seems obvious to me.
> 
> 
> That would depend on whether it appeared in multiple docuements. If I
> assert document A that includes triple T and docuement B that also includes
> it, then retract document A I wouldn't neccesarily expect T to disappear.
> Depending on how the store handles data management.
> 
> - Steve
> 
> 

Received on Friday, 21 October 2005 15:58:49 UTC