【发布时间】:2017-01-26 02:32:52
【问题描述】:
我有这个 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 .
}
【问题讨论】:
-
“不起作用”是什么意思?例外?如果是,则显示整个错误堆栈跟踪。空结果?如果是,这不是一个最小的例子。显示数据+代码。查询中缺少前缀声明,这可能导致解析异常。
-
顺便问一下,你用的是哪个耶拿版本?此查询需要 SPARQL 1.1,因此建议使用 Jena 2.10 甚至更好的 3.x。
-
查询完全没问题 SPARQL 1.1 if 添加了前缀(按照标准的要求)。
-
String queryString2="prefix dd:semanticweb.org/t/ontologies/2016/7/myOWL#>"+ "PREFIX rdfs:w3.org/2000/01/rdf-schema#> " + "PREFIX rdf:w3.org/1999/02/22-rdf-syntax-ns#> "+ "SELECT ?student ?highScore " + " WHERE {" + " {"+ "select (max(?score) as ?highScore)" + " { ?student dd:Englishscore ?score" + " }" + " } " +Englishscore ?highScore" + "}";
-
不不不,请编辑您的问题。并且不要发布 Java 字符串连接代码。读起来更奇怪。
标签: sparql jena semantic-web