@Nullable private static String shorten(@Nullable final URI uri) { if (uri == null) { return null; } final String prefix = Namespaces.DEFAULT.prefixFor(uri.getNamespace()); if (prefix != null) { return prefix + ':' + uri.getLocalName(); } return "<../" + uri.getLocalName() + ">"; }
public static String format(final TupleExpr expr) { return expr == null ? "null" : new SPARQLRenderer(Namespaces.DEFAULT.prefixMap(), false) .renderTupleExpr(expr).replaceAll("[\n\r\t ]+", " "); }
public final Builder addRule(final String id, @Nullable final String head, @Nullable final String body, @Nullable final Namespaces namespaces, @Nullable final Map<BindingSet, Iterable<BindingSet>> mappings) { try { final TupleExpr headExpr = head == null ? null : Algebra.parseTupleExpr(head, null, namespaces.uriMap()); final TupleExpr bodyExpr = body == null ? null : Algebra.parseTupleExpr(body, null, namespaces.uriMap()); addRule(id, headExpr, bodyExpr); return this; } catch (final MalformedQueryException ex) { throw new IllegalArgumentException(ex); } }
public final Builder addRules(final Model model) { final Set<String> ids = new HashSet<>(); final Map<String, String> heads = new HashMap<>(); final Map<String, String> bodies = new HashMap<>(); for (final Statement stmt : model.filter(null, RR.HEAD, null)) { ids.add(stmt.getSubject().stringValue()); heads.put(stmt.getSubject().stringValue(), stmt.getObject().stringValue()); } for (final Statement stmt : model.filter(null, RR.BODY, null)) { ids.add(stmt.getSubject().stringValue()); bodies.put(stmt.getSubject().stringValue(), stmt.getObject().stringValue()); } final List<String> sortedIDs = new ArrayList<>(ids); Collections.sort(sortedIDs); for (final String id : sortedIDs) { addRule(id, heads.get(id), bodies.get(id), Namespaces.forIterable(model.getNamespaces(), false), null); } return this; }
@Nullable private String shorten(@Nullable final URI uri) { if (uri == null) { return null; } final String prefix = this.namespaces.prefixFor(uri.getNamespace()); if (prefix != null) { return prefix + ':' + uri.getLocalName(); } return "<../" + uri.getLocalName() + ">"; }
@Override public String toString() { try { String head = "<empty>"; String body = "<empty>"; if (this.head != null) { head = new SPARQLRenderer(Namespaces.DEFAULT.prefixMap(), false) .renderTupleExpr(this.head); } if (this.body != null) { body = new SPARQLRenderer(Namespaces.DEFAULT.prefixMap(), false) .renderTupleExpr(this.body); } final String id = this.id instanceof BNode ? ((BNode) this.id).getID() : this.id .getLocalName(); return id + ": " + head.replaceAll("[\n\r\t ]+", " ") + " :- " + body.replaceAll("[\n\r\t ]+", " "); } catch (final Exception ex) { throw new RuntimeException(ex); } }
public static List<Rule> fromRDF(final Iterable<Statement> model) { final Map<String, String> namespaces = new HashMap<>(Namespaces.DEFAULT.uriMap()); if (model instanceof Model) { for (final Namespace namespace : ((Model) model).getNamespaces()) {
@Nullable private static String shorten(@Nullable final URI uri) { if (uri == null) { return null; } final String prefix = Namespaces.DEFAULT.prefixFor(uri.getNamespace()); if (prefix != null) { return prefix + ':' + uri.getLocalName(); } return "<../" + uri.getLocalName() + ">"; }
private String format(final Value value) { if (value instanceof URI) { final URI uri = (URI) value; final String ns = uri.getNamespace(); final String prefix = this.namespaces.prefixFor(ns); if (prefix == null) { return escape("<.." + ns.charAt(ns.length() - 1) + uri.getLocalName() + ">"); } else { return prefix + ":" + escape(uri.getLocalName()); } } return escape(Statements.formatValue(value, this.namespaces)); }