I'm trying to use the SPARQL Update functionality in Virtuoso, but struggling 
to figure out what the endpoint is. I've tried

 http://localhost:8890/sparql/

but that doesn't seem to accept SPARQL Update.

I found a hint in the manual that says:

> If SPARQL_UPDATE role is granted to SPARQL user, then data manipulation 
> statements may be executed via the SPARQL Web service endpoint; if 
> SPARQL_UPDATE role is not granted, users are limited to data querying 
> statements.

I guess that might be the reason.

Here's the actual exchange on the wire:

update=INSERT+DATA+{+GRAPH+<http://example.com/G>+{+<http://example.com/s>+<http://example.com/p>+"o"+}+}
send: 'POST /sparql/ HTTP/1.1\r\nHost: localhost:8890\r\nAccept-Encoding: 
identity\r\nContent-Length: 105\r\nContent-Type: 
application/x-www-form-urlencoded\r\n\r\n'
send: 
'update=INSERT+DATA+{+GRAPH+<http://example.com/G>+{+<http://example.com/s>+<http://example.com/p>+"o"+}+}'
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Server: Virtuoso/06.02.3128 (Mac OS X) universal-apple-macosx10.5-32  
VDB
header: Connection: Keep-Alive
header: Date: Thu, 20 Jan 2011 14:52:40 GMT
header: Accept-Ranges: bytes
header: Content-Type: text/plain
header: Content-Length: 61
400
Bad Request
22023 Error The request does not contain text of SPARQL query

I guess this is what explains how to set the role:
 http://docs.openlinksw.com/virtuoso/rdfgraphsecurity.html

However, I don't know what user my SPARQL Update statement is running as. And I 
can't see any way to check what users are configured in the system.

Help, please? (This is Virtuoso as installed. I haven't done anything at all to 
change any configuration options.)

--Lars M.
http://www.garshol.priv.no/tmphoto/
http://www.garshol.priv.no/blog/


Reply via email to