Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Jena 3.12.0
-
None
Description
Dispatching HTTP requests in Fuseki can be cleaned up. Some cases are inelegant
bolt-ons (such as operations directly on the dataset). This breaks down when
we try to have detailed configuration of service/endpoint, especially for
access control.
With this JIRA:
- There is one dispatch mechanism applied in all case (before, there were hard-coded variations).
- Multiple endpoints can be attached to the same service point (a name) whether on the datasets ("/dataset") or services (e.g. "/dataset/sparql") giving the user freedom of design for naming and access control.
- Operations on "/dataset" and operations on services can dispatch by request type (query, update, GSP). This makes "/dataset/sparql" work for all SPARQL operations. Currently, that only works on "/dataset".
- Quads and GSP (Graph Store Protocol) operations are combined into "Extended GSP" operations, not a hardcoded dispatch special case.
"Quads" operations are the usual HTTP GET/POST/PUT/PATCH on the dataset itselt, (not DELETE, mainly to avoid accidents.
There would be no changes to applications using Fuseki configuration files. The
existing vocabulary is used to create new style backwards compatible configurations.
Direct use in Fuseki main java builder, will show differences in cases that were
not supposed to work in the first place (accidental features discovered during preliminary work for this issue).
Normal usage should be the same.
It will now be possible, eventually, to have a new, more powerful configuration:
Sketch, not fro this issue, of a query operation on the dataset (there is no "name" given),
with access control, timeout, union setting and query result limit, and query and update services on "sparql".
<#service> rdf:type fuseki:Service ; fuseki:name "/ds" ; fuseki:endpoint [ fuseki:operation fuseki:Query ; fuseki:allowedUsers (....) ; fuseki:timeout "1000,10000" ; fuseki:queryLimit 1000; arq:unionGraph true; ] ; fuseki:endpoint [ fuseki:name "sparql" ; ## becomes "/ds/sparql" fuseki:operation fuseki:Query ; ... ] ; fuseki:endpoint [ fuseki:name "sparql" ; fuseki:operation fuseki:Update ; ... ] ; .
Attachments
Issue Links
- is related to
-
JENA-1731 Improve Fuseki service endpoint configuration
- Closed
- links to