Search in sources :

Example 1 with ElementSubQuery

use of org.apache.jena.sparql.syntax.ElementSubQuery in project jena by apache.

the class WhereHandlerTest method testMakeSubQueryFromSelectWithVar.

@Test
public void testMakeSubQueryFromSelectWithVar() {
    SelectBuilder sb = new SelectBuilder().addVar("?x").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.addResultVar(NodeFactory.createVariable("x"));
    q.setQueryPattern(epb);
    ElementSubQuery esq2 = new ElementSubQuery(q);
    WhereValidator wv = new WhereValidator(esq2);
    esq.visit(wv);
    assertTrue(wv.matching);
}
Also used : Triple(org.apache.jena.graph.Triple) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) Query(org.apache.jena.query.Query) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) TriplePath(org.apache.jena.sparql.core.TriplePath) SelectBuilder(org.apache.jena.arq.querybuilder.SelectBuilder) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) Test(org.junit.Test)

Example 2 with ElementSubQuery

use of org.apache.jena.sparql.syntax.ElementSubQuery in project jena by apache.

the class WhereHandlerTest method testMakeSubQueryFromWhere.

@Test
public void testMakeSubQueryFromWhere() {
    AbstractQueryBuilder<?> sb = new WhereBuilder().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);
}
Also used : Triple(org.apache.jena.graph.Triple) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) Query(org.apache.jena.query.Query) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) WhereBuilder(org.apache.jena.arq.querybuilder.WhereBuilder) TriplePath(org.apache.jena.sparql.core.TriplePath) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) Test(org.junit.Test)

Example 3 with ElementSubQuery

use of org.apache.jena.sparql.syntax.ElementSubQuery 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);
}
Also used : Triple(org.apache.jena.graph.Triple) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) Query(org.apache.jena.query.Query) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) TriplePath(org.apache.jena.sparql.core.TriplePath) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) AskBuilder(org.apache.jena.arq.querybuilder.AskBuilder) Test(org.junit.Test)

Example 4 with ElementSubQuery

use of org.apache.jena.sparql.syntax.ElementSubQuery in project jena by apache.

the class WhereHandlerTest method testAddSubQueryWithVarExpressions.

@Test
public void testAddSubQueryWithVarExpressions() throws ParseException {
    SelectBuilder sb = new SelectBuilder();
    sb.addPrefix("pfx", "uri").addVar("count(*)", "?x").addWhere("<one>", "<two>", "three");
    handler.addSubQuery(sb);
    handler.build();
    Triple t1 = new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createLiteral("three"));
    TriplePath tp = new TriplePath(t1);
    ElementPathBlock epb = new ElementPathBlock();
    epb.addTriple(tp);
    Query q = new Query();
    q.addResultVar("x", q.allocAggregate(new AggCount()));
    q.setQuerySelectType();
    q.setQueryPattern(epb);
    ElementSubQuery esq = new ElementSubQuery(q);
    WhereValidator wv = new WhereValidator(esq);
    query.getQueryPattern().visit(wv);
    assertTrue(wv.matching);
}
Also used : Triple(org.apache.jena.graph.Triple) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) Query(org.apache.jena.query.Query) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) TriplePath(org.apache.jena.sparql.core.TriplePath) AggCount(org.apache.jena.sparql.expr.aggregate.AggCount) SelectBuilder(org.apache.jena.arq.querybuilder.SelectBuilder) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) Test(org.junit.Test)

Example 5 with ElementSubQuery

use of org.apache.jena.sparql.syntax.ElementSubQuery in project jena by apache.

the class WhereHandlerTest method testAddSubQueryWithoutVars.

@Test
public void testAddSubQueryWithoutVars() {
    SelectBuilder sb = new SelectBuilder();
    sb.addPrefix("pfx", "uri").addWhere("<one>", "<two>", "three");
    handler.addSubQuery(sb);
    handler.build();
    Triple t1 = new Triple(NodeFactory.createURI("one"), NodeFactory.createURI("two"), NodeFactory.createLiteral("three"));
    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 esq = new ElementSubQuery(q);
    WhereValidator wv = new WhereValidator(esq);
    query.getQueryPattern().visit(wv);
    assertTrue(wv.matching);
}
Also used : Triple(org.apache.jena.graph.Triple) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) ElementSubQuery(org.apache.jena.sparql.syntax.ElementSubQuery) Query(org.apache.jena.query.Query) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) TriplePath(org.apache.jena.sparql.core.TriplePath) SelectBuilder(org.apache.jena.arq.querybuilder.SelectBuilder) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) Test(org.junit.Test)

Aggregations

Query (org.apache.jena.query.Query)19 ElementSubQuery (org.apache.jena.sparql.syntax.ElementSubQuery)19 WhereValidator (org.apache.jena.arq.querybuilder.WhereValidator)15 ElementPathBlock (org.apache.jena.sparql.syntax.ElementPathBlock)15 Triple (org.apache.jena.graph.Triple)14 TriplePath (org.apache.jena.sparql.core.TriplePath)13 SelectBuilder (org.apache.jena.arq.querybuilder.SelectBuilder)11 Test (org.junit.Test)11 ContractTest (org.xenei.junit.contract.ContractTest)4 FrontsTriple (org.apache.jena.graph.FrontsTriple)3 ElementUnion (org.apache.jena.sparql.syntax.ElementUnion)3 Var (org.apache.jena.sparql.core.Var)2 HttpClient (java.net.http.HttpClient)1 AskBuilder (org.apache.jena.arq.querybuilder.AskBuilder)1 ConstructBuilder (org.apache.jena.arq.querybuilder.ConstructBuilder)1 DescribeBuilder (org.apache.jena.arq.querybuilder.DescribeBuilder)1 WhereBuilder (org.apache.jena.arq.querybuilder.WhereBuilder)1 HttpException (org.apache.jena.atlas.web.HttpException)1 Node (org.apache.jena.graph.Node)1 RegistryHttpClient (org.apache.jena.http.RegistryHttpClient)1