我正在使用Java编写SPARQL查询,以选择所有特定标题的记录。我正在尝试使用以下查询:
SELECT * WHERE { ?title rdf:type ?specific_title .}
但是它不能工作。有人知道我的错误在哪里吗? 谢谢。
我正在使用Java编写SPARQL查询,以选择所有特定标题的记录。我正在尝试使用以下查询:
SELECT * WHERE { ?title rdf:type ?specific_title .}
java.lang.IndexOutOfBoundsException: 索引:3,大小:3。
听起来像是您正在尝试迭代结果集,并请求不存在的行。您是否在使用Jena?如果是,则应该简单地采取以下方式:
if (ResultSet.hasNext()) {
ResultSet.next();
QuerySolution nextResult = ResultSet.nextSolution();
}
rdf
前缀(命名空间)。rdf:type
属性的值应该是一个由其URI表示的rdfs:Class
,例如。PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
PREFIX ex: http://www.example.com#
SELECT ?x WHERE { ?x rdf:type ex:ExampleClass }
?specific_title
不必绑定。假设 OP 的查询(假设正确的命名空间声明)在语法上是正确的。 - soulcheck