Básicamente tengo la siguiente consulta, y funciona en todos los comprobadores SPARQL en línea sin ningún problema, pero cuando uso Java y Jena 2.6.4, nunca obtengo ningún resultado. He escrito los valores en la consulta para fines de demostración.Consulta SPARQL utilizando Jena sin resultados, pero funciona en línea
PREFIX g: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT ?subject ?stadium ?lat ?long
WHERE
{ ?subject g:lat ?lat .
?subject g:long ?long .
?subject <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> onto:Stadium .
?subject rdfs:label ?stadium
FILTER (((((?lat >= 52.4814) && (?lat <= 57.4814)) && (?long >= -1.89358)) && (?long <= 3.10642)) && (lang(?stadium) = "en"))
}
LIMIT 5
Algunos de Java, tenga en cuenta que he intentado tener acceso a este algunas maneras diferentes, sin embargo estoy usando SPARQL lo largo del proyecto y no tienen problemas.
Query query = QueryFactory.create(s2); //s2 = the query above
QueryExecution qExe = QueryExecutionFactory.create(query, model);
ResultSet resultsRes = qExe.execSelect();
try {
while (resultsRes.hasNext()) {
QuerySolution soln = resultsRes.nextSolution();
//never any results
}
} catch (Exception ex) {
System.out.println(ex);
}
sólo trató el SPARQL contra dbpedia.org a través de Virtuoso punto final y consiguieron resultados. Sin embargo, lo que no está claro de su código es cómo se asigna la consulta SPARQL a s2 y cómo los datos entran en el modelo. – MikeJ