Hi Patrick
That's awesome - thanks for sorting it so quickly! (And apologies for not
using pastebin originally, I hadn't realised my code would get so mangled
in some mail clients)
Cheers,
Chris
On 19 February 2015 at 21:49, Patrick van Kleef <pkl...@openlinksw.com>
wrote:
> Hi Chris,
>
> > In the DBpedia SPARQL endpoint [1], running
> >
> > PREFIX dc: <http://purl.org/dc/elements/1.1/
> > >
> > PREFIX : <
> > http://dbpedia.org/resource/
> > >
> > PREFIX dbpedia2: <
> > http://dbpedia.org/property/
> > >
> >
> > SELECT ?a (3+3 AS ?y)
> > WHERE
> > {
> > ?a dc:description "English footballer" .
> > ?a dbpedia2:placeOfBirth :Merseyside .
> > }
> >
> > Shows all English Footballers who were born in Merseyside, with column y
> just displaying the value 6 on every row [result link]; however, the same
> query on the SNORQL endpoint displays an error:
> >
> > Virtuoso 37000 Error SP030: SPARQL compiler, line 16: syntax error at '3'
> > before 'AS' SPARQL query: define sql:big-data-const 0 #output-
> > format:application/sparql-results+json define input:default-graph-uri
> PREFIX
> > owl: PREFIX xsd: PREFIX rdfs: PREFIX rdf: PREFIX foaf: PREFIX dc: PREFIX
> :
> > PREFIX dbpedia2: PREFIX dbpedia: PREFIX skos: PREFIX pos: PREFIX dbo:
> SELECT
> > ?a (3 3 AS ?y) WHERE { ?a dc:description "English footballer" . ?a
> > dbpedia2:placeOfBirth :Merseyside . }
> >
> > Even more strangely, using any of the other 3 arithmetic operators does
> work in the SNORQL endpoint (e.g. with division [5])
> >
> > A previous question [6] on Stackoverflow has implied that the SPARQL and
> SNORQL endpoints should return the same result, so what's going on here?!
> >
> > Cheers,
> > Chris
> >
> > 1: http://dbpedia.org/sparql/
> > 2:
> http://dbpedia.org/sparql/?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=++++PREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0D%0A++++PREFIX+%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2F%3E%0D%0A++++PREFIX+dbpedia2%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fproperty%2F%3E%0D%0A%0D%0A++++SELECT+%3Fa+%283%2B3+AS+%3Fy%29%0D%0A++++WHERE+%0D%0A++++%7B+%0D%0A+++++++%3Fa+dc%3Adescription+%22English+footballer%22+.%0D%0A+++++++%3Fa+dbpedia2%3AplaceOfBirth+%3AMerseyside+.%0D%0A++++%7D&format=text%2Fhtml&timeout=30000&debug=on
> > 3:
> http://dbpedia.org/snorql/?query=PREFIX+pos%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23%3E%0D%0APREFIX+dbo%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fontology%2F%3E%0D%0A%0D%0ASELECT+%3Fa+%283%2B3+AS+%3Fy%29%0D%0AWHERE+%0D%0A%7B+%0D%0A+++++%3Fa+dc%3Adescription+%22English+footballer%22+.%0D%0A+++++%3Fa+dbpedia2%3AplaceOfBirth+%3AMerseyside+.%0D%0A%7D
> > 4: http://dbpedia.org/snorql/
> > 5:
> http://dbpedia.org/snorql/?query=PREFIX+pos%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23%3E%0D%0APREFIX+dbo%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fontology%2F%3E%0D%0A%0D%0ASELECT+%3Fa+%283%2F3+AS+%3Fy%29%0D%0AWHERE+%0D%0A%7B+%0D%0A+++++%3Fa+dc%3Adescription+%22English+footballer%22+.%0D%0A+++++%3Fa+dbpedia2%3AplaceOfBirth+%3AMerseyside+.%0D%0A%7D
> > 6: http://stackoverflow.com/a/15658884/889604
>
>
> The snorql code was using the wrong method to encode the query string
> before calling the real /sparql interface.
>
> It was using the very old 'escape()' javascript function which does not
> encode the + character as a special character.
>
> It then uses that escaped string to call the real /sparql endpoint.
>
> When the /sparql endpoint decodes the &query=XXXX3+3YYYYY string it
> decodes the + character as a space thereby creating a syntax error in your
> query.
>
> I fixed the snorql code on http://dbpedia.org to use the
> encodeURIComponent function which is the proper way of embedding a query as
> a parameter argument in a URL.
>
>
> Patrick
> --
> OpenLink Software
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Dbpedia-discussion mailing list
Dbpedia-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dbpedia-discussion