| java.lang.Object com.hp.hpl.jena.reasoner.rulesys.impl.BindingVector
BindingVector | public class BindingVector implements BindingEnvironment(Code) | | An implementation of a binding environment that maintains
a single array of bound values for the variables in a rule.
Stack management is done externally. This is intended for use in
the Brule system and so also supports variable-variable bindings by
use of reference chains.
author: Dave Reynolds version: $Revision: 1.26 $ on $Date: 2008/01/02 12:06:16 $ |
environment | protected Node[] environment(Code) | | The current binding set
|
BindingVector | public BindingVector(int size)(Code) | | Constructor - create an empty binding environment
|
BindingVector | public BindingVector(Node[] env)(Code) | | Constructor - create a binding environment from a vector of bindings
|
BindingVector | public BindingVector(BindingVector clone)(Code) | | Constructor - create a binding environment which is a copy
of the given environment
|
bind | public boolean bind(int i, Node value)(Code) | | Bind the ith variable in the current envionment to the given value.
Checks that the new binding is compatible with any current binding.
Handles aliased variables.
false if the binding fails |
bind | public boolean bind(Node var, Node value)(Code) | | Bind a variable in the current envionment to the given value.
Checks that the new binding is compatible with any current binding.
Parameters: var - a Node_RuleVariable defining the variable to bind Parameters: value - the value to bind false if the binding fails |
equals | public boolean equals(Object o)(Code) | | Equality override
|
getBinding | public Node getBinding(Node node)(Code) | | If the node is a variable then return the current binding (null if not bound)
otherwise return the node itself.
|
getEnvironment | public Node[] getEnvironment()(Code) | | Return the current array of bindings. Useful for fast access to
serveral bindings, not useful for doing updates.
|
getGroundVersion | public Node getGroundVersion(Node node)(Code) | | Return the most ground version of the node. If the node is not a variable
just return it, if it is a varible bound in this enviroment return the binding,
if it is an unbound variable return the variable.
|
hashCode | public int hashCode()(Code) | | hash function override
|
instantiate | public Triple instantiate(TriplePattern pattern)(Code) | | Instantiate a triple pattern against the current environment.
This version handles unbound varibles by turning them into bNodes.
Parameters: clause - the triple pattern to match Parameters: env - the current binding environment a new, instantiated triple |
partInstantiate | public TriplePattern partInstantiate(TriplePattern goal)(Code) | | Bind the variables in a goal pattern using the binding environment, to
generate a more specialized goal
Parameters: goal - the TriplePattern to be instantiated a TriplePattern obtained from the goal by substituting current bindinds |
unify | public static BindingVector unify(TriplePattern goal, TriplePattern head, int numRuleVars)(Code) | | Unify a goal with the head of a rule. This is a poor-man's unification,
we should try swtiching to a more conventional global-variables-with-trail
implementation in the future.
Parameters: goal - the goal pattern which it being matched to a rule Parameters: head - the head pattern of the rule which is being instantiated Parameters: numRuleVars - the length of the environment to allocate. An initialized binding environment for the rule variablesor null if the unification fails. If a variable in the environment becomesaliased to another variable through the unification this is representedby having its value in the environment be the variable to which it is aliased. |
|
|