我尝试使用jena withL
中的DataAccessor插入数据集DatasetAccessor authAcc = DatasetAccessorFactory.createHTTP("http://192.168.56.101:8890/sparql-graph-crud-auth", auth);
authAcc.putModel("oole:g1",dataset.getDefaultModel());
但它似乎不起作用,我也试图使用curl PUT相同的文件,我发现了HTTP标题的差异。
来自jena:
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吗?
答案 0 :(得分:0)
DatasetAccessor
是SPARQL图形存储协议的API,并在其中显示graph=
。这已连接到DatasetAccessorGraphHTTP
。
作为开源,如果你需要不同的东西,你可以复制一个类,在本地修改它(方法DatasetAccessorGraphHTTP.target
)以拥有自己的实现。
这些都是基于HttpOp
中的一些HTTP便利代码构建的,您可以直接调用它们,但您自己修改的DatasetAccessorGraphHTTP
看起来工作量较少。