org.neo4j.graphdb.traversal

Class Evaluators

    • Constructor Detail

      • Evaluators

        public Evaluators()
    • Method Detail

      • all

        public static <STATE> PathEvaluator<STATE> all()
        Type Parameters:
        STATE - the type of the state object.
        Returns:
        an evaluator which includes everything it encounters and doesn't prune anything.
      • excludeStartPosition

        public static PathEvaluator excludeStartPosition()
        Returns:
        an evaluator which never prunes and includes everything except the first position, i.e. the the start node.
      • toDepth

        public static <STATE> PathEvaluator<STATE> toDepth(int depth)
        Returns an Evaluator which includes positions down to depth and prunes everything deeper than that.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        depth - the max depth to traverse to.
        Returns:
        Returns an Evaluator which includes positions down to depth and prunes everything deeper than that.
      • fromDepth

        public static <STATE> PathEvaluator<STATE> fromDepth(int depth)
        Returns an Evaluator which only includes positions from depth and deeper and never prunes anything.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        depth - the depth to start include positions from.
        Returns:
        Returns an Evaluator which only includes positions from depth and deeper and never prunes anything.
      • atDepth

        public static <STATE> PathEvaluator<STATE> atDepth(int depth)
        Returns an Evaluator which only includes positions at depth and prunes everything deeper than that.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        depth - the depth to start include positions from.
        Returns:
        Returns an Evaluator which only includes positions at depth and prunes everything deeper than that.
      • includingDepths

        public static <STATE> PathEvaluator<STATE> includingDepths(int minDepth,
                                                                   int maxDepth)
        Returns an Evaluator which only includes positions between depths minDepth and maxDepth. It prunes everything deeper than maxDepth.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        minDepth - minimum depth a position must have to be included.
        maxDepth - maximum depth a position must have to be included.
        Returns:
        Returns an Evaluator which only includes positions between depths minDepth and maxDepth. It prunes everything deeper than maxDepth.
      • lastRelationshipTypeIs

        public static <STATE> PathEvaluator<STATE> lastRelationshipTypeIs(Evaluation evaluationIfMatch,
                                                                          Evaluation evaluationIfNoMatch,
                                                                          RelationshipType type,
                                                                          RelationshipType... orAnyOfTheseTypes)
        Returns an Evaluator which compares the type of the last relationship in a Path to a given set of relationship types (one or more).If the type of the last relationship in a path is of one of the given types then evaluationIfMatch will be returned, otherwise evaluationIfNoMatch will be returned.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        evaluationIfMatch - the Evaluation to return if the type of the last relationship in the path matches any of the given types.
        evaluationIfNoMatch - the Evaluation to return if the type of the last relationship in the path doesn't match any of the given types.
        type - the (first) type (of possibly many) to match the last relationship in paths with.
        orAnyOfTheseTypes - additional types to match the last relationship in paths with.
        Returns:
        an Evaluator which compares the type of the last relationship in a Path to a given set of relationship types.
      • endNodeIs

        public static <STATE> PathEvaluator<STATE> endNodeIs(Evaluation evaluationIfMatch,
                                                             Evaluation evaluationIfNoMatch,
                                                             Node... possibleEndNodes)
        An Evaluator which will return evaluationIfMatch if Path.endNode() for a given path is any of nodes, else evaluationIfNoMatch.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        evaluationIfMatch - the Evaluation to return if the Path.endNode() is any of the nodes in nodes.
        evaluationIfNoMatch - the Evaluation to return if the Path.endNode() doesn't match any of the nodes in nodes.
        possibleEndNodes - a set of nodes to match to end nodes in paths.
        Returns:
        an Evaluator which will return evaluationIfMatch if Path.endNode() for a given path is any of nodes, else evaluationIfNoMatch.
      • includeWhereEndNodeIs

        public static <STATE> PathEvaluator<STATE> includeWhereEndNodeIs(Node... nodes)
        Include paths with the specified end nodes. Uses Evaluators#endNodeIs(Evaluation, Evaluation, Node...) with Evaluation.INCLUDE_AND_CONTINUE for evaluationIfMatch and Evaluation.EXCLUDE_AND_CONTINUE for evaluationIfNoMatch.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        nodes - end nodes for paths to be included in the result.
        Returns:
        paths where the end node is one of nodes
      • pruneWhereEndNodeIs

        public static <STATE> PathEvaluator<STATE> pruneWhereEndNodeIs(Node... nodes)
      • includeIfAcceptedByAny

        public static <STATE> PathEvaluator<STATE> includeIfAcceptedByAny(PathEvaluator... evaluators)
        Whereas adding Evaluators to a TraversalDescription puts those evaluators in AND-mode this can group many evaluators in OR-mode.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        evaluators - represented as one evaluators. If any of the evaluators decides to include a path it will be included.
        Returns:
        an Evaluator which decides to include a path if any of the supplied evaluators wants to include it.
      • includeIfAcceptedByAny

        public static <STATE> PathEvaluator<STATE> includeIfAcceptedByAny(Evaluator... evaluators)
        Whereas adding Evaluators to a TraversalDescription puts those evaluators in AND-mode this can group many evaluators in OR-mode.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        evaluators - represented as one evaluators. If any of the evaluators decides to include a path it will be included.
        Returns:
        an Evaluator which decides to include a path if any of the supplied evaluators wants to include it.
      • endNodeIsAtDepth

        public static <STATE> PathEvaluator<STATE> endNodeIsAtDepth(int depth,
                                                                    Node... possibleEndNodes)
        Returns Evaluators for paths with the specified depth and with an end node from the list of possibleEndNodes.
        Type Parameters:
        STATE - the type of the state object.
        Parameters:
        depth - The exact depth to filter the returned path evaluators.
        possibleEndNodes - Filter for the possible nodes to end the path on.
        Returns:
        Evaluators for paths with the specified depth and with an end node from the list of possibleEndNodes.

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