Package org.apache.jena.reasoner.rulesys
Class Node_RuleVariable
- java.lang.Object
-
- org.apache.jena.graph.Node
-
- org.apache.jena.graph.Node_Fluid
-
- org.apache.jena.graph.Node_Variable
-
- org.apache.jena.reasoner.rulesys.Node_RuleVariable
-
- All Implemented Interfaces:
java.io.Serializable
public class Node_RuleVariable extends Node_Variable
A variation on the normal Node_Variable which support for value bindings. Currently the forward rule system stores the values externally but requires variables to have an offset index in the rule environment vector. The variables can also support prolog-like reference chains and trails but these are not yet used.Note that this should not be used in a real Triple, in particular it should not end up in a Graph. It is only needed for the rule systems.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.jena.graph.Node_Variable
Node_Variable.VariableName
-
Nested classes/interfaces inherited from class org.apache.jena.graph.Node
Node.NotLiteral
-
-
Field Summary
Fields Modifier and Type Field Description static Node_RuleVariable
WILD
A static wildcard - like Node.ANY but tests equal to other Node_RuleVariables
-
Constructor Summary
Constructors Constructor Description Node_RuleVariable(java.lang.String label, int index)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Node_RuleVariable
cloneNode()
Clone the rule variable to allow multiple rule instaces to be active at the same time.Node
deref()
Dereference a variable by following the reference chain.boolean
equals(java.lang.Object o)
Nodes only equal other Nodes that have equal labels.int
getIndex()
Returns the variable's index in a binding vector.Node
getRawBoundValue()
Return the raw value to which this variable is bound (via LP binding) with no dereferencing.int
hashCode()
boolean
isUnbound()
Test if the variable is unbound (in the brule sense).static boolean
sameNodeAs(Node n, Node m)
Compare two nodes, taking into account variable indices.boolean
sameValueAs(java.lang.Object o)
Test that two nodes are semantically equivalent.void
setIndex(int index)
Changes the variable's index.void
simpleBind(Node node)
Binds a value to the brule version of the variable.java.lang.String
toString()
printable formvoid
unbind()
Set the variable to be unbound (in the brule sense)-
Methods inherited from class org.apache.jena.graph.Node_Variable
getName, isVariable, variable, visitWith
-
Methods inherited from class org.apache.jena.graph.Node_Fluid
isConcrete
-
Methods inherited from class org.apache.jena.graph.Node
getBlankNodeId, getBlankNodeLabel, getGraph, getIndexingValue, getLiteral, getLiteralDatatype, getLiteralDatatypeURI, getLiteralIsXML, getLiteralLanguage, getLiteralLexicalForm, getLiteralValue, getLocalName, getNameSpace, getTriple, getURI, hasURI, isBlank, isExt, isLiteral, isNodeGraph, isNodeTriple, isURI, matches, toString, toString, toString
-
-
-
-
Field Detail
-
WILD
public static final Node_RuleVariable WILD
A static wildcard - like Node.ANY but tests equal to other Node_RuleVariables
-
-
Method Detail
-
getIndex
public int getIndex()
Returns the variable's index in a binding vector.- Returns:
- int
-
setIndex
public void setIndex(int index)
Changes the variable's index. This is used in LP rules which classify the variables into different sequences.
-
simpleBind
public void simpleBind(Node node)
Binds a value to the brule version of the variable. Does not follow any reference trail, assues we have already been derefenced.- Parameters:
node
- a concrete Node value or another Node_RuleVariable to alias to
-
deref
public Node deref()
Dereference a variable by following the reference chain.- Returns:
- either a concrete node value or the last variable in the reference chain.
-
getRawBoundValue
public Node getRawBoundValue()
Return the raw value to which this variable is bound (via LP binding) with no dereferencing.
-
unbind
public void unbind()
Set the variable to be unbound (in the brule sense)
-
isUnbound
public boolean isUnbound()
Test if the variable is unbound (in the brule sense).
-
cloneNode
public Node_RuleVariable cloneNode()
Clone the rule variable to allow multiple rule instaces to be active at the same time.
-
toString
public java.lang.String toString()
printable form- Overrides:
toString
in classNode_Variable
-
equals
public boolean equals(java.lang.Object o)
Description copied from class:Node
Nodes only equal other Nodes that have equal labels.- Overrides:
equals
in classNode_Variable
-
sameValueAs
public boolean sameValueAs(java.lang.Object o)
Test that two nodes are semantically equivalent.- Overrides:
sameValueAs
in classNode
-
-