Search in sources :

Example 16 with Update

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();
}
Also used : RepositoryConnection(org.openrdf.repository.RepositoryConnection) RdfCloudTripleStore(org.apache.rya.rdftriplestore.RdfCloudTripleStore) NamespaceManager(org.apache.rya.rdftriplestore.namespace.NamespaceManager) RyaSailRepository(org.apache.rya.rdftriplestore.RyaSailRepository) SailRepository(org.openrdf.repository.sail.SailRepository) TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 17 with Update

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);
}
Also used : TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 18 with Update

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);
}
Also used : TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 19 with Update

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);
}
Also used : TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 20 with Update

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());
}
Also used : TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Aggregations

Update (org.openrdf.query.Update)36 TupleQuery (org.openrdf.query.TupleQuery)33 RepositoryConnection (org.openrdf.repository.RepositoryConnection)6 SailRepository (org.openrdf.repository.sail.SailRepository)3 RdfCloudTripleStore (org.apache.rya.rdftriplestore.RdfCloudTripleStore)2 Test (org.junit.Test)2 SailRepositoryConnection (org.openrdf.repository.sail.SailRepositoryConnection)2 MongoClient (com.mongodb.MongoClient)1 RdfCloudTripleStoreConnection (org.apache.rya.rdftriplestore.RdfCloudTripleStoreConnection)1 RyaSailRepository (org.apache.rya.rdftriplestore.RyaSailRepository)1 InferenceEngine (org.apache.rya.rdftriplestore.inference.InferenceEngine)1 InverseURI (org.apache.rya.rdftriplestore.inference.InverseURI)1 NamespaceManager (org.apache.rya.rdftriplestore.namespace.NamespaceManager)1 URI (org.openrdf.model.URI)1 URIImpl (org.openrdf.model.impl.URIImpl)1 UpdateExecutionException (org.openrdf.query.UpdateExecutionException)1 ParsedUpdate (org.openrdf.query.parser.ParsedUpdate)1 Sail (org.openrdf.sail.Sail)1