public IRI expandIRI(IRI curie) { String ns = getNamespaceURI(curie.getScheme()); return ns != null ? IRI.builder().curie(ns + curie.getSchemeSpecificPart()).build() : curie; }
private IRI resolve(String uriString, Deque<Frame> stack) { IRI uri; try { uri = IRI.create(uriString); } catch (IRISyntaxException e) { logger.log(Level.FINE, e.getMessage(), e); // illegal URI, try repair uri = IRI.create(uriString .replace(" ", "%20") .replace("\"", "%22") .replace("[", "%5B") .replace("]", "%5D") .replace("<", "%3C") .replace(">", "%3E") .replace("|", "%7C") .replace("`", "%60") .replace("\u0098", "") // Unicode "START OF STRING" .replace("\u009c", "") // Unicode "STRING TERMINATOR" ); } if (uri.isAbsolute()) { return uri; } else { return IRI.create(getBase(stack) + uriString); } }
if ("".equals(c.toString()) || "#".equals(c.toString()) || ".".equals(c.toString()) || "./".equals(c.toString())) { return b; if (c.isOpaque() || b.isOpaque()) { return c; if (c.isSameDocumentReference()) { String cfragment = c.getFragment(); String bfragment = b.getFragment(); if ((cfragment == null && bfragment == null) || (cfragment != null && cfragment.equals(bfragment))) { return b; } else { return new IRI(b.schemeClass, b.getScheme(), b.getAuthority(), b.getUserInfo(), b.getHost(), b.getPort(), normalize(b.getPath()), b.getQuery(), cfragment); if (c.isAbsolute()) { return c; String query = c.getQuery(); String fragment = c.getFragment(); String userinfo; String authority; int port; String path; if (c.getAuthority() == null) { authority = b.getAuthority();
@Override public String toString() { return embedded ? PLACEHOLDER + (iri != null ? iri.getSchemeSpecificPart() : "<null>") : (iri != null ? iri.toString() : "<null>"); }
@Override public IRI newPredicate(Object predicate) { return predicate == null ? null : predicate instanceof IRI ? (IRI) predicate : IRI.builder().curie(predicate.toString()).build(); }
public String compact(IRI uri, boolean dropfragment) { if (uri == null) { return null; } // drop fragment (useful for resource counters in fragments) String s = dropfragment ? new IRI(uri.getScheme(), uri.getSchemeSpecificPart(), null).toString() : uri.toString(); synchronized (lock) { // search from longest to shortest namespace prefix if (sortedNamespacesByPrefixLength != null) { for (String ns : sortedNamespacesByPrefixLength) { if (s.startsWith(ns)) { s = getPrefix(ns) + ':' + s.substring(ns.length()); break; } } } } return s; }
private void fromIRI(IRI uri) { SchemeRegistry reg = SchemeRegistry.getInstance(); scheme = uri.getScheme(); schemeClass = reg.getScheme(scheme); authority = uri.getAuthority(); path = uri.getPath(); query = uri.getQuery(); fragment = uri.getFragment(); parseAuthority(); }
@Override public String toString() { StringBuilder buf = new StringBuilder(); String s = getScheme(); if (s != null && !s.isEmpty()) { buf.append(s).append(':'); } buf.append(getSchemeSpecificPart()); return buf.toString(); }
@Override public int hashCode() { return iri != null ? iri.toString().hashCode() : -1; }
public static IRI relativize(IRI b, IRI c) { if (c.isOpaque() || b.isOpaque()) { return c; } if ((b.scheme == null && c.scheme != null) || (b.scheme != null && c.scheme == null) || (b.scheme != null && !b.scheme.equalsIgnoreCase(c.scheme))) { return c; } String bpath = normalize(b.getPath()); String cpath = normalize(c.getPath()); if (!bpath.equals(cpath)) { if (bpath.charAt(bpath.length() - 1) != '/') { bpath += "/"; } if (!cpath.startsWith(bpath)) { return c; } } return new IRI(null, null, null, null, null, -1, normalize(cpath.substring(bpath.length())), c.getQuery(), c.getFragment()); }
if ("uri".equals(property)) { state.setUID(IRI.builder().curie("uid:" + value).build()); } else if ("identifier".equals(property)) { IdentifierMapper mapper = worker.getIdentifierMapper(); if (uid != null) { state.setUID(IRI.builder().curie("uid:" + state.getISIL() + "/" + uid.getSchemeSpecificPart()).build()); state.setUID(IRI.builder().curie("green").build());
@Override public void addTypedLiteral(String subj, String pred, String content, String type, String graphIRI) { try { Resource s = DefaultResource.create(graph.getParams().getNamespaceContext(), subj); IRI p = IRI.create(pred); Literal o = new DefaultLiteral(content).type(IRI.create(type)); Triple t = new DefaultTriple(s, p, o); graph.receive(t); } catch (IOException e) { logger.log(Level.SEVERE, e.getMessage(), e); } }
private IRI parseURI() throws IOException { char ch = read(); boolean checkForClose = false; if (ch == '<') { ch = read(); // skip '<' and check for closing '>' checkForClose = true; } sb.setLength(0); boolean ended = false; while (!ended) { sb.append(ch); if (ch == '\\') { ch = read(); sb.append(ch); } ch = read(); ended = checkForClose ? (ch == '>') : (ch == '>' || ch == ' ' || ch == '\n' || ch == '\t' || ch == '\r'); } // we trim to cope with GND erraneous IRIs with spaces like skos:exactMatch <http://zbw.eu/stw/descriptor/18673-1 > ; String decoded = decode(sb.toString().trim(), "UTF-8"); IRI u = IRI.builder().curie(decoded).build(); u = baseIRI.resolve(u); return u; }
public String toASCIIString() { StringBuilder buf = new StringBuilder(); String s = getScheme(); if (s != null && !s.isEmpty()) { buf.append(s).append(':'); } buf.append(getASCIISchemeSpecificPart()); return buf.toString(); }
IRI pred = triple.predicate(); Node obj = triple.object(); String predString = pred.toString(); int predSplitIdx = findURISplitIndex(predString); if (predSplitIdx == -1) { Resource objRes = (Resource) obj; if (objRes.isEmbedded()) { writeAttribute(NS_URI, "nodeID", objRes.id().toString()); } else { writeAttribute(NS_URI, "resource", objRes.id().toString()); IRI datatype = l.type(); if (datatype != null) { isXMLLiteral = datatype.equals(RDF_XMLLITERAL); if (isXMLLiteral) { writeAttribute(NS_URI, "parseType", "Literal"); } else { writeAttribute(NS_URI, "datatype", datatype.toString());