/** * Resolves the given IRI against this ParsedIRI. * * @see #resolve(ParsedIRI) * @param iri * The IRI to be resolved against this ParsedIRI * @return The resulting IRI * @throws NullPointerException * If {@code relative} is {@code null} */ public String resolve(String iri) { return resolve(ParsedIRI.create(iri)).toString(); }
/** * Returns a new instance of {@link RDFXMLPrettyWriter}. * * @throws URISyntaxException */ public RDFWriter getWriter(Writer writer, String baseURI) throws URISyntaxException { return new RDFXMLPrettyWriter(writer, new ParsedIRI(baseURI)); } }
@Override public IRI createIRI(String iri) { try { if (!new ParsedIRI(iri).isAbsolute()) { throw new IllegalArgumentException("IRI must be absolute"); } return delegate.createIRI(iri); } catch (URISyntaxException e) { throw new IllegalArgumentException(e); } }
/** * Relativizes the given IRI against this ParsedIRI. * * @see #relativize(ParsedIRI) * @param iri * The IRI to be relativized against this ParsedIRI * @return The resulting IRI * @throws NullPointerException * If {@code absolute} is {@code null} */ public String relativize(String iri) { return relativize(ParsedIRI.create(iri)).toString(); }
uri = new ParsedIRI(uriSpec); } catch (URISyntaxException e) { reportError("Invalid IRI '" + uriSpec, BasicParserSettings.VERIFY_URI_SYNTAX); try { uri = ParsedIRI.create(uriSpec); } catch (IllegalArgumentException ex) { if (getParserConfig().isNonFatalError(BasicParserSettings.VERIFY_URI_SYNTAX)) { if (!uri.isAbsolute()) { if (baseURI == null) { reportFatalError("Unable to resolve URIs, no base URI has been set"); if (!uri.isAbsolute() && uriSpec.length() > 0 && !uriSpec.startsWith("#") && baseURI.isOpaque()) { reportError("Relative URI '" + uriSpec + "' cannot be resolved using the opaque base URI '" + baseURI + "'", BasicParserSettings.VERIFY_RELATIVE_URIS); uri = baseURI.resolve(uri); return createURI(uri.toString());
final String baseURI = node.getBaseURI(); try { ParsedIRI iri = ParsedIRI.create(uriString); if (!iri.isAbsolute() && baseURI != null) { uriString = ParsedIRI.create(baseURI).resolve(iri).toString(); else if (!iri.isAbsolute()) { throw new ValueExprEvaluationException("not an absolute IRI reference: " + uriString);
if (relative.isAbsolute()) { return relative; if (relative.getHost() == null && relative.getQuery() == null && relative.getPath().length() == 0) { String fragment = relative.getFragment(); return new ParsedIRI(this.getScheme(), this.getUserInfo(), this.getHost(), this.getPort(), this.getPath(), this.getQuery(), fragment); else if (relative.getHost() == null && relative.getPath().length() == 0) { String query = relative.getQuery(); String fragment = relative.getFragment(); return new ParsedIRI(this.getScheme(), this.getUserInfo(), this.getHost(), this.getPort(), this.getPath(), query, fragment); scheme = this.getScheme(); query = relative.getQuery(); fragment = relative.getFragment(); if (relative.getHost() != null) { userInfo = relative.getUserInfo(); host = relative.getHost(); port = relative.getPort(); path = relative.getPath(); userInfo = this.getUserInfo();
String _frag = absolute.getFragment(); if (iri.equals(absolute.iri) && _frag == null) return new ParsedIRI(null, null, null, -1, "", null, null); if (absolute.getScheme() != null && !absolute.getScheme().equalsIgnoreCase(this.getScheme())) { return absolute; if (absolute.getUserInfo() != null && !absolute.getUserInfo().equals(this.getUserInfo())) { return absolute; if (absolute.getHost() != null && !absolute.getHost().equalsIgnoreCase(this.getHost())) { return absolute; if (absolute.getPort() != this.getPort()) { return absolute; if (this.getFragment() == null) { if (absolute.iri.startsWith(this.iri) && absolute.iri.charAt(iri.length()) == '#') { return new ParsedIRI(null, null, null, -1, "", null, _frag); int this_idx = iri.length() - this.getFragment().length(); int abs_idx = absolute.iri.length() - _frag.length(); if (iri.substring(0, this_idx).equals(absolute.iri.substring(0, abs_idx))) { return new ParsedIRI(null, null, null, -1, "", null, _frag); if (this.isOpaque() || absolute.isOpaque()) return absolute; String _query = absolute.getQuery();
@Override public Object visit(ASTIRIFunc node, Object data) throws VisitorException { node.setBaseURI(parsedBaseURI.toString()); return super.visit(node, data); }
public SPARQLOperation(HttpClient client, String url, String base, String operation) { this.url = url; this.operation = operation; this.client = client; boolean abs = base != null && base.length() > 0 && ParsedIRI.create(base).isAbsolute(); if (abs && !operation.toUpperCase().contains("BASE")) { this.operation = "BASE <" + base + "> " + operation; } }
public void setBaseURI(String uriString) { // Resolve the specified base URI against the inherited base URI baseURI = baseURI.resolve(createBaseURI(uriString)); }
public RelativeIRIResolver(ParsedURI parsedBaseURI) { this(ParsedIRI.create(parsedBaseURI.toString())); }
protected void writeURI(IRI uri) throws IOException { String uriString = uri.toString(); // Try to find a prefix for the URI's namespace String prefix = null; int splitIdx = TurtleUtil.findURISplitIndex(uriString); if (splitIdx > 0) { String namespace = uriString.substring(0, splitIdx); prefix = namespaceTable.get(namespace); } if (prefix != null) { // Namespace is mapped to a prefix; write abbreviated URI writer.write(prefix); writer.write(":"); writer.write(uriString.substring(splitIdx)); } else if (baseIRI != null) { // Write relative URI writer.write("<"); writer.write(TurtleUtil.encodeURIString(baseIRI.relativize(uriString))); writer.write(">"); } else { // Write full URI writer.write("<"); writer.write(TurtleUtil.encodeURIString(uriString)); writer.write(">"); } }
uri = new ParsedIRI(uriSpec); } catch (URISyntaxException e) { reportError("Invalid IRI '" + uriSpec, BasicParserSettings.VERIFY_URI_SYNTAX); try { uri = ParsedIRI.create(uriSpec); } catch (IllegalArgumentException ex) { if (getParserConfig().isNonFatalError(BasicParserSettings.VERIFY_URI_SYNTAX)) { if (!uri.isAbsolute()) { if (baseURI == null) { reportFatalError("Unable to resolve URIs, no base URI has been set"); if (!uri.isAbsolute() && uriSpec.length() > 0 && !uriSpec.startsWith("#") && baseURI.isOpaque()) { reportError("Relative URI '" + uriSpec + "' cannot be resolved using the opaque base URI '" + baseURI + "'", BasicParserSettings.VERIFY_RELATIVE_URIS); uri = baseURI.resolve(uri); return createURI(uri.toString());
final String baseURI = node.getBaseURI(); try { ParsedIRI iri = ParsedIRI.create(uriString); if (!iri.isAbsolute() && baseURI != null) { uriString = ParsedIRI.create(baseURI).resolve(iri).toString(); else if (!iri.isAbsolute()) { throw new ValueExprEvaluationException("not an absolute IRI reference: " + uriString);
if (relative.isAbsolute()) { return relative; if (relative.getHost() == null && relative.getQuery() == null && relative.getPath().length() == 0) { String fragment = relative.getFragment(); return new ParsedIRI(this.getScheme(), this.getUserInfo(), this.getHost(), this.getPort(), this.getPath(), this.getQuery(), fragment); else if (relative.getHost() == null && relative.getPath().length() == 0) { String query = relative.getQuery(); String fragment = relative.getFragment(); return new ParsedIRI(this.getScheme(), this.getUserInfo(), this.getHost(), this.getPort(), this.getPath(), query, fragment); scheme = this.getScheme(); query = relative.getQuery(); fragment = relative.getFragment(); if (relative.getHost() != null) { userInfo = relative.getUserInfo(); host = relative.getHost(); port = relative.getPort(); path = relative.getPath(); userInfo = this.getUserInfo();
String _frag = absolute.getFragment(); if (iri.equals(absolute.iri) && _frag == null) return new ParsedIRI(null, null, null, -1, "", null, null); if (absolute.getScheme() != null && !absolute.getScheme().equalsIgnoreCase(this.getScheme())) { return absolute; if (absolute.getUserInfo() != null && !absolute.getUserInfo().equals(this.getUserInfo())) { return absolute; if (absolute.getHost() != null && !absolute.getHost().equalsIgnoreCase(this.getHost())) { return absolute; if (absolute.getPort() != this.getPort()) { return absolute; if (this.getFragment() == null) { if (absolute.iri.startsWith(this.iri) && absolute.iri.charAt(iri.length()) == '#') { return new ParsedIRI(null, null, null, -1, "", null, _frag); int this_idx = iri.length() - this.getFragment().length(); int abs_idx = absolute.iri.length() - _frag.length(); if (iri.substring(0, this_idx).equals(absolute.iri.substring(0, abs_idx))) { return new ParsedIRI(null, null, null, -1, "", null, _frag); if (this.isOpaque() || absolute.isOpaque()) return absolute; String _query = absolute.getQuery();