final public void InsertClause(UpdateModify up) throws ParseException { QuadAcc qp = up.getInsertAcc() ; Token t ; t = jj_consume_token(INSERT); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; startInsertTemplate(qp, beginLine, beginColumn) ; QuadPattern(qp); finishInsertTemplate(qp, beginLine, beginColumn) ; up.setHasInsertClause(true) ; }
final public void InsertClause(UpdateModify up) throws ParseException { QuadAcc qp = up.getInsertAcc() ; Token t ; t = jj_consume_token(INSERT); int beginLine = t.beginLine; int beginColumn = t.beginColumn; t = null; startInsertTemplate(qp, beginLine, beginColumn) ; QuadPattern(qp); finishInsertTemplate(qp, beginLine, beginColumn) ; up.setHasInsertClause(true) ; }
acc = retval.getInsertAcc(); iter = getQuads(inserts); while (iter.hasNext()) {
acc = retval.getInsertAcc(); iter = getQuads(inserts); while (iter.hasNext()) {
public static UpdateModify cloneUpdateModify(UpdateModify update) { UpdateModify result = new UpdateModify(); result.getUsing().addAll(update.getUsing()); result.setWithIRI(update.getWithIRI()); result.setElement(update.getWherePattern()); for(Quad quad : update.getInsertQuads()) { result.getInsertAcc().addQuad(quad); } for(Quad quad : update.getDeleteQuads()) { result.getDeleteAcc().addQuad(quad); } return result; } }
@Override public void visit(UpdateModify update) { Element el = update.getWherePattern() ; Element el2 = ElementTransformer.transform(el, elTransform, exprTransform) ; List<Quad> del = update.getDeleteQuads() ; List<Quad> del1 = transform(del) ; List<Quad> ins = update.getInsertQuads() ; List<Quad> ins1 = transform(ins) ; UpdateModify mod = new UpdateModify() ; addAll(mod.getDeleteAcc(), del1) ; addAll(mod.getInsertAcc(), ins1) ; result = mod ; }
@Override public void visit(UpdateModify update) { Element el = update.getWherePattern() ; Element el2 = ElementTransformer.transform(el, elTransform, exprTransform) ; List<Quad> del = update.getDeleteQuads() ; List<Quad> del1 = transform(del) ; List<Quad> ins = update.getInsertQuads() ; List<Quad> ins1 = transform(ins) ; UpdateModify mod = new UpdateModify() ; addAll(mod.getDeleteAcc(), del1) ; addAll(mod.getInsertAcc(), ins1) ; mod.setElement(el2); result = mod ; }
@Test public void testInsert2() { DatasetGraph gStore = getEmptyDatasetGraph() ; UpdateModify insert = new UpdateModify() ; insert.getInsertAcc().addTriple(triple1) ; UpdateAction.execute(insert, gStore) ; assertTrue(graphContains(gStore.getDefaultGraph(), triple1)) ; }
@Test public void testInsert3() { DatasetGraph gStore = getEmptyDatasetGraph() ; gStore.addGraph(graphIRI, Factory.createDefaultGraph()) ; UpdateModify insert = new UpdateModify() ; insert.getInsertAcc().addQuad(new Quad(graphIRI, triple1)) ; UpdateAction.execute(insert, gStore) ; assertTrue(graphContains(gStore.getGraph(graphIRI), triple1)) ; }
@Test public void testInsert4() { DatasetGraph gStore = getEmptyDatasetGraph() ; defaultGraphData(gStore, graph1) ; UpdateModify insert = new UpdateModify() ; insert.getInsertAcc().addTriple(SSE.parseTriple("(?s <http://example/p> 1066)")) ; Element element = QueryFactory.createElement("{ ?s <http://example/p> 2007 }" ) ; insert.setElement(element) ; UpdateAction.execute(insert, gStore) ; assertTrue(graphContains(gStore.getDefaultGraph(), triple2)) ; }
@Test public void testModify1() { DatasetGraph gStore = getEmptyDatasetGraph() ; defaultGraphData(gStore, data2()) ; namedGraphData(gStore, graphIRI, Factory.createDefaultGraph()) ; UpdateModify modify = new UpdateModify() ; Element element = QueryFactory.createElement("{ ?s <http://example/p> ?o }" ) ; modify.setElement(element) ; modify.getInsertAcc().addQuad(new Quad(graphIRI, triple1)) ; modify.getDeleteAcc().addTriple(SSE.parseTriple("(?s <http://example/p> ?o)")) ; modify.getDeleteAcc().addQuad(SSE.parseQuad("(<http://example/graph> ?s <http://example/p> ?o)")) ; UpdateAction.execute(modify, gStore) ; assertFalse(graphEmpty(gStore.getGraph(graphIRI))) ; assertTrue(graphEmpty(gStore.getDefaultGraph())) ; assertTrue(graphContains(gStore.getGraph(graphIRI), triple1)) ; }
@Test public void testModify2() { // Use blank nodes (will expose any problems in serialization when spill occurs) Triple t = new Triple(org.apache.jena.graph.NodeFactory.createBlankNode(),p,o2); DatasetGraph gStore = getEmptyDatasetGraph() ; // Set the threshold to in order to force spill to disk gStore.getContext().set(ARQ.spillToDiskThreshold, 0L) ; defaultGraphData(gStore, data(t)) ; namedGraphData(gStore, graphIRI, data(t)); UpdateModify modify = new UpdateModify() ; Element element = QueryFactory.createElement("{ ?s <http://example/p> ?o }" ) ; modify.setElement(element) ; modify.getInsertAcc().addQuad(new Quad(graphIRI, triple1)) ; modify.getDeleteAcc().addTriple(SSE.parseTriple("(?s <http://example/p> ?o)")) ; modify.getDeleteAcc().addQuad(SSE.parseQuad("(<http://example/graph> ?s <http://example/p> ?o)")) ; UpdateAction.execute(modify, gStore) ; assertFalse(graphEmpty(gStore.getGraph(graphIRI))) ; assertTrue(graphEmpty(gStore.getDefaultGraph())) ; assertTrue(graphContains(gStore.getGraph(graphIRI), triple1)) ; assertFalse(graphContains(gStore.getGraph(graphIRI), t)); }
@Test public void testModifyInitialBindings() { DatasetGraph gStore = getEmptyDatasetGraph() ; defaultGraphData(gStore, data12()) ; namedGraphData(gStore, graphIRI, Factory.createDefaultGraph()) ; Binding initialBinding = BindingFactory.binding(Var.alloc("o"), o1) ; UpdateModify modify = new UpdateModify() ; Element element = QueryFactory.createElement("{ ?s <http://example/p> ?o }" ) ; modify.setElement(element) ; modify.getInsertAcc().addQuad(new Quad(graphIRI, triple1)) ; modify.getDeleteAcc().addTriple(SSE.parseTriple("(?s <http://example/p> ?o)")) ; modify.getDeleteAcc().addQuad(SSE.parseQuad("(<http://example/graph> ?s <http://example/p> ?o)")) ; UpdateAction.execute(modify, gStore, initialBinding) ; assertFalse(graphEmpty(gStore.getGraph(graphIRI))) ; assertFalse(graphEmpty(gStore.getDefaultGraph())) ; assertTrue(graphContains(gStore.getGraph(graphIRI), triple1)) ; assertTrue(graphContains(gStore.getDefaultGraph(), triple2)) ; assertFalse(graphContains(gStore.getDefaultGraph(), triple1)) ; }