anchor.diff:  <2> Calculation of in-degree centrality which only counts incoming edges to a vertex.
   <3> Calculation of out-degree centrality which only counts outgoing edges from a vertex.
   <4> Same calculation as the previous traversal, but includes all vertices, even those with a zero
  +<5> The previous examples all produce a single `Map` as their output. While that is a desireable output, producing a
  +stream of `Map` objects can allow some greater flexibility.
  +<6> For example, use of a stream enables use of an ordered limit that can be executed in a distributed fashion in
  +OLAP traversals.
   
   [[betweeness-centrality]]
   Betweeness Centrality
  
positive.code: <4> Recall that at this point, there is a `Map` keyed by first and last vertex and with a value of just the shortest
  path. Extract the shortest path with `select(values)`, since that's the only portion required for the remainder of
  the traversal.
  <5> Begin a mid-traversal iteration of all vertices to essentially count the shortest paths that pass through each one.
  <6> Sum the counts for each vertex using `sack()`, normalize the value and label it as the "betweeness" to be the score.
  
  [[closeness-centrality]]
  Closeness Centrality
  
negative.code: 
  [gremlin-groovy,modern]
  ----
  g.V().bothE().group().by(otherV()).by(count())        <1>
  g.V().inE().group().by(inV()).by(count())             <2>
  g.V().outE().group().by(outV()).by(count())           <3>
  g.V().group().by().by(outE().count())                 <4>
  g.V().project("v","degree").by().by(bothE().count())  <5>
  g.V().project("v","degree").by().by(bothE().count()). <6>
    order().by(select("degree"), decr).
    limit(4)
  ----
  
  <1> Calculation of degree centrality which counts all incident edges on each vertex to include those that are both
  