GET requests are supposed to be idempotent so using GET for insert/delete queries is wrong.
Especially in combination with the agressive cacing ths can make it impossible to add a triple, I encountered the problem by:
running some insert operation
deleting all the data in the graph
running some of the insert operations again
The graph remains empty as the queries are never forwarded to virtuoso by the proxy, to run the queries again I need to make some meaningless changes such as adding a whitespace.
Hi Reto,
I'm not sure if I get your request report since it contains multiple issues.
How do you query? From a browser in the WebUI of Virtuoso of via curl, ...
"GET for insert/delete queries is wrong." you could use POST as well, not? As GET is also supported it was a design decision by OpenLink. The standard says "When using the SPARQL 1.1 Protocol for RDF a request will be one HTTP POST."
There is no caching defined in the proxy (ngnix).
We could not find any configuration in Virtuoso about SPARQL caching. Do you know any? Could it be cached by the client?
GET requests are supposed to be idempotent so using GET for insert/delete queries is wrong.
Especially in combination with the agressive cacing ths can make it impossible to add a triple, I encountered the problem by:
The graph remains empty as the queries are never forwarded to virtuoso by the proxy, to run the queries again I need to make some meaningless changes such as adding a whitespace.