Uses of Interface org.neo4j.graphdb.PathExpander (Neo4j Community 2.1.0-M01 API)
Date: 2014-02-20

## Uses of Interface
org.neo4j.graphdb.PathExpander

- Packages that use PathExpander
  Package | Description
  --- | ---
  org.neo4j.graphalgo | Scalable graph algorithms like shortest path and others for Neo4j which can be easily accessed via `GraphAlgoFactory`.
  org.neo4j.graphdb | The core graph database API.
  org.neo4j.graphdb.traversal | Traversal framework.

- - ### Uses of PathExpander in org.neo4j.graphalgo

    Methods in org.neo4j.graphalgo with parameters of type PathExpander
    Modifier and Type | Method and Description
    --- | ---
    `static PathFinder<Path>` | GraphAlgoFactory.`allPaths(PathExpander expander, int maxDepth)` Returns an algorithm which can find all available paths between two nodes.
    `static PathFinder<Path>` | GraphAlgoFactory.`allSimplePaths(PathExpander expander, int maxDepth)` Returns an algorithm which can find all simple paths between two nodes.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`aStar(PathExpander expander, CostEvaluator<Double> lengthEvaluator, EstimateEvaluator<Double> estimateEvaluator)` Returns an `PathFinder` which uses the A* algorithm to find the cheapest path between two nodes.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, CostEvaluator<Double> costEvaluator)` Returns an `PathFinder` which uses the Dijkstra algorithm to find the cheapest path between two nodes.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, InitialBranchState stateFactory, CostEvaluator<Double> costEvaluator)` See `GraphAlgoFactory.dijkstra(RelationshipExpander, CostEvaluator)`.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, InitialBranchState stateFactory, String relationshipPropertyRepresentingCost)` See `GraphAlgoFactory.dijkstra(RelationshipExpander, CostEvaluator)`.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, InitialStateFactory stateFactory, CostEvaluator<Double> costEvaluator)` See `GraphAlgoFactory.dijkstra(RelationshipExpander, CostEvaluator)`.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, InitialStateFactory stateFactory, String relationshipPropertyRepresentingCost)` See `GraphAlgoFactory.dijkstra(RelationshipExpander, CostEvaluator)`.
    `static PathFinder<WeightedPath>` | GraphAlgoFactory.`dijkstra(PathExpander expander, String relationshipPropertyRepresentingCost)` See `GraphAlgoFactory.dijkstra(RelationshipExpander, CostEvaluator)`.
    `static PathFinder<Path>` | GraphAlgoFactory.`pathsWithLength(PathExpander expander, int length)` Returns an algorithm which can find simple all paths of a certain length between two nodes.
    `static PathFinder<Path>` | GraphAlgoFactory.`shortestPath(PathExpander expander, int maxDepth)` Returns an algorithm which can find all shortest paths (that is paths with as short `Path.length()` as possible) between two nodes.
    `static PathFinder<Path>` | GraphAlgoFactory.`shortestPath(PathExpander expander, int maxDepth, int maxHitCount)` Returns an algorithm which can find all shortest paths (that is paths with as short `Path.length()` as possible) between two nodes.

  - ### Uses of PathExpander in org.neo4j.graphdb

    Methods in org.neo4j.graphdb that return PathExpander
    Modifier and Type | Method and Description
    --- | ---
    `static <STATE> PathExpander<STATE>` | PathExpanders.`allTypesAndDirections()` A very permissive `PathExpander` that follows any type in any direction.
    `<STATE> PathExpander<STATE>` | PathExpanderBuilder.`build()` Produce a PathExpander from the configuration you have built up.
    `static <STATE> PathExpander<STATE>` | PathExpanders.`forConstantDirectionWithTypes(RelationshipType... types)` An expander forcing constant relationship direction
    `static <STATE> PathExpander<STATE>` | PathExpanders.`forDirection(Direction direction)` A very permissive `PathExpander` that follows any type in `direction`.
    `static <STATE> PathExpander<STATE>` | PathExpanders.`forType(RelationshipType type)` A very permissive `PathExpander` that follows `type` in any direction.
    `static <STATE> PathExpander<STATE>` | PathExpanders.`forTypeAndDirection(RelationshipType type, Direction direction)` A very restricted `PathExpander` that follows `type` in `direction`.
    `static <STATE> PathExpander<STATE>` | PathExpanders.`forTypesAndDirections(RelationshipType type1, Direction direction1, RelationshipType type2, Direction direction2, Object... more)` A very restricted `PathExpander` that follows only the `type`/ `direction` pairs that you list.
    `PathExpander<STATE>` | PathExpander.`reverse()` Returns a new instance with the exact expansion logic, but reversed.

  - ### Uses of PathExpander in org.neo4j.graphdb.traversal

    Methods in org.neo4j.graphdb.traversal with parameters of type PathExpander
    Modifier and Type | Method and Description
    --- | ---
    `BranchSelector` | BranchOrderingPolicy.`create(TraversalBranch startBranch, PathExpander expander)` Instantiates a `BranchSelector` with `startBranch` as the first branch to base a decision on "where to go next".
    `static Comparator<? super Path>` | Sorting.`endNodeRelationshipCount(PathExpander expander)` Sorts `Path`s by the relationship count returned for its end node by the supplied `expander`.
    `TraversalDescription` | TraversalDescription.`expand(PathExpander<?> expander)` Sets the `PathExpander` as the expander of relationships, discarding all previous calls to `TraversalDescription.relationships(RelationshipType)` and `TraversalDescription.relationships(RelationshipType, Direction)` or any other expand method.
    `<STATE> TraversalDescription` | TraversalDescription.`expand(PathExpander<STATE> expander, InitialBranchState<STATE> initialState)` Sets the `PathExpander` as the expander of relationships, discarding all previous calls to `TraversalDescription.relationships(RelationshipType)` and `TraversalDescription.relationships(RelationshipType, Direction)` or any other expand method.
    `<STATE> TraversalDescription` | TraversalDescription.`expand(PathExpander<STATE> expander, InitialStateFactory<STATE> initialState)` Deprecated. Because InitialStateFactory is deprecated
    `void` | TraversalBranch.`initialize(PathExpander expander, TraversalContext metadata)` Initializes this `TraversalBranch`, the relationship iterator, `Evaluation` etc.
    `TraversalBranch` | TraversalBranch.`next(PathExpander expander, TraversalContext metadata)` Returns the next expansion source from the expanded relationships from the current node.

Copyright © 2002–2014 The Neo4j Graph Database Project. All rights reserved.