4

CONSTRUCTの代替SPARQL結果句SELECTです。結果値のテーブルを返す代わりにCONSTRUCT、RDFグラフを返します。たとえば、次のJavaコードでこのクエリを実行すると、が生成されますHttpException: 406 UnacceptableCONSTRUCTしかし、ブロックの代わりに、私が選択した場合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);
4

2 に答える 2

11

Jena は をサポートしてCONSTRUCTいますが、結果を取得するには別のメソッドを呼び出す必要があります。これは、execSelectとがクエリResultSet専用であるためです。SELECT代わりにこれを使用してください:

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

ModelRDF グラフにアクセスするための Jena のインターフェースです。詳細については、javadocを参照してください。

于 2010-06-04T20:14:30.187 に答える
2

ResultSetFormatter.out(System.out, results, query) cannot find symbol and identifier expected エラーがこの時点で発生します

于 2010-09-28T13:47:40.873 に答える