* 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> } .

I'm having difficulty working out what the correct SPARUL syntax is. The 
Virtuoso wiki links to this specification
  http://jena.hpl.hp.com/~afs/SPARQL-Update.html

but that URL is dead. I can't find it in the Google cache, and but in the 
Wayback Machine I find this:
http://web.archive.org/web/20080129222709/http://jena.hpl.hp.com/~afs/SPARQL-Update.html

The Virtuoso book actually gives the SPARQL BNF used by Virtuoso here
  http://docs.openlinksw.com/virtuoso/rdfsparql.html

but unfortunately that BNF is not consistent with the SPARQL Update spec above.

According to the spec
  load <http://example.org/rdf.xml> into <http://example.org/G>

is legal, but Virtuoso will not accept it, complaining about '<' after 'load'.

Looking at your BNF I find
  LoadAction ::= 'LOAD' PrecodeExpn

Unfortunately, trying to trace the BNF downwards to see what PrecodeExpn is, I 
eventually get to NumericExpn, which isn't defined.

If I "cheat" and look at "IRIRef" I get to Q_IRI_REF, which again isn't 
defined. :-(


What is the correct syntax for load? I find that taking away the <> around the 
IRI doesn't work, either. Virtuoso seems to assume the http:// URL is a qname. 
I suppose I could work around it by defining a prefix, but that won't be 
possible in all cases, and I shouldn't really have to.

Also, is there a more complete spec of the SPARQL Update language that Virtuoso 
implements somewhere?

-- 
Lars Marius Garshol
[email protected]





Reply via email to