Ah, of course. Thanks Andy. Have changed the query to use BIND as suggested and working now :)
rob On 28 Aug 2012, at 10:38, Andy Seaborne <[email protected]> wrote: > > LET is an ARQ-extension and Fuseki is parsing with extensions enabled. > > In this case, BIND does the same thing. BIND is SPARQL 1.1 > > So either tell the command line the query is ARQ-extended SPARQL 1.1 (one of > file extension .arq, --format ARQ, use the comman arq.arq) > > or use > > BIND( fn:concat(?lat, ",", ?long) ) AS ?point) > > You can also use a subquery: > > CONSTRUCT { > ?thing georss:point ?point > } WHERE { > { SELECT ?thing ( fn:concat(?lat, ",", ?long) ) AS ?point) > { > ?thing geo:lat ?lat . > ?thing geo:long ?long . > } LIMIT 1 > } > } > > Andy > > On 28/08/12 10:19, Rob Styles wrote: >> Hi all, >> >> I have a Sparql query converting lat/long into a georss point: >> >> PREFIX georss: <http://www.georss.org/georss/> >> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> >> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> >> >> CONSTRUCT { >> ?thing georss:point ?point >> } WHERE { >> ?thing geo:lat ?lat . >> ?thing geo:long ?long . >> LET ( ?point := fn:concat(?lat, ",", ?long) ) >> } >> LIMIT 1 >> >> This works correctly when posting through the fuseki control panel. When I >> try to run this using the command line tools in Jena, either bin/sparql or >> tdbquery I get >> >> Lexical error at line 10, column 6. Encountered: " " (32), after : "LET" >> >> Messing with parentheses and whitespace makes not material difference. Would >> it be that the Jena tools are working at 1.0 and fuseki at 1.1? >> >> I need to run this on command line as without the limit 1 it will be a >> long-running query. >> >> Is there a way to run this, or other suggestions for equivalent >> functionality? Some kind of inference rule? >> >> rob >> >
