On 13/05/12 11:29, Martynas Jusevicius wrote:
Hey Andy,
yes I'm using ARQ 2.8.7 (still because of SPIN dependency). So there
is a bug there?
SUBSTR wasn't part the SPARQL language back then.
http://www.w3.org/TR/2010/WD-sparql11-query-20101014/
Andy
Thanks for pointing out the variable names.
Martynas
On Sun, May 13, 2012 at 11:58 AM, Andy Seaborne<[email protected]> wrote:
On 13/05/12 10:23, Martynas Jusevicius wrote:
Hey,
the following query
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX sdmx-dimension:<http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX sdmx-measure:<http://purl.org/linked-data/sdmx/2009/measure#>
PREFIX qb:<http://purl.org/linked-data/cube#>
PREFIX year:<http://reference.data.gov.uk/id/year/>
PREFIX property:<http://worldbank.270a.info/property/>
PREFIX indicator:<http://worldbank.270a.info/classification/indicator/>
PREFIX country:<http://worldbank.270a.info/classification/country/>
PREFIX g-meta:<http://worldbank.270a.info/graph/meta>
PREFIX g-indicators:
<http://worldbank.270a.info/graph/world-development-indicators>
SELECT ?year (xsd:float(?gdpGrowth) AS ?gdpGrowth)
(xsd:float(?hhGrowth) AS ?hhGrowth)
WHERE {
GRAPH g-indicators: {
?gdpObs property:indicator indicator:NY.GDP.MKTP.KD.ZG ;
sdmx-dimension:refArea ?country ;
sdmx-dimension:refPeriod ?period ;
sdmx-measure:obsValue ?gdpGrowth .
?hhObs property:indicator indicator:NE.CON.PRVT.KD.ZG ;
sdmx-dimension:refArea ?country ;
sdmx-dimension:refPeriod ?period ;
sdmx-measure:obsValue ?hhGrowth .
FILTER (?country = country:DK)
BIND(SUBSTR(STR(?period), 38, 4) AS ?year)
#FILTER (xsd:int(?year)>= 1990)
}
GRAPH g-meta: {
?country skos:prefLabel ?countryPrefLabel .
}
}
ORDER BY DESC(?year)
looks fine and works fine in Dydra, but throws an exception in Jena
(where the SUBSTR() is):
com.hp.hpl.jena.query.QueryParseException: Encountered " "(" "( "" at
line 26, column 20.
Was expecting:
"regex" ...
com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:87)
com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse(ParserSPARQL11.java:40)
com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:132)
com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:69)
com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:28)
org.graphity.browser.SPARQLResource.getQuery(SPARQLResource.java:87)
Is that a bug?
Works for me. It looks like you are running some old version -- the method
names (and source line numbers) don't quite line up. I had to go back to
2.8.7 (2010-12-12) to find a possible version, may be older.
The query is illegal for a different reason.
"""
Variable used when already in-scope: ?gdpGrowth in (xsd:float(?gdpGrowth) AS
?gdpGrowth)
"""
You can't reassign to a variable that's already set (by the static scope
rules in SPARQL). It needs to be a different name
(xsd:float(?gdpGrowth) AS ?gdpGrowthNum)
Andy
Martynas
graphity.org