Hi,

I want both Fuseki's query and update endpoints on /sparql.

I read the answers to this question multiple times:
https://stackoverflow.com/questions/39401777/use-same-url-for-both-query-and-update

but I still don't get what the solution is?

I have pretty much the same setup as the OP:

<#serviceInMemory> a fuseki:Service;
    rdfs:label                   "In-memory, transactional dataset.";
    fuseki:name                  "ds";
    fuseki:serviceQuery          "query";
    fuseki:serviceQuery          "sparql";
    fuseki:serviceUpdate         "sparql"; # override "update"
    fuseki:serviceUpload         "upload" ;
    fuseki:serviceReadWriteGraphStore "data" ;
    fuseki:serviceReadGraphStore "get" ;
    fuseki:dataset <#dataset>
.

But when I attempt a SPARQL query, I get 405:

1 > GET 
http://fuseki:3030/ds/sparql?query=BASE%20%20%20%20%3Chttp%3A%2F%2Flocalhost%3A8080%2F%3E%0A%0ADESCRIBE%20%3C%3E%0AWHERE%0A%20%20%7B%20%3C%3E%20%20%3Fp%20%20%3Fo%20%7D%0A
1 > Accept: application/n-quads,application/rdf+thrift,text/trig
[2019-04-27 21:19:39] Fuseki     INFO  [1] GET
http://fuseki:3030/ds/sparql?query=BASE%20%20%20%20%3Chttp%3A%2F%2Flocalhost%3A8080%2F%3E%0A%0ADESCRIBE%20%3C%3E%0AWHERE%0A%20%20%7B%20%3C%3E%20%20%3Fp%20%20%3Fo%20%7D%0A
[2019-04-27 21:19:39] Fuseki     INFO  [1] 405 HTTP method not
allowed: SPARQL Update : use POST (18 ms)

Looks like having serviceQuery same as serviceUpdate doesn't work.

I'm also wondering if "setting fuseki:serviceQuery and
fuseki:serviceUpdate the same is not necessary and is discouraged"
means that in general SPARQL query and update should be on different
URLs?
Because that is not the case in most (?) triplestores, where /sparql
is often hardcoded for both.

The use case is that our software is processing sd:Service
descriptions, and they only have the sd:endpoint property, which does
not differentiate query and update endpoints:
https://www.w3.org/TR/sparql11-service-description/#sd-endpoint

Or is the idea that both query and update are separate sd:Services?
The downside would be that we would need 2 properties to specify both.

Martynas
atomgraph.com

Reply via email to