org.apache.tinkerpop.gremlin.structure

## Interface Graph.Features.EdgeFeatures

- All Superinterfaces:
    Graph.Features.ElementFeatures, Graph.Features.FeatureSet
  All Known Implementing Classes:
    EmptyGraph.EmptyGraphFeatures.EmptyGraphEdgeFeatures, TinkerGraph.TinkerGraphEdgeFeatures
  Enclosing interface:
    Graph.Features

      public static interface Graph.Features.EdgeFeatures
      extends Graph.Features.ElementFeatures

  Features that are related to `Edge` operations.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FEATURE_ADD_EDGES`
    `static String` | `FEATURE_REMOVE_EDGES`
    `static String` | `FEATURE_UPSERT`

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `FEATURE_ADD_PROPERTY, FEATURE_ANY_IDS, FEATURE_CUSTOM_IDS, FEATURE_NULL_PROPERTY_VALUES, FEATURE_NUMERIC_IDS, FEATURE_REMOVE_PROPERTY, FEATURE_STRING_IDS, FEATURE_USER_SUPPLIED_IDS, FEATURE_UUID_IDS`

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default Graph.Features.EdgePropertyFeatures` | `properties()` Gets features related to "properties" on an `Edge`.
    `default boolean` | `supportsAddEdges()` Determines if an `Edge` can be added to a `Vertex`.
    `default boolean` | `supportsRemoveEdges()` Determines if an `Edge` can be removed from a `Vertex`.
    `default boolean` | `supportsUpsert()` Determines if the `Graph` implementation uses upsert functionality as opposed to insert functionality for `Vertex.addEdge(String, Vertex, Object...)`.

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `supportsAddProperty, supportsAnyIds, supportsCustomIds, supportsNullPropertyValues, supportsNumericIds, supportsRemoveProperty, supportsStringIds, supportsUserSuppliedIds, supportsUuidIds, willAllowId`

- - ### Field Detail

    - #### FEATURE_ADD_EDGES

          static final String FEATURE_ADD_EDGES

      See Also:
        Constant Field Values

    - #### FEATURE_REMOVE_EDGES

          static final String FEATURE_REMOVE_EDGES

      See Also:
        Constant Field Values

    - #### FEATURE_UPSERT

          static final String FEATURE_UPSERT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### supportsAddEdges

          default boolean supportsAddEdges()

      Determines if an `Edge` can be added to a `Vertex`.

    - #### supportsRemoveEdges

          default boolean supportsRemoveEdges()

      Determines if an `Edge` can be removed from a `Vertex`.

    - #### supportsUpsert

          default boolean supportsUpsert()

      Determines if the `Graph` implementation uses upsert functionality as opposed to insert functionality for `Vertex.addEdge(String, Vertex, Object...)`. This feature gives graph providers some flexibility as to how graph mutations are treated. For graph providers, testing of this feature (as far as TinkerPop is concerned) only covers graphs that can support user supplied identifiers as there is no other way for TinkerPop to know what aspect of a edge is unique to appropriately apply assertions. Graph providers, especially those who support schema features, may have other methods for uniquely identifying a edge and should therefore resort to their own body of tests to validate this feature.

    - #### properties

          default Graph.Features.EdgePropertyFeatures properties()

      Gets features related to "properties" on an `Edge`.

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.