anchor.diff:  
   * A SPARQL Union query with un-balanced patterns, i.e. a gremlin union traversal can only be generated if the input
   SPARQL query has the same number of patterns on both the side of the union operator. For instance, the following
  -SPARQL query cannot be mapped using Gremlinator, since a union is executed between different number of graph patterns
  -(two patterns `union` 1 pattern).
  -
  -[source,groovy]
  -----
  -g.sparql("""SELECT * WHERE {
  -	{?person e:created ?software .
  -	?person v:name "josh" .}
  -	UNION
  -	{?software v:lang "java" .} }""")
  -----
  -
  -* A non-Group key variable cannot be projected in a SPARQL query. This is a SPARQL langauge limitation rather than that of Gremlin/TinkerPop. Apache Jena throws the exception " Non-group key variable in SELECT" if this occurs.
  -For instance, in a SPARQL query with GROUP-BY clause, only the variable on which the grouping is declared, can be projected. The following query is valid:
  -
  -[source,groovy]
  -----
  -g.sparql("""SELECT ?age WHERE {
  -    ?person v:label "person" .
  -    ?person v:age ?age .
  -    ?person v:name ?name .} GROUP BY (?age)""")
  +SPARQL query cannot be mapped, since a union is executed between different number of graph patterns (two patterns
  +`union` 1 pattern).
  +
  +[source,groovy]
  +----
  +g.sparql("""SELECT *
  +            WHERE {
  +                {?person e:created ?software .
  +                ?person v:name "josh" .}
  +                UNION
  +                {?software v:lang "java" .} }""")
  +----
  +
  +* A non-Group key variable cannot be projected in a SPARQL query. This is a SPARQL language limitation rather than
  +that of Gremlin/TinkerPop. Apache Jena throws the exception "Non-group key variable in SELECT" if this occurs.
  +For instance, in a SPARQL query with GROUP-BY clause, only the variable on which the grouping is declared, can be
  +projected. The following query is valid:
  +
  +[source,groovy]
  +----
  +g.sparql("""SELECT ?age
  +            WHERE {
  +                ?person v:label "person" .
  +                ?person v:age ?age .
  +                ?person v:name ?name .} GROUP BY (?age)""")
   ----
   
   Whereas, the following SPARQL query will be invalid:
   
   [source,groovy]
   ----
  -g.sparql("""SELECT ?person WHERE {
  -      ?person v:label "person" .
  -      ?person v:age ?age .
  -      ?person v:name ?name .} GROUP BY (?age)""")
  -----
  -
  -
  -* In a SPARQL query with an ORDER-BY clause, the ordering occurs wrt to the first projected variable in the query. You may choose any number of variable to be projected, however, the first variable in the selection will be the ordering decider.
  -For instance, in the query:
  -
  -
  -[source,groovy]
  -----
  -g.sparql("""SELECT ?name ?age WHERE {
  -    ?person v:label "person" .
  -    ?person v:age ?age .
  -    ?person v:name ?name . } ORDER BY (?age)""")
  -----
  -
  -the result set will be ordered according to the `?name` variable (in ascending order by default) despite having passed `?age` in the order by. Whereas, for the following query:
  -
  -[source,groovy]
  -----
  -g.sparql("""SELECT ?age ?name WHERE {
  -    ?person v:label "person" .
  -    ?person v:age ?age .
  -    ?person v:name ?name . } ORDER BY (?age)""")
  -----
  -
  -the result set will be ordered according to the `?age` (as it is the first projected variable). Finally, for the select all case (`SELECT *`):
  +g.sparql("""SELECT ?person
  +            WHERE {
  +              ?person v:label "person" .
  +              ?person v:age ?age .
  +              ?person v:name ?name .} GROUP BY (?age)""")
  +----
  +
  +* In a SPARQL query with an ORDER-BY clause, the ordering occurs with respect to the first projected variable in the
  +query. It is possible to choose any number of variable to be projected, however, the first variable in the selection
  +will be the ordering decider. For instance, in the query:
  +
  +[source,groovy]
  +----
  +g.sparql("""SELECT ?name ?age
  +            WHERE {
  +                ?person v:label "person" .
  +                ?person v:age ?age .
  +                ?person v:name ?name . } ORDER BY (?age)""")
  +----
  +
  +the result set will be ordered according to the `?name` variable (in ascending order by default) despite having passed
  +`?age` in the order by. Whereas, for the following query:
  +
  +[source,groovy]
  +----
  +g.sparql("""SELECT ?age ?name
  +            WHERE {
  +                ?person v:label "person" .
  +                ?person v:age ?age .
  +                ?person v:name ?name . } ORDER BY (?age)""")
  +----
  +
  +the result set will be ordered according to the `?age` (as it is the first projected variable). Finally, for the
  +select all case (`SELECT *`):
   
   [source,groovy]
   ----
   g.sparql("""SELECT *
  -WHERE { ?person v:label "person" . ?person v:age ?age . ?person v:name ?name . } ORDER BY (?age)""")
  -----
  -
  -The the variable encountered first will be the ordering decider, i.e. since we have `?person` being encountered first, the result set will be ordered according to the `?person` variable (which are vertex id).
  -
  -* OPTIONAL
  -In the current implementation, `OPTIONAL` clause doesn't work under nesting with `UNION` clause (i.e. multiple optional clauses with in a union clause) and `ORDER-By` clause (i.e. declaring ordering over triple patterns within optional clauses). Everything else with SPARQL `OPTIONAL` works just fine.
  -
  +            WHERE { ?person v:label "person" . ?person v:age ?age . ?person v:name ?name . } ORDER BY (?age)""")
  +----
  +
  +the the variable encountered first will be the ordering decider, i.e. since we have `?person` encountered first,
  +the result set will be ordered according to the `?person` variable (which are vertex id).
  +
  +* In the current implementation, `OPTIONAL` clause doesn't work under nesting with `UNION` clause (i.e. multiple optional
  +clauses with in a union clause) and `ORDER-By` clause (i.e. declaring ordering over triple patterns within optional
  +clauses). Everything else with SPARQL `OPTIONAL` works just fine.
   
   [[examples]]
   === Examples
   
  -The following section presents a comprehensive examples of SPARQL queries that are currently covered by the
  -SPARQL-Gremlin compiler.
  -
  -[[select-all]]
  +The following section presents examples of SPARQL queries that are currently covered by the SPARQL-Gremlin compiler.
  +
   ==== Select All
   
   Select all vertices in the graph.
  
positive.code: } GROUP BY (?age) LIMIT 2""")
  ----
  
  [[meta-property-access]]
  ==== Meta-Property Access
  
  Accessing the Meta-Property of a graph element. Meta-Property can be perceived as the reified statements in an RDF
  
negative.code:   ?person v:age ?age . }""")
  ----
  
  ==== Pattern Matching
  
  Select only those persons who created a project.
  