Interface Vertex

  • All Superinterfaces:
    Element, org.apache.tinkerpop.gremlin.structure.util.Host

    public interface Vertex
    extends Element, org.apache.tinkerpop.gremlin.structure.util.Host
    A Vertex maintains pointers to both a set of incoming and outgoing Edge objects. The outgoing edges are those edges for which the Vertex is the tail. The incoming edges are those edges for which the Vertex is the head.

    Diagrammatically:

     ---inEdges---> vertex ---outEdges--->.
     
    Author:
    Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)
    • Method Detail

      • addEdge

        Edge addEdge​(String label,
                     Vertex inVertex,
                     Object... keyValues)
        Add an outgoing edge to the vertex with provided label and edge properties as key/value pairs. These key/values must be provided in an even number where the odd numbered arguments are String property keys and the even numbered arguments are the related property values.
        Parameters:
        label - The label of the edge
        inVertex - The vertex to receive an incoming edge from the current vertex
        keyValues - The key/value pairs to turn into edge properties
        Returns:
        the newly created edge
      • property

        default <V> VertexProperty<V> property​(String key,
                                               V value)
        Set the provided key to the provided value using VertexProperty.Cardinality.single.
        Specified by:
        property in interface Element
        Type Parameters:
        V - the type of the value of the vertex property
        Parameters:
        key - the key of the vertex property
        value - The value of the vertex property
        Returns:
        the newly created vertex property
      • property

        default <V> VertexProperty<V> property​(String key,
                                               V value,
                                               Object... keyValues)
        Set the provided key to the provided value using default VertexProperty.Cardinality for that key. The default cardinality can be vendor defined and is usually tied to the graph schema. The default implementation of this method determines the cardinality graph().features().vertex().getCardinality(key). The provided key/values are the properties of the newly created VertexProperty. These key/values must be provided in an even number where the odd numbered arguments are String.
        Type Parameters:
        V - the type of the value of the vertex property
        Parameters:
        key - the key of the vertex property
        value - The value of the vertex property
        keyValues - the key/value pairs to turn into vertex property properties
        Returns:
        the newly created vertex property
      • property

        <V> VertexProperty<V> property​(VertexProperty.Cardinality cardinality,
                                       String key,
                                       V value,
                                       Object... keyValues)
        Create a new vertex property. If the cardinality is VertexProperty.Cardinality.single, then set the key to the value. If the cardinality is VertexProperty.Cardinality.list, then add a new value to the key. If the cardinality is VertexProperty.Cardinality.set, then only add a new value if that value doesn't already exist for the key. If the value already exists for the key, add the provided key value vertex property properties to it.
        Type Parameters:
        V - the type of the value of the vertex property
        Parameters:
        cardinality - the desired cardinality of the property key
        key - the key of the vertex property
        value - The value of the vertex property
        keyValues - the key/value pairs to turn into vertex property properties
        Returns:
        the newly created vertex property
      • edges

        Iterator<Edge> edges​(Direction direction,
                             String... edgeLabels)
        Gets an Iterator of incident edges.
        Parameters:
        direction - The incident direction of the edges to retrieve off this vertex
        edgeLabels - The labels of the edges to retrieve. If no labels are provided, then get all edges.
        Returns:
        An iterator of edges meeting the provided specification
      • vertices

        Iterator<Vertex> vertices​(Direction direction,
                                  String... edgeLabels)
        Gets an Iterator of adjacent vertices.
        Parameters:
        direction - The adjacency direction of the vertices to retrieve off this vertex
        edgeLabels - The labels of the edges associated with the vertices to retrieve. If no labels are provided, then get all edges.
        Returns:
        An iterator of vertices meeting the provided specification
      • properties

        <V> Iterator<VertexProperty<V>> properties​(String... propertyKeys)
        Get an Iterator of properties where the propertyKeys is meant to be a filter on the available keys. If no keys are provide then return all the properties.
        Specified by:
        properties in interface Element