- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Wed, 01 Sep 2010 23:47:43 +0100
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
4.1.3 DELETE/INSERT [[ If an operation tries to insert into a graph that does not exist, then that graph *must* be created. ]] Surely this is wrong? For stores that distinguish empty graphs from non-existent graphs, we have CREATE GRAPH. Automatic creation is at odds with that setup. [[ Deleting triples that are not present, or from a graph that is not present will have no effect and will result in success. ]] seems inconsistent - why can't an error be generated for this case when stores do different graph existence from emptiness? 4.1.4 DELETE [[ The DELETE operation is similar to the DELETE/INSERT operation without an INSERT section. ]] s/is similar/equivalent/ ? 4.1.5 INSERT ---- The INSERT operation is equivalent to the DELETE/INSERT operation without a specified DELETE section. ---- It's not equivalent as specified. The WHERE clause has been made optional and it isn't for DELETE/INSERT or DELETE. I think the WHERE clause should be mandatory for consistency and because we have INSERT DATA for inserting data (the only use of INSERT without WHERE). A plain INSERT is hard to parse efficiently - this is why INSERT DATA was added into the pre-submission SPARQL Update. The system can't know that it is encountering an all data INSERT, with no WHERE clause, during parsing. Adding data this way may be important. Inserted data can be very large - knowing it's INSERT DATA allows the system to handle it specifically, e.g. stream the data somehow, which is very difficult if it's plain INSERT because it's not known to be all data until after the end of parsing the operation. 4.1.5 INSERT [[ This example copies records from one named graph to another named graph based on a pattern. ]] editorial: "copies records" -> "copies data about specific books" editorial: "2000-01-01T00:00:00-2:00" -> "2000-01-01T00:00:00-02:00" (add a zero to -2:00 => -02:00) timezone offset must be HH:MM XML Schema part 2: 3.2.7.3 Timezones [[ The lexical representation of a timezone is a string of the form: (('+' | '-') hh ':' mm) | 'Z', where ]] Andy
Received on Wednesday, 1 September 2010 22:48:20 UTC