- From: Luke Wilson-Mawer <luke.wilson-mawer@garlik.com>
- Date: Mon, 20 Jul 2009 15:45:30 +0100
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
Hi,
Here are my comments on the UPDATE submission, they aren't independent
since Steve's name is on the submission for Garlik, but hopefully
they're useful nonetheless
http://www.w3.org/Submission/2008/SUBM-SPARQL-Update-20080715/
1) INSERT DATA/UPDATE DATA.
Streaming of large chunks of data seems like something the protocol
ought to do - it seems to me more natural to squirt a whole file over
the wire than to turn the data into a query. The LOAD <remoteURI>
feature would also seem like a natural way to do this, possibly extended
to load local files, although I'm not sure about the security consequnces.
2) It doesn't seem clear whether a WHERE clause and FILTERS can be used
with these verbs:
CREATE
DROP
CLEAR
LOAD
3) Do we really need the MODIFY verb? It seems to be syntactic sugar,
as we can always use either DELETE FROM <uri> or INSERT INTO <uri> to
specify a graph. It isn't used in any of the examples but it's
mentioned elsewhere. The only thing it seems to do is stop the user
having to type a graph name more than once if multiple operations are
done on the same graph in the same query.
4) I agree with Alex Passant that Example 2e would be simplified by
introducing a MOVE verb. Still, this example requires the full syntax:
The bookStore2 graph is created and only a year's worth of books are kept :
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
INSERT INTO <http://example/bookStore2>
{ ?book ?p ?v }
WHERE
{ GRAPH <http://example/bookStore>
{ ?book dc:date ?date .
FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime && ?date
> "1999-01-01T00:00:00"^^xsd:dateTime)
?book ?p ?v
}
}
DELETE FROM <http://example/bookStore>
{ ?book ?p ?v }
WHERE
{ GRAPH <http://example/bookStore>
{ ?book dc:date ?date .
FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
?book ?p ?v
}
}
Thanks,
Luke
Received on Monday, 20 July 2009 14:46:09 UTC