You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2019/05/24 14:46:26 UTC

svn commit: r1859886 [2/12] - in /tinkerpop/site: docs/3.3.7-SNAPSHOT/dev/developer/ docs/3.3.7-SNAPSHOT/dev/io/ docs/3.3.7-SNAPSHOT/dev/provider/ docs/3.3.7-SNAPSHOT/recipes/ docs/3.3.7-SNAPSHOT/reference/ docs/3.3.7-SNAPSHOT/tutorials/getting-started...

Modified: tinkerpop/site/docs/3.3.7-SNAPSHOT/recipes/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.3.7-SNAPSHOT/recipes/index.html?rev=1859886&r1=1859885&r2=1859886&view=diff
==============================================================================
--- tinkerpop/site/docs/3.3.7-SNAPSHOT/recipes/index.html (original)
+++ tinkerpop/site/docs/3.3.7-SNAPSHOT/recipes/index.html Fri May 24 14:46:24 2019
@@ -908,10 +908,10 @@ provide some basic building blocks for v
 traversal on the paths found between them. Consider the following examples using the modern toy graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254315-1" type="radio" name="radio-set-1553254315-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254315-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254315-2" type="radio" name="radio-set-1553254315-1" class="tab-selector-2" />
-  <label for="tab-1553254315-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704361-1" type="radio" name="radio-set-1558704361-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704361-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704361-2" type="radio" name="radio-set-1558704361-1" class="tab-selector-2" />
+  <label for="tab-1558704361-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -986,10 +986,10 @@ scenarios. For one such example, conside
 vertices:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254315-3" type="radio" name="radio-set-1553254315-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254315-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254315-4" type="radio" name="radio-set-1553254315-3" class="tab-selector-2" />
-  <label for="tab-1553254315-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704361-3" type="radio" name="radio-set-1558704361-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704361-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704361-4" type="radio" name="radio-set-1558704361-3" class="tab-selector-2" />
+  <label for="tab-1558704361-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1038,10 +1038,10 @@ to extract the known job, the company th
 the known person completed an application.</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254315-5" type="radio" name="radio-set-1553254315-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254315-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254315-6" type="radio" name="radio-set-1553254315-5" class="tab-selector-2" />
-  <label for="tab-1553254315-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704361-5" type="radio" name="radio-set-1558704361-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704361-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704361-6" type="radio" name="radio-set-1558704361-5" class="tab-selector-2" />
+  <label for="tab-1558704361-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1177,10 +1177,10 @@ demonstrate how some of these different
 edges associated to each vertex. The following examples use the modern toy graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254350-1" type="radio" name="radio-set-1553254350-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254350-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254350-2" type="radio" name="radio-set-1553254350-1" class="tab-selector-2" />
-  <label for="tab-1553254350-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704404-1" type="radio" name="radio-set-1558704404-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704404-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704404-2" type="radio" name="radio-set-1558704404-1" class="tab-selector-2" />
+  <label for="tab-1558704404-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1275,10 +1275,10 @@ graph for demonstration purposes:</p>
 <p><span class="image"><img src="../images/betweeness-example.png" alt="betweeness example" width="600"></span></p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254350-3" type="radio" name="radio-set-1553254350-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254350-3" class="tab-label-1">console (groovy )</label>
-  <input id="tab-1553254350-4" type="radio" name="radio-set-1553254350-3" class="tab-selector-2" />
-  <label for="tab-1553254350-4" class="tab-label-2">groovy </label>
+  <input id="tab-1558704404-3" type="radio" name="radio-set-1558704404-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704404-3" class="tab-label-1">console (groovy )</label>
+  <input id="tab-1558704404-4" type="radio" name="radio-set-1558704404-3" class="tab-selector-2" />
+  <label for="tab-1558704404-4" class="tab-label-2">groovy </label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1406,10 +1406,10 @@ pairs).
 other reachable vertices in the graph. The following examples use the modern toy graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254350-5" type="radio" name="radio-set-1553254350-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254350-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254350-6" type="radio" name="radio-set-1553254350-5" class="tab-selector-2" />
-  <label for="tab-1553254350-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704404-5" type="radio" name="radio-set-1558704404-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704404-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704404-6" type="radio" name="radio-set-1558704404-5" class="tab-selector-2" />
+  <label for="tab-1558704404-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1515,10 +1515,10 @@ relative importance of adjacent vertices
 give it the highest rank. Consider the following example using the Grateful Dead graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254350-7" type="radio" name="radio-set-1553254350-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254350-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254350-8" type="radio" name="radio-set-1553254350-7" class="tab-selector-2" />
-  <label for="tab-1553254350-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704404-7" type="radio" name="radio-set-1558704404-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704404-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704404-8" type="radio" name="radio-set-1558704404-7" class="tab-selector-2" />
+  <label for="tab-1558704404-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1596,6 +1596,39 @@ can shorten the time required to get a r
 <a href="http://tinkerpop.apache.org/docs/3.3.7-SNAPSHOT/reference/#pagerank-step">pageRank()</a>-step which is designed to work with
 <code>GraphComputer</code> (OLAP) based traversals.</p>
 </div>
+<section class="tabs tabs-2">
+  <input id="tab-1558704404-9" type="radio" name="radio-set-1558704404-9" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704404-9" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704404-10" type="radio" name="radio-set-1558704404-9" class="tab-selector-2" />
+  <label for="tab-1558704404-10" class="tab-label-2">groovy</label>
+  <div class="tabcontent">
+    <div class="tabcontent-1">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; g = graph.traversal().withComputer()
+==&gt;graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">6</span>], graphcomputer]
+gremlin&gt; g.V().pageRank().by(<span class="string"><span class="delimiter">'</span><span class="content">pageRank</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">pageRank</span><span class="delimiter">'</span></span>)
+==&gt;<span class="float">0.3047200907912248</span>
+==&gt;<span class="float">0.145985401527191</span>
+==&gt;<span class="float">0.145985401527191</span>
+==&gt;<span class="float">0.11375510357865536</span>
+==&gt;<span class="float">0.11375510357865536</span>
+==&gt;<span class="float">0.17579889899708226</span></code></pre>
+</div>
+</div>
+    </div>
+  </div>
+  <div class="tabcontent">
+    <div class="tabcontent-2">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">g = graph.traversal().withComputer()
+g.V().pageRank().by(<span class="string"><span class="delimiter">'</span><span class="content">pageRank</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">pageRank</span><span class="delimiter">'</span></span>)</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+</section>
 </div>
 </div>
 </div>
@@ -1625,10 +1658,10 @@ patterns described in this section.</p>
 appear by way of some side-effect steps like <code>store()</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-1" type="radio" name="radio-set-1553254395-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-2" type="radio" name="radio-set-1553254395-1" class="tab-selector-2" />
-  <label for="tab-1553254395-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-1" type="radio" name="radio-set-1558704464-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-2" type="radio" name="radio-set-1558704464-1" class="tab-selector-2" />
+  <label for="tab-1558704464-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1657,10 +1690,10 @@ g.V().store(<span class="string"><span c
 similar fashion to lists:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-3" type="radio" name="radio-set-1553254395-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-4" type="radio" name="radio-set-1553254395-3" class="tab-selector-2" />
-  <label for="tab-1553254395-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-3" type="radio" name="radio-set-1558704464-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-4" type="radio" name="radio-set-1558704464-3" class="tab-selector-2" />
+  <label for="tab-1558704464-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1693,10 +1726,10 @@ means than what is demonstrated.</p>
 <p>It may seem simple, but the most obvious choice to modifying what is in a list is to simply <code>unfold()</code> the <code>List</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-5" type="radio" name="radio-set-1553254395-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-6" type="radio" name="radio-set-1553254395-5" class="tab-selector-2" />
-  <label for="tab-1553254395-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-5" type="radio" name="radio-set-1558704464-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-6" type="radio" name="radio-set-1558704464-5" class="tab-selector-2" />
+  <label for="tab-1558704464-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1736,10 +1769,10 @@ traverser as it just flattens <code>List
 result, but consider what happens when there is more than one:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-7" type="radio" name="radio-set-1553254395-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-8" type="radio" name="radio-set-1553254395-7" class="tab-selector-2" />
-  <label for="tab-1553254395-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-7" type="radio" name="radio-set-1558704464-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-8" type="radio" name="radio-set-1558704464-7" class="tab-selector-2" />
+  <label for="tab-1558704464-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1781,10 +1814,10 @@ While this approach may be acceptable, t
 structure of the <code>List</code> traversers "locally" <code>unfold()</code> the lists to transform them:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-9" type="radio" name="radio-set-1553254395-9" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-9" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-10" type="radio" name="radio-set-1553254395-9" class="tab-selector-2" />
-  <label for="tab-1553254395-10" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-9" type="radio" name="radio-set-1558704464-9" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-9" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-10" type="radio" name="radio-set-1558704464-9" class="tab-selector-2" />
+  <label for="tab-1558704464-10" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1819,10 +1852,10 @@ thus maintaining two traverser results.<
 <p>This pattern for unfolding and folding <code>List</code> traversers ends up having other applications:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-11" type="radio" name="radio-set-1553254395-11" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-11" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-12" type="radio" name="radio-set-1553254395-11" class="tab-selector-2" />
-  <label for="tab-1553254395-12" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-11" type="radio" name="radio-set-1558704464-11" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-11" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-12" type="radio" name="radio-set-1558704464-11" class="tab-selector-2" />
+  <label for="tab-1558704464-12" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1900,10 +1933,10 @@ especially in cases where the expected o
 form of a <code>List</code>. For example, consider the following three traversals:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-13" type="radio" name="radio-set-1553254395-13" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-13" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-14" type="radio" name="radio-set-1553254395-13" class="tab-selector-2" />
-  <label for="tab-1553254395-14" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-13" type="radio" name="radio-set-1558704464-13" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-13" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-14" type="radio" name="radio-set-1558704464-13" class="tab-selector-2" />
+  <label for="tab-1558704464-14" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -1984,10 +2017,10 @@ three results (i.e. triple) that could t
 the use of <code>store()</code> to aid in construction of this <code>List</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-15" type="radio" name="radio-set-1553254395-15" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-15" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-16" type="radio" name="radio-set-1553254395-15" class="tab-selector-2" />
-  <label for="tab-1553254395-16" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-15" type="radio" name="radio-set-1558704464-15" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-15" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-16" type="radio" name="radio-set-1558704464-15" class="tab-selector-2" />
+  <label for="tab-1558704464-16" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2098,10 +2131,10 @@ means that each traverser can effectivel
 vertices each:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-17" type="radio" name="radio-set-1553254395-17" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-17" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-18" type="radio" name="radio-set-1553254395-17" class="tab-selector-2" />
-  <label for="tab-1553254395-18" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-17" type="radio" name="radio-set-1558704464-17" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-17" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-18" type="radio" name="radio-set-1558704464-17" class="tab-selector-2" />
+  <label for="tab-1558704464-18" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2128,10 +2161,10 @@ vertices each:</p>
 results.</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-19" type="radio" name="radio-set-1553254395-19" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-19" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-20" type="radio" name="radio-set-1553254395-19" class="tab-selector-2" />
-  <label for="tab-1553254395-20" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-19" type="radio" name="radio-set-1558704464-19" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-19" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-20" type="radio" name="radio-set-1558704464-19" class="tab-selector-2" />
+  <label for="tab-1558704464-20" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2198,10 +2231,10 @@ the stream from <code>union()</code> to
 to end up with a <code>Map</code> is with <code>valueMap()</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-21" type="radio" name="radio-set-1553254395-21" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-21" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-22" type="radio" name="radio-set-1553254395-21" class="tab-selector-2" />
-  <label for="tab-1553254395-22" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-21" type="radio" name="radio-set-1558704464-21" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-21" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-22" type="radio" name="radio-set-1558704464-21" class="tab-selector-2" />
+  <label for="tab-1558704464-22" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2228,10 +2261,10 @@ property stored as a <code>List</code>.
 by avoiding use of <code>valueMap()</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-23" type="radio" name="radio-set-1553254395-23" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-23" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-24" type="radio" name="radio-set-1553254395-23" class="tab-selector-2" />
-  <label for="tab-1553254395-24" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-23" type="radio" name="radio-set-1558704464-23" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-23" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-24" type="radio" name="radio-set-1558704464-23" class="tab-selector-2" />
+  <label for="tab-1558704464-24" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2261,10 +2294,10 @@ by avoiding use of <code>valueMap()</cod
 generally applicable to processing any <code>Map</code> instances with any sorts of values:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-25" type="radio" name="radio-set-1553254395-25" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-25" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-26" type="radio" name="radio-set-1553254395-25" class="tab-selector-2" />
-  <label for="tab-1553254395-26" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-25" type="radio" name="radio-set-1558704464-25" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-25" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-26" type="radio" name="radio-set-1558704464-25" class="tab-selector-2" />
+  <label for="tab-1558704464-26" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2314,10 +2347,10 @@ desired output before taking this approa
 unavoidable extraneous keys in the output <code>Map</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-27" type="radio" name="radio-set-1553254395-27" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-27" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-28" type="radio" name="radio-set-1553254395-27" class="tab-selector-2" />
-  <label for="tab-1553254395-28" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-27" type="radio" name="radio-set-1558704464-27" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-27" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-28" type="radio" name="radio-set-1558704464-27" class="tab-selector-2" />
+  <label for="tab-1558704464-28" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2357,10 +2390,10 @@ every single vertex in the traversal str
 supplied. While this may be an acceptable output, it is possible to shape the <code>Map</code> to be "nicer":</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-29" type="radio" name="radio-set-1553254395-29" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-29" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-30" type="radio" name="radio-set-1553254395-29" class="tab-selector-2" />
-  <label for="tab-1553254395-30" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-29" type="radio" name="radio-set-1558704464-29" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-29" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-30" type="radio" name="radio-set-1558704464-29" class="tab-selector-2" />
+  <label for="tab-1558704464-30" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2410,10 +2443,10 @@ prior to reconstructing the <code>Map</c
 earlier to flatten <code>List</code> values within a <code>Map</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-31" type="radio" name="radio-set-1553254395-31" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-31" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-32" type="radio" name="radio-set-1553254395-31" class="tab-selector-2" />
-  <label for="tab-1553254395-32" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-31" type="radio" name="radio-set-1558704464-31" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-31" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-32" type="radio" name="radio-set-1558704464-31" class="tab-selector-2" />
+  <label for="tab-1558704464-32" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2463,10 +2496,10 @@ here involves the use of a <code>union()
 reconstructed as a new <code>Map</code> that has been merged together:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254395-33" type="radio" name="radio-set-1553254395-33" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254395-33" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254395-34" type="radio" name="radio-set-1553254395-33" class="tab-selector-2" />
-  <label for="tab-1553254395-34" class="tab-label-2">groovy</label>
+  <input id="tab-1558704464-33" type="radio" name="radio-set-1558704464-33" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-33" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-34" type="radio" name="radio-set-1558704464-33" class="tab-selector-2" />
+  <label for="tab-1558704464-34" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2480,7 +2513,7 @@ reconstructed as a new <code>Map</code>
            group().
              by(keys).
              by(select(values).unfold())
-==&gt;[<span class="key">id</span>:<span class="integer">1</span>,<span class="key">label</span>:person,<span class="key">degree</span>:<span class="integer">3</span>,<span class="key">name</span>:marko,<span class="key">age</span>:<span class="integer">29</span>]</code></pre>
+==&gt;[<span class="key">id</span>:<span class="integer">1</span>,<span class="key">degree</span>:<span class="integer">3</span>,<span class="key">name</span>:marko,<span class="key">label</span>:person,<span class="key">age</span>:<span class="integer">29</span>]</code></pre>
 </div>
 </div>
     </div>
@@ -2523,6 +2556,53 @@ supplied to <code>union()</code>, they w
 a <code>List</code> back for all the values of the new <code>Map</code>. With some added logic the <code>Map</code> values can be flattened out of
 <code>List</code> instances when necessary:</p>
 </div>
+<section class="tabs tabs-2">
+  <input id="tab-1558704464-35" type="radio" name="radio-set-1558704464-35" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704464-35" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704464-36" type="radio" name="radio-set-1558704464-35" class="tab-selector-2" />
+  <label for="tab-1558704464-36" class="tab-label-2">groovy</label>
+  <div class="tabcontent">
+    <div class="tabcontent-1">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; 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">marko</span><span class="delimiter">'</span></span>).
+           union(valueMap(<span class="predefined-constant">true</span>),
+                 project(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).
+                   by(constant(<span class="integer">100</span>))).
+           unfold().
+           group().
+             by(keys).
+             by(select(values).
+                unfold().
+                fold().
+                choose(count(local).is(eq(<span class="integer">1</span>)), unfold()))
+==&gt;[<span class="key">id</span>:<span class="integer">1</span>,<span class="key">name</span>:marko,<span class="key">label</span>:person,<span class="key">age</span>:[<span class="integer">29</span>,<span class="integer">100</span>]]</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+  <div class="tabcontent">
+    <div class="tabcontent-2">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">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">marko</span><span class="delimiter">'</span></span>).
+  union(valueMap(<span class="predefined-constant">true</span>),
+        project(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).
+          by(constant(<span class="integer">100</span>))).
+  unfold().
+  group().
+    by(keys).
+    by(select(values).
+       unfold().
+       fold().
+       choose(count(local).is(eq(<span class="integer">1</span>)), unfold()))</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+</section>
 </div>
 </div>
 <div class="sect1">
@@ -2536,10 +2616,10 @@ in a graph. Consider the following graph
 <p><span class="image"><img src="../images/connected-components.png" alt="connected components" width="600"></span></p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254508-1" type="radio" name="radio-set-1553254508-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254508-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254508-2" type="radio" name="radio-set-1553254508-1" class="tab-selector-2" />
-  <label for="tab-1553254508-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704603-1" type="radio" name="radio-set-1558704603-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704603-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704603-2" type="radio" name="radio-set-1558704603-1" class="tab-selector-2" />
+  <label for="tab-1558704603-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2579,10 +2659,10 @@ in a graph. Consider the following graph
 <p>One way to detect the various subgraphs would be to do something like this:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254508-3" type="radio" name="radio-set-1553254508-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254508-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254508-4" type="radio" name="radio-set-1553254508-3" class="tab-selector-2" />
-  <label for="tab-1553254508-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704603-3" type="radio" name="radio-set-1558704603-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704603-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704603-4" type="radio" name="radio-set-1558704603-3" class="tab-selector-2" />
+  <label for="tab-1558704603-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2662,6 +2742,43 @@ see the output at each point.
 approach, but one more suited for OLAP execution looks quite similar but does not use <code>dedup</code> as heavily (thus
 <code>GraphComputer</code> is forced to analyze far more paths):</p>
 </div>
+<section class="tabs tabs-2">
+  <input id="tab-1558704603-5" type="radio" name="radio-set-1558704603-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704603-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704603-6" type="radio" name="radio-set-1558704603-5" class="tab-selector-2" />
+  <label for="tab-1558704603-6" class="tab-label-2">groovy</label>
+  <div class="tabcontent">
+    <div class="tabcontent-1">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; g.withComputer().V().emit(cyclicPath().or().not(both())).repeat(both()).until(cyclicPath()).
+           aggregate(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).by(path()).cap(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).unfold().limit(local, <span class="integer">1</span>).
+           map(__.as(<span class="string"><span class="delimiter">&quot;</span><span class="content">v</span><span class="delimiter">&quot;</span></span>).select(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).unfold().
+                  filter(unfold().where(eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">v</span><span class="delimiter">&quot;</span></span>))).
+                  unfold().dedup().order().by(id).fold()
+           ).toSet()
+==&gt;[v[A],v[B],v[C]]
+==&gt;[v[D],v[E]]
+==&gt;[v[F]]</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+  <div class="tabcontent">
+    <div class="tabcontent-2">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">g.withComputer().V().emit(cyclicPath().or().not(both())).repeat(both()).until(cyclicPath()).
+  aggregate(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).by(path()).cap(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).unfold().limit(local, <span class="integer">1</span>).
+  map(__.as(<span class="string"><span class="delimiter">&quot;</span><span class="content">v</span><span class="delimiter">&quot;</span></span>).select(<span class="string"><span class="delimiter">&quot;</span><span class="content">p</span><span class="delimiter">&quot;</span></span>).unfold().
+         filter(unfold().where(eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">v</span><span class="delimiter">&quot;</span></span>))).
+         unfold().dedup().order().by(id).fold()
+  ).toSet()</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+</section>
 </div>
 </div>
 <div class="sect1">
@@ -2675,10 +2792,10 @@ depicted below Gremlin could be use to d
 <p><span class="image"><img src="../images/graph-cycle.png" alt="graph cycle" width="250"></span></p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254533-1" type="radio" name="radio-set-1553254533-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254533-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254533-2" type="radio" name="radio-set-1553254533-1" class="tab-selector-2" />
-  <label for="tab-1553254533-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704639-1" type="radio" name="radio-set-1558704639-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704639-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704639-2" type="radio" name="radio-set-1558704639-1" class="tab-selector-2" />
+  <label for="tab-1558704639-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2752,10 +2869,10 @@ It also respected the directionality of
 themselves). To do so, you would need to <code>.emit()</code> a Traverser before the repeat()-loop.</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254533-3" type="radio" name="radio-set-1553254533-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254533-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254533-4" type="radio" name="radio-set-1553254533-3" class="tab-selector-2" />
-  <label for="tab-1553254533-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704639-3" type="radio" name="radio-set-1558704639-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704639-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704639-4" type="radio" name="radio-set-1558704639-3" class="tab-selector-2" />
+  <label for="tab-1558704639-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2818,10 +2935,10 @@ g.V().as(<span class="string"><span clas
 outgoing edges, in the modern graph?</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254533-5" type="radio" name="radio-set-1553254533-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254533-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254533-6" type="radio" name="radio-set-1553254533-5" class="tab-selector-2" />
-  <label for="tab-1553254533-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704639-5" type="radio" name="radio-set-1558704639-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704639-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704639-6" type="radio" name="radio-set-1558704639-5" class="tab-selector-2" />
+  <label for="tab-1558704639-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2859,10 +2976,10 @@ that happens to have an eighth bridge (t
 <p>Gremlin can detect if such a cycle exists with:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254533-7" type="radio" name="radio-set-1553254533-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254533-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254533-8" type="radio" name="radio-set-1553254533-7" class="tab-selector-2" />
-  <label for="tab-1553254533-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704639-7" type="radio" name="radio-set-1558704639-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704639-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704639-8" type="radio" name="radio-set-1558704639-7" class="tab-selector-2" />
+  <label for="tab-1558704639-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2943,6 +3060,45 @@ the first step above, which would mean t
 <p>Unlike Königsberg, with just seven bridges, a Eulerian circuit exists in the case with an eighth bridge. The first
 detected circuit can be displayed with:</p>
 </div>
+<section class="tabs tabs-2">
+  <input id="tab-1558704639-9" type="radio" name="radio-set-1558704639-9" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704639-9" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704639-10" type="radio" name="radio-set-1558704639-9" class="tab-selector-2" />
+  <label for="tab-1558704639-10" class="tab-label-2">groovy</label>
+  <div class="tabcontent">
+    <div class="tabcontent-1">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; g.V().sideEffect(outE(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridge</span><span class="delimiter">&quot;</span></span>).aggregate(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridges</span><span class="delimiter">&quot;</span></span>)).barrier().
+           repeat(bothE().or(__.not(select(<span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>)),
+                             __.not(filter(__.as(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).select(all, <span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).unfold().
+                                    where(eq(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>))))).as(<span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).otherV()).
+             until(select(all, <span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).count(local).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">c</span><span class="delimiter">&quot;</span></span>).
+                   select(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridges</span><span class="delimiter">&quot;</span></span>).count(local).where(eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">c</span><span class="delimiter">&quot;</span></span>))).limit(<span class="integer">1</span>).
+           path().by(id).by(constant(<span class="string"><span class="delimiter">&quot;</span><span class="content"> -&gt; </span><span class="delimiter">&quot;</span></span>)).
+           map {<span class="predefined-type">String</span>.join(<span class="string"><span class="delimiter">&quot;</span><span class="delimiter">&quot;</span></span>, <span class="local-variable">it</span>.get().objects())}
+==&gt;orange -&gt; blue -&gt; green -&gt; orange -&gt; red -&gt; green -&gt; red -&gt; orange -&gt; blue</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+  <div class="tabcontent">
+    <div class="tabcontent-2">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">g.V().sideEffect(outE(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridge</span><span class="delimiter">&quot;</span></span>).aggregate(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridges</span><span class="delimiter">&quot;</span></span>)).barrier().
+  repeat(bothE().or(__.not(select(<span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>)),
+                    __.not(filter(__.as(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).select(all, <span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).unfold().
+                           where(eq(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>))))).as(<span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).otherV()).
+    until(select(all, <span class="string"><span class="delimiter">'</span><span class="content">e</span><span class="delimiter">'</span></span>).count(local).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">c</span><span class="delimiter">&quot;</span></span>).
+          select(<span class="string"><span class="delimiter">&quot;</span><span class="content">bridges</span><span class="delimiter">&quot;</span></span>).count(local).where(eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">c</span><span class="delimiter">&quot;</span></span>))).limit(<span class="integer">1</span>).
+  path().by(id).by(constant(<span class="string"><span class="delimiter">&quot;</span><span class="content"> -&gt; </span><span class="delimiter">&quot;</span></span>)).
+  map {<span class="predefined-type">String</span>.join(<span class="string"><span class="delimiter">&quot;</span><span class="delimiter">&quot;</span></span>, <span class="local-variable">it</span>.get().objects())}</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+</section>
 </div>
 </div>
 <div class="sect1">
@@ -2958,10 +3114,10 @@ label and direction will be considered "
 that is duplicative of the "created" edge between vertex "1" and "3".</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-1" type="radio" name="radio-set-1553254573-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-2" type="radio" name="radio-set-1553254573-1" class="tab-selector-2" />
-  <label for="tab-1553254573-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-1" type="radio" name="radio-set-1558704694-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-2" type="radio" name="radio-set-1558704694-1" class="tab-selector-2" />
+  <label for="tab-1558704694-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -2989,10 +3145,10 @@ g.V(<span class="integer">1</span>).outE
 <p>One way to find the duplicate edges would be to do something like this:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-3" type="radio" name="radio-set-1553254573-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-4" type="radio" name="radio-set-1553254573-3" class="tab-selector-2" />
-  <label for="tab-1553254573-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-3" type="radio" name="radio-set-1558704694-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-4" type="radio" name="radio-set-1558704694-3" class="tab-selector-2" />
+  <label for="tab-1558704694-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3055,10 +3211,10 @@ contain  duplicate.</p>
 that uses less memory might look like this:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-5" type="radio" name="radio-set-1553254573-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-6" type="radio" name="radio-set-1553254573-5" class="tab-selector-2" />
-  <label for="tab-1553254573-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-5" type="radio" name="radio-set-1558704694-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-6" type="radio" name="radio-set-1558704694-5" class="tab-selector-2" />
+  <label for="tab-1558704694-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3127,10 +3283,10 @@ value.</p>
 <p>Note that the above traversal could also be written using <code>match</code> step:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-7" type="radio" name="radio-set-1553254573-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-8" type="radio" name="radio-set-1553254573-7" class="tab-selector-2" />
-  <label for="tab-1553254573-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-7" type="radio" name="radio-set-1558704694-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-8" type="radio" name="radio-set-1558704694-7" class="tab-selector-2" />
+  <label for="tab-1558704694-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3179,10 +3335,10 @@ The previous examples invoke traversal s
 as a performance optimization.</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-9" type="radio" name="radio-set-1553254573-9" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-9" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-10" type="radio" name="radio-set-1553254573-9" class="tab-selector-2" />
-  <label for="tab-1553254573-10" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-9" type="radio" name="radio-set-1558704694-9" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-9" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-10" type="radio" name="radio-set-1558704694-9" class="tab-selector-2" />
+  <label for="tab-1558704694-10" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3238,10 +3394,10 @@ example, a "duplicate" definition could
 demonstration, an additional edge is added to the "modern" graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254573-11" type="radio" name="radio-set-1553254573-11" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254573-11" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254573-12" type="radio" name="radio-set-1553254573-11" class="tab-selector-2" />
-  <label for="tab-1553254573-12" class="tab-label-2">groovy</label>
+  <input id="tab-1558704694-11" type="radio" name="radio-set-1558704694-11" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-11" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-12" type="radio" name="radio-set-1558704694-11" class="tab-selector-2" />
+  <label for="tab-1558704694-12" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3249,9 +3405,9 @@ demonstration, an additional edge is add
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; g.V(<span class="integer">1</span>).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">a</span><span class="delimiter">&quot;</span></span>).V(<span class="integer">3</span>).addE(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>,<span class="float">0.4d</span>).from(<span class="string"><span class="delimiter">&quot;</span><span class="content">a</span><span class="delimiter">&quot;</span></span>).iterate()
 gremlin&gt; g.V(<span class="integer">1</span>).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">a</span><span class="delimiter">&quot;</span></span>).V(<span class="integer">3</span>).addE(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>).property(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>,<span class="float">0.5d</span>).from(<span class="string"><span class="delimiter">&quot;</span><span class="content">a</span><span class="delimiter">&quot;</span></span>).iterate()
 gremlin&gt; g.V(<span class="integer">1</span>).outE(<span class="string"><span class="delimiter">&quot;</span><span class="content">created</span><span class="delimiter">&quot;</span></span>).valueMap(<span class="predefined-constant">true</span>)
-==&gt;[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">label</span>:created,<span class="key">weight</span>:<span class="float">0.4</span>]
-==&gt;[<span class="key">id</span>:<span class="integer">13</span>,<span class="key">label</span>:created,<span class="key">weight</span>:<span class="float">0.4</span>]
-==&gt;[<span class="key">id</span>:<span class="integer">14</span>,<span class="key">label</span>:created,<span class="key">weight</span>:<span class="float">0.5</span>]</code></pre>
+==&gt;[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created]
+==&gt;[<span class="key">id</span>:<span class="integer">13</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created]
+==&gt;[<span class="key">id</span>:<span class="integer">14</span>,<span class="key">weight</span>:<span class="float">0.5</span>,<span class="key">label</span>:created]</code></pre>
 </div>
 </div>
     </div>
@@ -3271,6 +3427,46 @@ g.V(<span class="integer">1</span>).outE
 <div class="paragraph">
 <p>To identify the duplicate with this revised definition, the previous traversal can be modified to:</p>
 </div>
+<section class="tabs tabs-2">
+  <input id="tab-1558704694-13" type="radio" name="radio-set-1558704694-13" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704694-13" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704694-14" type="radio" name="radio-set-1558704694-13" class="tab-selector-2" />
+  <label for="tab-1558704694-14" class="tab-label-2">groovy</label>
+  <div class="tabcontent">
+    <div class="tabcontent-1">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; g.withoutStrategies(LazyBarrierStrategy, PathRetractionStrategy).V().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">ov</span><span class="delimiter">&quot;</span></span>).
+           outE().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>).
+           inV().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">iv</span><span class="delimiter">&quot;</span></span>).
+           inE().
+           where(neq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>)).
+           where(outV().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">ov</span><span class="delimiter">&quot;</span></span>)).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>).
+           where(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>, eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>)).by(label).
+           where(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>, eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>)).by(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>).valueMap(<span class="predefined-constant">true</span>)
+==&gt;[<span class="key">id</span>:<span class="integer">13</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created]
+==&gt;[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created]</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+  <div class="tabcontent">
+    <div class="tabcontent-2">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">g.withoutStrategies(LazyBarrierStrategy, PathRetractionStrategy).V().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">ov</span><span class="delimiter">&quot;</span></span>).
+  outE().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>).
+  inV().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">iv</span><span class="delimiter">&quot;</span></span>).
+  inE().
+  where(neq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>)).
+  where(outV().as(<span class="string"><span class="delimiter">&quot;</span><span class="content">ov</span><span class="delimiter">&quot;</span></span>)).as(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>).
+  where(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>, eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>)).by(label).
+  where(<span class="string"><span class="delimiter">&quot;</span><span class="content">e1</span><span class="delimiter">&quot;</span></span>, eq(<span class="string"><span class="delimiter">&quot;</span><span class="content">e2</span><span class="delimiter">&quot;</span></span>)).by(<span class="string"><span class="delimiter">&quot;</span><span class="content">weight</span><span class="delimiter">&quot;</span></span>).valueMap(<span class="predefined-constant">true</span>)</code></pre>
+</div>
+</div>
+    </div>
+  </div>
+</section>
 </div>
 </div>
 <div class="sect1">
@@ -3285,10 +3481,10 @@ group for duplicates.</p>
 <p>Consider the following example with some duplicate vertices added to the "modern" graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254621-1" type="radio" name="radio-set-1553254621-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254621-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254621-2" type="radio" name="radio-set-1553254621-1" class="tab-selector-2" />
-  <label for="tab-1553254621-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704751-1" type="radio" name="radio-set-1558704751-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704751-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704751-2" type="radio" name="radio-set-1558704751-1" class="tab-selector-2" />
+  <label for="tab-1558704751-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3334,10 +3530,10 @@ the <code>Map</code> provided by the <co
 match the feature. To extract just those vertices that contain duplicates an additional filter can be added:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254621-3" type="radio" name="radio-set-1553254621-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254621-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254621-4" type="radio" name="radio-set-1553254621-3" class="tab-selector-2" />
-  <label for="tab-1553254621-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704751-3" type="radio" name="radio-set-1558704751-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704751-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704751-4" type="radio" name="radio-set-1558704751-3" class="tab-selector-2" />
+  <label for="tab-1558704751-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3386,10 +3582,10 @@ be created with the same properties and
 follows:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254645-1" type="radio" name="radio-set-1553254645-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254645-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254645-2" type="radio" name="radio-set-1553254645-1" class="tab-selector-2" />
-  <label for="tab-1553254645-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704779-1" type="radio" name="radio-set-1558704779-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704779-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704779-2" type="radio" name="radio-set-1558704779-1" class="tab-selector-2" />
+  <label for="tab-1558704779-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3397,9 +3593,9 @@ follows:</p>
 <pre class="CodeRay highlight"><code data-lang="groovy">gremlin&gt; 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">marko</span><span class="delimiter">'</span></span>).
            outE().inV().
            path().by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).by(valueMap(<span class="predefined-constant">true</span>))
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">label</span>:created,<span class="key">weight</span>:<span class="float">0.4</span>],lop]
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">7</span>,<span class="key">label</span>:knows,<span class="key">weight</span>:<span class="float">0.5</span>],vadas]
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">8</span>,<span class="key">label</span>:knows,<span class="key">weight</span>:<span class="float">1.0</span>],josh]</code></pre>
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created],lop]
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">7</span>,<span class="key">weight</span>:<span class="float">0.5</span>,<span class="key">label</span>:knows],vadas]
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">8</span>,<span class="key">weight</span>:<span class="float">1.0</span>,<span class="key">label</span>:knows],josh]</code></pre>
 </div>
 </div>
     </div>
@@ -3421,10 +3617,10 @@ follows:</p>
 the "peter" vertex in a single traversal:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254645-3" type="radio" name="radio-set-1553254645-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254645-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254645-4" type="radio" name="radio-set-1553254645-3" class="tab-selector-2" />
-  <label for="tab-1553254645-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704779-3" type="radio" name="radio-set-1558704779-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704779-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704779-4" type="radio" name="radio-set-1558704779-3" class="tab-selector-2" />
+  <label for="tab-1558704779-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3441,9 +3637,9 @@ the "peter" vertex in a single traversal
 gremlin&gt; 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">marko</span><span class="delimiter">'</span></span>).
            outE().inV().
            path().by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).by(valueMap(<span class="predefined-constant">true</span>))
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">label</span>:created,<span class="key">weight</span>:<span class="float">0.4</span>],lop]
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">8</span>,<span class="key">label</span>:knows,<span class="key">weight</span>:<span class="float">1.0</span>],josh]
-==&gt;[marko,[<span class="key">id</span>:<span class="integer">13</span>,<span class="key">label</span>:knows,<span class="key">weight</span>:<span class="float">0.5</span>],peter]</code></pre>
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">9</span>,<span class="key">weight</span>:<span class="float">0.4</span>,<span class="key">label</span>:created],lop]
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">8</span>,<span class="key">weight</span>:<span class="float">1.0</span>,<span class="key">label</span>:knows],josh]
+==&gt;[marko,[<span class="key">id</span>:<span class="integer">13</span>,<span class="key">weight</span>:<span class="float">0.5</span>,<span class="key">label</span>:knows],peter]</code></pre>
 </div>
 </div>
     </div>
@@ -3495,10 +3691,10 @@ properties to transfer to the new "moved
 <p>Checking for whether or not a graph element is present in the graph is simple:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254670-1" type="radio" name="radio-set-1553254670-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254670-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254670-2" type="radio" name="radio-set-1553254670-1" class="tab-selector-2" />
-  <label for="tab-1553254670-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704808-1" type="radio" name="radio-set-1558704808-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704808-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704808-2" type="radio" name="radio-set-1558704808-1" class="tab-selector-2" />
+  <label for="tab-1558704808-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3529,10 +3725,10 @@ determine whether or not to add a new ve
 entire operation can occur in a single traversal.</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254670-3" type="radio" name="radio-set-1553254670-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254670-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254670-4" type="radio" name="radio-set-1553254670-3" class="tab-selector-2" />
-  <label for="tab-1553254670-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704808-3" type="radio" name="radio-set-1558704808-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704808-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704808-4" type="radio" name="radio-set-1558704808-3" class="tab-selector-2" />
+  <label for="tab-1558704808-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3587,10 +3783,10 @@ then the vertex does not exist and it is
 <p>This "get or create" logic can be expanded to be "upsert" like functionality as follows:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254670-5" type="radio" name="radio-set-1553254670-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254670-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254670-6" type="radio" name="radio-set-1553254670-5" class="tab-selector-2" />
-  <label for="tab-1553254670-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704808-5" type="radio" name="radio-set-1558704808-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704808-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704808-6" type="radio" name="radio-set-1558704808-5" class="tab-selector-2" />
+  <label for="tab-1558704808-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3652,10 +3848,10 @@ execution.
 <p>It is possible to do similar sorts of operations with edges using the same pattern:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254670-7" type="radio" name="radio-set-1553254670-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254670-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254670-8" type="radio" name="radio-set-1553254670-7" class="tab-selector-2" />
-  <label for="tab-1553254670-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704808-7" type="radio" name="radio-set-1558704808-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704808-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704808-8" type="radio" name="radio-set-1558704808-7" class="tab-selector-2" />
+  <label for="tab-1558704808-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3696,10 +3892,10 @@ found between these two vertices, then i
 <p>Consider the following traversal over the "modern" toy graph:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254706-1" type="radio" name="radio-set-1553254706-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254706-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254706-2" type="radio" name="radio-set-1553254706-1" class="tab-selector-2" />
-  <label for="tab-1553254706-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704850-1" type="radio" name="radio-set-1558704850-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704850-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704850-2" type="radio" name="radio-set-1558704850-1" class="tab-selector-2" />
+  <label for="tab-1558704850-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3727,10 +3923,10 @@ different picture of the result. For exa
 a domain concept such as "young", "old" and "very old".</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254706-3" type="radio" name="radio-set-1553254706-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254706-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254706-4" type="radio" name="radio-set-1553254706-3" class="tab-selector-2" />
-  <label for="tab-1553254706-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704850-3" type="radio" name="radio-set-1558704850-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704850-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704850-4" type="radio" name="radio-set-1558704850-3" class="tab-selector-2" />
+  <label for="tab-1558704850-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3782,10 +3978,10 @@ like the following in Java:</p>
 there is another option to consider with <code>coalesce</code>:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254706-5" type="radio" name="radio-set-1553254706-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254706-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254706-6" type="radio" name="radio-set-1553254706-5" class="tab-selector-2" />
-  <label for="tab-1553254706-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704850-5" type="radio" name="radio-set-1558704850-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704850-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704850-6" type="radio" name="radio-set-1558704850-5" class="tab-selector-2" />
+  <label for="tab-1558704850-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3834,10 +4030,10 @@ second ten records and so on, until pote
 <p>In Gremlin, a basic approach to paging would look something like the following:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254736-1" type="radio" name="radio-set-1553254736-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254736-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254736-2" type="radio" name="radio-set-1553254736-1" class="tab-selector-2" />
-  <label for="tab-1553254736-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704883-1" type="radio" name="radio-set-1558704883-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704883-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704883-2" type="radio" name="radio-set-1558704883-1" class="tab-selector-2" />
+  <label for="tab-1558704883-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3903,10 +4099,10 @@ to getting a total count without doing a
 removed then the traversals become more simple:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254736-3" type="radio" name="radio-set-1553254736-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254736-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254736-4" type="radio" name="radio-set-1553254736-3" class="tab-selector-2" />
-  <label for="tab-1553254736-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704883-3" type="radio" name="radio-set-1558704883-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704883-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704883-4" type="radio" name="radio-set-1558704883-3" class="tab-selector-2" />
+  <label for="tab-1558704883-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -3956,10 +4152,10 @@ second traversal, the graph will still r
 <p>The only way to completely avoid that problem is to re-use the same traversal instance:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254736-5" type="radio" name="radio-set-1553254736-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254736-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254736-6" type="radio" name="radio-set-1553254736-5" class="tab-selector-2" />
-  <label for="tab-1553254736-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704883-5" type="radio" name="radio-set-1558704883-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704883-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704883-6" type="radio" name="radio-set-1558704883-5" class="tab-selector-2" />
+  <label for="tab-1558704883-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4023,10 +4219,10 @@ specific person as to what their opinion
 following script generates some data for the graph using that basic schema:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-1" type="radio" name="radio-set-1553254770-1" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-1" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-2" type="radio" name="radio-set-1553254770-1" class="tab-selector-2" />
-  <label for="tab-1553254770-2" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-1" type="radio" name="radio-set-1558704916-1" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-1" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-2" type="radio" name="radio-set-1558704916-1" class="tab-selector-2" />
+  <label for="tab-1558704916-2" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4104,10 +4300,10 @@ gremlin&gt; <span class="integer">2</spa
 <p>The first step to making a recommendation to "alice" using collaborative filtering is to understand what she bought:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-3" type="radio" name="radio-set-1553254770-3" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-3" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-4" type="radio" name="radio-set-1553254770-3" class="tab-selector-2" />
-  <label for="tab-1553254770-4" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-3" type="radio" name="radio-set-1558704916-3" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-3" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-4" type="radio" name="radio-set-1558704916-3" class="tab-selector-2" />
+  <label for="tab-1558704916-4" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4144,10 +4340,10 @@ focus on the neighborhood around that pr
 <p>The next step is to determine who else purchased those products:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-5" type="radio" name="radio-set-1553254770-5" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-5" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-6" type="radio" name="radio-set-1553254770-5" class="tab-selector-2" />
-  <label for="tab-1553254770-6" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-5" type="radio" name="radio-set-1558704916-5" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-5" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-6" type="radio" name="radio-set-1558704916-5" class="tab-selector-2" />
+  <label for="tab-1558704916-6" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4177,10 +4373,10 @@ focus on the neighborhood around that pr
 interest is in what individuals other than herself purchased:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-7" type="radio" name="radio-set-1553254770-7" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-7" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-8" type="radio" name="radio-set-1553254770-7" class="tab-selector-2" />
-  <label for="tab-1553254770-8" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-7" type="radio" name="radio-set-1558704916-7" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-7" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-8" type="radio" name="radio-set-1558704916-7" class="tab-selector-2" />
+  <label for="tab-1558704916-8" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4221,10 +4417,10 @@ interest is in what individuals other th
 they bought:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-9" type="radio" name="radio-set-1553254770-9" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-9" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-10" type="radio" name="radio-set-1553254770-9" class="tab-selector-2" />
-  <label for="tab-1553254770-10" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-9" type="radio" name="radio-set-1558704916-9" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-9" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-10" type="radio" name="radio-set-1558704916-9" class="tab-selector-2" />
+  <label for="tab-1558704916-10" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4271,10 +4467,10 @@ already purchased some of these products
 that she already owns. Those products she already purchased can be excluded as follows:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-11" type="radio" name="radio-set-1553254770-11" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-11" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-12" type="radio" name="radio-set-1553254770-11" class="tab-selector-2" />
-  <label for="tab-1553254770-12" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-11" type="radio" name="radio-set-1558704916-11" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-11" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-12" type="radio" name="radio-set-1558704916-11" class="tab-selector-2" />
+  <label for="tab-1558704916-12" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4315,10 +4511,10 @@ that she already owns. Those products sh
 purposes) to form a ranking:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-13" type="radio" name="radio-set-1553254770-13" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-13" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-14" type="radio" name="radio-set-1553254770-13" class="tab-selector-2" />
-  <label for="tab-1553254770-14" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-13" type="radio" name="radio-set-1558704916-13" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-13" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-14" type="radio" name="radio-set-1558704916-13" class="tab-selector-2" />
+  <label for="tab-1558704916-14" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4381,10 +4577,10 @@ vertices that make up the recommendation
 who have at least one product in common:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-15" type="radio" name="radio-set-1553254770-15" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-15" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-16" type="radio" name="radio-set-1553254770-15" class="tab-selector-2" />
-  <label for="tab-1553254770-16" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-15" type="radio" name="radio-set-1558704916-15" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-15" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-16" type="radio" name="radio-set-1558704916-15" class="tab-selector-2" />
+  <label for="tab-1558704916-16" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4416,10 +4612,10 @@ who have at least one product in common:
 <p>Next, do some grouping to find count how many products they have in common:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-17" type="radio" name="radio-set-1553254770-17" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-17" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-18" type="radio" name="radio-set-1553254770-17" class="tab-selector-2" />
-  <label for="tab-1553254770-18" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-17" type="radio" name="radio-set-1558704916-17" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-17" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-18" type="radio" name="radio-set-1558704916-17" class="tab-selector-2" />
+  <label for="tab-1558704916-18" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4455,10 +4651,10 @@ who have at least one product in common:
 that maximum:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-19" type="radio" name="radio-set-1553254770-19" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-19" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-20" type="radio" name="radio-set-1553254770-19" class="tab-selector-2" />
-  <label for="tab-1553254770-20" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-19" type="radio" name="radio-set-1558704916-19" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-19" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-20" type="radio" name="radio-set-1558704916-19" class="tab-selector-2" />
+  <label for="tab-1558704916-20" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4500,10 +4696,10 @@ that maximum:</p>
 common:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-21" type="radio" name="radio-set-1553254770-21" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-21" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-22" type="radio" name="radio-set-1553254770-21" class="tab-selector-2" />
-  <label for="tab-1553254770-22" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-21" type="radio" name="radio-set-1558704916-21" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-21" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-22" type="radio" name="radio-set-1558704916-21" class="tab-selector-2" />
+  <label for="tab-1558704916-22" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4550,10 +4746,10 @@ common:</p>
 purchased:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-23" type="radio" name="radio-set-1553254770-23" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-23" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-24" type="radio" name="radio-set-1553254770-23" class="tab-selector-2" />
-  <label for="tab-1553254770-24" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-23" type="radio" name="radio-set-1558704916-23" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-23" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-24" type="radio" name="radio-set-1558704916-23" class="tab-selector-2" />
+  <label for="tab-1558704916-24" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4603,10 +4799,10 @@ purchased:</p>
 <p>The above output shows that one product is held in common making it the top recommendation:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-25" type="radio" name="radio-set-1553254770-25" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-25" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-26" type="radio" name="radio-set-1553254770-25" class="tab-selector-2" />
-  <label for="tab-1553254770-26" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-25" type="radio" name="radio-set-1558704916-25" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-25" class="tab-label-1">console (groovy)</label>
+  <input id="tab-1558704916-26" type="radio" name="radio-set-1558704916-25" class="tab-selector-2" />
+  <label for="tab-1558704916-26" class="tab-label-2">groovy</label>
   <div class="tabcontent">
     <div class="tabcontent-1">
 <div class="listingblock">
@@ -4666,10 +4862,10 @@ purchased:</p>
 recommendation algorithm:</p>
 </div>
 <section class="tabs tabs-2">
-  <input id="tab-1553254770-27" type="radio" name="radio-set-1553254770-27" class="tab-selector-1" checked="checked" />
-  <label for="tab-1553254770-27" class="tab-label-1">console (groovy)</label>
-  <input id="tab-1553254770-28" type="radio" name="radio-set-1553254770-27" class="tab-selector-2" />
-  <label for="tab-1553254770-28" class="tab-label-2">groovy</label>
+  <input id="tab-1558704916-27" type="radio" name="radio-set-1558704916-27" class="tab-selector-1" checked="checked" />
+  <label for="tab-1558704916-27" class="tab-label-1">console (groovy)</label>

[... 1254 lines stripped ...]