Search in sources :

Example 66 with URI

use of org.openrdf.model.URI in project blueprints by tinkerpop.

the class SailTest method testSailConnectionListeners.

// listeners ///////////////////////////////////////////////////////////////
// (disabled for Sails which do not implement NotifyingSail)
@Test
public void testSailConnectionListeners() throws Exception {
    if (sail instanceof NotifyingSail) {
        URI uriA = sail.getValueFactory().createURI("http://example.org/uriA");
        URI uriB = sail.getValueFactory().createURI("http://example.org/uriB");
        URI uriC = sail.getValueFactory().createURI("http://example.org/uriC");
        TestListener listener1 = new TestListener(), listener2 = new TestListener();
        NotifyingSailConnection sc = ((NotifyingSail) sail).getConnection();
        try {
            sc.begin();
            sc.clear();
            sc.commit();
            sc.begin();
            // Add a listener and add statements
            sc.addConnectionListener(listener1);
            sc.addStatement(uriA, uriB, uriC, uriA);
            sc.addStatement(uriB, uriC, uriA, uriA);
            sc.commit();
            sc.begin();
            // Add another listener and remove a statement
            sc.addConnectionListener(listener2);
            sc.removeStatements(uriA, null, null);
            sc.commit();
            sc.begin();
            assertEquals(2, listener1.getAdded());
            assertEquals(0, listener2.getAdded());
            assertEquals(1, listener1.getRemoved());
            assertEquals(1, listener2.getRemoved());
            // Remove a listener and clear
            sc.removeConnectionListener(listener1);
            sc.clear();
            sc.commit();
            sc.begin();
            assertEquals(1, listener1.getRemoved());
            assertEquals(2, listener2.getRemoved());
        } finally {
            sc.rollback();
            sc.close();
        }
    }
}
Also used : NotifyingSail(org.openrdf.sail.NotifyingSail) NotifyingSailConnection(org.openrdf.sail.NotifyingSailConnection) URI(org.openrdf.model.URI) Test(org.junit.Test)

Example 67 with URI

use of org.openrdf.model.URI in project blueprints by tinkerpop.

the class SailTest method testSize.

@Test
public void testSize() throws Exception {
    URI uriA = sail.getValueFactory().createURI("http://example.org/uriA");
    URI uriB = sail.getValueFactory().createURI("http://example.org/uriB");
    URI uriC = sail.getValueFactory().createURI("http://example.org/uriC");
    SailConnection sc = sail.getConnection();
    try {
        sc.begin();
        sc.removeStatements(null, null, null);
        assertEquals(0L, sc.size());
        sc.addStatement(uriA, uriB, uriC, uriA);
        // sc.commit();
        assertEquals(1L, sc.size());
        sc.addStatement(uriA, uriB, uriC, uriB);
        // sc.commit();
        assertEquals(2L, sc.size());
        sc.addStatement(uriB, uriB, uriC, uriB);
        // sc.commit();
        assertEquals(3L, sc.size());
        sc.addStatement(uriC, uriB, uriA);
        // sc.commit();
        assertEquals(4L, sc.size());
        assertEquals(1L, sc.size(uriA));
        assertEquals(2L, sc.size(uriB));
        assertEquals(0L, sc.size(uriC));
        assertEquals(1L, sc.size((URI) null));
        assertEquals(3L, sc.size(uriB, null));
        assertEquals(3L, sc.size(uriB, uriC, null));
        assertEquals(4L, sc.size(uriA, uriB, null));
        assertEquals(4L, sc.size(uriA, uriB, uriC, null));
        assertEquals(3L, sc.size(uriA, uriB));
        sc.commit();
    } finally {
        sc.rollback();
        sc.close();
    }
}
Also used : NotifyingSailConnection(org.openrdf.sail.NotifyingSailConnection) SailConnection(org.openrdf.sail.SailConnection) URI(org.openrdf.model.URI) Test(org.junit.Test)

Example 68 with URI

use of org.openrdf.model.URI in project blueprints by tinkerpop.

the class SailTest method testJoins.

@Test
public void testJoins() throws Exception {
    SPARQLParser parser = new SPARQLParser();
    BindingSet bindings = new EmptyBindingSet();
    String baseURI = "http://example.org/bogus/";
    SailConnection sc = sail.getConnection();
    try {
        CloseableIteration<? extends BindingSet, QueryEvaluationException> results;
        int count;
        String queryStr = "PREFIX : <urn:com.tinkerpop.blueprints.pgm.oupls.sail.test/>\n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" + "SELECT ?foaf WHERE {\n" + "    :ford foaf:knows ?friend .\n" + "    ?friend foaf:knows ?foaf .\n" + "}";
        ParsedQuery query = parser.parseQuery(queryStr, baseURI);
        results = sc.evaluate(query.getTupleExpr(), query.getDataset(), bindings, false);
        count = 0;
        while (results.hasNext()) {
            count++;
            BindingSet set = results.next();
            URI foaf = (URI) set.getValue("foaf");
            assertTrue(foaf.stringValue().startsWith("urn:com.tinkerpop.blueprints.pgm.oupls.sail.test/"));
        }
        results.close();
        assertEquals(4, count);
    } finally {
        sc.rollback();
        sc.close();
    }
}
Also used : BindingSet(org.openrdf.query.BindingSet) EmptyBindingSet(org.openrdf.query.impl.EmptyBindingSet) SPARQLParser(org.openrdf.query.parser.sparql.SPARQLParser) EmptyBindingSet(org.openrdf.query.impl.EmptyBindingSet) NotifyingSailConnection(org.openrdf.sail.NotifyingSailConnection) SailConnection(org.openrdf.sail.SailConnection) QueryEvaluationException(org.openrdf.query.QueryEvaluationException) ParsedQuery(org.openrdf.query.parser.ParsedQuery) URI(org.openrdf.model.URI) Test(org.junit.Test)

Example 69 with URI

use of org.openrdf.model.URI in project blueprints by tinkerpop.

the class SailTest method testInference.

// inference ////////////////////////////////////////////////////////////////
public void testInference() throws Exception {
    if (null != inferencer) {
        URI uriA = sail.getValueFactory().createURI("http://example.org/uriA");
        URI uriB = sail.getValueFactory().createURI("http://example.org/uriB");
        URI classX = sail.getValueFactory().createURI("http://example.org/classX");
        URI classY = sail.getValueFactory().createURI("http://example.org/classY");
        SailConnection sc = inferencer.getConnection();
        try {
            sc.clear();
            sc.addStatement(classX, RDFS.SUBCLASSOF, classY);
            sc.addStatement(uriA, RDF.TYPE, classX);
            sc.addStatement(uriB, RDF.TYPE, classY);
            sc.commit();
            //showStatements(sc, uriA, RDF.TYPE, null);
            assertEquals(3, countStatements(sc, uriA, RDF.TYPE, null, true));
            assertEquals(1, countStatements(sc, uriA, RDF.TYPE, null, false));
            assertEquals(2, countStatements(sc, uriB, RDF.TYPE, null, true));
            assertEquals(1, countStatements(sc, uriB, RDF.TYPE, null, false));
            if (uniqueStatements) {
                sc.addStatement(uriA, RDF.TYPE, classY);
                sc.commit();
                //showStatements(sc, uriA, RDF.TYPE, null);
                assertEquals(3, countStatements(sc, uriA, RDF.TYPE, null, true));
                assertEquals(2, countStatements(sc, uriA, RDF.TYPE, null, false));
                sc.removeStatements(uriA, RDF.TYPE, classY);
                sc.commit();
                assertEquals(3, countStatements(sc, uriA, RDF.TYPE, null, true));
                assertEquals(2, countStatements(sc, uriA, RDF.TYPE, null, false));
            //sc.removeStatements(uriA, RDF.TYPE, classX);
            //sc.commit();
            //assertEquals(1, countStatements(sc, uriA, RDF.TYPE, null));
            }
        } finally {
            sc.rollback();
            sc.close();
        }
    }
}
Also used : NotifyingSailConnection(org.openrdf.sail.NotifyingSailConnection) SailConnection(org.openrdf.sail.SailConnection) URI(org.openrdf.model.URI)

Example 70 with URI

use of org.openrdf.model.URI in project blueprints by tinkerpop.

the class SailTest method testClear.

@Test
public void testClear() throws Exception {
    URI uriA = sail.getValueFactory().createURI("http://example.org/uriA");
    URI uriB = sail.getValueFactory().createURI("http://example.org/uriB");
    URI uriC = sail.getValueFactory().createURI("http://example.org/uriC");
    SailConnection sc = sail.getConnection();
    try {
        sc.begin();
        sc.clear();
        assertEquals(0L, sc.size());
        sc.addStatement(uriA, uriB, uriC, uriA);
        sc.addStatement(uriC, uriA, uriB, uriA);
        sc.addStatement(uriB, uriC, uriA, uriA);
        assertEquals(3L, sc.size(uriA));
        sc.addStatement(uriA, uriB, uriC, uriB);
        sc.addStatement(uriB, uriC, uriA, uriB);
        assertEquals(2L, sc.size(uriB));
        sc.addStatement(uriA, uriB, uriC);
        assertEquals(1L, sc.size((Resource) null));
        sc.addStatement(uriA, uriB, uriC, uriC);
        sc.addStatement(uriB, uriC, uriA, uriC);
        sc.addStatement(uriC, uriA, uriB, uriC);
        sc.addStatement(uriA, uriB, uriB, uriC);
        assertEquals(4L, sc.size(uriC));
        assertEquals(10L, sc.size());
        sc.clear(uriA, uriC);
        assertEquals(1L, sc.size((Resource) null));
        assertEquals(0L, sc.size(uriA));
        assertEquals(2L, sc.size(uriB));
        assertEquals(0L, sc.size(uriC));
        assertEquals(3L, sc.size());
        sc.clear();
        assertEquals(0L, sc.size());
        sc.commit();
    } finally {
        sc.rollback();
        sc.close();
    }
}
Also used : NotifyingSailConnection(org.openrdf.sail.NotifyingSailConnection) SailConnection(org.openrdf.sail.SailConnection) Resource(org.openrdf.model.Resource) URI(org.openrdf.model.URI) Test(org.junit.Test)

Aggregations

URI (org.openrdf.model.URI)111 Test (org.junit.Test)28 SailConnection (org.openrdf.sail.SailConnection)25 Value (org.openrdf.model.Value)22 Statement (org.openrdf.model.Statement)21 NotifyingSailConnection (org.openrdf.sail.NotifyingSailConnection)21 Resource (org.openrdf.model.Resource)20 Literal (org.openrdf.model.Literal)14 ValueFactory (org.openrdf.model.ValueFactory)12 RepositoryException (org.openrdf.repository.RepositoryException)11 SailException (org.openrdf.sail.SailException)10 ShineRuntimeException (com.thoughtworks.studios.shine.ShineRuntimeException)8 Vertex (com.tinkerpop.blueprints.Vertex)7 HashSet (java.util.HashSet)7 Representation (org.apache.stanbol.entityhub.servicesapi.model.Representation)7 Model (org.openrdf.model.Model)7 URIImpl (org.openrdf.model.impl.URIImpl)7 Edge (com.tinkerpop.blueprints.Edge)6 BNode (org.openrdf.model.BNode)6 QueryEvaluationException (org.openrdf.query.QueryEvaluationException)6