You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2018/10/12 23:25:02 UTC

svn commit: r1843716 [4/43] - in /tinkerpop/site: docs/3.2.10-SNAPSHOT/ docs/3.2.10-SNAPSHOT/dev/developer/ docs/3.2.10-SNAPSHOT/dev/io/ docs/3.2.10-SNAPSHOT/dev/provider/ docs/3.2.10-SNAPSHOT/images/ docs/3.2.10-SNAPSHOT/logs/ docs/3.2.10-SNAPSHOT/rec...

Modified: tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/getting-started/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/getting-started/index.html?rev=1843716&r1=1843715&r2=1843716&view=diff
==============================================================================
--- tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/getting-started/index.html (original)
+++ tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/getting-started/index.html Fri Oct 12 23:25:00 2018
@@ -1127,19 +1127,19 @@ as an example. First, you need to create
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; graph = TinkerGraph.open()
 ==&gt;tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>]
-gremlin&gt; v1 = graph.addVertex(id, <span class="integer">1</span>, label, <span class="string"><span class="delimiter">&quot;</span><span class="content">person</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">marko</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">age</span><span class="delimiter">&quot;</span></span>, <span class="integer">29</span>)
-==&gt;v[<span class="integer">1</span>]
-gremlin&gt; v2 = graph.addVertex(id, <span class="integer">3</span>, label, <span class="string"><span class="delimiter">&quot;</span><span class="content">software</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lop</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lang</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">java</span><span class="delimiter">&quot;</span></span>)
-==&gt;v[<span class="integer">3</span>]
-gremlin&gt; v1.addEdge(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>, v2, id, <span class="integer">9</span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>, <span class="float">0.4</span>)
+gremlin&gt; g = graph.traversal()
+==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>], standard]
+gremlin&gt; g.addV(<span class="string"><span class="delimiter">&quot;</span><span class="content">person</span><span class="delimiter">&quot;</span></span>).property(id, <span class="integer">1</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">marko</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">age</span><span class="delimiter">&quot;</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">v1</span><span class="delimiter">'</span></span>).
+           addV(<span class="string"><span class="delimiter">&quot;</span><span class="content">software</span><span class="delimiter">&quot;</span></span>).property(id, <span class="integer">3</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lop</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">lang</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">java</span><span class="delimiter">&quot;</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">v2</span><span class="delimiter">'</span></span>).
+           addE(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>).property(id, <span class="integer">9</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>, <span class="float">0.4</span>).from(<span class="string"><span class="delimiter">'</span><span class="content">v1</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">v2</span><span class="delimiter">'</span></span>)
 ==&gt;e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>]</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>There are a number of important things to consider in the above code. First, recall that <code>id</code> and <code>label</code> are
-"reserved" for special usage in TinkerPop and are members of the enum, <code>T</code>. Those "keys" supplied to the creation
-method are <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/language/static-import.html">statically imported</a>
-to the console, which allows you to access them without having to specify their owning enum. Think of it as a
+<p>There are a number of important things to consider in the above code. First, recall that <code>id</code> is "reserved" for
+special usage in TinkerPop and is a members of the enum, <code>T</code>. The <code>T</code> enum has other important structural values like
+<code>label</code> as well. Note that the Gremlin Console <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/language/static-import.html">statically imports</a>
+the enum values of <code>T</code>, which allows you to access them without having to specify their owning enum. Think of it as a
 shorthand form that enables a more fluid code style. You would normally refer to them as <code>T.id</code> and <code>T.label</code>. Without
 that static importing you would instead have to write:</p>
 </div>
@@ -1147,11 +1147,11 @@ that static importing you would instead
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; graph = TinkerGraph.open()
 ==&gt;tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>]
-gremlin&gt; v1 = graph.addVertex(T.id, <span class="integer">1</span>, T.label, <span class="string"><span class="delimiter">&quot;</span><span class="content">person</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">marko</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">age</span><span class="delimiter">&quot;</span></span>, <span class="integer">29</span>)
-==&gt;v[<span class="integer">1</span>]
-gremlin&gt; v2 = graph.addVertex(T.id, <span class="integer">3</span>, T.label, <span class="string"><span class="delimiter">&quot;</span><span class="content">software</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lop</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lang</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">java</span><span class="delimiter">&quot;</span></span>)
-==&gt;v[<span class="integer">3</span>]
-gremlin&gt; v1.addEdge(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>, v2, id, <span class="integer">9</span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>, <span class="float">0.4</span>)
+gremlin&gt; g = graph.traversal()
+==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>], standard]
+gremlin&gt; g.addV(<span class="string"><span class="delimiter">&quot;</span><span class="content">person</span><span class="delimiter">&quot;</span></span>).property(T.id, <span class="integer">1</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">marko</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">age</span><span class="delimiter">&quot;</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">v1</span><span class="delimiter">'</span></span>).
+           addV(<span class="string"><span class="delimiter">&quot;</span><span class="content">software</span><span class="delimiter">&quot;</span></span>).property(T.id, <span class="integer">3</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">lop</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">lang</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">java</span><span class="delimiter">&quot;</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">v2</span><span class="delimiter">'</span></span>).
+           addE(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>).property(T.id, <span class="integer">9</span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>, <span class="float">0.4</span>).from(<span class="string"><span class="delimiter">'</span><span class="content">v1</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">v2</span><span class="delimiter">'</span></span>)
 ==&gt;e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>]</code></pre>
 </div>
 </div>
@@ -1174,9 +1174,8 @@ for the creation of <a href="http://tink
 case with most graph databases.</p>
 </div>
 <div class="paragraph">
-<p>Finally, the label for an <code>Edge</code> is required and is thus part of the method signature of <code>addEdge()</code>. It is the first
-parameter supplied, followed by the <code>Vertex</code> to which <code>v1</code> should be connected. Therefore, this usage of <code>addEdge</code> is
-creating an edge that goes <em>out</em> of <code>v1</code> and into <code>v2</code> with a label of "created".</p>
+<p>Finally, the <code>as()</code>-steps label the value held at a particular step so that you can reference back to it later in the
+traversal. In this case, that allows you to reference both vertices as "v1" and "v2" during edge creation.</p>
 </div>
 </div>
 <div class="sect2">
@@ -1337,7 +1336,7 @@ gremlin&gt; g = graph.traversal()
 </div>
 </div>
 <div class="paragraph">
-<p>Earlier we&#8217;d used the <code>has()</code> step to tell Gremlin how to find the "marko" vertex. Let&#8217;s look at some other ways to
+<p>Earlier we&#8217;d used the <code>has()</code>-step to tell Gremlin how to find the "marko" vertex. Let&#8217;s look at some other ways to
 use <code>has()</code>. What if we wanted Gremlin to find the "age" values of both "vadas" and "marko"? In this case we could
 use the <code>within</code> comparator with <code>has()</code> as follows:</p>
 </div>
@@ -1432,14 +1431,14 @@ know about the involvement of "marko" an
 </div>
 <div class="paragraph">
 <p>We made two additions to the traversal to make it exclude "marko" from the results. First, we added the
-<a href="http://tinkerpop.apache.org/docs/3.2.10-SNAPSHOT/reference/#as-step">as()</a> step. The <code>as()</code> step is not really a "step",
+<a href="http://tinkerpop.apache.org/docs/3.2.10-SNAPSHOT/reference/#as-step">as()</a> step. The <code>as()</code>-step is not really a "step",
 but a "step modulator" - something that adds features to a step or the traversal. Here, the <code>as('exclude')</code> labels
-the <code>has()</code> step with the name "exclude" and all values that pass through that step are held in that label for later
+the <code>has()</code>-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".</p>
 </div>
 <div class="paragraph">
-<p>The other addition that was made was the <code>where()</code> step which is a filter step like <code>has()</code>. The <code>where()</code> is
-positioned after the <code>in()</code> step that has "person" vertices, which means that the <code>where()</code> filter is occurring
+<p>The other addition that was made was the <code>where()</code>-step which is a filter step like <code>has()</code>. The <code>where()</code> is
+positioned after the <code>in()</code>-step that has "person" vertices, which means that the <code>where()</code> filter is occurring
 on the list of "marko" collaborators. The <code>where()</code> specifies that the "person" vertices passing through it should
 not equal (i.e. <code>neq()</code>) the contents of the "exclude" label. As it just contains the "marko" vertex, the <code>where()</code>
 filters out the "marko" that we get when we traverse back <em>in</em> on the "created" edges.</p>
@@ -1727,7 +1726,7 @@ research within the reference documentat
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2018-05-11 13:26:52 EDT
+Last updated 2018-10-12 18:37:09 EDT
 </div>
 </div>
 </body>

Modified: tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/gremlins-anatomy/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/gremlins-anatomy/index.html?rev=1843716&r1=1843715&r2=1843716&view=diff
==============================================================================
--- tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/gremlins-anatomy/index.html (original)
+++ tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/gremlins-anatomy/index.html Fri Oct 12 23:25:00 2018
@@ -940,11 +940,11 @@ chained together in a fluent fashion. Re
 </div>
 </div>
 <div class="paragraph">
-<p>the <code>GraphTraversal</code> components are represented by the <code>has()</code>, <code>outE()</code> and <code>groupCount()</code> steps. The key to reading
+<p>the <code>GraphTraversal</code> components are represented by the <code>has()</code>, <code>outE()</code> and <code>groupCount()</code>-steps. The key to reading
 this Gremlin is to realize that the output of one step becomes the input to the next. Therefore, if you consider the
 start step of <code>V()</code> and realize that it returns vertices in the graph, the input to <code>has()</code> is going to be a <code>Vertex</code>.
-The <code>has()</code> step is a filtering step and will take the vertices that are passed into it and block any that do not
-meet the criteria it has specified. In this case, that means that the output of the <code>has()</code> step is vertices that have
+The <code>has()</code>-step is a filtering step and will take the vertices that are passed into it and block any that do not
+meet the criteria it has specified. In this case, that means that the output of the <code>has()</code>-step is vertices that have
 the label of "person" and the "name" property value of "josh" or "marko".</p>
 </div>
 <div class="imageblock">
@@ -964,7 +964,7 @@ incoming "marko" and "josh" vertices and
 </div>
 <div class="paragraph">
 <p>Now that it is clear that the output of <code>outE()</code> is an edge, you are aware of the input to <code>groupCount()</code> - edges.
-The <code>groupCount()</code> step requires a bit more discussion of other Gremlin components and will thus be examined in the
+The <code>groupCount()</code>-step requires a bit more discussion of other Gremlin components and will thus be examined in the
 following sections. At this point, it is simply worth noting that the output of <code>groupCount()</code> is a <code>Map</code> and if a
 Gremlin step followed it, the input to that step would therefore be a <code>Map</code>.</p>
 </div>
@@ -979,7 +979,7 @@ remaining pieces.</p>
 <h3 id="_step_modulators">Step Modulators</h3>
 <div class="paragraph">
 <p>It&#8217;s been explained in several ways now that the output of one step becomes the input to the next, so surely the <code>Map</code>
-produced by <code>groupCount()</code> will feed the <code>by()</code> step. As alluded to at the end of the previous section, that
+produced by <code>groupCount()</code> will feed the <code>by()</code>-step. As alluded to at the end of the previous section, that
 expectation is not correct. Technically, <code>by()</code> is not a step. It is a step modulator. A step modulator modifies the
 behavior of the previous step. In this case, it is telling Gremlin how the key for the <code>groupCount()</code> should be
 determined. Or said another way in the context of the example, it answers this question: What do you want the "marko"
@@ -1010,7 +1010,7 @@ In Java, the full package name for the <
 </table>
 </div>
 <div class="paragraph">
-<p>In the context of the example traversal, you can imagine Gremlin getting to the <code>groupCount()</code> step with a "marko" or
+<p>In the context of the example traversal, you can imagine Gremlin getting to the <code>groupCount()</code>-step with a "marko" or
 "josh" outgoing edge, checking the <code>by()</code> modulator to see "what to group by", and then putting edges into buckets
 by their <code>label()</code> and incrementing a counter on each bucket.</p>
 </div>
@@ -1028,7 +1028,7 @@ by their <code>label()</code> and increm
 <div class="paragraph">
 <p>Terminal steps are different from the <code>GraphTraversal</code> steps in that terminal steps do not return a <code>GraphTraversal</code>
 instance, but instead return the result of the <code>GraphTraversal</code>. In the case of the example, <code>next()</code> is the terminal
-step and it returns the <code>Map</code> constructed in the <code>groupCount()</code> step. Other examples of terminal steps include:
+step and it returns the <code>Map</code> constructed in the <code>groupCount()</code>-step. Other examples of terminal steps include:
 <code>hasNext()</code>, <code>toList()</code>, and <code>iterate()</code>. Without terminal steps, you don&#8217;t have a result. You only have a
 <code>GraphTraversal</code></p>
 </div>
@@ -1049,7 +1049,7 @@ You can read more about traversal iterat
 <div class="sect2">
 <h3 id="_expressions">Expressions</h3>
 <div class="paragraph">
-<p>It is worth backing up a moment to re-examine the <code>has()</code> step. Now that you have come to understand anonymous
+<p>It is worth backing up a moment to re-examine the <code>has()</code>-step. Now that you have come to understand anonymous
 traversals, it would be reasonable to make the assumption that the <code>within()</code> argument to <code>has()</code> falls into that
 category. It does not. The <code>within()</code> option is not a step either, but instead, something called an expression. An
 expression typically refers to anything not mentioned in the previously described Gremlin component categories that
@@ -1079,7 +1079,7 @@ more insight into how Gremlin works and
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2018-05-11 13:26:52 EDT
+Last updated 2018-10-12 18:37:09 EDT
 </div>
 </div>
 </body>

Modified: tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/the-gremlin-console/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/the-gremlin-console/index.html?rev=1843716&r1=1843715&r2=1843716&view=diff
==============================================================================
--- tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/the-gremlin-console/index.html (original)
+++ tinkerpop/site/docs/3.2.10-SNAPSHOT/tutorials/the-gremlin-console/index.html Fri Oct 12 23:25:00 2018
@@ -994,11 +994,10 @@ However, if you find that a larger graph
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; graph = TinkerGraph.open()
-==&gt;tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>]
-gremlin&gt; graph.io(gryo()).readGraph(<span class="string"><span class="delimiter">'</span><span class="content">data/grateful-dead.kryo</span><span class="delimiter">'</span></span>)
-gremlin&gt; graph
-==&gt;tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>]</code></pre>
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; graph = TinkerFactory.createGratefulDead()
+==&gt;tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>]
+gremlin&gt; g = graph.traversal()
+==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>], standard]</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1353,7 +1352,7 @@ it is all too tempting to copy and paste
 </div>
 <div class="paragraph">
 <p>Of course, this won&#8217;t work and you will likely be left wondering why your unit test for "removeByName" is failing, but
-the identical line of code in the console is doing what is expected.  The <code>drop()</code> step is not some special form
+the identical line of code in the console is doing what is expected.  The <code>drop()</code>-step is not some special form
 of terminating step that iterates the traversal - it is just one more step that vertices will pass through.  Outside
 of the console you must add <code>iterate()</code> as follows:</p>
 </div>
@@ -1623,7 +1622,7 @@ you wish to use. To do this, you need to
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; <span class="keyword">import</span> <span class="include">java.time.Year</span>
-==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.traversal.step.util.event.*, 
 org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.SackFunctions.Barrier.*, <span class="direct
 ive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.io.IoCore.*, <span class="directive">stati
 c</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive">static</span> org.apache.tinkerpop.gremlin.groovy.plu
 gin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.neo4j.process.traversal.La
 belP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
+==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.clone.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.
 tinkerpop.gremlin.process.traversal.step.util.event.*, org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process
 .traversal.SackFunctions.Barrier.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.greml
 in.structure.io.IoCore.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive
 ">static</span> org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> 
 org.apache.tinkerpop.gremlin.neo4j.process.traversal.LabelP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
 gremlin&gt; Year.now()
 ==&gt;<span class="integer">2018</span></code></pre>
 </div>
@@ -1635,7 +1634,7 @@ to produce the set of years to have for
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; <span class="keyword">import</span> <span class="include">java.time.Year</span>
-==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.traversal.step.util.event.*, 
 org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.SackFunctions.Barrier.*, <span class="direct
 ive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.io.IoCore.*, <span class="directive">stati
 c</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive">static</span> org.apache.tinkerpop.gremlin.groovy.plu
 gin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.neo4j.process.traversal.La
 belP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
+==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.clone.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.
 tinkerpop.gremlin.process.traversal.step.util.event.*, org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process
 .traversal.SackFunctions.Barrier.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.greml
 in.structure.io.IoCore.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive
 ">static</span> org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> 
 org.apache.tinkerpop.gremlin.neo4j.process.traversal.LabelP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
 gremlin&gt; firstYear = g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
                            local(properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>).min()).
                            max().next()
@@ -1711,7 +1710,7 @@ gremlin&gt; g.V().hasLabel(<span class="
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; <span class="keyword">import</span> <span class="include">java.time.Year</span>
-==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.traversal.step.util.event.*, 
 org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.SackFunctions.Barrier.*, <span class="direct
 ive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.io.IoCore.*, <span class="directive">stati
 c</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive">static</span> org.apache.tinkerpop.gremlin.groovy.plu
 gin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.neo4j.process.traversal.La
 belP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
+==&gt;groovy.grape.Grape, org.apache.commons.configuration.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.*, org.apache.tinkerpop.gremlin.process.computer.bulkloading.*, org.apache.tinkerpop.gremlin.process.computer.traversal.*, org.apache.tinkerpop.gremlin.util.function.*, org.apache.tinkerpop.gremlin.structure.io.*, org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.*, groovy.sql.*, org.apache.tinkerpop.gremlin.groovy.loaders.*, groovy.json.*, org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.*, org.apache.tinkerpop.gremlin.structure.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.clone.*, org.apache.tinkerpop.gremlin.process.traversal.engine.*, org.apache.tinkerpop.gremlin.groovy.jsr223.*, org.apache.tinkerpop.gremlin.structure.io.gryo.*, org.apache.tinkerpop.gremlin.process.remote.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.*, org.apache.
 tinkerpop.gremlin.process.traversal.step.util.event.*, org.apache.tinkerpop.gremlin.util.*, org.apache.tinkerpop.gremlin.structure.util.*, org.apache.tinkerpop.gremlin.structure.io.graphml.*, org.apache.tinkerpop.gremlin.process.computer.*, org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.*, org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.*, org.apache.tinkerpop.gremlin.structure.util.detached.*, org.apache.tinkerpop.gremlin.structure.io.graphson.*, org.apache.tinkerpop.gremlin.process.traversal.*, org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.*, org.apache.tinkerpop.gremlin.process.computer.bulkdumping.*, org.apache.tinkerpop.gremlin.structure.util.empty.*, org.apache.tinkerpop.gremlin.process.traversal.util.*, org.apache.tinkerpop.gremlin.groovy.function.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process
 .traversal.SackFunctions.Barrier.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.util.TimeUtil.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Direction.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Pop.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.P.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Order.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*, <span class="directive">static</span> org.apache.tinkerpop.greml
 in.structure.io.IoCore.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Scope.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.Column.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.computer.Computer.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.structure.T.*, <span class="directive">static</span> org.apache.tinkerpop.gremlin.process.traversal.Operator.*, org.apache.tinkerpop.gremlin.driver.ser.*, org.apache.tinkerpop.gremlin.driver.message.*, org.apache.tinkerpop.gremlin.driver.exception.*, org.apache.tinkerpop.gremlin.driver.remote.*, org.apache.tinkerpop.gremlin.driver.*, <span class="directive">static</span> groovyx.gbench.BenchmarkStaticExtension.*, <span class="directive">static</span> groovyx.gprof.ProfileStaticExtension.*, groovyx.gprof.*, groovyx.gbench.*, org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph, <span class="directive
 ">static</span> org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraph.*, org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat, org.apache.hadoop.hdfs.*, org.apache.hadoop.mapreduce.lib.input.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.*, org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce.*, org.apache.hadoop.conf.*, org.apache.hadoop.util.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.*, org.apache.tinkerpop.gremlin.hadoop.structure.*, org.apache.hadoop.io.compress.*, org.apache.tinkerpop.gremlin.hadoop.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.graphson.*, org.apache.hadoop.io.*, org.apache.log4j.*, org.apache.hadoop.mapreduce.lib.output.*, org.apache.tinkerpop.gremlin.hadoop.structure.io.script.*, org.apache.tinkerpop.gremlin.hadoop.structure.util.*, org.apache.hadoop.fs.*, org.apache.tinkerpop.gremlin.giraph.process.computer.*, org.apache.tinkerpop.gremlin.neo4j.structure.*, <span class="directive">static</span> 
 org.apache.tinkerpop.gremlin.neo4j.process.traversal.LabelP.*, org.apache.tinkerpop.gremlin.spark.process.computer.*, org.apache.tinkerpop.gremlin.spark.structure.*, org.apache.tinkerpop.gremlin.spark.structure.io.*, org.apache.tinkerpop.gremlin.tinkergraph.structure.*, org.apache.tinkerpop.gremlin.tinkergraph.process.computer.*, java.time.Year
 gremlin&gt; firstYear = g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
                            local(properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>).min()).
                            max().next()
@@ -1958,7 +1957,7 @@ knowledge on what the console can do for
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2018-05-11 13:26:52 EDT
+Last updated 2018-10-12 18:37:09 EDT
 </div>
 </div>
 </body>