Class Context
- All Implemented Interfaces:
Closeable, AutoCloseable
It provides a very similar functionality than the Traversal classes. The main difference is Context returns a resulting collection whereas Traversal provides an iterator behaviour.
Check out the 'Algorithms' section in the SPARKSEE User Manual for more details on this.
- Author:
- Sparsity Technologies http://www.sparsity-technologies.com
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAllows for traversing all edge types of the graph.voidAllows for traversing all node types of the graph.voidaddEdgeType(int t, EdgesDirection d) Allows for traversing edges of the given type.voidaddNodeType(int t) Allows for traversing nodes of the given type.voidclose()Closes the Context instance.compute()Gets the resulting collection of nodes.static Objectscompute(Session session, long node, TypeList nodeTypes, TypeList edgeTypes, EdgesDirection dir, int maxhops, boolean include) Helper method to easily compute a context from a node.voidexcludeEdges(Objects edges) Set which edges can't be used.voidexcludeNodes(Objects nodes) Set which nodes can't be used.booleanisClosed()Gets if Context instance has been closed or not.voidsetMaximumHops(int maxhops, boolean include) Sets the maximum hops restriction.
-
Constructor Details
-
Context
Creates a new instance.- Parameters:
session- [in] Session to get the graph from and perform operation.node- [in] Node to start traversal from.
-
-
Method Details
-
excludeNodes
Set which nodes can't be used.This will replace any previously specified set of excluded nodes. Should only be used to exclude the usage of specific nodes from allowed node types because it's less efficient than not allowing a node type.
- Parameters:
nodes- [in] A set of node identifiers that must be kept intact until the destruction of the class.
-
excludeEdges
Set which edges can't be used.This will replace any previously specified set of excluded edges. Should only be used to exclude the usage of specific edges from allowed edge types because it's less efficient than not allowing an edge type.
- Parameters:
edges- [in] A set of edge identifiers that must be kept intact until the destruction of the class.
-
compute
Gets the resulting collection of nodes.- Returns:
- The resulting collection of nodes.
-
isClosed
public boolean isClosed()Gets if Context instance has been closed or not.- Returns:
- TRUE if the Context instance has been closed, FALSE otherwise.
- See Also:
-
addEdgeType
Allows for traversing edges of the given type.- Parameters:
t- [in] Edge type.d- [in] Edge direction.
-
compute
public static Objects compute(Session session, long node, TypeList nodeTypes, TypeList edgeTypes, EdgesDirection dir, int maxhops, boolean include) Helper method to easily compute a context from a node.- Parameters:
session- [in] Session to get the graph from and perform operation.node- [in] Node to start traversal from.nodeTypes- [in] Allowed node type list. NULL means all node types are allowed.edgeTypes- [in] Allowed edge type list. NULL means all edge types are allowed.dir- [in] Allowed direction for the allowed edge types.maxhops- [in] The maximum hops restriction. It must be positive or zero. Zero, the default value, means unlimited.include- [in] If TRUE, the resulting collection will include those nodes at distance less or equal than the given one, otherwise it will just include those nodes at distance equal than the given one. This parameter just makes sense if maxhops is different from 0; in that case it includes all nodes no matters the distance.- Returns:
- Returns an Objects with the computed context of a node.
-
setMaximumHops
public void setMaximumHops(int maxhops, boolean include) Sets the maximum hops restriction.All paths longer than the maximum hops restriction will be ignored.
- Parameters:
maxhops- [in] The maximum hops restriction. It must be positive or zero. Zero, the default value, means unlimited.include- [in] If TRUE, the resulting collection will include those nodes at distance less or equal than the given one, otherwise it will just include those nodes at distance equal than the given one. This parameter just makes sense if maxhops is different from 0; in that case it includes all nodes no matters the distance.
-
addNodeType
public void addNodeType(int t) Allows for traversing nodes of the given type.- Parameters:
t- null
-
close
public void close()Closes the Context instance.It must be called to ensure the integrity of all data.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
addAllEdgeTypes
Allows for traversing all edge types of the graph.- Parameters:
d- [in] Edge direction.
-
addAllNodeTypes
public void addAllNodeTypes()Allows for traversing all node types of the graph.
-