* Ivan Mikhailov
>
> The parameter name should be "query=", not "update=" . In addition, the
> supported syntax is "original" SPARUL, not SPARQL 1.1 variant, so it's
> INSERT DATA IN <graph> { <triples> } .
This brought me a lot closer, but it's still not working, and I'm not really
sure why:
query=INSERT+DATA++INTO+<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: 99\r\nContent-Type:
application/x-www-form-urlencoded\r\n\r\n'
send:
'query=INSERT+DATA++INTO+<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 15:42:25 GMT
header: Accept-Ranges: bytes
header: Content-Type: text/plain
header: Content-Length: 226
400
Bad Request
37000 Error SP031: SPARQL compiler: The query can be compiled and executed but
not translated to an accurate SQL text
SPARQL query:
INSERT DATA INTO <http://example.com/G>{ <http://example.com/s>
<http://example.com/p> "o" }
The error message is rather confusing. If the query is OK (and it really is
extremely basic), then why can't it be turned into SQL? Do I need to create the
graph somehow first?
I tried that, which gave me:
SPARQL Request Failed
42000 Error SR186: No permission to execute procedure DB.DBA.SPARUL_CREATE.
Hmmmm. But what is the permission? I figured it might be SPARUL_CREATE, but
that gives me:
*** Error 42000: [Virtuoso Driver][Virtuoso Server]U0002: The object
"SPARUL_CREATE" does not exist.
at line 2 of Top-Level:
grant SPARUL_CREATE to "SPARQL"
I've looked through the manual and other documentation, but can't seem to find
the necessary role. Any ideas?
--
Lars Marius Garshol
[email protected]