我正在运行此查询。它在DBpedia(http://dbpedia.org/sparql)上运行正常,但它在我的Java代码中不起作用:
PREFIX res: <http://dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?book
WHERE {
?book a dbpedia-owl:Book .
?book dbpprop:author ?author .
?author dbpprop:name ?name
FILTER regex(?name, "Agatha Christie", "i")
}
事实上,正如查询验证器(http://www.sparql.org/query-validator.html)所述:
Line 7, column 9: Unresolved prefixed name: dbpprop:author
为什么它在DBpedia中有效? DBpedia会自动添加缺少的前缀吗?我在哪里可以找到前缀使其在我的Java代码中工作?
答案 0 :(得分:7)
默认情况下,DBpedia端点了解最常见词汇表的许多最常见前缀。正如KBorja在上面的评论中指出的那样,可以在这里查看:http://dbpedia.org/sparql?nsdecl。所以你想把它添加到你的前缀:
PREFIX dbpprop: <http://dbpedia.org/property/>
除此之外,还有一个非正式的#34;前缀注册表&#34;如果您遇到不知道以下URI的前缀,可以用来猜测:http://prefix.cc或http://prefix.cc/popular/all