HttpException error when I call SPARQL query (on DBPedia) in Java Code

安稳与你 提交于 2019-12-02 13:21:38

You've got two queries here. At the end of your question, you use a query that has no filter, but that's different from the query that's embedded in your code. If you use the query embedded in your code on DBpedia's endpoint, you get a very clear error message:

Virtuoso 22023 Error SL001: The SPARQL 1.1 function STRSTARTS() needs a string value as 2d argument

SPARQL query:
define sql:big-data-const 0 
#output-format:text/html
define sql:signal-void-variables 1 define input:default-graph-uri <http://dbpedia.org> prefix dbpediaont: <http://dbpedia.org/ontology/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

select ?resource where {
?mat rdf:type ?resource
filter strstarts(str(?resource), dbpediaont:)
}

The key is

The SPARQL 1.1 function STRSTARTS() needs a string value as 2d argument

You need to write dbpediaont: with str() since it's an IRI, not a string:

filter strstarts(str(?resource), str(dbpediaont:))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!