anchor.diff:  
   == The Final Ten Minutes
   
  -In these final ten minutes of _The TinkerPop Workout - by Gremlin_ we'll look at TinkerPop from a higher level and
  +In these final ten minutes of _The TinkerPop Workout — by Gremlin_, we'll look at TinkerPop from a higher level and
   introduce different features of the stack in order to orient you with what it offers. In this way, you can
   identify areas of interest and dig into the details from there.
   
  
positive.code: the `has()`-step with the name "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
  on the list of "marko" collaborators. The `where()` specifies that the "person" vertices passing through it should
  not equal (i.e. `neq()`) the contents of the "exclude" label. As it just contains the "marko" vertex, the `where()`
  filters out the "marko" that we get when we traverse back _in_ on the "created" edges.
  
  You will find many uses of `as()`. Here it is in combination with link:http://tinkerpop.apache.org/docs/x.y.z/reference/#select-step[select]:
  
negative.code: ----
  
  <1> To ensure fast lookups of vertices, we need an index. The `createIndex()` method is a method native to
  TinkerGraph. Please consult your graph databases' documentation for their index creation approaches.
  <2> This "get or create" traversal gets a vertex if it already exists; otherwise, it creates it. It uses `coalesce()` in
  a clever way by first determining whether the list of vertices produced by the previous `fold()` has anything in it by
  testing the result of `unfold()`. If `unfold()` returns nothing then that vertex doesn't exist and the subsequent
  `addV()` inner traversal can be called to create it.
  <3> We are iterating each line of the `wiki-Vote.txt` file and this line splits the line on the delimiter, then
  uses some neat Groovy syntax to apply the `getOrCreate()` function to each of the two `userId` fields encountered in
  the line and stores those vertices in the `fromVertex` and `toVertex` variables, respectively.
  
  NOTE: While this is a tab-delimited structure, this same pattern can be applied
  to any data source you require and Groovy tends to have nice libraries that can help make working with data
  link:https://thinkaurelius.wordpress.com/2013/02/04/polyglot-persistence-and-query-with-gremlin/[quite enjoyable].
  
  WARNING: Take care if using a `Graph` implementation that supports
  link:http://tinkerpop.apache.org/docs/x.y.z/reference/#transactions[transactions]. As TinkerGraph does not, there is
  no need to `commit()`. If your `Graph` does support transactions, intermediate commits during load will need to be
  applied.
  
  To load larger data sets you should read about the
  