/** * Create a DeleteWhere from the where clause. * @return a DeleteWhere update. */ public UpdateDeleteWhere buildDeleteWhere() { QuadAcc quadAcc = new QuadAcc( whereProcessor.getQuads().toList() ); return new UpdateDeleteWhere( quadAcc ); }
@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 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()); }
/** * Create a DeleteWhere from the where clause. * @return a DeleteWhere update. */ public UpdateDeleteWhere buildDeleteWhere() { QuadAcc quadAcc = new QuadAcc( whereProcessor.getQuads().toList() ); return new UpdateDeleteWhere( quadAcc ); }
@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) { out.ensureStartOfLine() ; out.println("DELETE WHERE ") ; outputQuadsBraced(update.getQuads()) ; }
final public Update DeleteWhere() throws ParseException { QuadAcc qp = new QuadAcc() ; Token t ; t = jj_consume_token(DELETE_WHERE); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; startDeleteTemplate(qp, beginLine, beginColumn) ; QuadPattern(qp); finishDeleteTemplate(qp, beginLine, beginColumn) ; {if (true) return new UpdateDeleteWhere(qp) ;} throw new Error("Missing return statement in function"); }
} else if (operation instanceof UpdateDeleteWhere) { final UpdateDeleteWhere op = (UpdateDeleteWhere) operation; deleteQuads.addAll(op.getQuads());
final public Update DeleteWhere() throws ParseException { QuadAcc qp = new QuadAcc() ; Token t ; t = jj_consume_token(DELETE_WHERE); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; startDeleteTemplate(qp, beginLine, beginColumn) ; QuadPattern(qp); finishDeleteTemplate(qp, beginLine, beginColumn) ; {if (true) return new UpdateDeleteWhere(qp) ;} throw new Error("Missing return statement in function"); }
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; }
/** * Create a DeleteWhere from the where clause. * @param queryBuilder the query builder to extract the where clause from. * @return a DeleteWhere update. */ public UpdateDeleteWhere buildDeleteWhere( AbstractQueryBuilder<?> queryBuilder) { QuadAcc quadAcc = new QuadAcc( new QBQuadHolder( queryBuilder ).getQuads().toList() ); return new UpdateDeleteWhere( quadAcc ); } }
@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(); } }
/** * Create a DeleteWhere from the where clause. * @param queryBuilder the query builder to extract the where clause from. * @return a DeleteWhere update. */ public UpdateDeleteWhere buildDeleteWhere( AbstractQueryBuilder<?> queryBuilder) { QuadAcc quadAcc = new QuadAcc( new QBQuadHolder( queryBuilder ).getQuads().toList() ); return new UpdateDeleteWhere( quadAcc ); } }
req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad(rdf.asJenaNode(identifier), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad( getAclIRI(identifier), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(asList( new Quad(rdf.asJenaNode(PreferServerManaged), rdf.asJenaNode(identifier), rdf.asJenaNode(RDF.type), rdf.asJenaNode(LDP.NonRDFSource)), rdf.asJenaNode(DC.hasPart), SUBJECT), new Quad(rdf.asJenaNode(PreferServerManaged), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad(rdf.asJenaNode(PreferServerManaged), rdf.asJenaNode(identifier), PREDICATE, OBJECT)))));
req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad(rdf.asJenaNode(identifier), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad( getAclIRI(identifier), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(asList( new Quad(rdf.asJenaNode(PreferServerManaged), rdf.asJenaNode(identifier), rdf.asJenaNode(RDF.type), rdf.asJenaNode(LDP.NonRDFSource)), rdf.asJenaNode(DC.hasPart), SUBJECT), new Quad(rdf.asJenaNode(PreferServerManaged), SUBJECT, PREDICATE, OBJECT))))); req.add(new UpdateDeleteWhere(new QuadAcc(singletonList(new Quad(rdf.asJenaNode(PreferServerManaged), rdf.asJenaNode(identifier), PREDICATE, OBJECT)))));
@Test public void testDelete1() { DatasetGraph gStore = getEmptyDatasetGraph() ; QuadAcc acc = new QuadAcc() ; UpdateDeleteWhere delete = new UpdateDeleteWhere(acc) ; UpdateAction.execute(delete, gStore) ; assertTrue(graphEmpty(gStore.getDefaultGraph())) ; }
@Test public void testDelete2() { DatasetGraph gStore = getEmptyDatasetGraph() ; defaultGraphData(gStore, graph1) ; QuadAcc acc = new QuadAcc() ; UpdateDeleteWhere delete = new UpdateDeleteWhere(acc) ; acc.addTriple(SSE.parseTriple("(?s ?p ?o)")) ; UpdateAction.execute(delete, gStore) ; assertTrue("Not empty", graphEmpty(gStore.getDefaultGraph())) ; }