Fondamentalmente ho la seguente query, e funziona in tutti i tester SPARQL online senza problemi, ma quando utilizzo Java e Jena 2.6.4, non ottengo mai risultati. Ho scritto i valori nella query a scopo dimostrativo.Query SPARQL che usa Jena senza risultati - ma funziona online
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
Alcuni Java, nota ho provato l'accesso a questo un paio di modi diversi, ma sto usando SPARQL tutto il progetto e non hanno problemi.
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);
}
appena provato lo SPARQL contro dbpedia.org via Virtuoso endpoint e ottenuto risultati. Tuttavia, ciò che non è chiaro dal codice è come la query SPARQL è assegnata a s2 e come i dati entrano nel modello. – MikeJ