use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testInsertAndDeleteWithVarReplacement.
@Test
public void testInsertAndDeleteWithVarReplacement() {
UpdateBuilder builder = new UpdateBuilder();
Var v = Var.alloc("v");
builder.addInsert(new Quad(g, s, v, o));
builder.addDelete(new Triple(s, v, o));
builder.addWhere(null, v, "foo");
builder.setVar(v, p);
Update update = builder.build();
assertTrue(update instanceof UpdateModify);
UpdateModify um = (UpdateModify) update;
List<Quad> quads = um.getInsertQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(g, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
quads = um.getDeleteQuads();
assertEquals(1, quads.size());
q = quads.get(0);
assertEquals(Quad.defaultGraphNodeGenerated, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
Element e = um.getWherePattern();
assertTrue(e instanceof ElementGroup);
ElementGroup eg = (ElementGroup) e;
assertEquals(1, eg.getElements().size());
ElementPathBlock epb = (ElementPathBlock) eg.getElements().get(0);
Triple t = epb.getPattern().get(0).asTriple();
assertEquals(Node.ANY, t.getSubject());
assertEquals(p, t.getPredicate());
assertEquals(builder.makeNode("foo"), t.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testDeleteValueReplacement.
@Test
public void testDeleteValueReplacement() {
Var v = Var.alloc("v");
UpdateBuilder builder = new UpdateBuilder();
builder.addDelete(v, p, o);
builder.setVar(v, s);
Update update = builder.build();
assertTrue(update instanceof UpdateDataDelete);
UpdateDataDelete udd = (UpdateDataDelete) update;
List<Quad> quads = udd.getQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(Quad.defaultGraphNodeGenerated, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testInsertValueReplacement.
@Test
public void testInsertValueReplacement() {
Var v = Var.alloc("v");
UpdateBuilder builder = new UpdateBuilder();
builder.addInsert(v, p, o);
builder.setVar(v, s);
Update update = builder.build();
assertTrue(update instanceof UpdateDataInsert);
UpdateDataInsert udi = (UpdateDataInsert) update;
List<Quad> quads = udi.getQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(Quad.defaultGraphNodeGenerated, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testDelete_GSPO.
@Test
public void testDelete_GSPO() {
UpdateBuilder builder = new UpdateBuilder();
builder.addDelete(g, s, p, o);
Update update = builder.build();
assertTrue(update instanceof UpdateDataDelete);
UpdateDataDelete udd = (UpdateDataDelete) update;
List<Quad> quads = udd.getQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(g, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testDelete_QuadCollection.
@Test
public void testDelete_QuadCollection() {
UpdateBuilder builder = new UpdateBuilder();
Collection<Quad> quads = new ArrayList<Quad>();
quads.add(new Quad(g, s, p, o));
Node g2 = NodeFactory.createURI("http://example.com/graph2");
Node s2 = NodeFactory.createURI("http://example.com/subject2");
Node p2 = NodeFactory.createURI("http://example.com/predicate2");
Node o2 = NodeFactory.createURI("http://example.com/object2");
quads.add(new Quad(g2, s2, p2, o2));
builder.addDeleteQuads(quads);
Update update = builder.build();
assertTrue(update instanceof UpdateDataDelete);
UpdateDataDelete udd = (UpdateDataDelete) update;
List<Quad> quads2 = udd.getQuads();
assertEquals(2, quads2.size());
Quad q = quads2.get(0);
assertEquals(g, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
q = quads2.get(1);
assertEquals(g2, q.getGraph());
assertEquals(s2, q.getSubject());
assertEquals(p2, q.getPredicate());
assertEquals(o2, q.getObject());
}
Aggregations