Hello, I found a problem when rewriting a query by AlgebraGenerator, the generated query becomes syntax incorrect query. Can you please advise if this is a defect? Thanks. The version of JENA I tested is 2.7.1 The code I rewrite the query is: Query query = QueryFactory.create(queryString); AlgebraGenerator ag = newAlgebraGenerator(); Op op = ag.compile(query); Query query2 = OpAsQuery.asQuery(op);
The original query is: PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX dbpedia: <http://dbpedia.org/resource/> SELECT ?num_of_holidays ?celebrate_Chinese_New_Year WHERE { {SELECT ?country_cat (COUNT(?holiday) as ?num_of_holidays) WHERE {?country_cat <http://www.w3.org/2004/02/skos/core#broader> <http://dbpedia.org/resource/Category:Public_holidays_by_country>. ?holiday dcterms:subject ?country_cat }GROUP by ?country_cat } { SELECT ?country_cat (COUNT(?holiday) as ?celebrate_Chinese_New_Year) WHERE { ?country_cat <http://www.w3.org/2004/02/skos/core#broader> <http://dbpedia.org/resource/Category:Public_holidays_by_country>. ?holiday dcterms:subject ?country_cat FILTER(?holiday="http://dbpedia.org/resource/Lunar_New_Year's_Day") }GROUP by ?country_cat } } The generated query is: SELECT ?country_cat ?celebrate_Chinese_New_Year WHERE { { ?country_cat <http://www.w3.org/2004/02/skos/core#broader> <http://dbpedia.org/resource/Category:Public_holidays_by_country> . ?holiday <http://purl.org/dc/terms/subject> ?country_cat BIND(count(?holiday) AS ?num_of_holidays) } { ?country_cat <http://www.w3.org/2004/02/skos/core#broader> <http://dbpedia.org/resource/Category:Public_holidays_by_country> . ?holiday <http://purl.org/dc/terms/subject> ?country_cat FILTER ( ?holiday = "http://dbpedia.org/resource/Lunar_New_Year's_Day" ) BIND(count(?holiday) AS ?celebrate_Chinese_New_Year) } } GROUP BY ?country_cat The generated query has a syntax error: "Line 5, column 12: Aggregate expression not legal at this point". Attached is a hava program to demonstrate the problem, ________________________________
