anchor.diff:  g.V().has('name','marko').out('created')
   ----
   
  -image:gremlin-on-software-vertex.png[width=300,float=right] Let's extend on that to try to learn who "marko"
  -collaborates with. In other words, let's try to answer the question of: "Who are the people that "marko" develops
  -"software" with?" To do that, we should first picture Gremlin standing on the "software" vertex. To find out who
  -"created" that "software" we need to have Gremlin traverse back _in_ along the "created" edges to find the "person"
  -vertices tied to it.
  +image:gremlin-on-software-vertex.png[width=350,float=right] Let's extend on that query to try to learn who "marko"
  +collaborates with when it comes to the software he created. In other words, let's try to answer the question of: "Who
  +are the people that marko develops software with?" To do that, we should first picture Gremlin where we left him in
  +the previous query.  He was standing on the "software" vertex. To find out who "created" that "software", we need to
  +have Gremlin traverse back _in_ along the "created" edges to find the "person" vertices tied to it.
   
   [gremlin-groovy,modern]
   ----
  
positive.code: We made two additions to the traversal to make it exclude "marko" from the results. First, we added the
  link:http://tinkerpop.incubator.apache.org/docs/x.y.z/#as-step[as()] step. The `as()` step is not really a "step",
  but a "step modulator" - something that adds features to a step or the traversal. Here, the `as('exclude')` labels
  the `has()` step with "exclude" and all values that pass through that step are held in that "label" for later use. In
  this case, the "marko" vertex is the only vertex to pass through that point, so it is held in "exclude".
  
  The other addition that was made was the `where()` step which is a filter step like `has()`. The `where()` is
  positioned after the `in()` step that has "person" vertices, which means that the `where()` filter is occurring
  
negative.code: NOTE: The fully qualified name for `T` is `org.apache.tinkerpop.gremlin.structure.T`.
  
  Third, don't forget that you are working with TinkerGraph and so identifier assignment is allowed. That is _not_ the
  case with most graph databases (for example, don't bother to try with Neo4j or Titan).
  
  Finally, the label for an `Edge` is required and is thus part of the method signature of `addEdge()`. It is the first
  parameter supplied, followed by the `Vertex` to which `v1` should be connected. Therefore, this usage of `addEdge` is
  creating an edge that goes _out_ of `v1` and into `v2` with a label of "created".
  
  Graph Traversal - Staying Simple
  