Search in sources :

Example 31 with Expr

use of org.apache.jena.sparql.expr.Expr in project jena by apache.

the class AggGroupConcat method prefixGroupConcatString.

protected static String prefixGroupConcatString(boolean isDistinct, String separator, ExprList exprs) {
    IndentedLineBuffer x = new IndentedLineBuffer();
    x.append("(");
    x.append("group_concat");
    if (isDistinct)
        x.append(" distinct");
    if (separator != null) {
        String y = StrUtils.escapeString(separator);
        x.append("(separator '");
        x.append(y);
        x.append("')");
    }
    x.incIndent();
    for (Expr e : exprs) {
        x.append(" ");
        WriterExpr.output(x, e, null);
    }
    x.decIndent();
    x.append(")");
    return x.asString();
}
Also used : Expr(org.apache.jena.sparql.expr.Expr) WriterExpr(org.apache.jena.sparql.sse.writers.WriterExpr) IndentedLineBuffer(org.apache.jena.atlas.io.IndentedLineBuffer)

Example 32 with Expr

use of org.apache.jena.sparql.expr.Expr in project jena by apache.

the class TestUserDefinedFunctionFactory method test_user_defined_function_factory_add_03.

@Test
public void test_user_defined_function_factory_add_03() throws ParseException {
    Expr e = new E_Multiply(new ExprVar("x"), new ExprVar("x"));
    //Instead of registering the pre-built expression register using a string for the expression
    UserDefinedFunctionFactory.getFactory().add("http://example/square", "?x * ?x", new ArrayList<>(e.getVarsMentioned()));
    Assert.assertTrue(UserDefinedFunctionFactory.getFactory().isRegistered("http://example/square"));
    Assert.assertEquals(e, UserDefinedFunctionFactory.getFactory().get("http://example/square").getBaseExpr());
}
Also used : ExprVar(org.apache.jena.sparql.expr.ExprVar) Expr(org.apache.jena.sparql.expr.Expr) E_Multiply(org.apache.jena.sparql.expr.E_Multiply) Test(org.junit.Test)

Example 33 with Expr

use of org.apache.jena.sparql.expr.Expr in project jena by apache.

the class SelectClauseTest method testAddStringVar.

@ContractTest
public void testAddStringVar() throws Exception {
    SelectClause<?> selectClause = getProducer().newInstance();
    AbstractQueryBuilder<?> aqb = selectClause.addVar("rand()", Var.alloc("foo"));
    Query query = getQuery(aqb);
    VarExprList expr = query.getProject();
    assertEquals(1, expr.size());
    Expr e = expr.getExpr(Var.alloc("foo"));
    assertNotNull("expression should not be null", e);
    assertTrue("Should be an E_Random", e instanceof E_Random);
}
Also used : Query(org.apache.jena.query.Query) Expr(org.apache.jena.sparql.expr.Expr) E_Random(org.apache.jena.sparql.expr.E_Random) VarExprList(org.apache.jena.sparql.core.VarExprList) ContractTest(org.xenei.junit.contract.ContractTest)

Example 34 with Expr

use of org.apache.jena.sparql.expr.Expr in project jena by apache.

the class SelectClauseTest method testAddExprVar.

@ContractTest
public void testAddExprVar() throws Exception {
    SelectClause<?> selectClause = getProducer().newInstance();
    AbstractQueryBuilder<?> aqb = selectClause.addVar(new E_Random(), Var.alloc("foo"));
    Query query = getQuery(aqb);
    VarExprList expr = query.getProject();
    assertEquals(1, expr.size());
    Expr e = expr.getExpr(Var.alloc("foo"));
    assertNotNull("expression should not be null", e);
    assertTrue("Should be an E_Random", e instanceof E_Random);
}
Also used : Query(org.apache.jena.query.Query) Expr(org.apache.jena.sparql.expr.Expr) E_Random(org.apache.jena.sparql.expr.E_Random) VarExprList(org.apache.jena.sparql.core.VarExprList) ContractTest(org.xenei.junit.contract.ContractTest)

Example 35 with Expr

use of org.apache.jena.sparql.expr.Expr in project jena by apache.

the class SolutionModifierTest method testAddOrderByExprAscending.

@ContractTest
public void testAddOrderByExprAscending() {
    SolutionModifierClause<?> solutionModifier = getProducer().newInstance();
    Expr e = new E_Random();
    AbstractQueryBuilder<?> builder = solutionModifier.addOrderBy(e, Order.ASCENDING);
    assertContainsRegex(ORDER_BY + "ASC" + OPEN_PAREN + "rand" + OPEN_PAREN + CLOSE_PAREN + CLOSE_PAREN, builder.buildString());
    builder = solutionModifier.addOrderBy("bar");
    assertContainsRegex(ORDER_BY + "ASC" + OPEN_PAREN + "rand" + OPEN_PAREN + CLOSE_PAREN + CLOSE_PAREN + SPACE + var("bar"), builder.buildString());
}
Also used : Expr(org.apache.jena.sparql.expr.Expr) E_Random(org.apache.jena.sparql.expr.E_Random) ContractTest(org.xenei.junit.contract.ContractTest)

Aggregations

Expr (org.apache.jena.sparql.expr.Expr)82 Var (org.apache.jena.sparql.core.Var)28 ExprList (org.apache.jena.sparql.expr.ExprList)15 NodeValue (org.apache.jena.sparql.expr.NodeValue)15 Op (org.apache.jena.sparql.algebra.Op)13 ExprVar (org.apache.jena.sparql.expr.ExprVar)12 FunctionEnvBase (org.apache.jena.sparql.function.FunctionEnvBase)9 Test (org.junit.Test)9 VarExprList (org.apache.jena.sparql.core.VarExprList)8 Node (org.apache.jena.graph.Node)7 E_Random (org.apache.jena.sparql.expr.E_Random)7 ArrayList (java.util.ArrayList)5 Triple (org.apache.jena.graph.Triple)4 E_Multiply (org.apache.jena.sparql.expr.E_Multiply)4 E_Regex (org.apache.jena.sparql.expr.E_Regex)4 ContractTest (org.xenei.junit.contract.ContractTest)4 IndentedLineBuffer (org.apache.jena.atlas.io.IndentedLineBuffer)3 ExprAggregator (org.apache.jena.sparql.expr.ExprAggregator)3 InternalErrorException (org.apache.jena.atlas.lib.InternalErrorException)2 Query (org.apache.jena.query.Query)2