org.neo4j.graphdb.traversal
Interface BranchSelector
- All Known Subinterfaces:
- SideSelector
- All Known Implementing Classes:
- AbstractSelectorOrderer, AlternatingSelectorOrderer, LevelSelectorOrderer, PreorderBreadthFirstSelector
public interface BranchSelector
Decides "where to go next" in a traversal. It keeps state itself, f.ex. its
own current position. Examples of implementations are "depth first" and
"breadth first". This is an interface to implement if you'd like to implement
f.ex. a "best first" selector based on your own criteria.
next
TraversalBranch next(TraversalContext metadata)
- Decides the next position ("where to go from here") from the current
position, based on the
rules
. Since TraversalBranch
has the Path.endNode()
of the position and the
Path.lastRelationship()
to how it got there as well as
TraversalBranch#position()
, decisions
can be based on the current expansion source and the given rules.
- Returns:
- the next position based on the current position and the
rules
of the traversal.
Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.