繁体   English   中英

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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM