Джена Спаркл и построить - PullRequest
4 голосов
/ 04 июня 2010

CONSTRUCT - это альтернативное предложение результата SPARQL для SELECT. Вместо того, чтобы возвращать таблицу значений результатов, CONSTRUCT возвращает граф RDF. Например, выполнение этого запроса в следующем Java-коде приводит к HttpException: 406 Unacceptable. Но если вместо блока CONSTRUCT я выберу SELECT ?x, это нормально. Джена поддерживает CONSTRUCT, и если да, то как? Оба запроса приемлемы для конечной точки DBpedia .

PREFIX : <http://dbpedia.org/resource/>
PREFIX onto: <http://dbpedia.org/ontology/>

CONSTRUCT { 
    :France onto:anthem ?x
}

WHERE
{
  :France onto:anthem ?x .
}
Query query = QueryFactory.create("the query goes here");
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",     query);
ResultSet results = qexec.execSelect();  
ResultSetFormatter.out(System.out, results, query);

Ответы [ 2 ]

11 голосов
/ 05 июня 2010

Jena поддерживает CONSTRUCT, но для получения результата вам нужно вызвать другой метод, потому что execSelect и ResultSet предназначены только для SELECT запросов. Используйте это вместо:

Model results = qexec.execConstruct();
results.write(System.out, "TURTLE");

Model - интерфейс Jena для доступа к графикам RDF, подробности см. В javadocs .

2 голосов
/ 28 сентября 2010

ResultSetFormatter.out (System.out, results, query) не может найти символ и идентификатор ожидаемой ошибки в этой точке

...