use of org.apache.jena.arq.querybuilder.WhereValidator in project jena by apache.
the class WhereHandlerTest method testAddValueRow_pfx_collection.
@Test
public void testAddValueRow_pfx_collection() {
final Var v = Var.alloc("v");
final Var x = Var.alloc("x");
handler.addValueVar(query.getPrefixMapping(), v);
handler.addValueVar(query.getPrefixMapping(), x);
handler.addValueRow(query.getPrefixMapping(), Arrays.asList("<one>", "three"));
handler.addValueRow(query.getPrefixMapping(), Arrays.asList("<two>", "four"));
handler.build();
ElementData edat = new ElementData();
edat.add(v);
edat.add(x);
setupBindings(edat, x, v);
WhereValidator visitor = new WhereValidator(edat);
query.getQueryPattern().visit(visitor);
assertTrue(visitor.matching);
}
use of org.apache.jena.arq.querybuilder.WhereValidator in project jena by apache.
the class WhereHandlerTest method testMakeSubQueryFromAsk.
@Test
public void testMakeSubQueryFromAsk() {
AbstractQueryBuilder<?> sb = new AskBuilder().addWhere("?x", RDF.type, RDF.Alt);
ElementSubQuery esq = handler.makeSubQuery(sb);
Triple t1 = new Triple(NodeFactory.createVariable("x"), RDF.type.asNode(), RDF.Alt.asNode());
TriplePath tp = new TriplePath(t1);
ElementPathBlock epb = new ElementPathBlock();
epb.addTriple(tp);
Query q = new Query();
q.setQuerySelectType();
q.setQueryResultStar(true);
q.setQueryPattern(epb);
ElementSubQuery esq2 = new ElementSubQuery(q);
WhereValidator wv = new WhereValidator(esq2);
esq.visit(wv);
assertTrue(wv.matching);
}
use of org.apache.jena.arq.querybuilder.WhereValidator in project jena by apache.
the class ValuesHandlerTest method testAsElement.
@Test
public void testAsElement() {
final Var v = Var.alloc("v");
final Var x = Var.alloc("x");
final Node one = NodeFactory.createURI("one");
final Node two = NodeFactory.createURI("two");
final Node three = NodeFactory.createLiteral("three");
final Node four = NodeFactory.createLiteral("four");
handler.addValueVar(v, Arrays.asList(one, two));
handler.addValueVar(x, Arrays.asList(three, four));
ElementData edat = new ElementData();
edat.add(v);
edat.add(x);
Binding binding1 = BindingFactory.binding(v, NodeFactory.createURI("one"), x, NodeFactory.createLiteral("three"));
edat.add(binding1);
Binding binding2 = BindingFactory.binding(v, NodeFactory.createURI("two"), x, NodeFactory.createLiteral("four"));
edat.add(binding2);
WhereValidator visitor = new WhereValidator(edat);
handler.asElement().visit(visitor);
assertTrue(visitor.matching);
}
use of org.apache.jena.arq.querybuilder.WhereValidator in project jena by apache.
the class WhereHandlerTest method testAddWhereStrings.
@Test
public void testAddWhereStrings() {
handler.addWhere(new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three"))));
handler.build();
ElementPathBlock epb = new ElementPathBlock();
TriplePath tp = new TriplePath(new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createURI("three")));
epb.addTriplePath(tp);
WhereValidator visitor = new WhereValidator(epb);
handler.getQueryPattern().visit(visitor);
assertTrue(visitor.matching);
}
use of org.apache.jena.arq.querybuilder.WhereValidator in project jena by apache.
the class WhereHandlerTest method testBindStringVar.
@Test
public void testBindStringVar() throws ParseException {
Var v = Var.alloc("foo");
handler.addBind("rand()", v);
handler.build();
ElementBind bind = new ElementBind(Var.alloc("foo"), new E_Random());
WhereValidator visitor = new WhereValidator(bind);
handler.getQueryPattern().visit(visitor);
assertTrue(visitor.matching);
}
Aggregations