@Override public void visit(ElementOptional el) { throw new QueryParseException("optional not permitted in data quad", -1, -1) ; }
@Override public Response toResponse(final QueryParseException e) { LOGGER.error("Captured a query parse exception {}", e.getMessage()); debugException(this, e, LOGGER); if (e.getMessage().matches(".* Unresolved prefixed name: .*")) { final Pattern namespacePattern = Pattern.compile("Unresolved prefixed name: (\\w+:\\w+)"); final Matcher namespaceMatch = namespacePattern.matcher(e.getMessage()); if (namespaceMatch.find()) { final String msg = String.format( "There are one or more undefined namespace(s) in your request [ %s ], " + "please define them before retrying", namespaceMatch.group(1)); return status(BAD_REQUEST).entity(msg).type(TEXT_PLAIN_WITH_CHARSET).build(); } } return status(BAD_REQUEST).entity(e.getMessage()).type(TEXT_PLAIN_WITH_CHARSET).build(); }
protected void finishDataBlockValueRow(int line, int col) { //if ( variables.size() != currentValueRow().size() ) if ( currentColumn+1 != variables.size() ) { String msg = String.format("Mismatch: %d variables but %d values",variables.size(), currentColumn+1) ; msg = QueryParseException.formatMessage(msg, line, col) ; throw new QueryParseException(msg, line , col) ; } }
@Override public void read(Reader reader, String baseURI, ContentType ct, StreamRDF output, Context context) { TurtleJavacc parser = new TurtleJavacc(reader); parser.setDest(output); parser.setProfile(profile); try { output.start(); parser.parse(); output.finish(); } catch (QueryParseException ex) { throw new RiotParseException(ex.getMessage(), ex.getLine(), ex.getColumn()); } catch (ParseException ex) { throw new RiotParseException(ex.getMessage(), ex.currentToken.beginLine, ex.currentToken.beginColumn); } catch (TokenMgrError ex) { throw new RiotParseException(ex.getMessage(), -1 , -1); } }
throw new SHACLException("Invalid SPARQL target (" + ex.getLocalizedMessage() + "):\n" + queryString);
@Override public void read(InputStream in, String baseURI, ContentType ct, StreamRDF output, Context context) { TurtleJavacc parser = new TurtleJavacc(in); parser.setDest(output); parser.setProfile(profile); try { output.start(); parser.parse(); output.finish(); } catch (QueryParseException ex) { // We reused some SPARQL machinery throw new RiotParseException(ex.getMessage(), ex.getLine(), ex.getColumn()); } catch (ParseException ex) { // Logger log = LoggerFactory.getLogger("TurtleJavaCC"); // ErrorHandler errorHandler = ErrorHandlerFactory.errorHandlerStd(log); // errorHandler.error(ex.getMessage(), ex.currentToken.beginLine, ex.currentToken.beginColumn); throw new RiotParseException(ex.getMessage(), ex.currentToken.beginLine, ex.currentToken.beginColumn); } catch (TokenMgrError ex) { throw new RiotParseException(ex.getMessage(), -1 , -1); } }
throw new SHACLException("Invalid SPARQL target (" + ex.getLocalizedMessage() + "):\n" + queryString);
@Override public void visit(ElementNotExists el) { throw new QueryParseException("not exists not permitted in data quad", -1, -1) ; }
obj.key(jParseError).value(ex.getMessage()) ; obj.key(jParseErrorLine).value(ex.getLine()) ; obj.key(jParseErrorCol).value(ex.getColumn()) ; obj.finishObject() ; obj.finishArray() ;
/** * Execute a SPARQL SELECT query on a dataset and return a result set. * * @param dataset the Dataset to query over * @param query the SPARQL query string * @return the result set * @throws IOException on query parse error */ public static ResultSet execQuery(Dataset dataset, String query) throws IOException { QueryExecution qExec; try { qExec = QueryExecutionFactory.create(query, dataset); } catch (QueryParseException e) { throw new IOException(String.format(queryParseError, e.getMessage())); } return qExec.execSelect(); }
private void validateSPARQL(String sparql, String type) { try { QueryFactory.create(sparql); } catch (QueryParseException e) { String message = "QueryParseException in " + type + " query (line " + e.getLine() + ", column " + e.getColumn() + " for Test: " + testCase.getTestURI() + "\n" + PrefixNSService.getSparqlPrefixDecl() + sparql; //throw new TestCaseInstantiationException(message, e); log.warn(message,e); } } }
protected AbstractSPARQLExecutor(Constraint constraint) { this.queryString = getSPARQL(constraint); try { this.query = ARQFactory.get().createQuery(queryString); Resource path = constraint.getShapeResource().getPath(); if(path != null && path.isAnon()) { String pathString = SHACLPaths.getPathString(JenaUtil.getResourceProperty(constraint.getShapeResource(), SH.path)); query = SPARQLSubstitutions.substitutePaths(query, pathString, constraint.getShapeResource().getModel()); } } catch(QueryParseException ex) { throw new SHACLException("Invalid SPARQL constraint (" + ex.getLocalizedMessage() + "):\n" + queryString); } if(!query.isSelectType()) { throw new IllegalArgumentException("SHACL constraints must be SELECT queries"); } }
@Override public void visit(ElementService el) { throw new QueryParseException("service not permitted in data quad", -1, -1) ; }
obj.key(jParseError).value(ex.getMessage()) ; obj.key(jParseErrorLine).value(ex.getLine()) ; obj.key(jParseErrorCol).value(ex.getColumn()) ; obj.finishObject() ; obj.finishArray() ;
public static void expr(String exprStr, Binding binding) { try { Expr expr = ExprUtils.parse(exprStr, ARQConstants.getGlobalPrefixMap()) ; evalPrint(expr, binding) ; } catch (QueryParseException ex) { System.err.println("Parse error: "+ex.getMessage()) ; return ; } }
private void validateSPARQL(String sparql, String type) { try { QueryFactory.create(sparql); } catch (QueryParseException e) { String message = "QueryParseException in " + type + " query (line " + e.getLine() + ", column " + e.getColumn() + " for Test: " + testCase.getTestURI() + "\n" + PrefixNSService.getSparqlPrefixDecl() + sparql; //throw new TestCaseInstantiationException(message, e); log.warn(message,e); } } }
protected AbstractSPARQLExecutor(Constraint constraint) { this.queryString = getSPARQL(constraint); try { this.query = ARQFactory.get().createQuery(queryString); Resource path = constraint.getShapeResource().getPath(); if(path != null && path.isAnon()) { String pathString = SHACLPaths.getPathString(JenaUtil.getResourceProperty(constraint.getShapeResource(), SH.path)); query = SPARQLSubstitutions.substitutePaths(query, pathString, constraint.getShapeResource().getModel()); } } catch(QueryParseException ex) { throw new SHACLException("Invalid SPARQL constraint (" + ex.getLocalizedMessage() + "):\n" + queryString); } if(!query.isSelectType()) { throw new IllegalArgumentException("SHACL constraints must be SELECT queries"); } }
public static void throwParseException(String msg) { throw new QueryParseException(msg, -1, -1) ; } }
obj.key(jParseError).value(ex.getMessage()) ; obj.key(jParseErrorLine).value(ex.getLine()) ; obj.key(jParseErrorCol).value(ex.getColumn()) ; obj.finishObject() ; obj.finishArray() ;