use of org.openrdf.repository.sail.SailRepositoryConnection in project incubator-rya by apache.
the class MongoGeoIndexerFilterIT method tooManyArgumentsTest.
@Test(expected = QueryEvaluationException.class)
public void tooManyArgumentsTest() throws Exception {
final Sail sail = GeoRyaSailFactory.getInstance(conf);
final SailRepositoryConnection conn = new SailRepository(sail).getConnection();
try {
populateRya(conn);
// Only captial
final String query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, 100, 1000, 10))" + "}";
conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
} finally {
conn.close();
sail.shutDown();
}
}
use of org.openrdf.repository.sail.SailRepositoryConnection in project incubator-rya by apache.
the class MongoGeoIndexerFilterIT method near_negativeDistance.
@Test(expected = IllegalArgumentException.class)
public void near_negativeDistance() throws Exception {
final Sail sail = GeoRyaSailFactory.getInstance(conf);
final SailRepositoryConnection conn = new SailRepository(sail).getConnection();
try {
populateRya(conn);
// Only captial
final String query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, -100))" + "}";
final TupleQueryResult rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
while (rez.hasNext()) {
rez.next();
}
} finally {
conn.close();
sail.shutDown();
}
}
use of org.openrdf.repository.sail.SailRepositoryConnection in project incubator-rya by apache.
the class MongoGeoIndexerFilterIT method nearHappyUsesTest.
@Test
public void nearHappyUsesTest() throws Exception {
final Sail sail = GeoRyaSailFactory.getInstance(conf);
final SailRepositoryConnection conn = new SailRepository(sail).getConnection();
try {
populateRya(conn);
// Only captial
String query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, 0.0, 2000))" + "}";
TupleQueryResult rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
final List<BindingSet> results = new ArrayList<>();
while (rez.hasNext()) {
final BindingSet bs = rez.next();
results.add(bs);
}
assertEquals(1, results.size());
assertEquals(CAPITAL_BUILDING, bindingToGeo(results.get(0)));
// all but capital
query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, 2000))" + "}";
rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
results.clear();
while (rez.hasNext()) {
final BindingSet bs = rez.next();
results.add(bs);
}
assertEquals(3, results.size());
assertEquals(WASHINGTON_MONUMENT, bindingToGeo(results.get(0)));
assertEquals(WHITE_HOUSE, bindingToGeo(results.get(1)));
assertEquals(LINCOLN_MEMORIAL, bindingToGeo(results.get(2)));
// all of them
query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, 6000, 000))" + "}";
rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
results.clear();
while (rez.hasNext()) {
final BindingSet bs = rez.next();
results.add(bs);
}
assertEquals(4, results.size());
assertEquals(WASHINGTON_MONUMENT, bindingToGeo(results.get(0)));
assertEquals(WHITE_HOUSE, bindingToGeo(results.get(1)));
assertEquals(LINCOLN_MEMORIAL, bindingToGeo(results.get(2)));
assertEquals(CAPITAL_BUILDING, bindingToGeo(results.get(3)));
// donut, only 2
query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral, 2000, 100))" + "}";
rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
results.clear();
while (rez.hasNext()) {
final BindingSet bs = rez.next();
results.add(bs);
}
assertEquals(2, results.size());
assertEquals(WHITE_HOUSE, bindingToGeo(results.get(0)));
assertEquals(LINCOLN_MEMORIAL, bindingToGeo(results.get(1)));
// all of them
query = "PREFIX geo: <http://www.opengis.net/ont/geosparql#>\n" + "PREFIX geof: <http://www.opengis.net/def/function/geosparql/>\n" + //
"SELECT * \n" + "WHERE { \n" + " <urn:geo> geo:asWKT ?point .\n" + " FILTER(geof:sfNear(?point, \"POINT(38.8895 77.0353)\"^^geo:wktLiteral))" + "}";
rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate();
results.clear();
while (rez.hasNext()) {
final BindingSet bs = rez.next();
results.add(bs);
}
assertEquals(4, results.size());
assertEquals(WASHINGTON_MONUMENT, bindingToGeo(results.get(0)));
assertEquals(WHITE_HOUSE, bindingToGeo(results.get(1)));
assertEquals(LINCOLN_MEMORIAL, bindingToGeo(results.get(2)));
assertEquals(CAPITAL_BUILDING, bindingToGeo(results.get(3)));
} finally {
conn.close();
sail.shutDown();
}
}
use of org.openrdf.repository.sail.SailRepositoryConnection in project incubator-rya by apache.
the class MongoLoadStatements method loadStatements.
@Override
public void loadStatements(final String ryaInstanceName, final Iterable<? extends Statement> statements) throws InstanceDoesNotExistException, RyaClientException {
requireNonNull(ryaInstanceName);
requireNonNull(statements);
// Ensure the Rya Instance exists.
if (!instanceExists.exists(ryaInstanceName)) {
throw new InstanceDoesNotExistException(String.format("There is no Rya instance named '%s'.", ryaInstanceName));
}
Sail sail = null;
SailRepositoryConnection sailRepoConn = null;
try {
// Get a Sail object that is connected to the Rya instance.
final MongoDBRdfConfiguration ryaConf = connectionDetails.build(ryaInstanceName);
sail = RyaSailFactory.getInstance(ryaConf);
final SailRepository sailRepo = new SailRepository(sail);
sailRepoConn = sailRepo.getConnection();
// Load the statements.
sailRepoConn = sailRepo.getConnection();
sailRepoConn.add(statements);
} catch (SailException | RyaDAOException | InferenceEngineException | AccumuloException | AccumuloSecurityException e) {
throw new RyaClientException("Could not load statements into Rya because of a problem while creating the Sail object.", e);
} catch (final RepositoryException e) {
throw new RyaClientException("Could not load the statements into Rya.", e);
} finally {
// Close the resources that were opened.
if (sailRepoConn != null) {
try {
sailRepoConn.close();
} catch (final RepositoryException e) {
log.error("Couldn't close the SailRepositoryConnection object.", e);
}
}
if (sail != null) {
try {
sail.shutDown();
} catch (final SailException e) {
log.error("Couldn't close the Sail object.", e);
}
}
}
}
use of org.openrdf.repository.sail.SailRepositoryConnection in project incubator-rya by apache.
the class QueryIT method addStatementsAndWait.
private void addStatementsAndWait(final Collection<Statement> statements) throws RepositoryException, Exception {
// Write the data to Rya.
final SailRepositoryConnection ryaConn = super.getRyaSailRepository().getConnection();
ryaConn.begin();
ryaConn.add(statements);
ryaConn.commit();
ryaConn.close();
// Wait for the Fluo application to finish computing the end result.
super.getMiniFluo().waitForObservers();
}
Aggregations