anchor.diff:  
   The image above demonstrates the difference between Gremlin OLTP and Gremlin OLAP. With Gremlin OLTP, the graph is walked by moving from vertex-to-vertex via incident edges. With Gremlin OLAP, all vertices are provided a VertexProgram. The programs send messages to one another according to the topological structure of the graph as a communication network (with random message passing possible). In many respects, the messages passed are like the OLTP traversers moving from vertex-to-vertex. However, all messages are moving independent of one another, in parallel.
   
  -GraphComputer and VertexProgram
  --------------------------------
  +[[vertexprogram]]
  +VertexProgram
  +-------------
   
   In Gremlin, it is possible to have the same traversal executed either using the standard OTLP-engine or have it executed using the OLAP-engine. The difference being where the query is submitted.
   
  
positive.code: 
  The classic link:http://en.wikipedia.org/wiki/PageRank[PageRank] centrality algorithm can be executed over TinkerPop classic from the command line.
  
  [source,text]
  $ hadoop jar target/giraph-gremlin-3.0.0-job.jar com.tinkerpop.gremlin.giraph.process.computer.GiraphGraphComputer conf/giraph-graphson.properties
  14/07/29 12:08:27 INFO computer.GiraphGraphComputer: GiraphGremlin: com.tinkerpop.gremlin.process.computer.ranking.pagerank.PageRankVertexProgram
  14/07/29 12:08:28 INFO mapred.JobClient: Running job: job_201407281259_0041
  
negative.code: 
  NOTE: This model of graph computing was made popular by Google's link:http://googleresearch.blogspot.com/2009/06/large-scale-graph-computing-at-google.html[Pregel] graph system. In the open source world, this model is found in OLAP graph computing systems such as link:https://giraph.apache.org/[Giraph], link:https://hama.apache.org/[Hama], and link:http://faunus.thinkaurelius.com[Faunus].
  
  [[mapreduce]]
  MapReduce
  ---------
  
  The BSP model proposed by Pregel stores the results of the computation in a distributed manner as properties of the vertices in the graph. However, in many situations, it necessary to aggregate those resultant properties into a single result set (i.e. a statistic). For instance, assume a VertexProgram that computes a nominal cluster for each vertex. At the end of the computation, each vertex will have an hidden property denoting the cluster it is in. In order to answer the following questions, MapReduce jobs are required:
  
  