- From: David Booth <david@dbooth.org>
- Date: Fri, 11 May 2012 10:30:27 -0400
- To: public-rdf-dawg-comments <public-rdf-dawg-comments@w3.org>
I'm looking further at this, and now I am more confused. I am trying to verify that when a CREATE SILENT operation is performed on an existing named graph, the content of that named graph is not changed. This is how I previously understood it to work and how I think it *should* work. And when I read the formal semantics of CREATE, I see: http://www.w3.org/TR/sparql11-update/#defn_createOperation [[ OpCreate(GS, iri) = GS union {(iri, {})} if iri not in graphNames(GS); otherwise, OpCreate(GS, iri) = GS ]] If I am reading the above correctly, in this case iri *would* be in graphNames(GS), so the "otherwise" clause would apply and the graph store would be unchanged, i.e., the content of an *existing* named graph should be unchanged. However, I just noticed the "Note" below that section, which says that any CREATE may be viewed as immediately followed by a DROP: [[ Since (non graph-aware) Graph Stores may remove graphs that are left empty, for such Graph Stores any CreateOperation may be viewed as implicitly immediately followed by a DropOperation (see next subsection), or simply as an operation with no effect. ]] But a DROP operation would delete the content of an existing named graph, so if I am understanding all this correctly, there seems to be a conflict between this "Note" and the formal semantics. Clarification please? I hope it is the "Note" that is in error. Thanks! David On Wed, 2012-04-11 at 12:17 -0400, David Booth wrote: > At http://www.w3.org/TR/sparql11-update/#create > I suggest adding the sentence: "If the graph already exists then its > content is unchanged." > > -- David Booth, Ph.D. http://dbooth.org/ Opinions expressed herein are those of the author and do not necessarily reflect those of his employer.
Received on Friday, 11 May 2012 14:31:02 UTC