public class VariableConstraints extends Object
NodeMaker
s that helps to build up
constraints in cases where a variable is bound multiple times.
If several node makers are added for the same variable name, then only
one will be kept, and a constraint expression will be built up. The
expression ensures that both identically-named node makers produce the
same node for any result row that matches the expression.Constructor and Description |
---|
VariableConstraints() |
Modifier and Type | Method and Description |
---|---|
void |
add(Var var,
NodeMaker nodeMaker,
AliasMap aliases) |
void |
addAll(NodeRelation nodeRelation) |
void |
addIfVariable(Node possibleVariable,
NodeMaker nodeMaker,
AliasMap aliases) |
Set<Var> |
allNames() |
Set<ProjectionSpec> |
allProjections() |
Expression |
constraint() |
Map<Var,AliasMap> |
relationAliases() |
boolean |
satisfiable() |
Map<Var,NodeMaker> |
toMap() |
public void addIfVariable(Node possibleVariable, NodeMaker nodeMaker, AliasMap aliases)
public void addAll(NodeRelation nodeRelation)
public boolean satisfiable()
public Expression constraint()
public Set<ProjectionSpec> allProjections()