@Override public boolean equalTo(Update obj, NodeIsomorphismMap isoMap) { if (this == obj) return true ; if (obj == null) return false ; if (getClass() != obj.getClass()) return false ; UpdateDeleteWhere other = (UpdateDeleteWhere)obj ; return Iso.isomorphicQuads(getQuads(), other.getQuads(), isoMap) ; } }
private static Collection<ConstraintViolationException> validateUpdateRequest(final UpdateRequest request) { return request.getOperations().stream() .flatMap(x -> { if (x instanceof UpdateModify) { final UpdateModify y = (UpdateModify) x; return concat(y.getInsertQuads().stream(), y.getDeleteQuads().stream()); } else if (x instanceof UpdateData) { return ((UpdateData) x).getQuads().stream(); } else if (x instanceof UpdateDeleteWhere) { return ((UpdateDeleteWhere) x).getQuads().stream(); } else { return empty(); } }) .map(x -> x.asTriple()) .flatMap(FedoraResourceImpl::validateTriple) .filter(x -> x != null) .collect(Collectors.toList()); }
@Override public void visit(UpdateDeleteWhere update) { out.ensureStartOfLine() ; out.println("DELETE WHERE ") ; outputQuadsBraced(update.getQuads()) ; }
} else if (operation instanceof UpdateDeleteWhere) { final UpdateDeleteWhere op = (UpdateDeleteWhere) operation; deleteQuads.addAll(op.getQuads());
@Override public void visit(UpdateDeleteWhere update) { List<Quad> quads = update.getQuads() ; List<Quad> quads2 = transform(quads) ; if ( quads == quads2 ) result = update ; else { QuadAcc acc = new QuadAcc() ; addAll(acc, quads2) ; result = new UpdateDeleteWhere(acc) ; } }
@Override public void visit(UpdateDeleteWhere update) { List<Quad> quads = update.getQuads() ; List<Quad> quads2 = transform(quads) ; if ( quads == quads2 ) result = update ; else { QuadAcc acc = new QuadAcc() ; addAll(acc, quads2) ; result = new UpdateDeleteWhere(acc) ; } }
public static Iterator<Diff<Set<Quad>>> createIteratorDiff(QueryExecutionFactory qef, UpdateDeleteWhere update, int batchSize) { UpdateModify tmp = new UpdateModify(); QuadAcc acc = tmp.getDeleteAcc(); for(Quad quad : update.getQuads()) { acc.addQuad(quad); } Element element = QuadUtils.toElement(acc.getQuads()); tmp.setElement(element); Iterator<Diff<Set<Quad>>> result = createIteratorDiff(qef, tmp, batchSize); return result; }
@Override public void visit(UpdateDeleteWhere update) { List<Quad> quads = update.getQuads() ; // Removed from SPARQL : Convert bNodes to named variables first. //quads = convertBNodesToVariables(quads) ; // Convert quads to a pattern. Element el = elementFromQuads(quads) ; // Decided to serialize the bindings, but could also have decided to // serialize the quads after applying the template instead. ThresholdPolicy<Binding> policy = ThresholdPolicyFactory.policyFromContext(datasetGraph.getContext()); DataBag<Binding> db = BagFactory.newDefaultBag(policy, SerializationFactoryFinder.bindingSerializationFactory()); try { Iterator<Binding> bindings = evalBindings(el); db.addAll(bindings); Iter.close(bindings); Iterator<Binding> it = db.iterator(); execDelete(datasetGraph, quads, null, it); Iter.close(it); } finally { db.close(); } }