1

我尝试使用来自耶拿 withL 的 DataAccessor 插入数据集

DatasetAccessor authAcc = DatasetAccessorFactory.createHTTP("http://192.168.56.101:8890/sparql-graph-crud-auth", auth);
authAcc.putModel("oole:g1",dataset.getDefaultModel());

但它似乎不起作用,我也尝试使用 curl 放置同一个文件,我发现 HTTP 标头有所不同。

来自耶拿:

PUT /sparql-graph-crud-auth?graph=oole:g1 HTTP/1.1

而从 curl 做:

curl --digest --user usr:pwd --verbose --url "http://192.168.56.101:8890/sparql-graph-crud-auth?graph-uri=oole:g1" -T file.ttl 

我得到:

PUT /sparql-graph-crud-auth?graph-uri=oole:g1 HTTP/1.1

差异似乎是与图形相反的图形 uri。有什么办法我仍然可以使用 Jena 的 DataAccessor 吗?

4

1 回答 1

0

DatasetAccessor是 SPARQL 图形存储协议的 API,上面写着graph=。这是连接到DatasetAccessorGraphHTTP.

作为开源,如果您需要不同的东西,您可以复制该类,在本地修改它(方法DatasetAccessorGraphHTTP.target)以拥有自己的实现。

它都建立在一些 HTTP 便利代码之上HttpOp,您可以在其中直接调用,但您自己修改DatasetAccessorGraphHTTP的工作看起来更少。

于 2016-04-27T14:48:11.787 回答