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.