use of org.apache.jena.update.UpdateRequest in project jena by apache.
the class UpdateBuilderExampleTests method example10.
/**
* Example 10:
*
* @see https://www.w3.org/TR/sparql11-update/#example_10
*/
@Test
public void example10() {
Resource book1 = ResourceFactory.createResource("http://example/book1");
Resource book3 = ResourceFactory.createResource("http://example/book3");
Resource book4 = ResourceFactory.createResource("http://example/book4");
Literal d1996 = ResourceFactory.createTypedLiteral("1996-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Literal d2000 = ResourceFactory.createTypedLiteral("2000-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Node graphName1 = NodeFactory.createURI("http://example/bookStore");
Node graphName2 = NodeFactory.createURI("http://example/bookStore2");
Model m1 = ModelFactory.createDefaultModel();
m1.add(book1, DC_11.title, "Fundamentals of Compiler Design");
m1.add(book1, DC_11.date, d1996);
m1.add(book1, RDF.type, DCTypes.PhysicalObject);
m1.add(book3, DC_11.title, "SPARQL 1.1 Tutorial");
Model m2 = ModelFactory.createDefaultModel();
m2.add(book4, DC_11.title, "SPARQL 1.1 Tutorial");
Dataset ds = DatasetFactory.create();
ds.addNamedModel(graphName1.getURI(), m1);
ds.addNamedModel(graphName2.getURI(), m2);
ExprFactory factory = new ExprFactory();
SelectBuilder ins = new SelectBuilder().addGraph(graphName2, new SelectBuilder().addWhere("?book", "?p", "?v"));
SelectBuilder whr = new SelectBuilder().addGraph(graphName1, new SelectBuilder().addWhere("?book", DC_11.date, "?date").addFilter(factory.lt("?date", d2000)).addWhere("?book", "?p", "?v"));
UpdateBuilder builder = new UpdateBuilder().addPrefix("dc", DC_11.NS).addPrefix("xsd", XSD.NS).addInsert(ins).addWhere(whr);
UpdateRequest req = builder.buildRequest();
builder = new UpdateBuilder().with(graphName1).addDelete("?book", "?p", "?v").addWhere("?book", DC_11.date, "?date").addWhere("?book", RDF.type, DCTypes.PhysicalObject).addFilter(factory.lt("?date", d2000)).addWhere("?book", "?p", "?v");
builder.appendTo(req);
UpdateAction.execute(req, ds);
m1 = ds.getNamedModel(graphName1.getURI());
assertEquals(1, m1.listStatements().toList().size());
assertTrue(m1.contains(book3, DC_11.title, "SPARQL 1.1 Tutorial"));
m2 = ds.getNamedModel(graphName2.getURI());
assertEquals(4, m2.listStatements().toList().size());
assertEquals(3, m2.listStatements(book1, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book1, DC_11.title, "Fundamentals of Compiler Design"));
assertTrue(m2.contains(book1, DC_11.date, d1996));
assertTrue(m2.contains(book1, RDF.type, DCTypes.PhysicalObject));
assertEquals(1, m2.listStatements(book4, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book4, DC_11.title, "SPARQL 1.1 Tutorial"));
}
use of org.apache.jena.update.UpdateRequest in project jena by apache.
the class TestAuth method update_with_auth_10.
@Test
public void update_with_auth_10() throws URISyntaxException {
UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
UpdateProcessRemoteBase ue = (UpdateProcessRemoteBase) UpdateExecutionFactory.createRemote(updates, authServiceUpdate);
// Auth credentials for valid user with correct password scoped to
// correct URI
ue.setClient(withBasicAuth(new AuthScope("localhost", authPort), "allowed", "password"));
ue.execute();
}
use of org.apache.jena.update.UpdateRequest in project jena by apache.
the class TestAuth method update_with_auth_02.
@Test(expected = HttpException.class)
public void update_with_auth_02() {
UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
UpdateProcessRemoteBase ue = (UpdateProcessRemoteBase) UpdateExecutionFactory.createRemote(updates, authServiceUpdate);
// Auth credentials for valid user with bad password
ue.setClient(withBasicAuth(ANY, "allowed", "incorrect"));
ue.execute();
}
use of org.apache.jena.update.UpdateRequest in project jena by apache.
the class TestAuth method update_with_auth_06.
@Test(expected = HttpException.class)
public void update_with_auth_06() {
UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
UpdateProcessRemoteBase ue = (UpdateProcessRemoteBase) UpdateExecutionFactory.createRemoteForm(updates, authServiceUpdate);
// Auth credentials for valid user with bad password
ue.setClient(withBasicAuth(ANY, "allowed", "incorrect"));
ue.execute();
}
use of org.apache.jena.update.UpdateRequest in project jena by apache.
the class TestAuth method update_with_auth_08.
@Test(expected = HttpException.class)
public void update_with_auth_08() {
UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
UpdateProcessRemoteBase ue = (UpdateProcessRemoteBase) UpdateExecutionFactory.createRemoteForm(updates, authServiceUpdate);
// Auth credentials for valid user with correct password BUT not in
// correct role
ue.setClient(withBasicAuth(ANY, "forbidden", "password"));
ue.execute();
}
Aggregations