Interface VertexFrame

All Superinterfaces:
ElementFrame
All Known Implementing Classes:
AbstractVertexFrame, TVertex

public interface VertexFrame
extends ElementFrame
  • Method Details

    • getElement

      org.apache.tinkerpop.gremlin.structure.Vertex getElement()
      Specified by:
      getElement in interface ElementFrame
      Returns:
      The underlying element.
    • addFramedEdge

      <T> T addFramedEdge​(String label, VertexFrame inVertex, ClassInitializer<T> initializer)
      Add an edge using the supplied frame type.
      Type Parameters:
      T - The type for the framed edge.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      initializer - the initializer for the frame which defines its type and may initialize properties
      Returns:
      The new edge.
    • addFramedEdge

      <T> T addFramedEdge​(String label, VertexFrame inVertex, Class<T> kind)
      Add an edge using the supplied frame type.
      Type Parameters:
      T - The type for the framed edge.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      kind - The kind of frame.
      Returns:
      The new edge.
    • addFramedEdgeExplicit

      <T> T addFramedEdgeExplicit​(String label, VertexFrame inVertex, ClassInitializer<T> initializer)
      Add an edge using the supplied frame type. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      T - The type for the framed edge.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      initializer - the initializer for the frame which defines its type and may initialize properties
      Returns:
      The new edge.
    • addFramedEdgeExplicit

      <T> T addFramedEdgeExplicit​(String label, VertexFrame inVertex, Class<T> kind)
      Add an edge using the supplied frame type. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      T - The type for the framed edge.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      kind - The kind of frame.
      Returns:
      The new edge.
    • addFramedEdge

      TEdge addFramedEdge​(String label, VertexFrame inVertex)
      Add an edge using a frame type of TEdge.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      Returns:
      The added edge.
    • addFramedEdgeExplicit

      TEdge addFramedEdgeExplicit​(String label, VertexFrame inVertex)
      Add an edge using a frame type of TEdge. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Parameters:
      label - The label for the edge
      inVertex - The vertex to link to.
      Returns:
      The added edge.
    • linkOut

      void linkOut​(VertexFrame vertex, String... labels)
      Create edges from the framed vertex to the supplied vertex with the supplied labels
      Parameters:
      vertex - The vertex to link to.
      labels - The labels for the edges.
    • linkIn

      void linkIn​(VertexFrame vertex, String... labels)
      Create edges from the supplied vertex to the framed vertex with the supplied labels
      Parameters:
      vertex - The vertex to link from.
      labels - The labels for the edges.
    • linkBoth

      void linkBoth​(VertexFrame vertex, String... labels)
      Create edges from the supplied vertex to the framed vertex and vice versa with the supplied labels
      Parameters:
      vertex - The vertex to link to and from.
      labels - The labels for the edges.
    • unlinkOut

      void unlinkOut​(VertexFrame vertex, String... labels)
      Remove all out edges to the supplied vertex with the supplied labels.
      Parameters:
      vertex - The vertex to removed the edges to.
      labels - The labels of the edges.
    • unlinkIn

      void unlinkIn​(VertexFrame vertex, String... labels)
      Remove all in edges to the supplied vertex with the supplied labels.
      Parameters:
      vertex - The vertex to removed the edges from.
      labels - The labels of the edges.
    • unlinkBoth

      void unlinkBoth​(VertexFrame vertex, String... labels)
      Remove all edges to/from the supplied vertex with the supplied labels.
      Parameters:
      vertex - The vertex to removed the edges to/from.
      labels - The labels of the edges.
    • setLinkOut

      void setLinkOut​(VertexFrame vertex, String... labels)
      Remove all out edges with the labels and then add a single edge to the supplied vertex.
      Parameters:
      vertex - the vertex to link to.
      labels - The labels of the edges.
    • setLinkIn

      void setLinkIn​(VertexFrame vertex, String... labels)
      Remove all in edges with the labels and then add a single edge from the supplied vertex.
      Parameters:
      vertex - the vertex to link from.
      labels - The labels of the edges.
    • setLinkBoth

      void setLinkBoth​(VertexFrame vertex, String... labels)
      Remove all edges with the labels and then add a edges from the supplied vertex and to the supplied vertex.
      Parameters:
      vertex - the vertex to link from.
      labels - The labels of the edges.
    • setLinkOut

      <K> K setLinkOut​(ClassInitializer<K> initializer, String... labels)
      Remove all out edges with the labels and then add a single edge to a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkOut

      <K> K setLinkOut​(Class<K> kind, String... labels)
      Remove all out edges with the labels and then add a single edge to a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkOutExplicit

      <K> K setLinkOutExplicit​(ClassInitializer<K> initializer, String... labels)
      Remove all out edges with the labels and then add a single edge to a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkOutExplicit

      <K> K setLinkOutExplicit​(Class<K> kind, String... labels)
      Remove all out edges with the labels and then add a single edge to a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkIn

      <K> K setLinkIn​(ClassInitializer<K> initializer, String... labels)
      Remove all in edges with the labels and then add a single edge from a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkIn

      <K> K setLinkIn​(Class<K> kind, String... labels)
      Remove all in edges with the labels and then add a single edge from a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkInExplicit

      <K> K setLinkInExplicit​(ClassInitializer<K> initializer, String... labels)
      Remove all in edges with the labels and then add a single edge from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkInExplicit

      <K> K setLinkInExplicit​(Class<K> kind, String... labels)
      Remove all in edges with the labels and then add a single edge from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkBoth

      <K> K setLinkBoth​(ClassInitializer<K> initializer, String... labels)
      Remove all edges with the labels and then add edges to/from a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkBoth

      <K> K setLinkBoth​(Class<K> kind, String... labels)
      Remove all edges with the labels and then add edges to/from a new vertex.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkBothExplicit

      <K> K setLinkBothExplicit​(ClassInitializer<K> initializer, String... labels)
      Remove all edges with the labels and then add edges to/from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      initializer - the initializer for the frame which defines its type and may initialize properties
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • setLinkBothExplicit

      <K> K setLinkBothExplicit​(Class<K> kind, String... labels)
      Remove all edges with the labels and then add edges to/from a new vertex. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      K - The type used to frame the edge.
      Parameters:
      kind - The kind of frame.
      labels - The labels of the edges.
      Returns:
      The newly created edge.
    • toJson

      com.google.gson.JsonObject toJson()
      Output the vertex as JSON.
      Returns:
      A JsonObject representing this frame.
    • reframe

      <T> T reframe​(Class<T> kind)
      Reframe this element as a different type of frame.
      Type Parameters:
      T - The type used to frame the element.
      Parameters:
      kind - The new kind of frame.
      Returns:
      The new frame
    • reframeExplicit

      <T> T reframeExplicit​(Class<T> kind)
      Reframe this element as a different type of frame. This will bypass the default type resolution and use the untyped resolver instead. This method is useful for speeding up a look up when type resolution isn't required.
      Type Parameters:
      T - The type used to frame the element.
      Parameters:
      kind - The new kind of frame.
      Returns:
      The new frame
    • traverse

      <T extends Traversable<?,​ ?>> T traverse​(Function<org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<org.apache.tinkerpop.gremlin.structure.Vertex,​org.apache.tinkerpop.gremlin.structure.Vertex>,​org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<?,​?>> traverser)
    • getRawTraversal

      org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal<? extends org.apache.tinkerpop.gremlin.structure.Vertex,​? extends org.apache.tinkerpop.gremlin.structure.Vertex> getRawTraversal()