Jena 语法中的 SPARQL 查询
SPARQL query in Jena Syntax
我有这个 SPARQL 查询,它在 Protege SPARQL 选项卡中运行良好,但在 Jena 代码中不起作用。
如果有人以正确的 Jena 语法提供它,请提供它,因为我从未在 Jena 代码中使用过嵌套的 SELECT 子句。
SELECT ?student ?topScore WHERE {
{
SELECT (MAX(?score) AS ?topScore) WHERE {
?student dd:EnglishPercentage ?score .
}
}
?student dd:EnglishPercentage ?topScore .
}
这是整个查询。我正在使用 3.x 版本的 Jena
String queryString2 =
"prefix dd:<http://www.semanticweb.org/t/ontologies/2016/7/myOWL#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
"SELECT ?student ?highScore " +
" WHERE {" + " {"+ "select (max(?score) as ?highScore)" + " { ?student dd:Englishscore ?score" +
" }" +
" } " +Englishscore ?highScore" +
"}";
Query query2 = QueryFactory.create(queryString2);
QueryExecution qexec = QueryExecutionFactory.create(query2, model) ;
ResultSet results2 = qexec.execSelect() ;
Literal r= results2.next().get("highScore").asLiteral();
JOptionPane.showMessageDialog(null,r.toString());
我有这个 SPARQL 查询,它在 Protege SPARQL 选项卡中运行良好,但在 Jena 代码中不起作用。 如果有人以正确的 Jena 语法提供它,请提供它,因为我从未在 Jena 代码中使用过嵌套的 SELECT 子句。
SELECT ?student ?topScore WHERE {
{
SELECT (MAX(?score) AS ?topScore) WHERE {
?student dd:EnglishPercentage ?score .
}
}
?student dd:EnglishPercentage ?topScore .
}
这是整个查询。我正在使用 3.x 版本的 Jena
String queryString2 =
"prefix dd:<http://www.semanticweb.org/t/ontologies/2016/7/myOWL#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
"SELECT ?student ?highScore " +
" WHERE {" + " {"+ "select (max(?score) as ?highScore)" + " { ?student dd:Englishscore ?score" +
" }" +
" } " +Englishscore ?highScore" +
"}";
Query query2 = QueryFactory.create(queryString2);
QueryExecution qexec = QueryExecutionFactory.create(query2, model) ;
ResultSet results2 = qexec.execSelect() ;
Literal r= results2.next().get("highScore").asLiteral();
JOptionPane.showMessageDialog(null,r.toString());