我对Federated Query有个问题。它仅用作我的项目的示例。
我通过维基数据中的DBpedia SPARQL端点检索所有的维基媒体类别,但这是而不是问题,因为下面的查询在维基数据中有效。
但是,当我想在Apache查询上运行它时,它会抛出一个HttpException 404。为什么?
查询:
prefix bd: <http://www.bigdata.com/rdf#>
prefix dbc: <http://dbpedia.org/resource/Category:>
prefix dct: <http://purl.org/dc/terms/>
prefix wikibase: <http://wikiba.se/ontology#>
SELECT ?objectLabel WHERE {
SERVICE <http://dbpedia.org/sparql> {
?subject dct:subject dbc:Countries_in_Asia ; owl:sameAs ?object
FILTER (STRSTARTS(STR(?object), "http://www.wikidata.org"))
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}Java代码:
public static ResultSet executeQuery(String queryString, String service) {
Query query = QueryFactory.create(queryString);
QueryEngineHTTP queryEngine = QueryExecutionFactory.createServiceRequest(service, query);
ResultSet resultSet = queryEngine.execSelect();
return resultSet;
}Service = SPARQL端点服务,我使用了https://query.wikidata.org/sparql
Apache Jena中的异常跟踪:
HttpException: 404
at org.apache.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:325)
at org.apache.jena.sparql.engine.http.HttpQuery.exec(HttpQuery.java:282)
at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execResultSetInner(QueryEngineHTTP.java:342)
at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:334)发布于 2017-08-03 20:43:57
404由远程服务器返回。wikibase:label不是一个真正的SPARQL端点。如果通过服务在本地执行远程调用,则不能在服务子句中使用它。
https://stackoverflow.com/questions/45484668
复制相似问题