use of org.openrdf.query.Update in project incubator-rya by apache.
the class RdfCloudTripleStoreConnectionTest method testUpdateWAuthOnConfig.
// Set the persistence visibilites on the config
public void testUpdateWAuthOnConfig() throws Exception {
String sparqlUpdate = getSparqlUpdate();
RdfCloudTripleStore tstore = new MockRdfCloudStore();
NamespaceManager nm = new NamespaceManager(tstore.getRyaDAO(), tstore.getConf());
tstore.setNamespaceManager(nm);
SailRepository repo = new SailRepository(tstore);
tstore.getRyaDAO().getConf().setCv("1|2");
repo.initialize();
RepositoryConnection conn = repo.getConnection();
Update u = conn.prepareUpdate(QueryLanguage.SPARQL, sparqlUpdate);
u.execute();
String query = "PREFIX ex: <http://www.example.org/exampleDocument#>\n" + "PREFIX voc: <http://www.example.org/vocabulary#>\n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + "\n" + "SELECT * \n" + // "FROM NAMED <http://www.example.org/exampleDocument#G1>\n" +
"WHERE\n" + "{\n" + " GRAPH ex:G1\n" + " {\n" + " ?m voc:name ?name ;\n" + " voc:homepage ?hp .\n" + " } .\n" + " GRAPH ex:G2\n" + " {\n" + " ?m voc:hasSkill ?skill .\n" + " } .\n" + "}";
TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.setBinding(RdfCloudTripleStoreConfiguration.CONF_QUERY_AUTH, vf.createLiteral("2"));
CountTupleHandler tupleHandler = new CountTupleHandler();
tupleQuery.evaluate(tupleHandler);
assertEquals(1, tupleHandler.getCount());
// no auth
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleHandler = new CountTupleHandler();
tupleQuery.evaluate(tupleHandler);
assertEquals(0, tupleHandler.getCount());
conn.close();
repo.shutDown();
}
use of org.openrdf.query.Update in project incubator-rya by apache.
the class RyaGeoDirectExample method testDeleteGeoData.
private static void testDeleteGeoData(final SailRepositoryConnection conn) throws Exception {
// Delete all stored points
final String sparqlDelete = //
"PREFIX geo: <http://www.opengis.net/ont/geosparql#> " + //
"PREFIX geof: <http://www.opengis.net/def/function/geosparql/> " + //
"DELETE {\n" + //
" ?feature a geo:Feature . " + //
" ?feature geo:hasGeometry ?point . " + //
" ?point a geo:Point . " + //
" ?point geo:asWKT ?wkt . " + "}\n" + "WHERE { \n" + //
" ?feature a geo:Feature . " + //
" ?feature geo:hasGeometry ?point . " + //
" ?point a geo:Point . " + //
" ?point geo:asWKT ?wkt . " + //
"}";
final Update deleteUpdate = conn.prepareUpdate(QueryLanguage.SPARQL, sparqlDelete);
deleteUpdate.execute();
String queryString;
TupleQuery tupleQuery;
CountingResultHandler tupleHandler;
// Find all stored points
queryString = //
"PREFIX geo: <http://www.opengis.net/ont/geosparql#> " + //
"PREFIX geof: <http://www.opengis.net/def/function/geosparql/> " + //
"SELECT ?feature ?point ?wkt " + //
"{" + //
" ?feature a geo:Feature . " + //
" ?feature geo:hasGeometry ?point . " + //
" ?point a geo:Point . " + //
" ?point geo:asWKT ?wkt . " + //
"}";
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
tupleHandler = new CountingResultHandler();
tupleQuery.evaluate(tupleHandler);
log.info("Result count : " + tupleHandler.getCount());
Validate.isTrue(tupleHandler.getCount() == 0);
}
use of org.openrdf.query.Update in project incubator-rya by apache.
the class EntityDirectExample method testAddAndDelete.
public static void testAddAndDelete(final SailRepositoryConnection conn) throws MalformedQueryException, RepositoryException, UpdateExecutionException, QueryEvaluationException, TupleQueryResultHandlerException, AccumuloException, AccumuloSecurityException, TableNotFoundException {
// Add data
String query = //
"INSERT DATA\n" + //
"{ GRAPH <http://updated/test> {\n" + //
" <http://acme.com/people/Mike> " + //
" <http://acme.com/actions/likes> \"A new book\" ;\n" + " <http://acme.com/actions/likes> \"Avocados\" .\n" + "} }";
log.info("Performing Query");
Update update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = //
"select ?x {GRAPH <http://updated/test> {?x <http://acme.com/actions/likes> \"A new book\" . " + " ?x <http://acme.com/actions/likes> \"Avocados\" }}";
final CountingResultHandler resultHandler = new CountingResultHandler();
TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
Validate.isTrue(resultHandler.getCount() == 1);
resultHandler.resetCount();
// Delete Data
query = //
"DELETE DATA\n" + "{ GRAPH <http://updated/test> {\n" + " <http://acme.com/people/Mike> <http://acme.com/actions/likes> \"A new book\" ;\n" + " <http://acme.com/actions/likes> \"Avocados\" .\n" + "}}";
update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = //
"select ?x {GRAPH <http://updated/test> {?x <http://acme.com/actions/likes> \"A new book\" . " + " ?x <http://acme.com/actions/likes> \"Avocados\" }}";
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
Validate.isTrue(resultHandler.getCount() == 0);
}
use of org.openrdf.query.Update in project incubator-rya by apache.
the class MongoRyaDirectExample method testAddAndDelete.
public static void testAddAndDelete(final SailRepositoryConnection conn) throws MalformedQueryException, RepositoryException, UpdateExecutionException, QueryEvaluationException, TupleQueryResultHandlerException {
// Add data
String query = //
"INSERT DATA\n" + //
"{ GRAPH <http://updated/test> {\n" + //
" <http://acme.com/people/Mike> " + //
" <http://acme.com/actions/likes> \"A new book\" ;\n" + " <http://acme.com/actions/likes> \"Avocados\" .\n" + "} }";
log.info("Performing Query");
Update update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = "select ?p ?o { GRAPH <http://updated/test> {<http://acme.com/people/Mike> ?p ?o . }}";
final CountingResultHandler resultHandler = new CountingResultHandler();
TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
Validate.isTrue(resultHandler.getCount() == 2);
resultHandler.resetCount();
// Delete Data
query = //
"DELETE DATA\n" + "{ GRAPH <http://updated/test> {\n" + " <http://acme.com/people/Mike> <http://acme.com/actions/likes> \"A new book\" ;\n" + " <http://acme.com/actions/likes> \"Avocados\" .\n" + "}}";
update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = "select ?p ?o { GRAPH <http://updated/test> {<http://acme.com/people/Mike> ?p ?o . }}";
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
Validate.isTrue(resultHandler.getCount() == 0);
}
use of org.openrdf.query.Update in project incubator-rya by apache.
the class MongoRyaDirectExample method testPropertyChainInference.
public static void testPropertyChainInference(final SailRepositoryConnection conn, final Sail sail) throws MalformedQueryException, RepositoryException, UpdateExecutionException, QueryEvaluationException, TupleQueryResultHandlerException, InferenceEngineException {
// Add data
String query = //
"INSERT DATA\n" + //
"{ GRAPH <http://updated/test> {\n" + " <urn:paulGreatGrandfather> <urn:father> <urn:paulGrandfather> . " + " <urn:paulGrandfather> <urn:father> <urn:paulFather> . " + " <urn:paulFather> <urn:father> <urn:paul> . " + " <urn:paul> <urn:father> <urn:paulSon> . }}";
log.info("Performing Query");
Update update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = "select ?p { GRAPH <http://updated/test> {<urn:paulGreatGrandfather> <urn:father>/<urn:father> ?p}}";
CountingResultHandler resultHandler = new CountingResultHandler();
TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
// try adding a property chain and querying for it
query = //
"INSERT DATA\n" + //
"{ GRAPH <http://updated/test> {\n" + " <urn:greatGrandfather> owl:propertyChainAxiom <urn:1234> . " + " <urn:1234> <http://www.w3.org/2000/10/swap/list#length> 3 . " + " <urn:1234> <http://www.w3.org/2000/10/swap/list#index> (0 <urn:father>) . " + " <urn:1234> <http://www.w3.org/2000/10/swap/list#index> (1 <urn:father>) . " + " <urn:1234> <http://www.w3.org/2000/10/swap/list#index> (2 <urn:father>) . }}";
update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
query = //
"INSERT DATA\n" + //
"{ GRAPH <http://updated/test> {\n" + " <urn:grandfather> owl:propertyChainAxiom <urn:12344> . " + " <urn:12344> <http://www.w3.org/2000/10/swap/list#length> 2 . " + " <urn:12344> <http://www.w3.org/2000/10/swap/list#index> (0 <urn:father>) . " + " <urn:12344> <http://www.w3.org/2000/10/swap/list#index> (1 <urn:father>) . }}";
update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
update.execute();
((RdfCloudTripleStore) sail).getInferenceEngine().refreshGraph();
resultHandler.resetCount();
query = "select ?p { GRAPH <http://updated/test> {<urn:paulGreatGrandfather> <urn:greatGrandfather> ?p}}";
resultHandler = new CountingResultHandler();
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
resultHandler.resetCount();
query = "select ?s ?p { GRAPH <http://updated/test> {?s <urn:grandfather> ?p}}";
resultHandler = new CountingResultHandler();
tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
tupleQuery.evaluate(resultHandler);
log.info("Result count : " + resultHandler.getCount());
}
Aggregations