> On 17 Sep 2015, at 01:10, Danny Ayers <[email protected]> wrote:
> 
> http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/#http-post 
> <http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/#http-post>
> 
> In this section it states:
> 
> [[
> The following two operations are considered to have the same effect
> 
>     POST /rdf-graph-store?graph=..graph_uri.. HTTP/1.1
>     Host: example.com <http://example.com/>
>     Content-Type: text/turtle
>     
>     ... RDF payload ...    
>     
>     INSERT DATA { GRAPH <graph_uri> { .. RDF payload .. } 
> ]]
> 
> The problem is, taken literally the INSERT operation won't work. For example:
> 
> INSERT DATA { GRAPH <http://schema.org/terms/ <http://schema.org/terms/>> 
> { 
> 
> @PREFIX schema: <http://schema.org/ <http://schema.org/>> .
> ...
> schema:Thing ...
> }}
> 
> The RDF payload has to be tweaked to make it compatible with the SPARQL 
> syntax, something like:
> 
> PREFIX schema: <http://schema.org/ <http://schema.org/>> 
> 
> INSERT DATA { GRAPH <http://schema.org/terms/ <http://schema.org/terms/>> 
> { 
> schema:Thing ...
> }}
> 
> I just got caught out by this, building the SPARQL via a templating engine. 
> Ok, it took all of a minute to realise what was happening. But still, anyone 
> coming to the docs for the first time might not be so lucky (as it is, I'll 
> have to rethink my approach with the templates).
> 
> Cheers,
> Danny.
> 
> 

The wording isn’t terribly clear, but what it’s trying to say is that

> POST /rdf-graph-store?graph=..graph_uri.. HTTP/1.1
>     Host: example.com <http://example.com/>
>     Content-Type: text/turtle
>     
>     ... RDF payload …    

Is equivalent to the Update operation 

> INSERT, blah.


So it’s not necessary to convert the Turtle to SPARQL PREFIX notation, you can 
just use Turtle as-is, as per the MIME type.

There’s a double space between the … RDF payload … and the INSERT line, which 
is supposed to indicate the difference, I think.

- Steve

Reply via email to