sparql - Jena 中的 SPARQL 端点异常:端点返回 Content-Type: text/html SELECT 查询无法识别
问题描述
dbpedia.org/sparql上似乎有查询长度或复杂性限制。此代码失败:
String part = "{<http://dbpedia.org/resource/Marcus_Garvey__Sound__1>?a?v}";
String query = "SELECT DISTINCT ?a?v WHERE {" + part;
for (int i = 1; i <= 14; i++) {
query += "UNION " + part;
}
query += "}";
ResultSet resultSet =
QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query).execSelect();
while (resultSet.hasNext()) {
QuerySolution qs = resultSet.next();
qs.varNames().forEachRemaining(name -> System.out.println(name + "\t" + qs.get(name)));
}
有这个特例:
Exception in thread "main" org.apache.jena.query.QueryException: Endpoint returned Content-Type: text/html which is not recognized for SELECT queries
at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execResultSetInner(QueryEngineHTTP.java:378)
at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:346)
如果我将最大值i
从更改14
为13
,它工作正常。如果我使用浏览器 UI 运行相同的查询,它也可以正常工作。有任何想法吗?!
解决方案
推荐阅读
- python-3.x - 如何修补数组中的特定子文档
- java - 在两个会话中在主从 ADF 中详细添加记录
- android - 无法真正通过命令行成功安装 apk
- react-native - BottomTabNavigation:元素类型无效:应为字符串或类/函数,但得到:对象
- vue.js - 如何创建具有悬停效果的可点击 q-card?
- php - Laravel 编辑函数重定向
- python - 想要创建一个用户输入,一旦选择就会启动一个预定义的列表
- rabbitmq - 如何在应用程序启动时创建队列和交换?
- arrays - 按照教程 hacking 快速,编码完全相同的东西,但在输出控制台中,我的输出是这个“[]”
- emacs - emacs 中 dired-do-redisplay 的工作流/用例?