anchor.diff:  
   The following sections describe each language variant and driver that is officially TinkerPop a part of the project,
   providing more detailed information about usage, configuration and known limitations.
  +
  +[[gremlin-groovy]]
  +== Gremlin-Groovy
  +
  +image:gremlin-groovy-drawing.png[width=130,float=right] Apache TinkerPop's Gremlin-Groovy implements Gremlin within the
  +link:http://groovy.apache.org[Apache Groovy] language. As a JVM-based language variant, Gremlin-Groovy is backed by
  +<<gremlin-java,Gremlin-Java>> constructs. Moreover, given its scripting nature, Gremlin-Groovy serves as the language of
  +<<gremlin-console,Gremlin Console>> and <<gremlin-server,Gremlin Server>>.
  +
  +[source,groovy]
  +----
  +compile group: 'org.apache.tinkerpop', name: 'gremlin-core', version: 'x.y.z'
  +compile group: 'org.apache.tinkerpop', name: 'gremlin-driver', version: 'x.y.z'
  +----
  +
  +[[gremlin-groovy-differences]]
  +=== Differences
  +
  +In Groovy, `as`, `in`, and `not` are reserved words. Gremlin-Groovy does not allow these steps to be called
  +statically from the anonymous traversal `+__+` and therefore, must always be prefixed with `+__.+` For instance:
  +`+g.V().as('a').in().as('b').where(__.not(__.as('a').out().as('b')))+`
  +
  +Since Groovy has access to the full JVM as Java does, it is possible to construct `Date`-like objects directly, but
  +the Gremlin language does offer a `datetime()` function that is exposed in the Gremlin Console and as a function for
  +Gremlin scripts sent to Gremlin Server. The function accepts the following forms of dates and times using a default
  +time zone offset of UTC(+00:00):
  +
  +* `2018-03-22`
  +* `2018-03-22T00:35:44`
  +* `2018-03-22T00:35:44Z`
  +* `2018-03-22T00:35:44.741`
  +* `2018-03-22T00:35:44.741Z`
  +* `2018-03-22T00:35:44.741+1600`
   
   anchor:connecting-via-remotegraph[]
   anchor:connecting-via-java[]
  
positive.code: `com.my`. Please see the `README.asciidoc` in the root of each generated project for information on how to build and
  execute it.
  
  [[gremlin-groovy]]
  == Gremlin-Groovy
  
  image:gremlin-groovy-drawing.png[width=130,float=right] Apache TinkerPop's Gremlin-Groovy implements Gremlin within the
  link:http://groovy.apache.org[Apache Groovy] language. As a JVM-based language variant, Gremlin-Groovy is backed by
  Gremlin-Java constructs. Moreover, given its scripting nature, Gremlin-Groovy serves as the language of
  <<gremlin-console,Gremlin Console>> and <<gremlin-server,Gremlin Server>>.
  
  [source,groovy]
  ----
  compile group: 'org.apache.tinkerpop', name: 'gremlin-core', version: 'x.y.z'
  compile group: 'org.apache.tinkerpop', name: 'gremlin-driver', version: 'x.y.z'
  ----
  
  [[gremlin-groovy-differences]]
  === Differences
  
  In Groovy, `as`, `in`, and `not` are reserved words. Gremlin-Groovy does not allow these steps to be called
  statically from the anonymous traversal `+__+` and therefore, must always be prefixed with `+__.+` For instance:
  `+g.V().as('a').in().as('b').where(__.not(__.as('a').out().as('b')))+`
  
  Since Groovy has access to the full JVM as Java does, it is possible to construct `Date`-like objects directly, but
  the Gremlin language does offer a `datetime()` function that is exposed in the Gremlin Console and as a function for
  Gremlin scripts sent to Gremlin Server. The function accepts the following forms of dates and times using a default
  time zone offset of UTC(+00:00):
  
  * `2018-03-22`
  * `2018-03-22T00:35:44`
  * `2018-03-22T00:35:44Z`
  * `2018-03-22T00:35:44.741`
  * `2018-03-22T00:35:44.741Z`
  * `2018-03-22T00:35:44.741+1600`
  
  [[gremlin-python]]
  == Gremlin-Python
  
negative.code: pip install aiohttp
  python example.py
  ----
  