# Package org.apache.tinkerpop.gremlin.structure

- Interface Summary
  Interface | Description
  --- | ---
  Edge | An `Edge` links two `Vertex` objects.
  Element | An `Element` is the base class for both `Vertex` and `Edge`.
  Graph | A `Graph` is a container object for a collection of `Vertex`, `Edge`, `VertexProperty`, and `Property` objects.
  Graph.Features | An interface that represents the capabilities of a `Graph` implementation.
  Graph.Features.DataTypeFeatures | Base interface for features that relate to supporting different data types.
  Graph.Features.EdgeFeatures | Features that are related to `Edge` operations.
  Graph.Features.EdgePropertyFeatures | Features that are related to `Edge` `Property` objects.
  Graph.Features.ElementFeatures | Features that are related to `Element` objects.
  Graph.Features.FeatureSet | A marker interface to identify any set of Features.
  Graph.Features.GraphFeatures | Features specific to a operations of a "graph".
  Graph.Features.PropertyFeatures | A base interface for `Edge` or `Vertex` `Property` features.
  Graph.Features.VariableFeatures | Features for `Graph.Variables`.
  Graph.Features.VertexFeatures | Features that are related to `Vertex` operations.
  Graph.Features.VertexPropertyFeatures | Features that are related to `Vertex` `Property` objects.
  Graph.Variables | Graph variables are a set of key/value pairs associated with the graph.
  Property<V> | A `Property` denotes a key/value pair associated with an `Edge`.
  Transaction | A set of methods that allow for control of transactional behavior of a `Graph` instance.
  Vertex | A `Vertex` maintains pointers to both a set of incoming and outgoing `Edge` objects.
  VertexProperty<V> | A `VertexProperty` is similar to a `Property` in that it denotes a key/value pair associated with an `Vertex`, however it is different in the sense that it also represents an entity that it is an `Element` that can have properties of its own.

- Class Summary
  Class | Description
  --- | ---
  Edge.Exceptions | Common exceptions to use with an edge.
  Element.Exceptions | Common exceptions to use with an element.
  Graph.Exceptions | Common exceptions to use with a graph.
  Graph.Hidden | This should only be used by providers to create keys, labels, etc.
  Graph.Variables.Exceptions |
  Property.Exceptions | Common exceptions to use with a property.
  Transaction.Exceptions |
  Vertex.Exceptions | Common exceptions to use with a vertex.
  VertexProperty.Exceptions | Common exceptions to use with a property.

- Enum Summary
  Enum | Description
  --- | ---
  Column | Column references a particular type of column in a complex data structure such as a `Map`, a `Map.Entry`, or a `Path`.
  Direction | `Direction` is used to denote the direction of an `Edge` or location of a `Vertex` on an `Edge`.
  PropertyType | This enumeration allows for the specification of the type of a `Property`.
  T | A collection of (T)okens which allows for more concise Traversal definitions.
  Transaction.CLOSE_BEHAVIOR | Behaviors to supply to the `Transaction.onClose(Consumer)`.
  Transaction.READ_WRITE_BEHAVIOR | Behaviors to supply to the `Transaction.onReadWrite(Consumer)`.
  Transaction.Status | A status provided to transaction listeners to inform whether a transaction was successfully committed or rolled back.
  VertexProperty.Cardinality |

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Graph.OptIn | Defines the test suite that the implementer has decided to support and represents publicly as "passing".
  Graph.OptIns | Holds a collection of `Graph.OptIn` enabling multiple `Graph.OptIn` to be applied to a single suite.
  Graph.OptOut | Defines a test in the suite that the implementer does not want to run.
  Graph.OptOuts | Holds a collection of `Graph.OptOut` enabling multiple `Graph.OptOut` to be applied to a single suite.

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