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();
}
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());
}
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);
}
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);
}
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());
}
Aggregations