正在设置Jena RDFConnection Header中的内容类型



我需要修改Jena事务中RDFConnection对象的请求(例如:update(的标头(特别是Content-Type(。更确切地说,我需要添加以下Header Content_TypeContent-Type = [application/sparql-query; charset=UTF-8]

在以下代码中

try (RDFConnection conn = connectionFactory.create()) {
Txn.executeWrite(conn, () -> {
conn.update(updateRequest);// HERE we want to setup the Content-Type in the header
});
}catch (Exception e) {... }

我已经按照设置了连接工厂

public RDFConnection create() {
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
HttpClient httpClient = httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider)
.build();
return
RDFConnectionRemote.create()
.destination(endpointURL)
.queryEndpoint("query")
.updateEndpoint("update")
.httpClient(httpClient)
.parseCheckSPARQL(true)
.build();
}

因此,我仍然需要在请求头内容Type中指定请求主体的字符集。我怎么能和JENA一起做到这一点?

注意:默认的JENARDFConnection设置是不够的,因为远程端点仍然需要显式的字符集规范来解析URI中包含法语重音的SPARQL请求。

提前感谢

Apache Jena 4.3.2有一个统一的接口,可以详细控制HTTP请求。

http://jena.apache.org/documentation/sparql-apis/#changes

对于SPARQL更新UpdateExecutionHTTP.newBuilder()和SPARQL查询QueryExecutionHTTP.newBuilder(),有一个用于设置任何HTTP头的构建器操作。

相关内容

最新更新