anchor.diff:  
   link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#until-java.util.function.Predicate-++[`until(Predicate)`],
   link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#until-org.apache.tinkerpop.gremlin.process.traversal.Traversal-++[`until(Traversal)`]
  +
  +anchor:graph-step[]
  +[[v-step]]
  +=== V Step
  +
  +The `V()`-step is meant to read vertices from the graph and is usually used to start a `GraphTraversal`, but can also
  +be used mid-traversal.
  +
  +[gremlin-groovy,modern]
  +----
  +g.V(1) <1>
  +g.V().has('name', within('marko', 'vadas', 'josh')).as('person').
  +  V().has('name', within('lop', 'ripple')).addE('uses').from('person') <2>
  +----
  +
  +<1> Find the vertex by its unique identifier (i.e. `T.id`) - not all graphs will use a numeric value for their identifier.
  +<2> An example where `V()` is used both as a start step and in the middle of a traversal.
  +
  +NOTE: Whether a mid-traversal `V()` uses an index or not, depends on a) whether suitable index exists and b) if the
  +particular graph system provider implemented this functionality.
  +
  +[gremlin-groovy,modern]
  +----
  +g.V().has('name', within('marko', 'vadas', 'josh')).as('person').
  +  V().has('name', within('lop', 'ripple')).addE('uses').from('person').toString() <1>
  +g.V().has('name', within('marko', 'vadas', 'josh')).as('person').
  +  V().has('name', within('lop', 'ripple')).addE('uses').from('person').iterate().toString() <2>
  +----
  +
  +<1> Normally the `V()`-step will iterate over all vertices. However, graph strategies can fold ``HasContainer``'s into a `GraphStep` to allow index lookups.
  +<2> Whether the graph system provider supports mid-traversal `V()` index lookups or not can easily be determined by inspecting the `toString()` output of the iterated traversal. If `has` conditions were folded into the `V()`-step, an index - if one exists - will be used.
  +
  +*Additional References*
  +
  +link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#V-java.lang.Object...-++[`V(Object...)`]
   
   [[value-step]]
   === Value Step
  
positive.code: 
  link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#shortestPath--++[`shortestPath()`]
  
  [[simplepath-step]]
  === SimplePath Step
  
  
negative.code: link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#addV--++[`addV()`],
  link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#addV-java.lang.String-++[`addV(String)`],
  link:++https://tinkerpop.apache.org/javadocs/x.y.z/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#addV-org.apache.tinkerpop.gremlin.process.traversal.Traversal-++[`addV(Traversal)`]
  
  [[aggregate-step]]
  === [[store-step]]Aggregate Step
  