Search in sources :

Example 1 with P_Seq

use of org.apache.jena.sparql.path.P_Seq in project jena by apache.

the class WhereClauseTest method testAddOptionalStringWithPath.

@ContractTest
public void testAddOptionalStringWithPath() {
    WhereClause<?> whereClause = getProducer().newInstance();
    AbstractQueryBuilder<?> builder = whereClause.addOptional("<one>", "<two>/<dos>", "three");
    Path path = new P_Seq(new P_Link(NodeFactory.createURI("two")), new P_Link(NodeFactory.createURI("dos")));
    ElementPathBlock epb = new ElementPathBlock();
    ElementOptional optional = new ElementOptional(epb);
    TriplePath tp = new TriplePath(NodeFactory.createURI("one"), path, NodeFactory.createLiteral("three"));
    epb.addTriplePath(tp);
    WhereValidator visitor = new WhereValidator(optional);
    builder.build().getQueryPattern().visit(visitor);
    assertTrue(visitor.matching);
}
Also used : TriplePath(org.apache.jena.sparql.core.TriplePath) Path(org.apache.jena.sparql.path.Path) P_Seq(org.apache.jena.sparql.path.P_Seq) ElementOptional(org.apache.jena.sparql.syntax.ElementOptional) WhereValidator(org.apache.jena.arq.querybuilder.WhereValidator) P_Link(org.apache.jena.sparql.path.P_Link) TriplePath(org.apache.jena.sparql.core.TriplePath) ElementPathBlock(org.apache.jena.sparql.syntax.ElementPathBlock) ContractTest(org.xenei.junit.contract.ContractTest)

Example 2 with P_Seq

use of org.apache.jena.sparql.path.P_Seq in project jena by apache.

the class PathRewriter method visit.

@Override
public void visit(P_Seq pathSeq) {
    pathSeq.getRight().visit(this);
    pathSeq.getLeft().visit(this);
    push(new P_Seq(pop(), pop()));
}
Also used : P_Seq(org.apache.jena.sparql.path.P_Seq)

Aggregations

P_Seq (org.apache.jena.sparql.path.P_Seq)2 WhereValidator (org.apache.jena.arq.querybuilder.WhereValidator)1 TriplePath (org.apache.jena.sparql.core.TriplePath)1 P_Link (org.apache.jena.sparql.path.P_Link)1 Path (org.apache.jena.sparql.path.Path)1 ElementOptional (org.apache.jena.sparql.syntax.ElementOptional)1 ElementPathBlock (org.apache.jena.sparql.syntax.ElementPathBlock)1 ContractTest (org.xenei.junit.contract.ContractTest)1