use of org.openrdf.query.algebra.evaluation.QueryBindingSet in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContext2.
@Test
public void testContext2() 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), 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:cq1"), new RyaURI("uri:cf1"), new RyaURI("uri:" + i), 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 (serialize3 != null) {
Collection<Mutation> m6 = EntityCentricIndex.createMutations(rs6);
for (Mutation m : m6) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 ?Y3 " + //
"{" + //
" GRAPH <uri:joe> { " + //
"?Y1 <uri:cf1> ?X ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> ?Y3 ." + //
" } " + "}";
String q2 = //
"" + //
"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 7***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(5, 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 7***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(10, results);
adi.close();
}
use of org.openrdf.query.algebra.evaluation.QueryBindingSet in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testNoContextUnCommonVarBs2.
@Test
public void testNoContextUnCommonVarBs2() 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 6***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(3, results);
adi.close();
}
use of org.openrdf.query.algebra.evaluation.QueryBindingSet in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testNoContextCommonVarBs.
@Test
public void testNoContextCommonVarBs() 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 RyaType(XMLSchema.STRING, "cq1"));
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 " + //
"{" + //
"?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);
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 3***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(3, results);
adi.close();
}
use of org.openrdf.query.algebra.evaluation.QueryBindingSet in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContextConstantCommonVar.
@Test
public void testContextConstantCommonVar() 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 ?Y1 ?Y2 ?Y3 " + //
"{" + //
"<uri:5> <uri:cf1> ?Y1 ." + //
"<uri:5> <uri:cf2> ?Y2 ." + //
"<uri:5> <uri:cf3> ?Y3 ." + "}";
String q2 = //
"" + //
"SELECT ?Y1 ?Y2 ?Y3 " + //
"{" + //
" GRAPH <uri:hank> { " + //
"<uri:5> <uri:cf1> ?Y1 ." + //
"<uri:5> <uri:cf2> ?Y2 ." + //
"<uri:5> <uri:cf3> ?Y3 ." + //
" } " + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
TupleExpr te1 = pq1.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
String rowString = spList1.get(0).getSubjectVar().getValue().stringValue();
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);
// BatchScanner bs = accCon.createBatchScanner(tablename + "doc_partitioned_index", new Authorizations("U"), 15);
// bs.setRanges(Collections.singleton(new Range(rowString)));
// Iterator<Entry<Key,org.apache.accumulo.core.data.Value>> bsIt = bs.iterator();
// while(bsIt.hasNext()) {
// String otherRowString = bsIt.next().getKey().getRow().toString();
// if(rowString.equals(otherRowString)) {
// System.out.println(otherRowString);
// }
//
// }
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
System.out.println("**********************TEST 14***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(2, 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 14***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(1, results);
adi.close();
}
use of org.openrdf.query.algebra.evaluation.QueryBindingSet in project incubator-rya by apache.
the class AccumuloIndexSetColumnVisibilityTest method init.
@BeforeClass
public static void init() throws AccumuloException, AccumuloSecurityException, PCJStorageException, IOException, InterruptedException, TableNotFoundException, AlreadyInitializedException, RyaDetailsRepositoryException {
// Setup the mini accumulo instance used by the test.
accumulo = startMiniAccumulo();
accumulo.getZooKeepers();
instance = accumulo.getInstanceName();
zooKeepers = accumulo.getZooKeepers();
conf = getConf();
accCon.securityOperations().changeUserAuthorizations("root", new Authorizations("U", "USA"));
// Initialize the Rya Details for the Rya instance.
initRyaDetails();
// Initialize a PCJ.
storage = new AccumuloPcjStorage(accCon, ryaInstanceName);
pcjId = storage.createPcj("SELECT ?name ?age " + "{" + "?name <http://hasAge> ?age ." + "?name <http://playsSport> \"Soccer\" " + "}");
// Store the PCJ's results.
pcjBs1 = new QueryBindingSet();
pcjBs1.addBinding("age", new NumericLiteralImpl(14, XMLSchema.INTEGER));
pcjBs1.addBinding("name", new URIImpl("http://Alice"));
pcjBs2 = new QueryBindingSet();
pcjBs2.addBinding("age", new NumericLiteralImpl(16, XMLSchema.INTEGER));
pcjBs2.addBinding("name", new URIImpl("http://Bob"));
final Set<VisibilityBindingSet> visBs = new HashSet<>();
for (final BindingSet bs : Sets.<BindingSet>newHashSet(pcjBs1, pcjBs2)) {
visBs.add(new VisibilityBindingSet(bs, "U|USA"));
}
storage.addResults(pcjId, visBs);
}
Aggregations