for (Iterator<TriplePath> iterator = el.patternElts(); iterator.hasNext();) { TriplePath t = iterator.next(); if (t.isTriple() && t.getPredicate().matches(RDF.type.asNode())) { subject2TypeTriples.put(t.getSubject(), t.asTriple());
validPredicate = t.getPredicate().isURI() || t.getPredicate().isVariable() || t.getPredicate().equals(Node.ANY); } else { validPredicate = t.getPath() != null; t.getPredicate()));
validPredicate = t.getPredicate().isURI() || t.getPredicate().isVariable() || t.getPredicate().equals(Node.ANY); } else { validPredicate = t.getPath() != null; t.getPredicate()));
validPredicate = t.getPredicate().isURI() || t.getPredicate().isVariable() || t.getPredicate().equals(Node.ANY); } else { validPredicate = t.getPath() != null; String.format("Predicate (%s) must be a Path, URI , variable, or a wildcard. %n", t.getPredicate()));
validPredicate = t.getPredicate().isURI() || t.getPredicate().isVariable() || t.getPredicate().equals(Node.ANY); } else { validPredicate = t.getPath() != null; String.format("Predicate (%s) must be a Path, URI , variable, or a wildcard. %n", t.getPredicate()));
public static QueryIterator execTriplePath(Binding binding, TriplePath triplePath, ExecutionContext execCxt) { if ( triplePath.isTriple() ) { // Fake it. This happens only for API constructed situations. Path path = new P_Link(triplePath.getPredicate()); triplePath = new TriplePath(triplePath.getSubject(), path, triplePath.getObject()); } return execTriplePath(binding, triplePath.getSubject(), triplePath.getPath(), triplePath.getObject(), execCxt) ; }
private TriplePath transform(TriplePath path) { Node s = path.getSubject() ; Node s1 = transform(s) ; Node o = path.getObject() ; Node o1 = transform(o) ; if ( path.isTriple() ) { Node p = path.getPredicate() ; Node p1 = transform(p) ; if ( s == s1 && p == p1 && o == o1 ) return path ; return new TriplePath(Triple.create(s1, p1, o1)) ; } if ( s == s1 && o == o1 ) return path ; return new TriplePath(s1, path.getPath(), o1) ; }
private TriplePath transform(TriplePath path) { Node s = path.getSubject() ; Node s1 = transform(s) ; Node o = path.getObject() ; Node o1 = transform(o) ; if ( path.isTriple() ) { Node p = path.getPredicate() ; Node p1 = transform(p) ; if ( s == s1 && p == p1 && o == o1 ) return path ; return new TriplePath(Triple.create(s1, p1, o1)) ; } if ( s == s1 && o == o1 ) return path ; return new TriplePath(s1, path.getPath(), o1) ; }
@Override public Op transform(OpPath opPath) { TriplePath tp = opPath.getTriplePath(); Node s = tp.getSubject(); Node s1 = transform.apply(s); Node o = tp.getObject(); Node o1 = transform.apply(o); if ( s1 == s && o1 == o ) // No change. return super.transform(opPath); Path path = tp.getPath(); TriplePath tp2; if ( path != null ) tp2 = new TriplePath(s1, path, o1); else { Triple t = new Triple(s1, tp.getPredicate(), o1); tp2 = new TriplePath(t); } return new OpPath(tp2); }
/** * Rewrite a triple path. * @param t The triple path to rewrite. * @return the triple path after rewriting. */ protected final TriplePath rewrite(TriplePath t) { if (t.getPath() == null) { return new TriplePath(new Triple(changeNode(t.getSubject()), changeNode(t.getPredicate()), changeNode(t.getObject()))); } else { PathRewriter transform = new PathRewriter(values); t.getPath().visit(transform); return new TriplePath(changeNode(t.getSubject()), transform.getResult(), changeNode(t.getObject())); } }
/** * Rewrite a triple path. * @param t The triple path to rewrite. * @return the triple path after rewriting. */ protected final TriplePath rewrite(TriplePath t) { if (t.getPath() == null) { return new TriplePath(new Triple(changeNode(t.getSubject()), changeNode(t.getPredicate()), changeNode(t.getObject()))); } else { PathRewriter transform = new PathRewriter(values); t.getPath().visit(transform); return new TriplePath(changeNode(t.getSubject()), transform.getResult(), changeNode(t.getObject())); } }