SPARQL 1.1 Graph Store HTTP Protocol


We are trying to load data into Stardog by using the SPARQL 1.1 Graph Store HTTP Protocol.

Unfortunately, the documentation regarding the endpoint location and HTTP methods supported are not (clearly) documented.

I was able to find a post from four years ago (!topic/stardog/Y3WN5EG-FkM) saying to use /{db}.

So far so good. This works, but only for PUT requests (first delete then insert). What we would like to use is POST (merge into the existing graph).

tl;dr: missing documentation / missing method implementation

Best regards,
Ivan Subotic

Stardog follows the Graph Store Protocol specification for HTTP POST. In fact, the same call that works for PUT should also work for POST:

POST http://localhost:5820/myDb?graph=urn:my:graph
Content-Type: text/turtle

<urn:a> <urn:b> <urn:c> .

This will either return a 404 if the graph doesn’t exist, or 200 if it is able to add the data. Are you seeing different behavior? If so, what version of Stardog are you using and what does your POST look like?

Hi Stephen

Thanks for the reply.

My bad. I get back an 404 as the graph does not exist yet. I have interpreted the 404 wrongly.