private String resolveIRI(String iriStr, int line, int column) { if ( prologue.getResolver() != null ) return prologue.getResolver().resolveToStringSilent(iriStr) ; return iriStr ; }
public SparqlParserConfig applyDefaults() { if(syntax == null) { syntax = Syntax.syntaxARQ; } if(prologue == null) { prologue = new Prologue(PrefixMapping.Extended); } if(prologue.getResolver() == null) { prologue.setResolver(IRIResolver.createNoResolve()); } return this; }
@Override protected String resolveQuotedIRI(String iriStr, int line, int column) { iriStr = stripQuotes(iriStr); iriStr = unescapeIRI(iriStr); try { // Used to be errors (pre Jena 2.12.0) // .resolve(iriStr) IRIResolver resolver = getPrologue().getResolver(); IRI iri = resolver.resolve(iriStr) ; // IRI iri = resolver.resolveSilent(iriStr) ; // if ( true ) // CheckerIRI.iriViolations(iri, profile.getErrorHandler(), line, column) ; // iriStr = iri.toString() ; } catch (JenaURIException ex) { throw new RiotParseException(ex.getMessage(), line, column) ; } // IRI unwise characters are allowed sometimes but these are really, really // unwise (inserted by \ u escaping to by pass syntax). if ( iriStr.contains("<") || iriStr.contains(">") ) throw new RiotParseException("Illegal character '<' or '>' in IRI: '"+iriStr+"'", line, column); return getPrologue().getResolver().resolveToString(iriStr); } //
/** Append update operations to a request */ protected static UpdateParser setupParser(Prologue prologue, String baseURI, Syntax syntax) { UpdateParser parser = UpdateParser.createParser(syntax) ; if ( parser == null ) throw new UnsupportedOperationException("Unrecognized syntax for parsing update: "+syntax) ; if ( prologue.getResolver() == null ) { IRIResolver resolver = null ; try { if ( baseURI != null ) // Sort out the baseURI - if that fails, dump in a dummy one and continue. resolver = IRIResolver.create(baseURI) ; else resolver = IRIResolver.create() ; } catch (Exception ex) {} if ( resolver == null ) resolver = IRIResolver.create("http://localhost/update/defaultBase#") ; prologue.setResolver(resolver) ; } return parser ; }
protected String resolveIRI(String iriStr, int line, int column) { if ( isBNodeIRI(iriStr) ) return iriStr ; if ( getPrologue() != null ) { if ( getPrologue().getResolver() != null ) try { // Used to be errors (pre Jena 2.12.0) // .resolve(iriStr) IRI iri = getPrologue().getResolver().resolveSilent(iriStr) ; if ( true ) CheckerIRI.iriViolations(iri, errorHandler, line, column) ; iriStr = iri.toString() ; } catch (JenaURIException ex) { throwParseException(ex.getMessage(), line, column) ; } } return iriStr ; }
@Override public UpdateRequest get() { UpdateRequest result = new UpdateRequest(); if(prologue != null) { result.setBaseURI(prologue.getResolver()); PrefixMapping copy = new PrefixMappingImpl(); copy.setNsPrefixes(prologue.getPrefixMapping()); result.setPrefixMapping(copy); //prologue.getPrefixMapping()); } return result; }
@Override public void startVisit(Query query) { newQuery.setSyntax(query.getSyntax()); if (query.explicitlySetBaseURI()) newQuery.setBaseURI(query.getPrologue().getResolver()); newQuery.setQueryResultStar(query.isQueryResultStar()); if (query.hasDatasetDescription()) { DatasetDescription desc = query.getDatasetDescription(); for (String x : desc.getDefaultGraphURIs()) newQuery.addGraphURI(x); for (String x : desc.getDefaultGraphURIs()) newQuery.addNamedGraphURI(x); } // Aggregators. newQuery.getAggregators().addAll(query.getAggregators()); }
@Override public void startVisit(Query query) { newQuery.setSyntax(query.getSyntax()) ; if ( query.explicitlySetBaseURI() ) newQuery.setBaseURI(query.getPrologue().getResolver()) ; newQuery.setQueryResultStar(query.isQueryResultStar()) ; if ( query.hasDatasetDescription() ) { DatasetDescription desc = query.getDatasetDescription() ; for (String x : desc.getDefaultGraphURIs()) newQuery.addGraphURI(x) ; for (String x : desc.getDefaultGraphURIs()) newQuery.addNamedGraphURI(x) ; } // Aggregators. newQuery.getAggregators().addAll(query.getAggregators()) ; }
query.getPrologue().setResolver(result.getPrologue().getResolver());