You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by tw...@apache.org on 2016/10/15 01:29:06 UTC

svn commit: r1765004 [2/25] - in /tinkerpop/site: docs/ docs/3.1.5-SNAPSHOT/dev/developer/ docs/3.1.5-SNAPSHOT/dev/provider/ docs/3.1.5-SNAPSHOT/reference/ docs/3.1.5-SNAPSHOT/tutorials/the-gremlin-console/ docs/3.1.5-SNAPSHOT/upgrade/ javadocs/ javado...

Modified: tinkerpop/site/docs/3.1.5-SNAPSHOT/reference/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.1.5-SNAPSHOT/reference/index.html?rev=1765004&r1=1765003&r2=1765004&view=diff
==============================================================================
--- tinkerpop/site/docs/3.1.5-SNAPSHOT/reference/index.html (original)
+++ tinkerpop/site/docs/3.1.5-SNAPSHOT/reference/index.html Sat Oct 15 01:29:05 2016
@@ -856,7 +856,7 @@ span.line-numbers { border-right: 1px so
 <li><a href="#graph-traversal-steps">Graph Traversal Steps</a></li>
 <li>
 <ul class="sectlevel2">
-<li><a href="#lambda-steps">Lambda Steps</a></li>
+<li><a href="#general-steps">General Steps</a></li>
 <li><a href="#addedge-step">AddEdge Step</a></li>
 <li><a href="#addvertex-step">AddVertex Step</a></li>
 <li><a href="#addproperty-step">AddProperty Step</a></li>
@@ -1963,8 +1963,8 @@ system providers for two purposes:</p>
 gremlin&gt; graph.features()
 ==&gt;FEATURES
 &gt; GraphFeatures
-&gt;-- <span class="key">Transactions</span>: <span class="predefined-constant">false</span>
 &gt;-- <span class="key">Computer</span>: <span class="predefined-constant">true</span>
+&gt;-- <span class="key">Transactions</span>: <span class="predefined-constant">false</span>
 &gt;-- <span class="key">Persistence</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">ConcurrentAccess</span>: <span class="predefined-constant">false</span>
 &gt;-- <span class="key">ThreadedTransactions</span>: <span class="predefined-constant">false</span>
@@ -1985,14 +1985,14 @@ gremlin&gt; graph.features()
 &gt;-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">DoubleArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">FloatArrayValues</span>: <span class="predefined-constant">true</span>
-&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span>
+&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 &gt; VertexFeatures
 &gt;-- <span class="key">MetaProperties</span>: <span class="predefined-constant">true</span>
-&gt;-- <span class="key">MultiProperties</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">AddVertices</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">RemoveVertices</span>: <span class="predefined-constant">true</span>
+&gt;-- <span class="key">MultiProperties</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">AddProperty</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">RemoveProperty</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">NumericIds</span>: <span class="predefined-constant">true</span>
@@ -2026,9 +2026,9 @@ gremlin&gt; graph.features()
 &gt;-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">DoubleArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">FloatArrayValues</span>: <span class="predefined-constant">true</span>
-&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span>
+&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 &gt; EdgeFeatures
 &gt;-- <span class="key">AddEdges</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">RemoveEdges</span>: <span class="predefined-constant">true</span>
@@ -2057,9 +2057,9 @@ gremlin&gt; graph.features()
 &gt;-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">DoubleArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">FloatArrayValues</span>: <span class="predefined-constant">true</span>
-&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span>
 &gt;-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span>
+&gt;-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span>
 </code></pre>
 </div>
 </div>
@@ -2823,7 +2823,7 @@ demonstrated in the following example wh
 gremlin&gt; g = graph.traversal()
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">6</span>], standard]
 gremlin&gt; f = <span class="keyword">new</span> <span class="predefined-type">FileOutputStream</span>(<span class="string"><span class="delimiter">&quot;</span><span class="content">vertex-1.json</span><span class="delimiter">&quot;</span></span>)
-==&gt;java.io.FileOutputStream<span class="error">@</span><span class="float">6e0</span>a1fa
+==&gt;java.io.FileOutputStream<span class="error">@</span><span class="float">26f</span>b6607
 gremlin&gt; graph.io(graphson()).writer().create().writeVertex(f, g.V(<span class="integer">1</span>).next(), BOTH)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; f.close()
@@ -2896,9 +2896,9 @@ interpret the numeric values.  In coerci
 gremlin&gt; g = graph.traversal()
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">6</span>], standard]
 gremlin&gt; f = <span class="keyword">new</span> <span class="predefined-type">FileOutputStream</span>(<span class="string"><span class="delimiter">&quot;</span><span class="content">vertex-1.json</span><span class="delimiter">&quot;</span></span>)
-==&gt;java.io.FileOutputStream<span class="annotation">@a74c8e1</span>
+==&gt;java.io.FileOutputStream<span class="error">@</span><span class="float">736f</span>c242
 gremlin&gt; mapper = graph.io(graphson()).mapper().embedTypes(<span class="predefined-constant">true</span>).create()
-==&gt;org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="integer">78</span>eb98cb
+==&gt;org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="integer">6</span>ba1d77a
 gremlin&gt; graph.io(graphson()).writer().mapper(mapper).create().writeVertex(f, g.V(<span class="integer">1</span>).next(), BOTH)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; f.close()
@@ -3257,24 +3257,9 @@ the verbose syntax <code>__.in()</code>
 </table>
 </div>
 <div class="sect2">
-<h3 id="lambda-steps">Lambda Steps</h3>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<div class="title">Warning</div>
-</td>
-<td class="content">
-Lambda steps are presented for educational purposes as they represent the foundational constructs of the
-Gremlin language. In practice, lambda steps should be avoided and traversal verification strategies exist to disallow t
-heir use unless explicitly "turned off." For more information on the problems with lambdas, please read
-<a href="#a-note-on-lambdas">A Note on Lambdas</a>.
-</td>
-</tr>
-</table>
-</div>
+<h3 id="general-steps">General Steps</h3>
 <div class="paragraph">
-<p>There are four generic steps by which all other specific steps described later extend.</p>
+<p>There are five general steps, each having a traversal and a lambda representation, by which all other specific steps described later extend.</p>
 </div>
 <table class="tableblock frame-all grid-all" style="width:100%; ">
 <colgroup>
@@ -3289,28 +3274,43 @@ heir use unless explicitly "turned off."
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>map(Function&lt;Traverser&lt;S&gt;, E&gt;)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>map(Traversal&lt;S, E&gt;)</code> &lt;br&gt; <code>map(Function&lt;Traverser&lt;S&gt;, E&gt;)</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">map the traverser to some object of type <code>E</code> for the next step to process.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>flatMap(Function&lt;Traverser&lt;S&gt;, Iterator&lt;E&gt;&gt;)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>flatMap(Traversal&lt;S, E&gt;)</code> &lt;br&gt; <code>flatMap(Function&lt;Traverser&lt;S&gt;, Iterator&lt;E&gt;&gt;)</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">map the traverser to an iterator of <code>E</code> objects that are streamed to the next step.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>filter(Predicate&lt;Traverser&lt;S&gt;&gt;)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>filter(Traversal&lt;?, ?&gt;)</code> &lt;br&gt; <code>filter(Predicate&lt;Traverser&lt;S&gt;&gt;)</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">map the traverser to either true or false, where false will not pass the traverser to the next step.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sideEffect(Consumer&lt;Traverser&lt;S&gt;&gt;)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sideEffect(Traversal&lt;S, S&gt;)</code> &lt;br&gt; <code>sideEffect(Consumer&lt;Traverser&lt;S&gt;&gt;)</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">perform some operation on the traverser and pass it to the next step.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>branch(Function&lt;Traverser&lt;S&gt;,M&gt;)</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>branch(Traversal&lt;S, M&gt;)</code> &lt;br&gt; <code>branch(Function&lt;Traverser&lt;S&gt;,M&gt;)</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">split the traverser to all the traversals indexed by the <code>M</code> token.</p></td>
 </tr>
 </tbody>
 </table>
 
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+Lambda steps are presented for educational purposes as they represent the foundational constructs of the
+Gremlin language. In practice, lambda steps should be avoided in favor of their traversals representation and traversal
+verification strategies exist to disallow their use unless explicitly "turned off." For more information on the problems
+with lambdas, please read <a href="#a-note-on-lambdas">A Note on Lambdas</a>.
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>The <code>Traverser&lt;S&gt;</code> object provides access to:</p>
 </div>
@@ -3362,6 +3362,10 @@ heir use unless explicitly "turned off."
 gremlin&gt; g.V(<span class="integer">1</span>).out().map {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)} <span class="comment">//</span><b>(2)</b>
 ==&gt;lop
 ==&gt;vadas
+==&gt;josh
+gremlin&gt; g.V(<span class="integer">1</span>).out().map(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(3)</b>
+==&gt;lop
+==&gt;vadas
 ==&gt;josh</code></pre>
 </div>
 </div>
@@ -3373,6 +3377,9 @@ gremlin&gt; g.V(<span class="integer">1<
 <li>
 <p>The same operation, but using a lambda to access the name property values.</p>
 </li>
+<li>
+<p>Again the same operation, but using the traversal representation of <code>map()</code>.</p>
+</li>
 </ol>
 </div>
 <div class="paragraph">
@@ -3385,7 +3392,12 @@ gremlin&gt; g.V(<span class="integer">1<
 ==&gt;v[<span class="integer">2</span>]
 ==&gt;v[<span class="integer">4</span>]
 ==&gt;v[<span class="integer">6</span>]
-gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
+gremlin&gt; g.V().filter(label().is(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
+==&gt;v[<span class="integer">1</span>]
+==&gt;v[<span class="integer">2</span>]
+==&gt;v[<span class="integer">4</span>]
+==&gt;v[<span class="integer">6</span>]
+gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
 ==&gt;v[<span class="integer">1</span>]
 ==&gt;v[<span class="integer">2</span>]
 ==&gt;v[<span class="integer">4</span>]
@@ -3398,6 +3410,9 @@ gremlin&gt; g.V().hasLabel(<span class="
 <p>A filter that only allows the vertex to pass if it has an age-property.</p>
 </li>
 <li>
+<p>The same operation, but using the traversal represention of <code>filter()</code>.</p>
+</li>
+<li>
 <p>The more specific <code>has()</code>-step is implemented as a <code>filter()</code> with respective predicate.</p>
 </li>
 </ol>
@@ -3415,7 +3430,10 @@ v[<span class="integer">2</span>]
 v[<span class="integer">4</span>]
 ==&gt;v[<span class="integer">4</span>]
 v[<span class="integer">6</span>]
-==&gt;v[<span class="integer">6</span>]</code></pre>
+==&gt;v[<span class="integer">6</span>]
+gremlin&gt; g.V().sideEffect(outE().count().store(<span class="string"><span class="delimiter">&quot;</span><span class="content">o</span><span class="delimiter">&quot;</span></span>)).
+               sideEffect(inE().count().store(<span class="string"><span class="delimiter">&quot;</span><span class="content">i</span><span class="delimiter">&quot;</span></span>)).cap(<span class="string"><span class="delimiter">&quot;</span><span class="content">o</span><span class="delimiter">&quot;</span></span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">i</span><span class="delimiter">&quot;</span></span>) <span class="comment">//</span><b>(2)</b>
+==&gt;[<span class="key">i</span>:[<span class="integer">0</span>, <span class="integer">0</span>, <span class="integer">1</span>, <span class="integer">1</span>, <span class="integer">1</span>, <span class="integer">3</span>], <span class="key">o</span>:[<span class="integer">3</span>, <span class="integer">0</span>, <span class="integer">0</span>, <span class="integer">0</span>, <span class="integer">2</span>, <span class="integer">1</span>]]</code></pre>
 </div>
 </div>
 <div class="colist arabic">
@@ -3423,6 +3441,9 @@ v[<span class="integer">6</span>]
 <li>
 <p>Whatever enters <code>sideEffect()</code> is passed to the next step, but some intervening process can occur.</p>
 </li>
+<li>
+<p>Compute the out- and in-degree for each vertex. Both <code>sideEffect()</code> are fed with the same vertex.</p>
+</li>
 </ol>
 </div>
 <div class="paragraph">
@@ -3430,7 +3451,7 @@ v[<span class="integer">6</span>]
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().branch(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
+<pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().branch {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)}.
                option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
                option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(1)</b>
 ==&gt;<span class="integer">29</span>
@@ -3439,9 +3460,18 @@ v[<span class="integer">6</span>]
 ==&gt;josh
 ==&gt;ripple
 ==&gt;peter
+gremlin&gt; g.V().branch(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
+               option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
+               option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
+==&gt;<span class="integer">29</span>
+==&gt;vadas
+==&gt;lop
+==&gt;josh
+==&gt;ripple
+==&gt;peter
 gremlin&gt; g.V().choose(has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>),
                       values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>),
-                      values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
+                      values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(3)</b>
 ==&gt;<span class="integer">29</span>
 ==&gt;vadas
 ==&gt;lop
@@ -3456,6 +3486,9 @@ gremlin&gt; g.V().choose(has(<span class
 <p>If the vertex is "marko", get his age, else get the name of the vertex.</p>
 </li>
 <li>
+<p>The same operation, but using the traversal represention of <code>branch()</code>.</p>
+</li>
+<li>
 <p>The more specific boolean-based <code>choose()</code>-step is implemented as a <code>branch()</code>.</p>
 </li>
 </ol>
@@ -3804,13 +3837,13 @@ gremlin&gt; graph.io(graphml()).readGrap
 gremlin&gt; g = graph.traversal(standard())
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>], standard]
 gremlin&gt; clockWithResult(<span class="integer">1</span>){g.V().both().both().both().count().next()} <span class="comment">//</span><b>(1)</b>
-==&gt;<span class="float">17423.008788</span>
+==&gt;<span class="float">10992.155491</span>
 ==&gt;<span class="integer">126653966</span>
 gremlin&gt; clockWithResult(<span class="integer">1</span>){g.V().repeat(both()).times(<span class="integer">3</span>).count().next()} <span class="comment">//</span><b>(2)</b>
-==&gt;<span class="float">2494.4385389999998</span>
+==&gt;<span class="float">1582.8641149999999</span>
 ==&gt;<span class="integer">126653966</span>
 gremlin&gt; clockWithResult(<span class="integer">1</span>){g.V().both().barrier().both().barrier().both().barrier().count().next()} <span class="comment">//</span><b>(3)</b>
-==&gt;<span class="float">46.643358</span>
+==&gt;<span class="float">11.808463999999999</span>
 ==&gt;<span class="integer">126653966</span></code></pre>
 </div>
 </div>
@@ -3845,7 +3878,7 @@ gremlin&gt; graph.io(graphml()).readGrap
 gremlin&gt; g = graph.traversal(GraphTraversalSource.build().with(LazyBarrierStrategy.instance()).engine(StandardTraversalEngine.build()))
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>], standard]
 gremlin&gt; clockWithResult(<span class="integer">1</span>){g.V().both().both().both().count().next()}
-==&gt;<span class="float">22.231037</span>
+==&gt;<span class="float">14.714637</span>
 ==&gt;<span class="integer">126653966</span>
 gremlin&gt; g.V().both().both().both().count().iterate().toString() <span class="comment">//</span><b>(1)</b>
 ==&gt;[TinkerGraphStep(<span class="type">[]</span>,vertex), VertexStep(BOTH,vertex), LambdaCollectingBarrierStep(noOp), VertexStep(BOTH,vertex), LambdaCollectingBarrierStep(noOp), VertexStep(BOTH,edge), CountGlobalStep]</code></pre>
@@ -4066,7 +4099,8 @@ gremlin&gt; g.V().hasLabel(<span class="
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().coin(<span class="float">0.5</span>)
-==&gt;v[<span class="integer">1</span>]
+==&gt;v[<span class="integer">4</span>]
+==&gt;v[<span class="integer">5</span>]
 gremlin&gt; g.V().coin(<span class="float">0.0</span>)
 gremlin&gt; g.V().coin(<span class="float">1.0</span>)
 ==&gt;v[<span class="integer">1</span>]
@@ -4185,12 +4219,12 @@ has been seen or not.</p>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().valueMap(<span class="predefined-constant">true</span>, <span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
-==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">label</span>:person, <span class="key">name</span>:[marko]]
-==&gt;[<span class="key">id</span>:<span class="integer">2</span>, <span class="key">label</span>:person, <span class="key">name</span>:[vadas]]
-==&gt;[<span class="key">id</span>:<span class="integer">3</span>, <span class="key">label</span>:software, <span class="key">name</span>:[lop]]
-==&gt;[<span class="key">id</span>:<span class="integer">4</span>, <span class="key">label</span>:person, <span class="key">name</span>:[josh]]
-==&gt;[<span class="key">id</span>:<span class="integer">5</span>, <span class="key">label</span>:software, <span class="key">name</span>:[ripple]]
-==&gt;[<span class="key">id</span>:<span class="integer">6</span>, <span class="key">label</span>:person, <span class="key">name</span>:[peter]]
+==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">name</span>:[marko], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">2</span>, <span class="key">name</span>:[vadas], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">3</span>, <span class="key">name</span>:[lop], <span class="key">label</span>:software]
+==&gt;[<span class="key">id</span>:<span class="integer">4</span>, <span class="key">name</span>:[josh], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">5</span>, <span class="key">name</span>:[ripple], <span class="key">label</span>:software]
+==&gt;[<span class="key">id</span>:<span class="integer">6</span>, <span class="key">name</span>:[peter], <span class="key">label</span>:person]
 gremlin&gt; g.V().dedup().by(label).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
 ==&gt;marko
 ==&gt;lop</code></pre>
@@ -4370,10 +4404,10 @@ Whether a mid-traversal <code>V()</code>
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
            V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).toString() <span class="comment">//</span><b>(1)</b>
-==&gt;[GraphStep(<span class="type">[]</span>,vertex), HasStep([name.within([marko, vadas, josh])])<span class="error">@</span>[person], GraphStep(<span class="type">[]</span>,vertex), HasStep([name.within([lop, ripple])]), AddEdgeStep({label=[uses], ~from=[[SelectOneStep(person)]]})]
+==&gt;[GraphStep(<span class="type">[]</span>,vertex), HasStep([name.within([marko, vadas, josh])])<span class="error">@</span>[person], GraphStep(<span class="type">[]</span>,vertex), HasStep([name.within([lop, ripple])]), AddEdgeStep({~from=[[SelectOneStep(person)]], label=[uses]})]
 gremlin&gt; g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
            V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate().toString() <span class="comment">//</span><b>(2)</b>
-==&gt;[TinkerGraphStep(vertex,[name.within([marko, vadas, josh])])<span class="error">@</span>[person], TinkerGraphStep(vertex,[name.within([lop, ripple])]), AddEdgeStep({label=[uses], ~from=[[SelectOneStep(person)]]})]</code></pre>
+==&gt;[TinkerGraphStep(vertex,[name.within([marko, vadas, josh])])<span class="error">@</span>[person], TinkerGraphStep(vertex,[name.within([lop, ripple])]), AddEdgeStep({~from=[[SelectOneStep(person)]], label=[uses]})]</code></pre>
 </div>
 </div>
 <div class="colist arabic">
@@ -5360,13 +5394,13 @@ gremlin&gt; g.V().hasLabel(<span class="
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).order().by(shuffle)
 ==&gt;v[<span class="integer">2</span>]
 ==&gt;v[<span class="integer">4</span>]
-==&gt;v[<span class="integer">6</span>]
 ==&gt;v[<span class="integer">1</span>]
-gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).order().by(shuffle)
 ==&gt;v[<span class="integer">6</span>]
+gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).order().by(shuffle)
+==&gt;v[<span class="integer">2</span>]
 ==&gt;v[<span class="integer">1</span>]
 ==&gt;v[<span class="integer">4</span>]
-==&gt;v[<span class="integer">2</span>]</code></pre>
+==&gt;v[<span class="integer">6</span>]</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -5559,16 +5593,16 @@ profile results, but durations are not e
 ==&gt;Traversal Metrics
 Step                                                               Count  Traversers       <span class="predefined-type">Time</span> (ms)    % Dur
 =============================================================================================================
-TinkerGraphStep(<span class="type">[]</span>,vertex)                                             <span class="integer">6</span>           <span class="integer">6</span>           <span class="float">0.371</span>     <span class="float">2.77</span>
-VertexStep(OUT,[created],vertex)                                       <span class="integer">4</span>           <span class="integer">4</span>           <span class="float">0.271</span>     <span class="float">2.02</span>
-RepeatStep([VertexStep(BOTH,vertex), ProfileSte...                    <span class="integer">58</span>          <span class="integer">40</span>           <span class="float">7.124</span>    <span class="float">53.10</span>
-  VertexStep(BOTH,vertex)                                             <span class="integer">92</span>          <span class="integer">74</span>           <span class="float">1.865</span>
-  RepeatEndStep                                                       <span class="integer">58</span>          <span class="integer">40</span>           <span class="float">3.034</span>
-HasStep([~label.eq(person)])                                          <span class="integer">48</span>          <span class="integer">30</span>           <span class="float">1.584</span>    <span class="float">11.81</span>
-PropertiesStep([age],value)                                           <span class="integer">48</span>          <span class="integer">30</span>           <span class="float">2.336</span>    <span class="float">17.42</span>
-SumGlobalStep                                                          <span class="integer">1</span>           <span class="integer">1</span>           <span class="float">1.581</span>    <span class="float">11.79</span>
-SideEffectCapStep([~metrics])                                          <span class="integer">1</span>           <span class="integer">1</span>           <span class="float">0.145</span>     <span class="float">1.08</span>
-                                            &gt;TOTAL                     -           -          <span class="float">13.416</span>        -</code></pre>
+TinkerGraphStep(<span class="type">[]</span>,vertex)                                             <span class="integer">6</span>           <span class="integer">6</span>           <span class="float">0.152</span>     <span class="float">7.87</span>
+VertexStep(OUT,[created],vertex)                                       <span class="integer">4</span>           <span class="integer">4</span>           <span class="float">0.060</span>     <span class="float">3.09</span>
+RepeatStep([VertexStep(BOTH,vertex), ProfileSte...                    <span class="integer">58</span>          <span class="integer">40</span>           <span class="float">0.903</span>    <span class="float">46.53</span>
+  VertexStep(BOTH,vertex)                                             <span class="integer">92</span>          <span class="integer">74</span>           <span class="float">0.346</span>
+  RepeatEndStep                                                       <span class="integer">58</span>          <span class="integer">40</span>           <span class="float">0.359</span>
+HasStep([~label.eq(person)])                                          <span class="integer">48</span>          <span class="integer">30</span>           <span class="float">0.190</span>     <span class="float">9.82</span>
+PropertiesStep([age],value)                                           <span class="integer">48</span>          <span class="integer">30</span>           <span class="float">0.191</span>     <span class="float">9.85</span>
+SumGlobalStep                                                          <span class="integer">1</span>           <span class="integer">1</span>           <span class="float">0.403</span>    <span class="float">20.76</span>
+SideEffectCapStep([~metrics])                                          <span class="integer">1</span>           <span class="integer">1</span>           <span class="float">0.040</span>     <span class="float">2.09</span>
+                                            &gt;TOTAL                     -           -           <span class="float">1.941</span>        -</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -5866,14 +5900,14 @@ value is accessed (<code>sack()</code>).
 ==&gt;<span class="float">1.0</span>
 ==&gt;<span class="float">1.0</span>
 gremlin&gt; rand = <span class="keyword">new</span> <span class="predefined-type">Random</span>()
-==&gt;java.util.Random<span class="error">@</span><span class="float">580e01</span>cd
+==&gt;java.util.Random<span class="error">@</span><span class="float">78e34499</span>
 gremlin&gt; g.withSack {rand.nextFloat()}.V().sack()
-==&gt;<span class="float">0.6098061</span>
-==&gt;<span class="float">0.61118174</span>
-==&gt;<span class="float">0.6165054</span>
-==&gt;<span class="float">0.5905172</span>
-==&gt;<span class="float">0.94674784</span>
-==&gt;<span class="float">0.74177986</span></code></pre>
+==&gt;<span class="float">0.6015355</span>
+==&gt;<span class="float">0.44872904</span>
+==&gt;<span class="float">0.576676</span>
+==&gt;<span class="float">0.97245383</span>
+==&gt;<span class="float">0.26849937</span>
+==&gt;<span class="float">0.8611972</span></code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -5984,12 +6018,12 @@ gremlin&gt; g.withBulk(<span class="pred
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().outE().sample(<span class="integer">1</span>).values(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>)
-==&gt;<span class="float">1.0</span>
+==&gt;<span class="float">0.4</span>
 gremlin&gt; g.V().outE().sample(<span class="integer">1</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>)
 ==&gt;<span class="float">1.0</span>
 gremlin&gt; g.V().outE().sample(<span class="integer">2</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>)
-==&gt;<span class="float">0.5</span>
-==&gt;<span class="float">1.0</span></code></pre>
+==&gt;<span class="float">1.0</span>
+==&gt;<span class="float">0.5</span></code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -6004,15 +6038,15 @@ the traverser never splits and continues
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V(<span class="integer">1</span>).repeat(local(
                   bothE().sample(<span class="integer">1</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>).otherV()
                 )).times(<span class="integer">5</span>)
-==&gt;v[<span class="integer">3</span>]
+==&gt;v[<span class="integer">4</span>]
 gremlin&gt; g.V(<span class="integer">1</span>).repeat(local(
                   bothE().sample(<span class="integer">1</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>).otherV()
                 )).times(<span class="integer">5</span>).path()
-==&gt;[v[<span class="integer">1</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">4</span>], e[<span class="integer">10</span>][<span class="integer">4</span>-created-&gt;<span class="integer">5</span>], v[<span class="integer">5</span>], e[<span class="integer">10</span>][<span class="integer">4</span>-created-&gt;<span class="integer">5</span>], v[<span class="integer">4</span>], e[<span class="integer">11</span>][<span class="integer">4</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">1</span>]]
+==&gt;[v[<span class="integer">1</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">1</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">2</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">1</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">2</span>]]
 gremlin&gt; g.V(<span class="integer">1</span>).repeat(local(
                   bothE().sample(<span class="integer">1</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">weight</span><span class="delimiter">'</span></span>).otherV()
                 )).times(<span class="integer">10</span>).path()
-==&gt;[v[<span class="integer">1</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">4</span>], e[<span class="integer">11</span>][<span class="integer">4</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">1</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">11</span>][<span class="integer">4</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">4</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">1</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class=
 "integer">2</span>], v[<span class="integer">2</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">1</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">2</span>], e[<span class="integer">7</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">2</span>], v[<span class="integer">1</span>]]</code></pre>
+==&gt;[v[<span class="integer">1</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">4</span>], e[<span class="integer">11</span>][<span class="integer">4</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">1</span>], e[<span class="integer">9</span>][<span class="integer">1</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">3</span>], e[<span class="integer">11</span>][<span class="integer">4</span>-created-&gt;<span class="integer">3</span>], v[<span class="integer">4</span>], e[<span class="integer">10</span>][<span class="integer">4</span>-created-&gt;<span class="integer">5</span>], v[<span class="integer">5</span>], e[<span class="integer">10</span>][<span class="integer">4</span>-created-&gt;<span 
 class="integer">5</span>], v[<span class="integer">4</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">1</span>], e[<span class="integer">8</span>][<span class="integer">1</span>-knows-&gt;<span class="integer">4</span>], v[<span class="integer">4</span>], e[<span class="integer">10</span>][<span class="integer">4</span>-created-&gt;<span class="integer">5</span>], v[<span class="integer">5</span>]]</code></pre>
 </div>
 </div>
 </div>
@@ -6523,16 +6557,16 @@ that can be used to time execution of a
 ==&gt;v[<span class="integer">5</span>]=<span class="integer">1136688</span>
 ==&gt;v[<span class="integer">6</span>]=<span class="integer">1136688</span>
 gremlin&gt; clock(<span class="integer">1</span>) {g.V().repeat(both().groupCount(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>)).times(<span class="integer">16</span>).cap(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>).order(local).by(values,decr).next()}
-==&gt;<span class="float">1.2560259999999999</span>
+==&gt;<span class="float">1.750211</span>
 gremlin&gt; g.V().repeat(timeLimit(<span class="integer">2</span>).both().groupCount(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>)).times(<span class="integer">16</span>).cap(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>).order(local).by(values,decr).next()
-==&gt;v[<span class="integer">1</span>]=<span class="integer">647474</span>
-==&gt;v[<span class="integer">3</span>]=<span class="integer">425396</span>
-==&gt;v[<span class="integer">4</span>]=<span class="integer">425396</span>
-==&gt;v[<span class="integer">5</span>]=<span class="integer">268123</span>
-==&gt;v[<span class="integer">6</span>]=<span class="integer">268123</span>
-==&gt;v[<span class="integer">2</span>]=<span class="integer">111228</span>
+==&gt;v[<span class="integer">1</span>]=<span class="integer">2744208</span>
+==&gt;v[<span class="integer">3</span>]=<span class="integer">2744208</span>
+==&gt;v[<span class="integer">4</span>]=<span class="integer">2744208</span>
+==&gt;v[<span class="integer">2</span>]=<span class="integer">1136688</span>
+==&gt;v[<span class="integer">5</span>]=<span class="integer">1136688</span>
+==&gt;v[<span class="integer">6</span>]=<span class="integer">1136688</span>
 gremlin&gt; clock(<span class="integer">1</span>) {g.V().repeat(timeLimit(<span class="integer">2</span>).both().groupCount(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>)).times(<span class="integer">16</span>).cap(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>).order(local).by(values,decr).next()}
-==&gt;<span class="float">4.848661</span></code></pre>
+==&gt;<span class="float">1.24956</span></code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -6730,30 +6764,30 @@ returned map.</p>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).valueMap(<span class="predefined-constant">true</span>)
-==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">label</span>:person, <span class="key">name</span>:[marko], <span class="key">location</span>:[san diego, santa cruz, brussels, santa fe]]
-==&gt;[<span class="key">id</span>:<span class="integer">7</span>, <span class="key">label</span>:person, <span class="key">name</span>:[stephen], <span class="key">location</span>:[centreville, dulles, purcellville]]
-==&gt;[<span class="key">id</span>:<span class="integer">8</span>, <span class="key">label</span>:person, <span class="key">name</span>:[matthias], <span class="key">location</span>:[bremen, baltimore, oakland, seattle]]
-==&gt;[<span class="key">id</span>:<span class="integer">9</span>, <span class="key">label</span>:person, <span class="key">name</span>:[daniel], <span class="key">location</span>:[spremberg, kaiserslautern, aachen]]
+==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">name</span>:[marko], <span class="key">location</span>:[san diego, santa cruz, brussels, santa fe], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">7</span>, <span class="key">name</span>:[stephen], <span class="key">location</span>:[centreville, dulles, purcellville], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">8</span>, <span class="key">name</span>:[matthias], <span class="key">location</span>:[bremen, baltimore, oakland, seattle], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">9</span>, <span class="key">name</span>:[daniel], <span class="key">location</span>:[spremberg, kaiserslautern, aachen], <span class="key">label</span>:person]
 gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).valueMap(<span class="predefined-constant">true</span>,<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
-==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">label</span>:person, <span class="key">name</span>:[marko]]
-==&gt;[<span class="key">id</span>:<span class="integer">7</span>, <span class="key">label</span>:person, <span class="key">name</span>:[stephen]]
-==&gt;[<span class="key">id</span>:<span class="integer">8</span>, <span class="key">label</span>:person, <span class="key">name</span>:[matthias]]
-==&gt;[<span class="key">id</span>:<span class="integer">9</span>, <span class="key">label</span>:person, <span class="key">name</span>:[daniel]]
+==&gt;[<span class="key">id</span>:<span class="integer">1</span>, <span class="key">name</span>:[marko], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">7</span>, <span class="key">name</span>:[stephen], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">8</span>, <span class="key">name</span>:[matthias], <span class="key">label</span>:person]
+==&gt;[<span class="key">id</span>:<span class="integer">9</span>, <span class="key">name</span>:[daniel], <span class="key">label</span>:person]
 gremlin&gt; g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).valueMap(<span class="predefined-constant">true</span>)
-==&gt;[<span class="key">id</span>:<span class="integer">6</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">1997</span>, <span class="key">endTime</span>:<span class="integer">2001</span>, <span class="key">value</span>:san diego]
-==&gt;[<span class="key">id</span>:<span class="integer">7</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2001</span>, <span class="key">endTime</span>:<span class="integer">2004</span>, <span class="key">value</span>:santa cruz]
-==&gt;[<span class="key">id</span>:<span class="integer">8</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2004</span>, <span class="key">endTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:brussels]
-==&gt;[<span class="key">id</span>:<span class="integer">9</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:santa fe]
-==&gt;[<span class="key">id</span>:<span class="integer">10</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">1990</span>, <span class="key">endTime</span>:<span class="integer">2000</span>, <span class="key">value</span>:centreville]
-==&gt;[<span class="key">id</span>:<span class="integer">11</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2000</span>, <span class="key">endTime</span>:<span class="integer">2006</span>, <span class="key">value</span>:dulles]
-==&gt;[<span class="key">id</span>:<span class="integer">12</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2006</span>, <span class="key">value</span>:purcellville]
-==&gt;[<span class="key">id</span>:<span class="integer">13</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2004</span>, <span class="key">endTime</span>:<span class="integer">2007</span>, <span class="key">value</span>:bremen]
-==&gt;[<span class="key">id</span>:<span class="integer">14</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2007</span>, <span class="key">endTime</span>:<span class="integer">2011</span>, <span class="key">value</span>:baltimore]
-==&gt;[<span class="key">id</span>:<span class="integer">15</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2011</span>, <span class="key">endTime</span>:<span class="integer">2014</span>, <span class="key">value</span>:oakland]
-==&gt;[<span class="key">id</span>:<span class="integer">16</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2014</span>, <span class="key">value</span>:seattle]
-==&gt;[<span class="key">id</span>:<span class="integer">17</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">1982</span>, <span class="key">endTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:spremberg]
-==&gt;[<span class="key">id</span>:<span class="integer">18</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2005</span>, <span class="key">endTime</span>:<span class="integer">2009</span>, <span class="key">value</span>:kaiserslautern]
-==&gt;[<span class="key">id</span>:<span class="integer">19</span>, <span class="key">key</span>:location, <span class="key">startTime</span>:<span class="integer">2009</span>, <span class="key">value</span>:aachen]</code></pre>
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">6</span>, <span class="key">startTime</span>:<span class="integer">1997</span>, <span class="key">endTime</span>:<span class="integer">2001</span>, <span class="key">value</span>:san diego]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">7</span>, <span class="key">startTime</span>:<span class="integer">2001</span>, <span class="key">endTime</span>:<span class="integer">2004</span>, <span class="key">value</span>:santa cruz]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">8</span>, <span class="key">startTime</span>:<span class="integer">2004</span>, <span class="key">endTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:brussels]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">9</span>, <span class="key">startTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:santa fe]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">10</span>, <span class="key">startTime</span>:<span class="integer">1990</span>, <span class="key">endTime</span>:<span class="integer">2000</span>, <span class="key">value</span>:centreville]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">11</span>, <span class="key">startTime</span>:<span class="integer">2000</span>, <span class="key">endTime</span>:<span class="integer">2006</span>, <span class="key">value</span>:dulles]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">12</span>, <span class="key">startTime</span>:<span class="integer">2006</span>, <span class="key">value</span>:purcellville]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">13</span>, <span class="key">startTime</span>:<span class="integer">2004</span>, <span class="key">endTime</span>:<span class="integer">2007</span>, <span class="key">value</span>:bremen]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">14</span>, <span class="key">startTime</span>:<span class="integer">2007</span>, <span class="key">endTime</span>:<span class="integer">2011</span>, <span class="key">value</span>:baltimore]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">15</span>, <span class="key">startTime</span>:<span class="integer">2011</span>, <span class="key">endTime</span>:<span class="integer">2014</span>, <span class="key">value</span>:oakland]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">16</span>, <span class="key">startTime</span>:<span class="integer">2014</span>, <span class="key">value</span>:seattle]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">17</span>, <span class="key">startTime</span>:<span class="integer">1982</span>, <span class="key">endTime</span>:<span class="integer">2005</span>, <span class="key">value</span>:spremberg]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">18</span>, <span class="key">startTime</span>:<span class="integer">2005</span>, <span class="key">endTime</span>:<span class="integer">2009</span>, <span class="key">value</span>:kaiserslautern]
+==&gt;[<span class="key">key</span>:location, <span class="key">id</span>:<span class="integer">19</span>, <span class="key">startTime</span>:<span class="integer">2009</span>, <span class="key">value</span>:aachen]</code></pre>
 </div>
 </div>
 </div>
@@ -7741,7 +7775,7 @@ memory manipulations).</p>
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; result = graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
 ==&gt;result[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">0</span>],memory[<span class="key">size</span>:<span class="integer">0</span>]]
 gremlin&gt; result.memory().runtime
-==&gt;<span class="integer">319</span>
+==&gt;<span class="integer">85</span>
 gremlin&gt; g = result.graph().traversal(standard())
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">0</span>], standard]
 gremlin&gt; g.V().valueMap(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,PageRankVertexProgram.PAGE_RANK)
@@ -8070,7 +8104,7 @@ methods of a <code>VertexProgram</code>,
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; result = graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
 ==&gt;result[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">0</span>],memory[<span class="key">size</span>:<span class="integer">0</span>]]
 gremlin&gt; result.memory().runtime
-==&gt;<span class="integer">108</span>
+==&gt;<span class="integer">27</span>
 gremlin&gt; g = result.graph().traversal(standard())
 ==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">0</span>], standard]
 gremlin&gt; g.V().valueMap(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,PageRankVertexProgram.PAGE_RANK)
@@ -9281,7 +9315,7 @@ for more information on that topic.</p>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; :remote connect tinkerpop.server conf/remote.yaml session
-==&gt;Configured localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>-[<span class="integer">781</span>bcedc-b4ce-<span class="integer">42</span>af-<span class="float">9e6</span>a-d73c2d07dbd2]
+==&gt;Configured localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>-[fdf2457c-f714-<span class="integer">42</span>b9-<span class="float">98d</span><span class="integer">5</span>-<span class="float">558643d</span><span class="float">06f</span><span class="integer">54</span>]
 gremlin&gt; :&gt; x = <span class="integer">1</span>
 ==&gt;<span class="integer">1</span>
 gremlin&gt; :&gt; y = <span class="integer">2</span>
@@ -9308,9 +9342,9 @@ work with a remote connection to the ser
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; :remote connect tinkerpop.server conf/remote.yaml session
-==&gt;Configured localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>-[b4575108-e96a-<span class="integer">4808</span>-b501-e5a7b897dceb]
+==&gt;Configured localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>-[<span class="integer">610</span>ea038-<span class="integer">6012</span>-<span class="integer">4</span>be3-b04a-<span class="integer">5</span>ce6230a29c0]
 gremlin&gt; :remote console
-==&gt;All scripts will now be sent to Gremlin Server - [localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>]-[b4575108-e96a-<span class="integer">4808</span>-b501-e5a7b897dceb] - type <span class="string"><span class="delimiter">'</span><span class="content">:remote console</span><span class="delimiter">'</span></span> to <span class="keyword">return</span> to local mode
+==&gt;All scripts will now be sent to Gremlin Server - [localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>]-[<span class="integer">610</span>ea038-<span class="integer">6012</span>-<span class="integer">4</span>be3-b04a-<span class="integer">5</span>ce6230a29c0] - type <span class="string"><span class="delimiter">'</span><span class="content">:remote console</span><span class="delimiter">'</span></span> to <span class="keyword">return</span> to local mode
 gremlin&gt; x = <span class="integer">1</span>
 ==&gt;<span class="integer">1</span>
 gremlin&gt; y = <span class="integer">2</span>
@@ -9318,7 +9352,7 @@ gremlin&gt; y = <span class="integer">2<
 gremlin&gt; x + y
 ==&gt;<span class="integer">3</span>
 gremlin&gt; :remote console
-==&gt;All scripts will now be evaluated locally - type <span class="string"><span class="delimiter">'</span><span class="content">:remote console</span><span class="delimiter">'</span></span> to <span class="keyword">return</span> to remote mode <span class="keyword">for</span> Gremlin Server - [localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>]-[b4575108-e96a-<span class="integer">4808</span>-b501-e5a7b897dceb]</code></pre>
+==&gt;All scripts will now be evaluated locally - type <span class="string"><span class="delimiter">'</span><span class="content">:remote console</span><span class="delimiter">'</span></span> to <span class="keyword">return</span> to remote mode <span class="keyword">for</span> Gremlin Server - [localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span>]-[<span class="integer">610</span>ea038-<span class="integer">6012</span>-<span class="integer">4</span>be3-b04a-<span class="integer">5</span>ce6230a29c0]</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -9789,7 +9823,7 @@ WebSockets configuration, which supports
 <h3 id="_configuring_2">Configuring</h3>
 <div class="paragraph">
 <p>As mentioned earlier, Gremlin Server is configured though a YAML file.  By default, Gremlin Server will look for a
-file called <code>config/gremlin-server.yaml</code> to configure itself on startup.  To override this default, supply the file
+file called <code>conf/gremlin-server.yaml</code> to configure itself on startup.  To override this default, supply the file
 to use to <code>bin/gremlin-server.sh</code> as in:</p>
 </div>
 <div class="listingblock">
@@ -10190,7 +10224,7 @@ Gremlin Server with <code>gremlin-driver
 </div>
 <div class="paragraph">
 <p>If connecting with Gremlin Console, which utilizes <code>gremlin-driver</code> for remote script execution, use the provided
-<code>config/remote-secure.yaml</code> file when defining the remote.  That file contains configuration for the username and
+<code>conf/remote-secure.yaml</code> file when defining the remote.  That file contains configuration for the username and
 password as well as enablement of SSL from the client side.</p>
 </div>
 <div class="paragraph">
@@ -10276,7 +10310,7 @@ gremlin&gt; credentials.createUser(<span
 gremlin&gt; credentials.createUser(<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">rainbow-dash</span><span class="delimiter">&quot;</span></span>)
 ==&gt;v[<span class="integer">6</span>]
 gremlin&gt; credentials.findUser(<span class="string"><span class="delimiter">&quot;</span><span class="content">marko</span><span class="delimiter">&quot;</span></span>).properties()
-==&gt;vp[password-&gt;<span class="error">$</span><span class="integer">2</span>a<span class="error">$</span><span class="integer">10</span><span class="error">$</span>Xyf7I7Jl0cI9m]
+==&gt;vp[password-&gt;<span class="error">$</span><span class="integer">2</span>a<span class="error">$</span><span class="integer">10</span><span class="error">$</span>MnWvFLjuK/UeK]
 ==&gt;vp[username-&gt;marko]
 gremlin&gt; credentials.countUsers()
 ==&gt;<span class="integer">3</span>
@@ -10829,12 +10863,12 @@ client.submit(<span class="string"><span
 <div class="sect3">
 <h4 id="_cache_management">Cache Management</h4>
 <div class="paragraph">
-<p>If Gremlin Server processes a large number of unique scripts, the cache will grow beyond the memory available to
-Gremlin Server and an <code>OutOfMemoryError</code> will loom.  Script parameterization goes a long way to solving this problem
-and running out of memory should not be an issue for those cases.  If it is a problem or if there is no script
-parameterization due to a given use case (perhaps using with use of <a href="#sessions">sessions</a>), it is possible to better
-control the nature of the script cache from the client side, by issuing scripts with a parameter to help define how
-the garbage collector should treat the references.</p>
+<p>If Gremlin Server processes a large number of unique scripts, the global function cache will grow beyond the memory
+available to Gremlin Server and an <code>OutOfMemoryError</code> will loom.  Script parameterization goes a long way to solving
+this problem and running out of memory should not be an issue for those cases.  If it is a problem or if there is no
+script parameterization due to a given use case (perhaps using with use of <a href="#sessions">sessions</a>), it is possible to
+better control the nature of the global function cache from the client side, by issuing scripts with a parameter to
+help define how the garbage collector should treat the references.</p>
 </div>
 <div class="paragraph">
 <p>The parameter is called <code>#jsr223.groovy.engine.keep.globals</code> and has four options:</p>
@@ -10857,9 +10891,20 @@ the garbage collector should treat the r
 </div>
 <div class="paragraph">
 <p>By specifying an option other than <code>hard</code>, an <code>OutOfMemoryError</code> in Gremlin Server should be avoided.  Of course,
-this approach will come with the downside that compiled scripts could be garbage collected and thus removed from the
+this approach will come with the downside that functions could be garbage collected and thus removed from the
 cache, forcing Gremlin Server to recompile later if that script is later encountered.</p>
 </div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="java language-java">Cluster cluster = Cluster.open();
+Client client = cluster.connect();
+
+<span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>,<span class="predefined-type">Object</span>&gt; params = <span class="keyword">new</span> <span class="predefined-type">HashMap</span>&lt;&gt;();
+params.put(<span class="string"><span class="delimiter">&quot;</span><span class="content">x</span><span class="delimiter">&quot;</span></span>,<span class="integer">4</span>);
+params.put(<span class="string"><span class="delimiter">&quot;</span><span class="content">#jsr223.groovy.engine.keep.globals</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">soft</span><span class="delimiter">&quot;</span></span>);
+client.submit(<span class="string"><span class="delimiter">&quot;</span><span class="content">[1,2,3,x]</span><span class="delimiter">&quot;</span></span>, params);</code></pre>
+</div>
+</div>
 </div>
 <div class="sect3">
 <h4 id="sessions">Considering Sessions</h4>
@@ -11533,9 +11578,9 @@ Environment
 * <span class="key">Groovy</span>: <span class="float">2.4</span><span class="float">.6</span>
 * <span class="key">JVM</span>: Java HotSpot(TM) <span class="integer">64</span>-Bit Server VM (<span class="float">25.101</span>-b13, Oracle Corporation)
     * <span class="key">JRE</span>: <span class="float">1.8</span><span class="float">.0</span>_101
-    * Total <span class="key">Memory</span>: <span class="float">839.5</span> MB
-    * Maximum <span class="key">Memory</span>: <span class="integer">1776</span> MB
-* <span class="key">OS</span>: Linux (<span class="float">3.13</span><span class="float">.0</span>-<span class="integer">24</span>-generic, amd64)
+    * Total <span class="key">Memory</span>: <span class="integer">2920</span> MB
+    * Maximum <span class="key">Memory</span>: <span class="float">6702.5</span> MB
+* <span class="key">OS</span>: Linux (<span class="float">3.13</span><span class="float">.0</span>-<span class="integer">92</span>-generic, amd64)
 
 Options
 =======
@@ -11544,17 +11589,17 @@ Options
 
           user  system    cpu   real
 
-sugar    <span class="integer">12630</span>     <span class="integer">664</span>  <span class="integer">13294</span>  <span class="integer">13611</span>
-nosugar   <span class="integer">5305</span>     <span class="integer">539</span>   <span class="integer">5844</span>   <span class="integer">6004</span>
+sugar    <span class="integer">13657</span>       <span class="integer">0</span>  <span class="integer">13657</span>  <span class="integer">13664</span>
+nosugar   <span class="integer">7754</span>     <span class="integer">143</span>   <span class="integer">7897</span>   <span class="integer">7898</span>
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; profile { g.V().iterate() }.prettyPrint()
 <span class="key">Flat</span>:
 
  %    cumulative   self            self     total    self    total   self    total
 time   seconds    seconds  calls  ms/call  ms/call  min ms  min ms  max ms  max ms  name
-<span class="float">59.7</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">2.04</span>     <span class="float">3.42</span>    <span class="float">2.04</span>    <span class="float">3.42</span>    <span class="float">2.04</span>    <span class="float">3.42</span>  groovysh_evaluate<span class="error">$</span>_run_closure1.doCall
-<span class="float">32.0</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">1.09</span>     <span class="float">1.09</span>    <span class="float">1.09</span>    <span class="float">1.09</span>    <span class="float">1.09</span>    <span class="float">1.09</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate
- <span class="float">8.1</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">0.27</span>     <span class="float">0.27</span>    <span class="float">0.27</span>    <span class="float">0.27</span>    <span class="float">0.27</span>    <span class="float">0.27</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.V
+<span class="float">46.7</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">0.85</span>     <span class="float">1.83</span>    <span class="float">0.85</span>    <span class="float">1.83</span>    <span class="float">0.85</span>    <span class="float">1.83</span>  groovysh_evaluate<span class="error">$</span>_run_closure1.doCall
+<span class="float">44.7</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">0.82</span>     <span class="float">0.82</span>    <span class="float">0.82</span>    <span class="float">0.82</span>    <span class="float">0.82</span>    <span class="float">0.82</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate
+ <span class="float">8.5</span>        <span class="float">0.00</span>     <span class="float">0.00</span>      <span class="integer">1</span>     <span class="float">0.15</span>     <span class="float">0.15</span>    <span class="float">0.15</span>    <span class="float">0.15</span>    <span class="float">0.15</span>    <span class="float">0.15</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.V
 
 Call <span class="key">graph</span>:
 
@@ -11565,10 +11610,10 @@ index  % time  self  children  calls  na
                <span class="float">0.00</span>      <span class="float">0.00</span>    <span class="integer">1</span>/<span class="integer">1</span>      org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.V [<span class="integer">3</span>]
 ------------------------------------------------------------------------------------------------------------------------------------
                <span class="float">0.00</span>      <span class="float">0.00</span>    <span class="integer">1</span>/<span class="integer">1</span>      groovysh_evaluate<span class="error">$</span>_run_closure1.doCall [<span class="integer">1</span>]
-[<span class="integer">2</span>]      <span class="float">32.0</span>  <span class="float">0.00</span>      <span class="float">0.00</span>      <span class="integer">1</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate [<span class="integer">2</span>]
+[<span class="integer">2</span>]      <span class="float">44.7</span>  <span class="float">0.00</span>      <span class="float">0.00</span>      <span class="integer">1</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate [<span class="integer">2</span>]
 ------------------------------------------------------------------------------------------------------------------------------------
                <span class="float">0.00</span>      <span class="float">0.00</span>    <span class="integer">1</span>/<span class="integer">1</span>      groovysh_evaluate<span class="error">$</span>_run_closure1.doCall [<span class="integer">1</span>]
-[<span class="integer">3</span>]       <span class="float">8.1</span>  <span class="float">0.00</span>      <span class="float">0.00</span>      <span class="integer">1</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.V [<span class="integer">3</span>]
+[<span class="integer">3</span>]       <span class="float">8.5</span>  <span class="float">0.00</span>      <span class="float">0.00</span>      <span class="integer">1</span>  org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource.V [<span class="integer">3</span>]
 ------------------------------------------------------------------------------------------------------------------------------------
 ==&gt;<span class="predefined-constant">null</span></code></pre>
 </div>
@@ -11784,7 +11829,7 @@ gremlin&gt; g = graph.traversal()
 gremlin&gt; graph.io(graphml()).readGraph(<span class="string"><span class="delimiter">'</span><span class="content">data/grateful-dead.xml</span><span class="delimiter">'</span></span>)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; clock(<span class="integer">1000</span>) {g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>).iterate()} <span class="comment">//</span><b>(1)</b>
-==&gt;<span class="float">0.44315072599999994</span>
+==&gt;<span class="float">0.22575600299999998</span>
 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; g = graph.traversal()
@@ -11794,7 +11839,7 @@ gremlin&gt; graph.createIndex(<span clas
 gremlin&gt; graph.io(graphml()).readGraph(<span class="string"><span class="delimiter">'</span><span class="content">data/grateful-dead.xml</span><span class="delimiter">'</span></span>)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; clock(<span class="integer">1000</span>){g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>).iterate()} <span class="comment">//</span><b>(2)</b>
-==&gt;<span class="float">0.06721415</span></code></pre>
+==&gt;<span class="float">0.057386573999999996</span></code></pre>
 </div>
 </div>
 <div class="colist arabic">
@@ -12129,16 +12174,16 @@ gremlin&gt; g = graph.traversal()
 gremlin&gt; g.tx().commit()
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; clock(<span class="integer">1000</span>) {g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">artist</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>).iterate()} <span class="comment">//</span><b>(1)</b>
-==&gt;<span class="float">2.45699075</span>
+==&gt;<span class="float">1.3139649919999998</span>
 gremlin&gt; graph.cypher(<span class="string"><span class="delimiter">&quot;</span><span class="content">CREATE INDEX ON :artist(name)</span><span class="delimiter">&quot;</span></span>) <span class="comment">//</span><b>(2)</b>
 gremlin&gt; g.tx().commit()
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; <span class="predefined-type">Thread</span>.sleep(<span class="integer">5000</span>) <span class="comment">//</span><b>(3)</b>
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; clock(<span class="integer">1000</span>) {g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">artist</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>).iterate()} <span class="comment">//</span><b>(4)</b>
-==&gt;<span class="float">0.300861414</span>
+==&gt;<span class="float">0.167422495</span>
 gremlin&gt; clock(<span class="integer">1000</span>) {g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>).iterate()} <span class="comment">//</span><b>(5)</b>
-==&gt;<span class="float">3.093381707</span>
+==&gt;<span class="float">1.9349688279999997</span>
 gremlin&gt; graph.cypher(<span class="string"><span class="delimiter">&quot;</span><span class="content">DROP INDEX ON :artist(name)</span><span class="delimiter">&quot;</span></span>) <span class="comment">//</span><b>(6)</b>
 gremlin&gt; g.tx().commit()
 ==&gt;<span class="predefined-constant">null</span>
@@ -12184,7 +12229,7 @@ changed for the lifetime of the graph.</
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; conf = <span class="keyword">new</span> BaseConfiguration()
-==&gt;org.apache.commons.configuration.BaseConfiguration<span class="error">@</span><span class="integer">7</span>bc567a4
+==&gt;org.apache.commons.configuration.BaseConfiguration<span class="error">@</span><span class="integer">251</span>ea80e
 gremlin&gt; conf.setProperty(<span class="string"><span class="delimiter">'</span><span class="content">gremlin.neo4j.directory</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">/tmp/neo4j</span><span class="delimiter">'</span></span>)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; conf.setProperty(<span class="string"><span class="delimiter">'</span><span class="content">gremlin.neo4j.multiProperties</span><span class="delimiter">'</span></span>,<span class="predefined-constant">true</span>)
@@ -12769,7 +12814,7 @@ which is the OLAP Gremlin machine.
 <pre class="CodeRay"><code class="groovy language-groovy">gremlin&gt; hdfs.copyFromLocal(<span class="string"><span class="delimiter">'</span><span class="content">data/tinkerpop-modern.kryo</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">tinkerpop-modern.kryo</span><span class="delimiter">'</span></span>)
 ==&gt;<span class="predefined-constant">null</span>
 gremlin&gt; hdfs.ls()
-==&gt;rw-r--r-- daniel supergroup <span class="integer">781</span> tinkerpop-modern.kryo
+==&gt;rw-r--r-- root supergroup <span class="integer">781</span> tinkerpop-modern.kryo
 gremlin&gt; graph = GraphFactory.open(<span class="string"><span class="delimiter">'</span><span class="content">conf/hadoop/hadoop-gryo.properties</span><span class="delimiter">'</span></span>)
 ==&gt;hadoopgraph[gryoinputformat-&gt;gryooutputformat]
 gremlin&gt; g = graph.traversal()
@@ -13121,7 +13166,7 @@ gremlin&gt; graph.configuration().setPro
 gremlin&gt; graph.compute(SparkGraphComputer).program(BulkDumperVertexProgram.build().create()).submit().get()
 ==&gt;result[hadoopgraph[graphsoninputformat-&gt;graphsonoutputformat],memory[<span class="key">size</span>:<span class="integer">0</span>]]
 gremlin&gt; hdfs.ls(<span class="string"><span class="delimiter">'</span><span class="content">output</span><span class="delimiter">'</span></span>)
-==&gt;rwxr-xr-x daniel supergroup <span class="integer">0</span> (D) ~g
+==&gt;rwxr-xr-x root supergroup <span class="integer">0</span> (D) ~g
 gremlin&gt; hdfs.head(<span class="string"><span class="delimiter">'</span><span class="content">output/~g</span><span class="delimiter">'</span></span>)
 ==&gt;{<span class="string"><span class="delimiter">&quot;</span><span class="content">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">4</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">label</span><span class="delimiter">&quot;</span></span>:<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">inE</span><span class="delimiter">&quot;</span></span>:{<span class="string"><span class="delimiter">&quot;</span><span class="content">knows</span><span class="delimiter">&quot;</span></span>:[{<span class="string"><span class="delimiter">&quot;</span><span class="content">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">8</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">outV</span><span class="delimi
 ter">&quot;</span></span>:<span class="integer">1</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">properties</span><span class="delimiter">&quot;</span></span>:{<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>:<span class="float">1.0</span>}}]},<span class="string"><span class="delimiter">&quot;</span><span class="content">outE</span><span class="delimiter">&quot;</span></span>:{<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>:[{<span class="string"><span class="delimiter">&quot;</span><span class="content">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">10</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">inV</span><span class="delimiter">&quot;</span></span>:<span class="integer">5</span>,<span class="s
 tring"><span class="delimiter">&quot;</span><span class="content">properties</span><span class="delimiter">&quot;</span></span>:{<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>:<span class="float">1.0</span>}},{<span class="string"><span class="delimiter">&quot;</span><span class="content">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">11</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">inV</span><span class="delimiter">&quot;</span></span>:<span class="integer">3</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">properties</span><span class="delimiter">&quot;</span></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>}}]},<span class="string"><span class="delimiter">&qu
 ot;</span><span class="content">properties</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">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">6</span>,<span class="string"><span class="delimiter">&quot;</span><span class="content">value</span><span class="delimiter">&quot;</span></span>:<span class="string"><span class="delimiter">&quot;</span><span class="content">josh</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="string"><span class="delimiter">&quot;</span><span class="content">id</span><span class="delimiter">&quot;</span></span>:<span class="integer">7</span>,<span class="string"><
 span class="delimiter">&quot;</span><span class="content">value</span><span class="delimiter">&quot;</span></span>:<span class="integer">32</span>}]}}

[... 684 lines stripped ...]