Add a read-only SPARQL query endpoint for authorized users#853
Add a read-only SPARQL query endpoint for authorized users#853dennisvang wants to merge 23 commits intosupport/1.19.xfrom
Conversation
do this first so we won't forget
from org.eclipse.rdf4j
to disambiguate from the profileController defined in org/springframework/data/rest/webmvc/RestControllerConfiguration.class, which is used by the rdf4j sparql endpoint package
|
Apparently, the package rdf4j-spring-boot-sparql-web does not play nice with the FDP configuration. To make it work at all, we need to exclude the Even then, including the package breaks the api documentation (/v3/api-docs): |
This prevents autowiring of the QueryResponder controller class.
|
For some reason, simply adding the rdf4j-spring-boot-sparql-web dependency, even without creating a sparql endpoint, causes springdoc-openapi to start generating documentation for all the JPA repository methods and spring mvc controller endpoints, in addition to the grouped endpoints that were there originally. Because springdoc-openapi now tries to generate docs for JPA repository methods, it breaks down, as it considers the overloaded UPDATE: This is probably caused by the transitive dependency on spring data rest:
To prevent any more of these unwelcome surprises we should probably exclude all transitive dependencies from |
because we don't need them, and dependencies like spring-data-rest cause unwanted side-effects, such as exposing all repository methods as rest endpoints
|
Now the api docs are generated normally, but the swagger-ui endpoint for This probably has to do with the following OpenAPI 3 restrictions:
|
because this is no longer necessary now that we've excluded all transitive dependencies from rdf4j-spring-boot-sparql-web This reverts commit 3d531e0.
this is consistent with the other api endpoints
19ba658 to
f0e3c6a
Compare
f0e3c6a to
04cb238
Compare
…ethods for clarity for clarity, we're not following the project test naming convention
2a55756 to
0b8a4e2
Compare
Added a
/search/sparqlAPI endpoint that is only accessible for authenticated users.The implementation uses
org.eclipse.rdf4j.http.server.readonly.sparql.SparqlQueryEvaluatorand is based on the QueryResponder example.TODO:
application/x-www-form-urlencodedtoapplication/json, for consistence with the other api endpointsASK,CONSTRUCT,DESCRIBE,SELECT)INSERT,DELETE,LOAD,CLEAR,CREATE,DROP,COPY,MOVE,ADD)fixes #852