JENA:端点返回Content-Type:text / html

时间:2017-01-29 22:11:53

标签: java sparql jena

当我尝试将sparql查询发送到某个端点时,例如:

QueryExecution qe = QueryExecutionFactory.sparqlService("http://data.open.ac.uk/sparql",
                getStringForQuery());
        ResultSet results = qe.execSelect();

我得到了

Exception in thread "main" org.apache.jena.query.QueryException: Endpoint returned Content-Type: text/html which is not currently supported for SELECT queries
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execResultSetInner(QueryEngineHTTP.java:372)
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:334)

这不是唯一一个我无法发送查询的端点,

如何在其他内容类型中获得结果?我尝试谷歌它,但我发现如果我发送查询到坏的html(不是sparql端点),但http://data.open.ac.uk/sparql是好的端点,我通过python发送sparql查询,一切都很好。 / p>

1 个答案:

答案 0 :(得分:2)

我不知道他们使用什么类型的后端,但无论出于何种原因,当从外部服务使用SPARQL端点时,您必须使用额外的HTTP参数force=true

http://data.open.ac.uk/sparql?force=true

更新

根据Apache Jena开发团队的Andy Seaborne的说法,这应该是Jena 3.1.1中重定向的错误。在3.1.0版中,重定向到?force=true按预期工作。此外,后端是Fuseki 2.3.1。