Я использую TopBraid как IDE и Jena в Java. Для того же запроса SPARQL и того же файла я получаю два разных набора результатов. Онтологию можно найти здесь, https://dl.dropboxusercontent.com/u/108022472/ontology.owlSame Sparql с другим результатом с использованием разных программ
The SPARQL является:
select ?individual ?type ?label where {
?individual rdf:type ?type .
?individual rdfs:label ?label
filter (?type in (wo:Kingdom))
}
Моего Java Код:
public class ExeSparql {
static String prefix = "PREFIX owl: <http://www.w3.org/2002/07/owl#> " +
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
"PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> " +
"PREFIX : <http://dbpedia.org/resource/> " +
"PREFIX dbpedia2: <http://dbpedia.org/property/> " +
"PREFIX wo:<http://purl.org/ontology/wo/>" +
"PREFIX dbpedia: <http://dbpedia.org/> ";
public static ResultSet execute(String queryString){
queryString = prefix + queryString;
Model model = null;
try {
InputStream in = new FileInputStream(new File("/home/noor/TBCMEWorkspace/recreate/index.rdf"));
// Create an empty in-memory model and populate it from the graph
model = ModelFactory.createOntologyModel();
model.read(in,null); // null base URI, since model URIs are absolute
in.close();
} catch (IOException e) {
e.printStackTrace();
}
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results, query);
//qe = QueryExecutionFactory.create(query, model);
//results = qe.execSelect();
return results;
}
}
Есть ли какие-либо проблемы с кодом Jena? Используя topbraid, результаты в порядке, в то время как с Йеной результат неправильный.
Результат должен быть:
| wo: Королевство | «Животные» | | | wo: Королевство | «Animalia»
Но Jena, его возвращающего набор результатов с неправильными типами
Что вы подразумеваете под "результатом является неправильным"? Каковы были результаты? Что вы ожидали от результатов? Каковы данные? –
Что сказал Джошуа. Без какого-либо представления о том, что вы ожидаете, нет никакого способа дать какие-либо советы. Как, например, вы знаете, что это Йена, это неправильно, а не наоборот? –
Я получаю два разных набора результатов, используя тот же SPARQL и тот же исходный файл. Я запускаю один SPARQL, используя верхнюю оплетку для тестирования, но при использовании Jena API я получаю разные результаты. – Noor