Currently, when sending ASK SPARQL queries to the SPARQL endpoint, it gives the following error:
Query could not be processed by the endpoint: Only SELECT queries are supported!
ASK queries are like SELECT queries, but just return true if there is at least 1 result or false otherwise.
The LodView tool often uses such ASK queries, so it would be nice to support them.
This issue is related to issue #3.
sparql-endpoint-1 | INFO:app:Received GET request from 'requester' via route /query/!
sparql-endpoint-1 | DEBUG:app:Request method is: GET
sparql-endpoint-1 | INFO:app:SPARQL Query is: ASK {?s ?p <https://tno.nl/Neil_Armstrong>}
sparql-endpoint-1 | INFO:knowledge_network:Knowledge Base for 'requester' already created at the Knowledge Network
sparql-endpoint-1 | INFO:request_processor:Parsed query is: [[], AskQuery_{'where': GroupGraphPatternSub_{'part': [TriplesBlock_{'triples': [ParseResults([rdflib.term.Variable('s'), rdflib.term.Variable('p'), rdflib.term.URIRef('https://tno.nl/Neil_Armstrong')], {})]}]}}]
sparql-endpoint-1 | DEBUG:app:Query could not be processed by the endpoint: Only SELECT queries are supported!
sparql-endpoint-1 | INFO: 172.22.0.3:56584 - "GET /query/?query=ASK%20%7B?s%20?p%20%3Chttps://tno.nl/Neil_Armstrong%3E%7D HTTP/1.1" 400 Bad Request
lodview-1 | HttpException: 400 Bad Request
lodview-1 | at org.apache.jena.sparql.engine.http.QueryExceptionHTTP.rewrap(QueryExceptionHTTP.java:49)
lodview-1 | at org.apache.jena.sparql.exec.http.QueryExecHTTP.executeQuery(QueryExecHTTP.java:497)
lodview-1 | at org.apache.jena.sparql.exec.http.QueryExecHTTP.performQuery(QueryExecHTTP.java:467)
lodview-1 | at org.apache.jena.sparql.exec.http.QueryExecHTTP.ask(QueryExecHTTP.java:204)
lodview-1 | at org.apache.jena.sparql.exec.QueryExecutionAdapter.execAsk(QueryExecutionAdapter.java:219)
lodview-1 | at org.dvcama.lodview.endpoint.SPARQLEndPoint.doQuery(SPARQLEndPoint.java:64)
lodview-1 | at org.dvcama.lodview.endpoint.SPARQLEndPoint.doQuery(SPARQLEndPoint.java:151)
lodview-1 | at org.dvcama.lodview.builder.ResourceBuilder.buildHtmlResource(ResourceBuilder.java:64)
lodview-1 | at org.dvcama.lodview.builder.ResourceBuilder.buildHtmlResource(ResourceBuilder.java:34)
lodview-1 | at org.dvcama.lodview.controllers.ResourceController.htmlResource(ResourceController.java:251)
lodview-1 | at org.dvcama.lodview.controllers.ResourceController.resource(ResourceController.java:230)
lodview-1 | at org.dvcama.lodview.controllers.ResourceController.resourceController(ResourceController.java:87)
lodview-1 | at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
lodview-1 | at java.base/java.lang.reflect.Method.invoke(Method.java:580)
lodview-1 | at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
lodview-1 | at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
lodview-1 | at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
lodview-1 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
lodview-1 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
lodview-1 | at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
lodview-1 | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
lodview-1 | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
lodview-1 | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
lodview-1 | at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
lodview-1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:489)
lodview-1 | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
lodview-1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
lodview-1 | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
lodview-1 | at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
lodview-1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
lodview-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
lodview-1 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
lodview-1 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
lodview-1 | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
lodview-1 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
lodview-1 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
lodview-1 | at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:679)
lodview-1 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
lodview-1 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
lodview-1 | at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617)
lodview-1 | at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
lodview-1 | at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)
lodview-1 | at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1690)
lodview-1 | at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
lodview-1 | at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
lodview-1 | at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
lodview-1 | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
lodview-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
lodview-1 | ERROR ErrorController - error on Bad Request -- https://tno.nl/Neil_Armstrong -- http://sparql-endpoint:8000/query/
Currently, when sending
ASKSPARQL queries to the SPARQL endpoint, it gives the following error:ASKqueries are likeSELECTqueries, but just returntrueif there is at least1result orfalseotherwise.The LodView tool often uses such
ASKqueries, so it would be nice to support them.This issue is related to issue #3.