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();
}
}
}
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();
}
}
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();
}
}
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();
}
}
}
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();
}
}
Aggregations