Я запросил DBPedia через конечную точку Virtuoso SPARQL и Jena, но результаты разные. Мой запрос:Почему результаты, возвращаемые конечной точкой Virtuoso SPARQL, и Jena разные?
SELECT (COUNT(DISTINCT (?v)) AS ?num)
FROM <http://dbpedia.org>
WHERE {
?x <http://dbpedia.org/property/deathPlace> ?v .
?v rdf:type ?t .
FILTER STRSTARTS(STR(?t), STR("http://dbpedia.org/ontology/Place"))
}
Я исполняю свой запрос в Йене с помощью этой функции:
public static ArrayList<String> query(String queryStr) {
ArrayList<String> result = new ArrayList<>();
queryStr = SPARQL_PREFIX + queryStr;
Query query = QueryFactory.create(queryStr);
// Remote execution.
try (QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query)) {
// Set the DBpedia specific timeout.
((QueryEngineHTTP) qexec).addParam("timeout", "10000");
// Execute.
ResultSet rs = qexec.execSelect();
while (rs.hasNext()) {
result.add(rs.next().toString());
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("============================================");
System.err.println(queryStr);
System.err.println("============================================");
}
return result;
}
Я установил график для поиска в FROM
выражении, но результат все еще отличаются. Когда я выполняю запрос на конечной точке Virtuoso SPARQL, результат равен 21482, но результат, возвращаемый Jena, равен 9586.
Есть ли идеи?
Я не вижу разные результаты в вопросе. Какие результаты вы на самом деле видите? –
Как вы выполняете запрос Йены? Использование «FROM» может не делать то, что вы ожидаете от этого. –
Я добавил детали. – user3070752