use of org.openrdf.query.parser.sparql.SPARQLParser in project incubator-rya by apache.
the class MongoPcjIntegrationTest method testEvaluateThreeIndexValidate.
@Test
public void testEvaluateThreeIndexValidate() throws Exception {
final Sail nonPcjSail = RyaSailFactory.getInstance(conf);
final MongoDBRdfConfiguration pcjConf = conf.clone();
pcjConf.setBoolean(ConfigUtils.USE_PCJ, true);
final Sail pcjSail = RyaSailFactory.getInstance(pcjConf);
final SailRepositoryConnection conn = new SailRepository(nonPcjSail).getConnection();
final SailRepositoryConnection pcjConn = new SailRepository(pcjSail).getConnection();
addPCJS(pcjConn);
try {
final URI superclass = new URIImpl("uri:superclass");
final URI superclass2 = new URIImpl("uri:superclass2");
final URI howlsAt = new URIImpl("uri:howlsAt");
final URI subType = new URIImpl("uri:subType");
final URI superSuperclass = new URIImpl("uri:super_superclass");
conn.add(subclass, RDF.TYPE, superclass);
conn.add(subclass2, RDF.TYPE, superclass2);
conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
conn.add(sub, howlsAt, superclass);
conn.add(superclass, subType, superSuperclass);
final String indexSparqlString = //
"" + //
"SELECT ?dog ?pig ?duck " + //
"{" + //
" ?pig a ?dog . " + //
" ?pig <http://www.w3.org/2000/01/rdf-schema#label> ?duck " + //
"}";
final String indexSparqlString2 = //
"" + //
"SELECT ?o ?f ?e ?c ?l " + //
"{" + //
" ?e <uri:talksTo> ?o . " + //
" ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. " + //
" ?c a ?f . " + //
"}";
final String indexSparqlString3 = //
"" + //
"SELECT ?wolf ?sheep ?chicken " + //
"{" + //
" ?wolf <uri:howlsAt> ?sheep . " + //
" ?sheep <uri:subType> ?chicken. " + //
"}";
final String queryString = //
"" + //
"SELECT ?e ?c ?l ?f ?o " + //
"{" + //
" ?e a ?c . " + //
" ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. " + //
" ?e <uri:talksTo> ?o . " + //
" ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. " + //
" ?c a ?f . " + //
" ?e <uri:howlsAt> ?f. " + //
" ?f <uri:subType> ?o. " + //
"}";
PcjIntegrationTestingUtil.createAndPopulatePcj(conn, getMongoClient(), conf.getMongoDBName() + 1, conf.getRyaInstanceName(), indexSparqlString);
final MongoPcjQueryNode ais1 = new MongoPcjQueryNode(conf, conf.getMongoDBName() + 1);
PcjIntegrationTestingUtil.createAndPopulatePcj(conn, getMongoClient(), conf.getMongoDBName() + 2, conf.getRyaInstanceName(), indexSparqlString2);
final MongoPcjQueryNode ais2 = new MongoPcjQueryNode(conf, conf.getMongoDBName() + 2);
PcjIntegrationTestingUtil.createAndPopulatePcj(conn, getMongoClient(), conf.getMongoDBName() + 3, conf.getRyaInstanceName(), indexSparqlString3);
final MongoPcjQueryNode ais3 = new MongoPcjQueryNode(conf, conf.getMongoDBName() + 3);
final List<ExternalTupleSet> index = new ArrayList<>();
index.add(ais1);
index.add(ais3);
index.add(ais2);
ParsedQuery pq = null;
final SPARQLParser sp = new SPARQLParser();
pq = sp.parseQuery(queryString, null);
final List<TupleExpr> teList = Lists.newArrayList();
final TupleExpr te = pq.getTupleExpr();
final PCJOptimizer pcj = new PCJOptimizer(index, false, new MongoPcjIndexSetProvider(new StatefulMongoDBRdfConfiguration(conf, getMongoClient())));
pcj.optimize(te, null, null);
teList.add(te);
final IndexPlanValidator ipv = new IndexPlanValidator(false);
assertTrue(ipv.isValid(te));
} finally {
conn.close();
pcjConn.close();
nonPcjSail.shutDown();
pcjSail.shutDown();
}
}
use of org.openrdf.query.parser.sparql.SPARQLParser in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContextCommonVarBs1.
@Test
public void testContextCommonVarBs1() throws Exception {
BatchWriter bw = null;
RyaTableMutationsFactory rtm = new RyaTableMutationsFactory(RyaTripleContext.getInstance(conf));
bw = accCon.createBatchWriter(tableName, 500L * 1024L * 1024L, Long.MAX_VALUE, 30);
for (int i = 0; i < 30; i++) {
RyaStatement rs1 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:joe"));
RyaStatement rs2 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:joe"));
RyaStatement rs3 = null;
RyaStatement rs4 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:hank"));
RyaStatement rs5 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:hank"));
RyaStatement rs6 = null;
if (i == 5 || i == 10 || i == 15 || i == 20 || i == 25) {
rs3 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:joe"));
rs6 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:hank"));
}
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize1 = rtm.serialize(rs1);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize2 = rtm.serialize(rs2);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize3 = null;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize4 = rtm.serialize(rs4);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize5 = rtm.serialize(rs5);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize6 = null;
if (rs3 != null) {
serialize3 = rtm.serialize(rs3);
}
if (rs6 != null) {
serialize6 = rtm.serialize(rs6);
}
Collection<Mutation> m1 = EntityCentricIndex.createMutations(rs1);
for (Mutation m : m1) {
bw.addMutation(m);
}
Collection<Mutation> m2 = EntityCentricIndex.createMutations(rs2);
for (Mutation m : m2) {
bw.addMutation(m);
}
if (serialize3 != null) {
Collection<Mutation> m3 = EntityCentricIndex.createMutations(rs3);
for (Mutation m : m3) {
bw.addMutation(m);
}
}
Collection<Mutation> m4 = EntityCentricIndex.createMutations(rs4);
for (Mutation m : m4) {
bw.addMutation(m);
}
Collection<Mutation> m5 = EntityCentricIndex.createMutations(rs5);
for (Mutation m : m5) {
bw.addMutation(m);
}
if (serialize6 != null) {
Collection<Mutation> m6 = EntityCentricIndex.createMutations(rs6);
for (Mutation m : m6) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + "}";
String q2 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
" GRAPH <uri:hank> { " + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + //
" } " + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
TupleExpr te1 = pq1.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
Assert.assertTrue(StarQuery.isValidStarQuery(spList1));
StarQuery sq1 = new StarQuery(spList1);
AccumuloDocIdIndexer adi = new AccumuloDocIdIndexer(conf);
Value v1 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER, Integer.toString(5)));
Value v2 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER, Integer.toString(25)));
List<BindingSet> bsList = Lists.newArrayList();
QueryBindingSet b1 = (new QueryBindingSet());
b1.addBinding("X", vf.createURI("uri:5"));
QueryBindingSet b2 = (new QueryBindingSet());
b2.addBinding("X", vf.createURI("uri:15"));
QueryBindingSet b3 = (new QueryBindingSet());
b3.addBinding("X", vf.createURI("uri:25"));
bsList.add(b1);
bsList.add(b2);
bsList.add(b3);
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
System.out.println("**********************TEST 12***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(6, results);
ParsedQuery pq2 = parser.parseQuery(q2, null);
TupleExpr te2 = pq2.getTupleExpr();
List<StatementPattern> spList2 = StatementPatternCollector.process(te2);
Assert.assertTrue(StarQuery.isValidStarQuery(spList2));
StarQuery sq2 = new StarQuery(spList2);
CloseableIteration<BindingSet, QueryEvaluationException> sol2 = adi.queryDocIndex(sq2, bsList);
System.out.println("**********************TEST 12***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(3, results);
adi.close();
}
use of org.openrdf.query.parser.sparql.SPARQLParser in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testNoContextCommonVarBs2.
@Test
public void testNoContextCommonVarBs2() throws Exception {
BatchWriter bw = null;
RyaTableMutationsFactory rtm = new RyaTableMutationsFactory(RyaTripleContext.getInstance(conf));
bw = accCon.createBatchWriter(tableName, 500L * 1024L * 1024L, Long.MAX_VALUE, 30);
for (int i = 0; i < 30; i++) {
RyaStatement rs1 = new RyaStatement(new RyaURI("uri:cq1"), new RyaURI("uri:cf1"), new RyaURI("uri:" + i));
RyaStatement rs2 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"));
RyaStatement rs3 = null;
if (i == 5 || i == 10 || i == 15 || i == 20 || i == 25) {
rs3 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)));
}
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize1 = rtm.serialize(rs1);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize2 = rtm.serialize(rs2);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize3 = null;
if (rs3 != null) {
serialize3 = rtm.serialize(rs3);
}
Collection<Mutation> m1 = EntityCentricIndex.createMutations(rs1);
for (Mutation m : m1) {
bw.addMutation(m);
}
Collection<Mutation> m2 = EntityCentricIndex.createMutations(rs2);
for (Mutation m : m2) {
bw.addMutation(m);
}
if (serialize3 != null) {
Collection<Mutation> m3 = EntityCentricIndex.createMutations(rs3);
for (Mutation m : m3) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
"?Y1 <uri:cf1> ?X ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
TupleExpr te1 = pq1.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
Assert.assertTrue(StarQuery.isValidStarQuery(spList1));
StarQuery sq1 = new StarQuery(spList1);
AccumuloDocIdIndexer adi = new AccumuloDocIdIndexer(conf);
List<BindingSet> bsList = Lists.newArrayList();
QueryBindingSet b1 = (new QueryBindingSet());
b1.addBinding("X", vf.createURI("uri:5"));
QueryBindingSet b2 = (new QueryBindingSet());
b2.addBinding("X", vf.createURI("uri:15"));
QueryBindingSet b3 = (new QueryBindingSet());
b3.addBinding("X", vf.createURI("uri:25"));
bsList.add(b1);
bsList.add(b2);
bsList.add(b3);
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
System.out.println("**********************TEST 5***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(3, results);
adi.close();
}
use of org.openrdf.query.parser.sparql.SPARQLParser in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContextCommonAndUnCommonVarBs1.
@Test
public void testContextCommonAndUnCommonVarBs1() throws Exception {
BatchWriter bw = null;
RyaTableMutationsFactory rtm = new RyaTableMutationsFactory(RyaTripleContext.getInstance(conf));
bw = accCon.createBatchWriter(tableName, 500L * 1024L * 1024L, Long.MAX_VALUE, 30);
for (int i = 0; i < 30; i++) {
RyaStatement rs1 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:joe"));
RyaStatement rs2 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:joe"));
RyaStatement rs3 = null;
RyaStatement rs4 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:hank"));
RyaStatement rs5 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:hank"));
RyaStatement rs6 = null;
RyaStatement rs7 = null;
RyaStatement rs8 = null;
if (i == 5 || i == 10 || i == 15 || i == 20 || i == 25) {
rs3 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:joe"));
rs6 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:hank"));
rs7 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(100 + i)), new RyaURI("uri:joe"));
rs8 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(100 + i)), new RyaURI("uri:hank"));
}
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize1 = rtm.serialize(rs1);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize2 = rtm.serialize(rs2);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize3 = null;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize4 = rtm.serialize(rs4);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize5 = rtm.serialize(rs5);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize6 = null;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize7 = null;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize8 = null;
if (rs3 != null) {
serialize3 = rtm.serialize(rs3);
}
if (rs6 != null) {
serialize6 = rtm.serialize(rs6);
}
if (rs7 != null) {
serialize7 = rtm.serialize(rs7);
}
if (rs8 != null) {
serialize8 = rtm.serialize(rs8);
}
Collection<Mutation> m1 = EntityCentricIndex.createMutations(rs1);
for (Mutation m : m1) {
bw.addMutation(m);
}
Collection<Mutation> m2 = EntityCentricIndex.createMutations(rs2);
for (Mutation m : m2) {
bw.addMutation(m);
}
if (serialize3 != null) {
Collection<Mutation> m3 = EntityCentricIndex.createMutations(rs3);
for (Mutation m : m3) {
bw.addMutation(m);
}
}
Collection<Mutation> m4 = EntityCentricIndex.createMutations(rs4);
for (Mutation m : m4) {
bw.addMutation(m);
}
Collection<Mutation> m5 = EntityCentricIndex.createMutations(rs5);
for (Mutation m : m5) {
bw.addMutation(m);
}
if (serialize6 != null) {
Collection<Mutation> m6 = EntityCentricIndex.createMutations(rs6);
for (Mutation m : m6) {
bw.addMutation(m);
}
}
if (serialize7 != null) {
Collection<Mutation> m7 = EntityCentricIndex.createMutations(rs7);
for (Mutation m : m7) {
bw.addMutation(m);
}
}
if (serialize8 != null) {
Collection<Mutation> m8 = EntityCentricIndex.createMutations(rs8);
for (Mutation m : m8) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + "}";
String q2 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
" GRAPH <uri:hank> { " + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + //
" } " + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
TupleExpr te1 = pq1.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
Assert.assertTrue(StarQuery.isValidStarQuery(spList1));
StarQuery sq1 = new StarQuery(spList1);
AccumuloDocIdIndexer adi = new AccumuloDocIdIndexer(conf);
Value v1 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER, Integer.toString(105)));
Value v2 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER, Integer.toString(125)));
List<BindingSet> bsList = Lists.newArrayList();
QueryBindingSet b1 = new QueryBindingSet();
b1.addBinding("X", vf.createURI("uri:5"));
b1.addBinding("Y3", v1);
QueryBindingSet b2 = new QueryBindingSet();
b2.addBinding("X", vf.createURI("uri:25"));
b2.addBinding("Y3", v2);
bsList.add(b1);
bsList.add(b2);
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
System.out.println("**********************TEST 13***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(4, results);
ParsedQuery pq2 = parser.parseQuery(q2, null);
TupleExpr te2 = pq2.getTupleExpr();
List<StatementPattern> spList2 = StatementPatternCollector.process(te2);
Assert.assertTrue(StarQuery.isValidStarQuery(spList2));
StarQuery sq2 = new StarQuery(spList2);
CloseableIteration<BindingSet, QueryEvaluationException> sol2 = adi.queryDocIndex(sq2, bsList);
System.out.println("**********************TEST 13***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(2, results);
adi.close();
}
use of org.openrdf.query.parser.sparql.SPARQLParser in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContext1.
@Test
public void testContext1() throws Exception {
BatchWriter bw = null;
RyaTableMutationsFactory rtm = new RyaTableMutationsFactory(RyaTripleContext.getInstance(conf));
bw = accCon.createBatchWriter(tableName, 500L * 1024L * 1024L, Long.MAX_VALUE, 30);
for (int i = 0; i < 30; i++) {
RyaStatement rs1 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:joe"));
RyaStatement rs2 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:joe"));
RyaStatement rs3 = null;
RyaStatement rs4 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf1"), new RyaURI("uri:cq1"), new RyaURI("uri:hank"));
RyaStatement rs5 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf2"), new RyaType(XMLSchema.STRING, "cq2"), new RyaURI("uri:hank"));
RyaStatement rs6 = null;
if (i == 5 || i == 10 || i == 15 || i == 20 || i == 25) {
rs3 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:joe"));
rs6 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)), new RyaURI("uri:hank"));
}
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize1 = rtm.serialize(rs1);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize2 = rtm.serialize(rs2);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize3 = null;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize4 = rtm.serialize(rs4);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize5 = rtm.serialize(rs5);
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize6 = null;
if (rs3 != null) {
serialize3 = rtm.serialize(rs3);
}
if (rs6 != null) {
serialize6 = rtm.serialize(rs6);
}
Collection<Mutation> m1 = EntityCentricIndex.createMutations(rs1);
for (Mutation m : m1) {
bw.addMutation(m);
}
Collection<Mutation> m2 = EntityCentricIndex.createMutations(rs2);
for (Mutation m : m2) {
bw.addMutation(m);
}
if (serialize3 != null) {
Collection<Mutation> m3 = EntityCentricIndex.createMutations(rs3);
for (Mutation m : m3) {
bw.addMutation(m);
}
}
Collection<Mutation> m4 = EntityCentricIndex.createMutations(rs4);
for (Mutation m : m4) {
bw.addMutation(m);
}
Collection<Mutation> m5 = EntityCentricIndex.createMutations(rs5);
for (Mutation m : m5) {
bw.addMutation(m);
}
if (serialize6 != null) {
Collection<Mutation> m6 = EntityCentricIndex.createMutations(rs6);
for (Mutation m : m6) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 " + //
"{" + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + "}";
String q2 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
" GRAPH <uri:hank> { " + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + //
" } " + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
TupleExpr te1 = pq1.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
Assert.assertTrue(StarQuery.isValidStarQuery(spList1));
StarQuery sq1 = new StarQuery(spList1);
AccumuloDocIdIndexer adi = new AccumuloDocIdIndexer(conf);
// Value v1 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER,Integer.toString(5)));
// Value v2 = RyaToRdfConversions.convertValue(new RyaType(XMLSchema.INTEGER,Integer.toString(25)));
List<BindingSet> bsList = Lists.newArrayList();
// QueryBindingSet b1 = (new QueryBindingSet());
// b1.addBinding("Y3", v1);
// QueryBindingSet b2 = (new QueryBindingSet());
// b2.addBinding("Y3", v2);
// bsList.add(b1);
// bsList.add(b2);
//
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
System.out.println("**********************TEST 10***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(10, results);
ParsedQuery pq2 = parser.parseQuery(q2, null);
TupleExpr te2 = pq2.getTupleExpr();
List<StatementPattern> spList2 = StatementPatternCollector.process(te2);
Assert.assertTrue(StarQuery.isValidStarQuery(spList2));
StarQuery sq2 = new StarQuery(spList2);
CloseableIteration<BindingSet, QueryEvaluationException> sol2 = adi.queryDocIndex(sq2, bsList);
System.out.println("**********************TEST 10***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(5, results);
adi.close();
}
Aggregations