Package org.aksw.jenax.arq.util.syntax
Class VarExprListUtils
java.lang.Object
org.aksw.jenax.arq.util.syntax.VarExprListUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.jena.sparql.core.VarExprListadd(org.apache.jena.sparql.core.VarExprList result, org.apache.jena.sparql.core.Var v, org.apache.jena.sparql.core.Var w) static org.apache.jena.sparql.core.VarExprListadd(org.apache.jena.sparql.core.VarExprList result, org.apache.jena.sparql.core.Var v, org.apache.jena.sparql.expr.Expr e) static org.apache.jena.sparql.core.VarExprListaddAbsentVars(org.apache.jena.sparql.core.VarExprList varExprList, Collection<org.apache.jena.sparql.core.Var> vars) Add variables to anVarExprListif they are not already present in itstatic Map<org.apache.jena.sparql.core.Var,org.apache.jena.sparql.expr.Expr> applyNodeTransform(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.expr.Expr> varExpr, org.apache.jena.sparql.graph.NodeTransform nodeTransform) static booleancanonicalize(org.apache.jena.sparql.core.VarExprList vel) In place canonicalization that removes identity mappings of variables to themselvesstatic org.apache.jena.sparql.core.VarExprListcopy(org.apache.jena.sparql.core.VarExprList dst, org.apache.jena.sparql.core.VarExprList src) static org.apache.jena.sparql.engine.binding.BindingcopyProject(org.apache.jena.sparql.core.VarExprList vars, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.engine.ExecutionContext execCxt) Code taken from QueryIterGroup (TODO Why? Apparently for converting aggregators to parallel ones)static voidcopyProject(org.apache.jena.sparql.engine.binding.BindingBuilder x, org.apache.jena.sparql.core.VarExprList vars, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.engine.ExecutionContext execCxt) Variant of copyProject where the results are accumulated in the provided binding builderstatic org.apache.jena.sparql.expr.ExprTransformcreateExprTransform(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.expr.Expr> varDefs) static org.apache.jena.sparql.core.VarExprListcreateFromMap(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.expr.Expr> map) static org.apache.jena.sparql.core.VarExprListcreateFromVarMap(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.core.Var> varMap) Create a projection to rename variables from key to value.static <T extends Collection<org.apache.jena.sparql.core.Var>>
TdefinedVars(T acc, org.apache.jena.sparql.core.VarExprList vel) static org.apache.jena.sparql.engine.binding.Bindingeval(org.apache.jena.sparql.core.VarExprList exprs, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.function.FunctionEnv execCxt) Evaluate an expression list against a binding.static Map<org.apache.jena.sparql.core.Var,org.apache.jena.graph.Node> extractConstants(org.apache.jena.sparql.core.VarExprList vel) Create a map of the variables that are defined in terms of a constant Can be combined with applyExprTransform to e.g.static Set<org.apache.jena.sparql.core.Var>getDefinedVars(org.apache.jena.sparql.core.VarExprList vel) static Set<org.apache.jena.sparql.core.Var>getRefVars(org.apache.jena.sparql.core.VarExprList vel) Deprecated.static Set<org.apache.jena.sparql.core.Var>getVarsMentioned(org.apache.jena.sparql.core.VarExprList vel) static Set<org.apache.jena.sparql.core.Var>getVarsMentionedInBody(org.apache.jena.sparql.core.VarExprList vel) Only extract variables from the expressionsstatic booleanhasExprs(org.apache.jena.sparql.core.VarExprList vel) static com.google.common.collect.SetMultimap<org.apache.jena.sparql.expr.Expr,org.apache.jena.sparql.core.Var> invert(org.apache.jena.sparql.core.VarExprList vel) Invert the mapping of a var expr list and return it as a jena-shaded guava Multimap.static org.apache.jena.sparql.core.VarExprListprojectAllVars(org.apache.jena.sparql.core.VarExprList vel, Collection<org.apache.jena.sparql.core.Var> vars) Return a new VarExprList that contains all variables of 'var' and any corresponding definition from 'vel'static org.apache.jena.sparql.core.VarExprListprojectExprsOnly(org.apache.jena.sparql.core.VarExprList vel, Collection<org.apache.jena.sparql.core.Var> vars) static voidreplace(org.apache.jena.sparql.core.VarExprList dst, org.apache.jena.sparql.core.VarExprList src) streamVarExprs(org.apache.jena.sparql.core.VarExprList vel) Stream all variables in order of their declaration with the corresponding expression (which may be null)static org.apache.jena.sparql.core.VarExprListtransform(org.apache.jena.sparql.core.VarExprList varExpr, org.apache.jena.sparql.expr.ExprTransform exprTransform) Copied from package org.apache.jena.sparql.algebra.ApplyTransformVisitorstatic org.apache.jena.sparql.core.VarExprListtransform(org.apache.jena.sparql.core.VarExprList vel, org.apache.jena.sparql.graph.NodeTransform nodeTransform) static <T extends Collection<org.apache.jena.sparql.core.Var>>
TvarsMentioned(T acc, org.apache.jena.sparql.core.VarExprList vel) Iterates the var expression entries in order (first var then expression) and adds all mentioned variables to the accumulatorstatic <T extends Collection<org.apache.jena.sparql.core.Var>>
TvarsMentionedInBody(T acc, org.apache.jena.sparql.core.VarExprList vel) Only extract variables from the expressions
-
Constructor Details
-
VarExprListUtils
public VarExprListUtils()
-
-
Method Details
-
eval
public static org.apache.jena.sparql.engine.binding.Binding eval(org.apache.jena.sparql.core.VarExprList exprs, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.function.FunctionEnv execCxt) Evaluate an expression list against a binding. Code taken fromQueryIterAssign. -
streamVarExprs
public static Stream<Map.Entry<org.apache.jena.sparql.core.Var,org.apache.jena.sparql.expr.Expr>> streamVarExprs(org.apache.jena.sparql.core.VarExprList vel) Stream all variables in order of their declaration with the corresponding expression (which may be null) -
projectAllVars
public static org.apache.jena.sparql.core.VarExprList projectAllVars(org.apache.jena.sparql.core.VarExprList vel, Collection<org.apache.jena.sparql.core.Var> vars) Return a new VarExprList that contains all variables of 'var' and any corresponding definition from 'vel' -
projectExprsOnly
public static org.apache.jena.sparql.core.VarExprList projectExprsOnly(org.apache.jena.sparql.core.VarExprList vel, Collection<org.apache.jena.sparql.core.Var> vars) -
copyProject
public static org.apache.jena.sparql.engine.binding.Binding copyProject(org.apache.jena.sparql.core.VarExprList vars, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.engine.ExecutionContext execCxt) Code taken from QueryIterGroup (TODO Why? Apparently for converting aggregators to parallel ones) -
copyProject
public static void copyProject(org.apache.jena.sparql.engine.binding.BindingBuilder x, org.apache.jena.sparql.core.VarExprList vars, org.apache.jena.sparql.engine.binding.Binding binding, org.apache.jena.sparql.engine.ExecutionContext execCxt) Variant of copyProject where the results are accumulated in the provided binding builder -
addAbsentVars
public static org.apache.jena.sparql.core.VarExprList addAbsentVars(org.apache.jena.sparql.core.VarExprList varExprList, Collection<org.apache.jena.sparql.core.Var> vars) Add variables to anVarExprListif they are not already present in it- Parameters:
varExprList-vars-- Returns:
-
invert
public static com.google.common.collect.SetMultimap<org.apache.jena.sparql.expr.Expr,org.apache.jena.sparql.core.Var> invert(org.apache.jena.sparql.core.VarExprList vel) Invert the mapping of a var expr list and return it as a jena-shaded guava Multimap. ExprVars are generated for each variable that is otherwise mapped to null.- Parameters:
vel-- Returns:
-
extractConstants
public static Map<org.apache.jena.sparql.core.Var,org.apache.jena.graph.Node> extractConstants(org.apache.jena.sparql.core.VarExprList vel) Create a map of the variables that are defined in terms of a constant Can be combined with applyExprTransform to e.g. fold constants first.- Parameters:
vel-- Returns:
-
hasExprs
public static boolean hasExprs(org.apache.jena.sparql.core.VarExprList vel) -
canonicalize
public static boolean canonicalize(org.apache.jena.sparql.core.VarExprList vel) In place canonicalization that removes identity mappings of variables to themselves- Parameters:
vel-- Returns:
-
add
public static org.apache.jena.sparql.core.VarExprList add(org.apache.jena.sparql.core.VarExprList result, org.apache.jena.sparql.core.Var v, org.apache.jena.sparql.expr.Expr e) -
add
public static org.apache.jena.sparql.core.VarExprList add(org.apache.jena.sparql.core.VarExprList result, org.apache.jena.sparql.core.Var v, org.apache.jena.sparql.core.Var w) -
createFromMap
public static org.apache.jena.sparql.core.VarExprList createFromMap(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.expr.Expr> map) -
createFromVarMap
public static org.apache.jena.sparql.core.VarExprList createFromVarMap(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.core.Var> varMap) Create a projection to rename variables from key to value. Note that given two variables ?s and ?o, for mapping ?s to ?o the projection is (?s AS ?o) and thus the invocation on the VarExprList is vel.add(?o, ?s), which can be read as ?o is defined by ?s -
getDefinedVars
public static Set<org.apache.jena.sparql.core.Var> getDefinedVars(org.apache.jena.sparql.core.VarExprList vel) -
definedVars
public static <T extends Collection<org.apache.jena.sparql.core.Var>> T definedVars(T acc, org.apache.jena.sparql.core.VarExprList vel) -
getVarsMentionedInBody
public static Set<org.apache.jena.sparql.core.Var> getVarsMentionedInBody(org.apache.jena.sparql.core.VarExprList vel) Only extract variables from the expressions -
varsMentionedInBody
public static <T extends Collection<org.apache.jena.sparql.core.Var>> T varsMentionedInBody(T acc, org.apache.jena.sparql.core.VarExprList vel) Only extract variables from the expressions -
getVarsMentioned
public static Set<org.apache.jena.sparql.core.Var> getVarsMentioned(org.apache.jena.sparql.core.VarExprList vel) -
varsMentioned
public static <T extends Collection<org.apache.jena.sparql.core.Var>> T varsMentioned(T acc, org.apache.jena.sparql.core.VarExprList vel) Iterates the var expression entries in order (first var then expression) and adds all mentioned variables to the accumulator -
getRefVars
@Deprecated public static Set<org.apache.jena.sparql.core.Var> getRefVars(org.apache.jena.sparql.core.VarExprList vel) Deprecated. -
transform
public static org.apache.jena.sparql.core.VarExprList transform(org.apache.jena.sparql.core.VarExprList vel, org.apache.jena.sparql.graph.NodeTransform nodeTransform) -
applyNodeTransform
-
transform
public static org.apache.jena.sparql.core.VarExprList transform(org.apache.jena.sparql.core.VarExprList varExpr, org.apache.jena.sparql.expr.ExprTransform exprTransform) Copied from package org.apache.jena.sparql.algebra.ApplyTransformVisitor -
createExprTransform
public static org.apache.jena.sparql.expr.ExprTransform createExprTransform(Map<org.apache.jena.sparql.core.Var, org.apache.jena.sparql.expr.Expr> varDefs) -
replace
public static void replace(org.apache.jena.sparql.core.VarExprList dst, org.apache.jena.sparql.core.VarExprList src) -
copy
public static org.apache.jena.sparql.core.VarExprList copy(org.apache.jena.sparql.core.VarExprList dst, org.apache.jena.sparql.core.VarExprList src)
-