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 ...]

Reply via email to