use of org.apache.rya.api.domain.RyaStatement in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testNoContext2.
@Test
public void testNoContext2() 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 2***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(5, results);
adi.close();
}
use of org.apache.rya.api.domain.RyaStatement in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContextUnCommonVarBs2.
@Test
public void testContextUnCommonVarBs2() 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 8***********************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(3, 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 8***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(6, results);
adi.close();
}
use of org.apache.rya.api.domain.RyaStatement in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testContextUnCommonVarBs1.
@Test
public void testContextUnCommonVarBs1() 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("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 11***********************");
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 11***********************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(2, results);
adi.close();
}
use of org.apache.rya.api.domain.RyaStatement in project incubator-rya by apache.
the class AccumuloDocIndexerTest method testNoContext1.
@Test
public void testNoContext1() 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 < 20; 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;
RyaStatement rs4 = null;
if (i == 5 || i == 15) {
rs3 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.INTEGER, Integer.toString(i)));
rs4 = new RyaStatement(new RyaURI("uri:" + i), new RyaURI("uri:cf3"), new RyaType(XMLSchema.STRING, 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;
Map<RdfCloudTripleStoreConstants.TABLE_LAYOUT, Collection<Mutation>> serialize4 = null;
if (rs3 != null) {
serialize3 = rtm.serialize(rs3);
}
if (rs4 != null) {
serialize4 = rtm.serialize(rs4);
}
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);
}
}
if (serialize4 != null) {
Collection<Mutation> m4 = EntityCentricIndex.createMutations(rs4);
for (Mutation m : m4) {
bw.addMutation(m);
}
}
}
String q1 = //
"" + //
"SELECT ?X ?Y1 ?Y2 " + //
"{" + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> 5 ." + "}";
String q2 = //
"" + //
"SELECT ?X ?Y1 ?Y2 " + //
"{" + //
"?X <uri:cf1> ?Y1 ." + //
"?X <uri:cf2> ?Y2 ." + //
"?X <uri:cf3> \"15\" ." + "}";
SPARQLParser parser = new SPARQLParser();
ParsedQuery pq1 = parser.parseQuery(q1, null);
ParsedQuery pq2 = parser.parseQuery(q2, null);
TupleExpr te1 = pq1.getTupleExpr();
TupleExpr te2 = pq2.getTupleExpr();
List<StatementPattern> spList1 = StatementPatternCollector.process(te1);
List<StatementPattern> spList2 = StatementPatternCollector.process(te2);
StarQuery sq1 = new StarQuery(spList1);
StarQuery sq2 = new StarQuery(spList2);
AccumuloDocIdIndexer adi = new AccumuloDocIdIndexer(conf);
List<BindingSet> bsList = Lists.newArrayList();
CloseableIteration<BindingSet, QueryEvaluationException> sol1 = adi.queryDocIndex(sq1, bsList);
CloseableIteration<BindingSet, QueryEvaluationException> sol2 = adi.queryDocIndex(sq2, bsList);
System.out.println("******************Test 1************************");
int results = 0;
while (sol1.hasNext()) {
System.out.println(sol1.next());
results++;
}
Assert.assertEquals(1, results);
System.out.println("************************************************");
results = 0;
while (sol2.hasNext()) {
System.out.println(sol2.next());
results++;
}
Assert.assertEquals(1, results);
adi.close();
}
use of org.apache.rya.api.domain.RyaStatement in project incubator-rya by apache.
the class AccumuloFreeTextIndexerTest method testRestrictPredicatesSearch.
@Test
public void testRestrictPredicatesSearch() throws Exception {
conf.setStrings(ConfigUtils.FREETEXT_PREDICATES_LIST, "pred:1,pred:2");
try (AccumuloFreeTextIndexer f = new AccumuloFreeTextIndexer()) {
f.setConf(conf);
f.setMultiTableBatchWriter(ConfigUtils.createMultitableBatchWriter(conf));
f.init();
// These should not be stored because they are not in the predicate list
f.storeStatement(new RyaStatement(new RyaURI("foo:subj1"), new RyaURI(RDFS.LABEL.toString()), new RyaType("invalid")));
f.storeStatement(new RyaStatement(new RyaURI("foo:subj2"), new RyaURI(RDFS.COMMENT.toString()), new RyaType("invalid")));
RyaURI pred1 = new RyaURI("pred:1");
RyaURI pred2 = new RyaURI("pred:2");
// These should be stored because they are in the predicate list
RyaStatement s3 = new RyaStatement(new RyaURI("foo:subj3"), pred1, new RyaType("valid"));
RyaStatement s4 = new RyaStatement(new RyaURI("foo:subj4"), pred2, new RyaType("valid"));
f.storeStatement(s3);
f.storeStatement(s4);
// This should not be stored because the object is not a literal
f.storeStatement(new RyaStatement(new RyaURI("foo:subj5"), pred1, new RyaURI("in:valid")));
f.flush();
printTables(conf);
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryText("invalid", EMPTY_CONSTRAINTS)));
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryText("in:valid", EMPTY_CONSTRAINTS)));
Set<Statement> actual = getSet(f.queryText("valid", EMPTY_CONSTRAINTS));
Assert.assertEquals(2, actual.size());
Assert.assertTrue(actual.contains(RyaToRdfConversions.convertStatement(s3)));
Assert.assertTrue(actual.contains(RyaToRdfConversions.convertStatement(s4)));
}
}
Aggregations