I am Thomas Visel with Algebraix Data, developing their SPARQL 1.1 parser. I have been an unspeaking lurker with this dawg for the past half year.
Regarding 'INSERT DATA', 'DELETE DATA' and 'DELETE WHERE' : Why the required (single) space between the words? The required space seems out of place.. Why not one-or-more spaces instead?
This contrasts with the COPY SILENT and the like just above it, specified as 'COPY' 'SILENT' and allowing one or more spaces.
[36] Move = 'MOVE' 'SILENT'? GraphOrDefault<http://www.w3.org/TR/sparql11-query/#rGraphOrDefault> 'TO' GraphOrDefault<http://www.w3.org/TR/sparql11-query/#rGraphOrDefault>
[37] Copy = 'COPY' 'SILENT'? GraphOrDefault<http://www.w3.org/TR/sparql11-query/#rGraphOrDefault> 'TO' GraphOrDefault<http://www.w3.org/TR/sparql11-query/#rGraphOrDefault>
[38] InsertData = 'INSERT DATA' QuadData<http://www.w3.org/TR/sparql11-query/#rQuadData>
[39] DeleteData = 'DELETE DATA' QuadData<http://www.w3.org/TR/sparql11-query/#rQuadData>
One other SPARQL parser tested loosens from the spec, allowing multiple spaces between the word pairs. Was the spec so worded just to make it easy to parse without using resolvers, or is there something I'm missing here?
Thomas Visel
tvisel@algebraixdata.com<mailto:tvisel@algebraixdata.com>