I tried to insert a dataset using a DataAccessor from jena withL
DatasetAccessor authAcc = DatasetAccessorFactory.createHTTP("http://192.168.56.101:8890/sparql-graph-crud-auth", auth);
authAcc.putModel("oole:g1",dataset.getDefaultModel());
But it does not seem to work, I also tried to PUT the same file using curl and I spotted a difference in the HTTP header.
From jena:
PUT /sparql-graph-crud-auth?graph=oole:g1 HTTP/1.1
While from curl doing:
curl --digest --user usr:pwd --verbose --url "http://192.168.56.101:8890/sparql-graph-crud-auth?graph-uri=oole:g1" -T file.ttl
I get:
PUT /sparql-graph-crud-auth?graph-uri=oole:g1 HTTP/1.1
The difference seems to be graph-uri as oppsed to graph. Is there any way i can still use the DataAccessor from Jena?
DatasetAccessoris the API to the SPARQL Graph Store Protocol and there it saysgraph=. This is wired intoDatasetAccessorGraphHTTP.Being open source, if you need something different you could take a copy of that one class, modify it locally (method
DatasetAccessorGraphHTTP.target) to have your own implementation.It is all built on top of some HTTP convenience code in
HttpOpwhich you could call directly but your own modifiedDatasetAccessorGraphHTTPlooks to be less work.