public class ExprLib extends Object
Constructor and Description |
---|
ExprLib() |
Modifier and Type | Method and Description |
---|---|
static Expr |
foldConstants(Expr expr)
Attempt to fold any sub-expressions of the Expr.
|
static boolean |
isAssignmentSafeEquality(Expr expr)
Decide whether an expression is safe for using a a graph substitution.
|
static boolean |
isAssignmentSafeEquality(Expr expr,
boolean graphHasStringEquality,
boolean graphHasNumercialValueEquality) |
static boolean |
isStable(Expr expr)
Some "functions" are non-deterministic (unstable) -
calling them with the same arguments
does not yields the same answer each time.
|
static Expr |
replaceAggregateByVariable(Expr expr)
transform an expression that may involve aggregates into one that just uses the variable for the aggregate
|
static ExprList |
replaceAggregateByVariable(ExprList exprs)
transform expressions that may involve aggregates into one that just uses the variable for the aggregate
|
public static Expr foldConstants(Expr expr)
expr
- public static Expr replaceAggregateByVariable(Expr expr)
public static ExprList replaceAggregateByVariable(ExprList exprs)
public static boolean isAssignmentSafeEquality(Expr expr)
public static boolean isAssignmentSafeEquality(Expr expr, boolean graphHasStringEquality, boolean graphHasNumercialValueEquality)
graphHasStringEquality
- True if the graph triple matching equates xsd:string and plain literalgraphHasNumercialValueEquality
- True if the graph triple matching equates numeric valuespublic static boolean isStable(Expr expr)
Licenced under the Apache License, Version 2.0