SPARQL:未解析的前缀名称:dbpprop:author

don*_*nea 0 java sparql dbpedia

我正在运行此查询.它在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")
}
Run Code Online (Sandbox Code Playgroud)

事实上,正如查询验证器(http://www.sparql.org/query-validator.html)所述:

Line 7, column 9: Unresolved prefixed name: dbpprop:author
Run Code Online (Sandbox Code Playgroud)

为什么它在DBpedia中有效呢?DBpedia会自动添加缺少的前缀吗?我在哪里可以找到前缀使其在我的Java代码中工作?

Jör*_*ees 7

默认情况下,DBpedia端点了解最常见词汇表的许多最常见前缀.正如KBorja在上面的评论中指出的那样,可以在这里查看:http://dbpedia.org/sparql?nsdecl .所以你想把它添加到你的前缀:

PREFIX dbpprop: <http://dbpedia.org/property/>
Run Code Online (Sandbox Code Playgroud)

除此之外,还有一个非正式的"前缀注册表",如果您遇到不知道URI的前缀,可以使用它来获得一个很好的猜测:http://prefix.cchttp://前缀.立方厘米/流行/所有