Search in sources :

Example 26 with Update

use of org.openrdf.query.Update in project incubator-rya by apache.

the class MongoIndexerDeleteIT method deleteTest.

@Test
public void deleteTest() throws Exception {
    final Sail sail = GeoRyaSailFactory.getInstance(conf);
    final SailRepositoryConnection conn = new SailRepository(sail).getConnection();
    try {
        populateRya(conn);
        final MongoClient client = conf.getMongoClient();
        // The extra 1 is from the person type defined in freetext
        assertEquals(8, client.getDatabase(conf.getMongoDBName()).getCollection(conf.getTriplesCollectionName()).count());
        assertEquals(4, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_geo").count());
        assertEquals(1, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_temporal").count());
        assertEquals(2, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_freetext").count());
        // free text -- remove one from many
        String delete = // 
        "DELETE DATA \n" + "{\n" + "  <urn:people> <http://www.w3.org/2000/01/rdf-schema#label> \"Alice Palace Hose\" " + "}";
        Update update = conn.prepareUpdate(QueryLanguage.SPARQL, delete);
        update.execute();
        // temporal -- remove one from one
        delete = // 
        "DELETE DATA \n" + "{\n" + "  <foo:time> <Property:atTime> \"0001-02-03T04:05:06Z\" " + "}";
        update = conn.prepareUpdate(QueryLanguage.SPARQL, delete);
        update.execute();
        // geo -- remove many from many
        delete = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + // 
        "DELETE \n" + "{\n" + "  <urn:geo> geo:asWKT ?point \n" + "}" + "WHERE { \n" + "  <urn:geo> geo:asWKT ?point .\n" + "  FILTER(geof:sfWithin(?point, \"POLYGON((0 0, 2 0, 2 1, 0 1, 0 0))\"^^geo:wktLiteral))" + "}";
        update = conn.prepareUpdate(QueryLanguage.SPARQL, delete);
        update.execute();
        assertEquals(2, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_geo").count());
        assertEquals(0, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_temporal").count());
        assertEquals(1, client.getDatabase(conf.getMongoDBName()).getCollection("ryatest_freetext").count());
        assertEquals(4, client.getDatabase(conf.getMongoDBName()).getCollection(conf.getTriplesCollectionName()).count());
    } finally {
        conn.close();
        sail.shutDown();
    }
}
Also used : MongoClient(com.mongodb.MongoClient) SailRepository(org.openrdf.repository.sail.SailRepository) Sail(org.openrdf.sail.Sail) SailRepositoryConnection(org.openrdf.repository.sail.SailRepositoryConnection) Update(org.openrdf.query.Update) Test(org.junit.Test)

Example 27 with Update

use of org.openrdf.query.Update in project incubator-rya by apache.

the class PropertyChainTest method testGraphConfiguration.

@Test
public void testGraphConfiguration() throws Exception {
    // build a connection
    RdfCloudTripleStore store = new RdfCloudTripleStore();
    store.setConf(conf);
    store.setRyaDAO(ryaDAO);
    InferenceEngine inferenceEngine = new InferenceEngine();
    inferenceEngine.setRyaDAO(ryaDAO);
    store.setInferenceEngine(inferenceEngine);
    inferenceEngine.refreshGraph();
    store.initialize();
    SailRepository repository = new SailRepository(store);
    SailRepositoryConnection conn = repository.getConnection();
    String query = // 
    "INSERT DATA\n" + // 
    "{ GRAPH <http://updated/test> {\n" + "  <urn:greatMother> owl:propertyChainAxiom <urn:12342>  . " + " <urn:12342> <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:node1atjakcvbx15023 . " + " _:node1atjakcvbx15023 <http://www.w3.org/2002/07/owl#inverseOf> <urn:isChildOf> . " + " <urn:12342> <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:node1atjakcvbx15123 . " + " _:node1atjakcvbx15123 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> . " + " _:node1atjakcvbx15123 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <urn:MotherOf> .  }}";
    Update update = conn.prepareUpdate(QueryLanguage.SPARQL, query);
    update.execute();
    inferenceEngine.refreshGraph();
    List<URI> chain = inferenceEngine.getPropertyChain(vf.createURI("urn:greatMother"));
    Assert.assertEquals(chain.size(), 2);
    Assert.assertEquals(chain.get(0), new InverseURI(vf.createURI("urn:isChildOf")));
    Assert.assertEquals(chain.get(1), vf.createURI("urn:MotherOf"));
}
Also used : RdfCloudTripleStore(org.apache.rya.rdftriplestore.RdfCloudTripleStore) InferenceEngine(org.apache.rya.rdftriplestore.inference.InferenceEngine) SailRepository(org.openrdf.repository.sail.SailRepository) InverseURI(org.apache.rya.rdftriplestore.inference.InverseURI) SailRepositoryConnection(org.openrdf.repository.sail.SailRepositoryConnection) Update(org.openrdf.query.Update) URI(org.openrdf.model.URI) InverseURI(org.apache.rya.rdftriplestore.inference.InverseURI) Test(org.junit.Test)

Example 28 with Update

use of org.openrdf.query.Update in project incubator-rya by apache.

the class RdfCloudTripleStoreConnectionTest method testInsertDeleteData.

public void testInsertDeleteData() throws Exception {
    RepositoryConnection conn = repository.getConnection();
    String insert = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "INSERT DATA\n" + "{ <http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}";
    Update update = conn.prepareUpdate(QueryLanguage.SPARQL, insert);
    update.execute();
    String query = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "select * where { <http://example/book3> ?p ?o. }";
    TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
    CountTupleHandler tupleHandler = new CountTupleHandler();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(2, tupleHandler.getCount());
    String delete = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "\n" + "DELETE DATA\n" + "{ <http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}";
    update = conn.prepareUpdate(QueryLanguage.SPARQL, delete);
    update.execute();
    query = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "select * where { <http://example/book3> ?p ?o. }";
    tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
    tupleHandler = new CountTupleHandler();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(0, tupleHandler.getCount());
    conn.close();
}
Also used : RepositoryConnection(org.openrdf.repository.RepositoryConnection) TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 29 with Update

use of org.openrdf.query.Update in project incubator-rya by apache.

the class RdfCloudTripleStoreConnectionTest method testClearAllGraph.

public void testClearAllGraph() throws Exception {
    RepositoryConnection conn = repository.getConnection();
    String insert = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "PREFIX ex: <http://example/addresses#>\n" + "INSERT DATA\n" + "{ GRAPH ex:G1 {\n" + "<http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}\n" + "}";
    Update update = conn.prepareUpdate(QueryLanguage.SPARQL, insert);
    update.execute();
    insert = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "PREFIX ex: <http://example/addresses#>\n" + "INSERT DATA\n" + "{ GRAPH ex:G2 {\n" + "<http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}\n" + "}";
    update = conn.prepareUpdate(QueryLanguage.SPARQL, insert);
    update.execute();
    String query = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "select * where { <http://example/book3> ?p ?o. }";
    TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
    CountTupleHandler tupleHandler = new CountTupleHandler();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(4, tupleHandler.getCount());
    tupleHandler = new CountTupleHandler();
    conn.clear();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(0, tupleHandler.getCount());
    conn.close();
}
Also used : RepositoryConnection(org.openrdf.repository.RepositoryConnection) TupleQuery(org.openrdf.query.TupleQuery) Update(org.openrdf.query.Update)

Example 30 with Update

use of org.openrdf.query.Update in project incubator-rya by apache.

the class RdfCloudTripleStoreConnectionTest method testDropGraph.

public void testDropGraph() throws Exception {
    RepositoryConnection conn = repository.getConnection();
    String insert = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "PREFIX ex: <http://example/addresses#>\n" + "INSERT DATA\n" + "{ GRAPH ex:G1 {\n" + "<http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}\n" + "}";
    Update update = conn.prepareUpdate(QueryLanguage.SPARQL, insert);
    update.execute();
    insert = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "PREFIX ex: <http://example/addresses#>\n" + "INSERT DATA\n" + "{ GRAPH ex:G2 {\n" + "<http://example/book3> dc:title    \"A new book\" ;\n" + "                         dc:creator  \"A.N.Other\" .\n" + "}\n" + "}";
    update = conn.prepareUpdate(QueryLanguage.SPARQL, insert);
    update.execute();
    String query = "PREFIX dc: <http://purl.org/dc/elements/1.1/>\n" + "select * where { <http://example/book3> ?p ?o. }";
    TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, query);
    CountTupleHandler tupleHandler = new CountTupleHandler();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(4, tupleHandler.getCount());
    tupleHandler = new CountTupleHandler();
    String drop = "PREFIX ex: <http://example/addresses#>\n" + "DROP GRAPH ex:G2 ";
    update = conn.prepareUpdate(QueryLanguage.SPARQL, drop);
    update.execute();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(2, tupleHandler.getCount());
    tupleHandler = new CountTupleHandler();
    drop = "PREFIX ex: <http://example/addresses#>\n" + "DROP GRAPH ex:G1 ";
    update = conn.prepareUpdate(QueryLanguage.SPARQL, drop);
    update.execute();
    tupleQuery.evaluate(tupleHandler);
    assertEquals(0, tupleHandler.getCount());
    conn.close();
}
Also used : RepositoryConnection(org.openrdf.repository.RepositoryConnection) 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