Uniqueness (Neo4j Community 2.1.0-M01 API)
Date: 2014-02-20

org.neo4j.graphdb.traversal

## Enum Uniqueness

- java.lang.Object
- - java.lang.Enum<Uniqueness>
  - - org.neo4j.graphdb.traversal.Uniqueness

- All Implemented Interfaces:
    Serializable, Comparable<Uniqueness>, UniquenessFactory

      public enum Uniqueness
      extends Enum<Uniqueness>
      implements UniquenessFactory

  A catalogue of convenient uniqueness factories. Copied from kernel package so that we can hide kernel from the public API.

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `NODE_GLOBAL` A node cannot be traversed more than once.
    `NODE_LEVEL` Entities on the same level are guaranteed to be unique.
    `NODE_PATH` For each returned node there's a unique path from the start node to it.
    `NODE_RECENT` This is like `NODE_GLOBAL`, but only guarantees uniqueness among the most recent visited nodes, with a configurable count.
    `NONE` No restriction (the user will have to manage it).
    `RELATIONSHIP_GLOBAL` A relationship cannot be traversed more than once, whereas nodes can.
    `RELATIONSHIP_LEVEL` Entities on the same level are guaranteed to be unique.
    `RELATIONSHIP_PATH` For each returned node there's a (relationship wise) unique path from the start node to it.
    `RELATIONSHIP_RECENT` Same as for `NODE_RECENT`, but for relationships.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Uniqueness` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static Uniqueness[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.neo4j.graphdb.traversal.UniquenessFactory

      `create`

- - ### Enum Constant Detail

    - #### NODE_GLOBAL

          public static final Uniqueness NODE_GLOBAL

      A node cannot be traversed more than once. This is what the legacy traversal framework does.

    - #### NODE_PATH

          public static final Uniqueness NODE_PATH

      For each returned node there's a unique path from the start node to it.

    - #### NODE_RECENT

          public static final Uniqueness NODE_RECENT

      This is like `NODE_GLOBAL`, but only guarantees uniqueness among the most recent visited nodes, with a configurable count. Traversing a huge graph is quite memory intensive in that it keeps track of all the nodes it has visited. For huge graphs a traverser can hog all the memory in the JVM, causing `OutOfMemoryError`. Together with this `Uniqueness` you can supply a count, which is the number of most recent visited nodes. This can cause a node to be visited more than once, but scales infinitely.

    - #### NODE_LEVEL

          public static final Uniqueness NODE_LEVEL

      Entities on the same level are guaranteed to be unique.

    - #### RELATIONSHIP_GLOBAL

          public static final Uniqueness RELATIONSHIP_GLOBAL

      A relationship cannot be traversed more than once, whereas nodes can.

    - #### RELATIONSHIP_PATH

          public static final Uniqueness RELATIONSHIP_PATH

      For each returned node there's a (relationship wise) unique path from the start node to it.

    - #### RELATIONSHIP_RECENT

          public static final Uniqueness RELATIONSHIP_RECENT

      Same as for `NODE_RECENT`, but for relationships.

    - #### RELATIONSHIP_LEVEL

          public static final Uniqueness RELATIONSHIP_LEVEL

      Entities on the same level are guaranteed to be unique.

    - #### NONE

          public static final Uniqueness NONE

      No restriction (the user will have to manage it).

  - ### Method Detail

    - #### values

          public static Uniqueness[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (Uniqueness c : Uniqueness.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static Uniqueness valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

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