Search in sources :

Example 26 with Update

use of org.apache.jena.update.Update in project jena by apache.

the class UpdateBuilderTest method testInsertAndDeleteWithVariableNodeReplacement.

@Test
public void testInsertAndDeleteWithVariableNodeReplacement() {
    UpdateBuilder builder = new UpdateBuilder();
    Node v = NodeFactory.createVariable("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());
}
Also used : Triple(org.apache.jena.graph.Triple) Quad(org.apache.jena.sparql.core.Quad) UpdateModify(org.apache.jena.sparql.modify.request.UpdateModify) Node(org.apache.jena.graph.Node) Element(org.apache.jena.sparql.syntax.Element) Update(org.apache.jena.update.Update) ElementGroup(org.apache.jena.sparql.syntax.ElementGroup) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) Test(org.junit.Test)

Example 27 with Update

use of org.apache.jena.update.Update in project jena by apache.

the class UpdateBuilderTest method testInsert_Triple.

@Test
public void testInsert_Triple() {
    Triple t = new Triple(s, p, o);
    UpdateBuilder builder = new UpdateBuilder();
    builder.addInsert(t);
    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());
}
Also used : Triple(org.apache.jena.graph.Triple) Quad(org.apache.jena.sparql.core.Quad) UpdateDataInsert(org.apache.jena.sparql.modify.request.UpdateDataInsert) Update(org.apache.jena.update.Update) Test(org.junit.Test)

Example 28 with Update

use of org.apache.jena.update.Update in project jena by apache.

the class UpdateTransformOps method transform.

public static UpdateRequest transform(UpdateRequest update, ElementTransform transform, ExprTransform exprTransform) {
    UpdateRequest req = new UpdateRequest();
    req.getPrefixMapping().setNsPrefixes(update.getPrefixMapping());
    for (Update up : update.getOperations()) {
        up = transform(up, transform, exprTransform);
        req.add(up);
    }
    return req;
}
Also used : UpdateRequest(org.apache.jena.update.UpdateRequest) Update(org.apache.jena.update.Update)

Example 29 with Update

use of org.apache.jena.update.Update in project jena by apache.

the class AbstractTestUpdateGraphMgt method testCreateDrop1.

@Test
public void testCreateDrop1() {
    DatasetGraph gStore = getEmptyDatasetGraph();
    Update u = new UpdateCreate(graphIRI);
    UpdateAction.execute(u, gStore);
    // Only true if a graph caching layer exists.
    // JENA-1068 removed that layer
    // (which wasn't safe anyway - it only "existed" in the memory cache)
    // assertTrue(gStore.containsGraph(graphIRI)) ;
    assertTrue(graphEmpty(gStore.getGraph(graphIRI)));
    // With "auto SILENT" then these aren't errors.
    boolean silentMode = true;
    if (!silentMode) {
        // try again - should fail (already exists)
        try {
            UpdateAction.execute(u, gStore);
            fail();
        } catch (UpdateException ex) {
        }
    }
    // Drop it.
    u = new UpdateDrop(graphIRI);
    UpdateAction.execute(u, gStore);
    assertFalse(gStore.containsGraph(graphIRI));
    if (!silentMode) {
        // Drop it again. - should fail
        try {
            UpdateAction.execute(u, gStore);
            fail();
        } catch (UpdateException ex) {
        }
    }
}
Also used : UpdateCreate(org.apache.jena.sparql.modify.request.UpdateCreate) UpdateException(org.apache.jena.update.UpdateException) Update(org.apache.jena.update.Update) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) UpdateDrop(org.apache.jena.sparql.modify.request.UpdateDrop) Test(org.junit.Test)

Example 30 with Update

use of org.apache.jena.update.Update in project jena by apache.

the class ServerCtl method resetServer.

/*package*/
static void resetServer() {
    if (countServer.get() == 0)
        throw new RuntimeException("No server started!");
    if (CLEAR_DSG_DIRECTLY) {
        Txn.executeWrite(dsgTesting, () -> dsgTesting.clear());
    } else {
        Update clearRequest = new UpdateDrop(Target.ALL);
        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, serviceUpdate());
        try {
            proc.execute();
        } catch (Throwable e) {
            e.printStackTrace();
            throw e;
        }
    }
}
Also used : UpdateProcessor(org.apache.jena.update.UpdateProcessor) Update(org.apache.jena.update.Update) UpdateDrop(org.apache.jena.sparql.modify.request.UpdateDrop)

Aggregations

Update (org.apache.jena.update.Update)30 Test (org.junit.Test)23 Quad (org.apache.jena.sparql.core.Quad)19 Triple (org.apache.jena.graph.Triple)9 UpdateDataInsert (org.apache.jena.sparql.modify.request.UpdateDataInsert)9 UpdateDataDelete (org.apache.jena.sparql.modify.request.UpdateDataDelete)7 UpdateDrop (org.apache.jena.sparql.modify.request.UpdateDrop)6 UpdateModify (org.apache.jena.sparql.modify.request.UpdateModify)5 Element (org.apache.jena.sparql.syntax.Element)5 ElementGroup (org.apache.jena.sparql.syntax.ElementGroup)5 ElementPathBlock (org.apache.jena.sparql.syntax.ElementPathBlock)5 Node (org.apache.jena.graph.Node)4 Var (org.apache.jena.sparql.core.Var)4 UpdateProcessor (org.apache.jena.update.UpdateProcessor)3 UpdateRequest (org.apache.jena.update.UpdateRequest)3 ArrayList (java.util.ArrayList)2 DatasetGraph (org.apache.jena.sparql.core.DatasetGraph)2 UpdateCreate (org.apache.jena.sparql.modify.request.UpdateCreate)2 UpdateBuilder (org.apache.jena.arq.querybuilder.UpdateBuilder)1 NodeIsomorphismMap (org.apache.jena.sparql.util.NodeIsomorphismMap)1