Modified: tinkerpop/site/docs/3.7.1-SNAPSHOT/reference/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.7.1-SNAPSHOT/reference/index.html?rev=1913127&r1=1913126&r2=1913127&view=diff ============================================================================== --- tinkerpop/site/docs/3.7.1-SNAPSHOT/reference/index.html (original) +++ tinkerpop/site/docs/3.7.1-SNAPSHOT/reference/index.html Thu Oct 19 17:02:23 2023 @@ -909,6 +909,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#choose-step">Choose Step</a></li> <li><a href="#coalesce-step">Coalesce Step</a></li> <li><a href="#coin-step">Coin Step</a></li> +<li><a href="#combine-step">Combine Step</a></li> <li><a href="#concat-step">Concat Step</a></li> <li><a href="#connectedcomponent-step">ConnectedComponent Step</a></li> <li><a href="#constant-step">Constant Step</a></li> @@ -917,6 +918,8 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#dateAdd-step">DateAdd Step</a></li> <li><a href="#dateDiff-step">DateDiff Step</a></li> <li><a href="#dedup-step">Dedup Step</a></li> +<li><a href="#difference-step">Difference Step</a></li> +<li><a href="#disjunct-step">Disjunct Step</a></li> <li><a href="#drop-step">Drop Step</a></li> <li><a href="#e-step">E Step</a></li> <li><a href="#element-step">Element Step</a></li> @@ -935,6 +938,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#identity-step">Identity Step</a></li> <li><a href="#index-step">Index Step</a></li> <li><a href="#inject-step">Inject Step</a></li> +<li><a href="#intersect-step">Intersect Step</a></li> <li><a href="#io-step">IO Step</a> <ul class="sectlevel3"> <li><a href="#graphml">GraphML</a></li> @@ -943,6 +947,7 @@ table.CodeRay td.code{padding:0 0 0 .75e </ul> </li> <li><a href="#is-step">Is Step</a></li> +<li><a href="#join-step">Join Step</a></li> <li><a href="#key-step">Key Step</a></li> <li><a href="#label-step">Label Step</a></li> <li><a href="#length-step">Length Step</a></li> @@ -959,6 +964,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#math-step">Math Step</a></li> <li><a href="#max-step">Max Step</a></li> <li><a href="#mean-step">Mean Step</a></li> +<li><a href="#merge-step">Merge Step</a></li> <li><a href="#mergeedge-step">MergeEdge Step</a></li> <li><a href="#mergevertex-step">MergeVertex Step</a></li> <li><a href="#min-step">Min Step</a></li> @@ -975,6 +981,7 @@ table.CodeRay td.code{padding:0 0 0 .75e </ul> </li> <li><a href="#peerpressure-step">PeerPressure Step</a></li> +<li><a href="#product-step">Product Step</a></li> <li><a href="#profile-step">Profile Step</a></li> <li><a href="#project-step">Project Step</a></li> <li><a href="#program-step">Program Step</a></li> @@ -3929,10 +3936,10 @@ functionality is shown in more detail in accessed as a side-effect given the supplied key.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-1" type="radio" name="radio-set-1697681632-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-2" type="radio" name="radio-set-1697681632-1" class="tab-selector-2" /> - <label for="tab-1697681632-2" class="tab-label-2">groovy</label> + <input id="tab-1697734578-1" type="radio" name="radio-set-1697734578-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-2" type="radio" name="radio-set-1697734578-1" class="tab-selector-2" /> + <label for="tab-1697734578-2" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4130,10 +4137,10 @@ with lambdas, please read <a href="#a-no <p><span class="image right"><img src="../images/map-lambda.png" alt="map lambda" width="150"></span></p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-3" type="radio" name="radio-set-1697681632-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-4" type="radio" name="radio-set-1697681632-3" class="tab-selector-2" /> - <label for="tab-1697681632-4" class="tab-label-2">groovy</label> + <input id="tab-1697734578-3" type="radio" name="radio-set-1697734578-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-4" type="radio" name="radio-set-1697734578-3" class="tab-selector-2" /> + <label for="tab-1697734578-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4183,10 +4190,10 @@ g.V(<span class="integer">1</span>).out( <p><span class="image right"><img src="../images/filter-lambda.png" alt="filter lambda" width="160"></span></p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-5" type="radio" name="radio-set-1697681632-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-6" type="radio" name="radio-set-1697681632-5" class="tab-selector-2" /> - <label for="tab-1697681632-6" class="tab-label-2">groovy</label> + <input id="tab-1697734578-5" type="radio" name="radio-set-1697734578-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-6" type="radio" name="radio-set-1697734578-5" class="tab-selector-2" /> + <label for="tab-1697734578-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4239,10 +4246,10 @@ g.V().hasLabel(<span class="string"><spa <p><span class="image right"><img src="../images/side-effect-lambda.png" alt="side effect lambda" width="175"></span></p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-7" type="radio" name="radio-set-1697681632-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-7" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-8" type="radio" name="radio-set-1697681632-7" class="tab-selector-2" /> - <label for="tab-1697681632-8" class="tab-label-2">groovy</label> + <input id="tab-1697734578-7" type="radio" name="radio-set-1697734578-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-7" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-8" type="radio" name="radio-set-1697734578-7" class="tab-selector-2" /> + <label for="tab-1697734578-8" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4289,10 +4296,10 @@ g.V().sideEffect(outE().count().aggregat <p><span class="image right"><img src="../images/branch-lambda.png" alt="branch lambda" width="180"></span></p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-9" type="radio" name="radio-set-1697681632-9" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-9" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-10" type="radio" name="radio-set-1697681632-9" class="tab-selector-2" /> - <label for="tab-1697681632-10" class="tab-label-2">groovy</label> + <input id="tab-1697734578-9" type="radio" name="radio-set-1697734578-9" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-9" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-10" type="radio" name="radio-set-1697734578-9" class="tab-selector-2" /> + <label for="tab-1697734578-10" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4369,10 +4376,10 @@ However, some steps do not return a trav as terminal steps (<strong>terminal</strong>) and they are explained via the examples below.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-11" type="radio" name="radio-set-1697681632-11" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-11" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-12" type="radio" name="radio-set-1697681632-11" class="tab-selector-2" /> - <label for="tab-1697681632-12" class="tab-label-2">groovy</label> + <input id="tab-1697734578-11" type="radio" name="radio-set-1697734578-11" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-11" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-12" type="radio" name="radio-set-1697734578-11" class="tab-selector-2" /> + <label for="tab-1697734578-12" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4492,10 +4499,10 @@ worked on the same project together. Thi </div> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-13" type="radio" name="radio-set-1697681632-13" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-13" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-14" type="radio" name="radio-set-1697681632-13" class="tab-selector-2" /> - <label for="tab-1697681632-14" class="tab-label-2">groovy</label> + <input id="tab-1697734578-13" type="radio" name="radio-set-1697734578-13" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-13" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-14" type="radio" name="radio-set-1697734578-13" class="tab-selector-2" /> + <label for="tab-1697734578-14" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4608,10 +4615,10 @@ supports user provided ids.</p> created. Moreover, <code>GraphTraversalSource</code> maintains an <code>addV()</code> method.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-15" type="radio" name="radio-set-1697681632-15" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-15" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-16" type="radio" name="radio-set-1697681632-15" class="tab-selector-2" /> - <label for="tab-1697681632-16" class="tab-label-2">groovy</label> + <input id="tab-1697734578-15" type="radio" name="radio-set-1697734578-15" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-15" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-16" type="radio" name="radio-set-1697734578-15" class="tab-selector-2" /> + <label for="tab-1697734578-16" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4676,10 +4683,10 @@ where everything at a particular point i <code>aggregate()</code> is called without a <code>Scope</code>, the default is <code>global</code>. An example is provided below.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-17" type="radio" name="radio-set-1697681632-17" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-17" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-18" type="radio" name="radio-set-1697681632-17" class="tab-selector-2" /> - <label for="tab-1697681632-18" class="tab-label-2">groovy</label> + <input id="tab-1697734578-17" type="radio" name="radio-set-1697734578-17" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-17" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-18" type="radio" name="radio-set-1697734578-17" class="tab-selector-2" /> + <label for="tab-1697734578-18" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4756,10 +4763,10 @@ g.V(<span class="integer">1</span>).out( <p>Finally, <code>aggregate()</code>-step can be modulated via <code>by()</code>-projection.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-19" type="radio" name="radio-set-1697681632-19" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-19" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-20" type="radio" name="radio-set-1697681632-19" class="tab-selector-2" /> - <label for="tab-1697681632-20" class="tab-label-2">groovy</label> + <input id="tab-1697734578-19" type="radio" name="radio-set-1697734578-19" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-19" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-20" type="radio" name="radio-set-1697734578-19" class="tab-selector-2" /> + <label for="tab-1697734578-20" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4809,10 +4816,10 @@ Prior to 3.4.3, <code>local</code> aggre </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-21" type="radio" name="radio-set-1697681632-21" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-21" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-22" type="radio" name="radio-set-1697681632-21" class="tab-selector-2" /> - <label for="tab-1697681632-22" class="tab-label-2">groovy</label> + <input id="tab-1697734578-21" type="radio" name="radio-set-1697734578-21" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-21" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-22" type="radio" name="radio-set-1697734578-21" class="tab-selector-2" /> + <label for="tab-1697734578-22" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4846,10 +4853,10 @@ though the interval selection is for 1 o filter (i.e. <code>[0..1]</code>), it passes through <code>aggregate()</code> and thus, stored before filtered.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-23" type="radio" name="radio-set-1697681632-23" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-23" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-24" type="radio" name="radio-set-1697681632-23" class="tab-selector-2" /> - <label for="tab-1697681632-24" class="tab-label-2">groovy</label> + <input id="tab-1697734578-23" type="radio" name="radio-set-1697734578-23" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-23" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-24" type="radio" name="radio-set-1697734578-23" class="tab-selector-2" /> + <label for="tab-1697734578-24" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4900,10 +4907,10 @@ filtered. Empty lists are passed along b </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-25" type="radio" name="radio-set-1697681632-25" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-25" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-26" type="radio" name="radio-set-1697681632-25" class="tab-selector-2" /> - <label for="tab-1697681632-26" class="tab-label-2">groovy</label> + <input id="tab-1697734578-25" type="radio" name="radio-set-1697734578-25" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-25" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-26" type="radio" name="radio-set-1697734578-25" class="tab-selector-2" /> + <label for="tab-1697734578-26" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4959,10 +4966,10 @@ filtered. Empty lists are passed along b </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-27" type="radio" name="radio-set-1697681632-27" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-27" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-28" type="radio" name="radio-set-1697681632-27" class="tab-selector-2" /> - <label for="tab-1697681632-28" class="tab-label-2">groovy</label> + <input id="tab-1697734578-27" type="radio" name="radio-set-1697734578-27" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-27" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-28" type="radio" name="radio-set-1697734578-27" class="tab-selector-2" /> + <label for="tab-1697734578-28" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4997,10 +5004,10 @@ original traverser to pass to the next s <p>An <a href="http://en.wikipedia.org/wiki/Infix_notation">infix notation</a> can be used as well.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-29" type="radio" name="radio-set-1697681632-29" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-29" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-30" type="radio" name="radio-set-1697681632-29" class="tab-selector-2" /> - <label for="tab-1697681632-30" class="tab-label-2">groovy</label> + <input id="tab-1697734578-29" type="radio" name="radio-set-1697734578-29" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-29" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-30" type="radio" name="radio-set-1697734578-29" class="tab-selector-2" /> + <label for="tab-1697734578-30" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5050,10 +5057,10 @@ filtered. Empty lists, null traversers, </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-31" type="radio" name="radio-set-1697681632-31" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-31" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-32" type="radio" name="radio-set-1697681632-31" class="tab-selector-2" /> - <label for="tab-1697681632-32" class="tab-label-2">groovy</label> + <input id="tab-1697734578-31" type="radio" name="radio-set-1697734578-31" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-31" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-32" type="radio" name="radio-set-1697734578-31" class="tab-selector-2" /> + <label for="tab-1697734578-32" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5126,10 +5133,10 @@ to in Gremlin with the double underscore </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-33" type="radio" name="radio-set-1697681632-33" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-33" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-34" type="radio" name="radio-set-1697681632-33" class="tab-selector-2" /> - <label for="tab-1697681632-34" class="tab-label-2">groovy</label> + <input id="tab-1697734578-33" type="radio" name="radio-set-1697734578-33" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-33" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-34" type="radio" name="radio-set-1697734578-33" class="tab-selector-2" /> + <label for="tab-1697734578-34" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5173,10 +5180,10 @@ g.V().as(<span class="string"><span clas <p>A step can have any number of labels associated with it. This is useful for referencing the same step multiple times in a future step.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-35" type="radio" name="radio-set-1697681632-35" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-35" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-36" type="radio" name="radio-set-1697681632-35" class="tab-selector-2" /> - <label for="tab-1697681632-36" class="tab-label-2">groovy</label> + <input id="tab-1697734578-35" type="radio" name="radio-set-1697734578-35" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-35" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-36" type="radio" name="radio-set-1697734578-35" class="tab-selector-2" /> + <label for="tab-1697734578-36" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5219,10 +5226,10 @@ g.V().as(<span class="string"><span clas <p>The <code>asString()</code>-step (<strong>map</strong>) returns the value of incoming traverser as strings. Null values are returned as a string value "null".</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-37" type="radio" name="radio-set-1697681632-37" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-37" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-38" type="radio" name="radio-set-1697681632-37" class="tab-selector-2" /> - <label for="tab-1697681632-38" class="tab-label-2">groovy</label> + <input id="tab-1697734578-37" type="radio" name="radio-set-1697734578-37" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-37" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-38" type="radio" name="radio-set-1697734578-37" class="tab-selector-2" /> + <label for="tab-1697734578-38" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5279,10 +5286,10 @@ Date input passed without changes. If the incoming traverser is not a string, number or Date then an <code>IllegalArgumentException</code> will be thrown.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-39" type="radio" name="radio-set-1697681632-39" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-39" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-40" type="radio" name="radio-set-1697681632-39" class="tab-selector-2" /> - <label for="tab-1697681632-40" class="tab-label-2">groovy</label> + <input id="tab-1697734578-39" type="radio" name="radio-set-1697734578-39" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-39" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-40" type="radio" name="radio-set-1697734578-39" class="tab-selector-2" /> + <label for="tab-1697734578-40" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5347,10 +5354,10 @@ useful in the following situations:</p> </ul> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-41" type="radio" name="radio-set-1697681632-41" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-41" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-42" type="radio" name="radio-set-1697681632-41" class="tab-selector-2" /> - <label for="tab-1697681632-42" class="tab-label-2">groovy</label> + <input id="tab-1697734578-41" type="radio" name="radio-set-1697734578-41" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-41" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-42" type="radio" name="radio-set-1697734578-41" class="tab-selector-2" /> + <label for="tab-1697734578-42" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5403,10 +5410,10 @@ traverser with a <code>Traverser.bulk()< made more salient on a larger graph. Therefore, the example below leverages the <a href="#grateful-dead">Grateful Dead graph</a>.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-43" type="radio" name="radio-set-1697681632-43" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-43" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-44" type="radio" name="radio-set-1697681632-43" class="tab-selector-2" /> - <label for="tab-1697681632-44" class="tab-label-2">groovy</label> + <input id="tab-1697734578-43" type="radio" name="radio-set-1697734578-43" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-43" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-44" type="radio" name="radio-set-1697734578-43" class="tab-selector-2" /> + <label for="tab-1697734578-44" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5419,13 +5426,13 @@ gremlin> g.io(<span class="string"><s gremlin> g = traversal().withEmbedded(graph).withoutStrategies(LazyBarrierStrategy) <span class="comment">//</span>// <b class="conum">(1)</b> ==>graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>], standard] gremlin> clockWithResult(<span class="integer">1</span>){g.V().both().both().both().count().next()} <span class="comment">//</span>// <b class="conum">(2)</b> -==><span class="float">6452.277375</span> +==><span class="float">6207.446625</span> ==><span class="integer">126653966</span> gremlin> clockWithResult(<span class="integer">1</span>){g.V().repeat(both()).times(<span class="integer">3</span>).count().next()} <span class="comment">//</span>// <b class="conum">(3)</b> -==><span class="float">7182.587208999999</span> +==><span class="float">7496.782125</span> ==><span class="integer">126653966</span> gremlin> clockWithResult(<span class="integer">1</span>){g.V().both().barrier().both().barrier().both().barrier().count().next()} <span class="comment">//</span>// <b class="conum">(4)</b> -==><span class="float">8.00825</span> +==><span class="float">7.720707999999999</span> ==><span class="integer">126653966</span></code></pre> </div> </div> @@ -5473,10 +5480,10 @@ optimization scenario with the added ben "bulking optimization."</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-45" type="radio" name="radio-set-1697681632-45" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-45" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-46" type="radio" name="radio-set-1697681632-45" class="tab-selector-2" /> - <label for="tab-1697681632-46" class="tab-label-2">groovy</label> + <input id="tab-1697734578-45" type="radio" name="radio-set-1697734578-45" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-45" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-46" type="radio" name="radio-set-1697734578-45" class="tab-selector-2" /> + <label for="tab-1697734578-46" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5487,7 +5494,7 @@ gremlin> g = traversal().withEmbedded ==>graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>], standard] gremlin> g.io(<span class="string"><span class="delimiter">'</span><span class="content">data/grateful-dead.xml</span><span class="delimiter">'</span></span>).read().iterate() gremlin> clockWithResult(<span class="integer">1</span>){g.V().both().both().both().count().next()} -==><span class="float">6.897291</span> +==><span class="float">6.319</span> ==><span class="integer">126653966</span> gremlin> g.V().both().both().both().count().iterate().toString() <span class="comment">//</span>// <b class="conum">(2)</b> ==>[TinkerGraphStep(vertex,<span class="type">[]</span>), VertexStep(BOTH,vertex), NoOpBarrierStep(<span class="integer">2500</span>), VertexStep(BOTH,vertex), NoOpBarrierStep(<span class="integer">2500</span>), VertexStep(BOTH,edge), CountGlobalStep, NoneStep]</code></pre> @@ -5551,10 +5558,10 @@ means by which they are added. The gener while others can take an arbitrary amount.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-47" type="radio" name="radio-set-1697681632-47" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-47" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-48" type="radio" name="radio-set-1697681632-47" class="tab-selector-2" /> - <label for="tab-1697681632-48" class="tab-label-2">groovy</label> + <input id="tab-1697734578-47" type="radio" name="radio-set-1697734578-47" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-47" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-48" type="radio" name="radio-set-1697734578-47" class="tab-selector-2" /> + <label for="tab-1697734578-48" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5600,16 +5607,16 @@ to the filtering of the traverser it is on the step.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-49" type="radio" name="radio-set-1697681632-49" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-49" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-50" type="radio" name="radio-set-1697681632-49" class="tab-selector-2" /> - <label for="tab-1697681632-50" class="tab-label-2">groovy</label> + <input id="tab-1697734578-49" type="radio" name="radio-set-1697734578-49" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-49" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-50" type="radio" name="radio-set-1697734578-49" class="tab-selector-2" /> + <label for="tab-1697734578-50" 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> g.V().sample(<span class="integer">1</span>).by(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(1)</b> -==>v[<span class="integer">6</span>]</code></pre> +==>v[<span class="integer">1</span>]</code></pre> </div> </div> </div> @@ -5722,10 +5729,10 @@ no-argument version is equivalent to <co verbose output describing all the services or an individual service:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-51" type="radio" name="radio-set-1697681632-51" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-51" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-52" type="radio" name="radio-set-1697681632-51" class="tab-selector-2" /> - <label for="tab-1697681632-52" class="tab-label-2">groovy</label> + <input id="tab-1697734578-51" type="radio" name="radio-set-1697734578-51" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-51" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-52" type="radio" name="radio-set-1697734578-51" class="tab-selector-2" /> + <label for="tab-1697734578-52" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5827,10 +5834,10 @@ g.call(<span class="string"><span class= key. If multiple keys are provided, then a <code>Map<String,Object></code> of sideEffects is emitted.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-53" type="radio" name="radio-set-1697681632-53" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-53" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-54" type="radio" name="radio-set-1697681632-53" class="tab-selector-2" /> - <label for="tab-1697681632-54" class="tab-label-2">groovy</label> + <input id="tab-1697734578-53" type="radio" name="radio-set-1697734578-53" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-53" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-54" type="radio" name="radio-set-1697734578-53" class="tab-selector-2" /> + <label for="tab-1697734578-54" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5883,10 +5890,10 @@ g.V().groupCount(<span class="string"><s it is possible to implement if/then/else-semantics as well as more complicated selections.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-55" type="radio" name="radio-set-1697681632-55" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-55" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-56" type="radio" name="radio-set-1697681632-55" class="tab-selector-2" /> - <label for="tab-1697681632-56" class="tab-label-2">groovy</label> + <input id="tab-1697734578-55" type="radio" name="radio-set-1697734578-55" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-55" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-56" type="radio" name="radio-set-1697734578-55" class="tab-selector-2" /> + <label for="tab-1697734578-56" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5941,10 +5948,10 @@ g.V().hasLabel(<span class="string"><spa <p>If the "false"-branch is not provided, then if/then-semantics are implemented.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-57" type="radio" name="radio-set-1697681632-57" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-57" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-58" type="radio" name="radio-set-1697681632-57" class="tab-selector-2" /> - <label for="tab-1697681632-58" class="tab-label-2">groovy</label> + <input id="tab-1697734578-57" type="radio" name="radio-set-1697734578-57" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-57" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-58" type="radio" name="radio-set-1697734578-57" class="tab-selector-2" /> + <label for="tab-1697734578-58" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5992,10 +5999,10 @@ g.V().choose(hasLabel(<span class="strin <p>Note that <code>choose()</code> can have an arbitrary number of options and moreover, can take an anonymous traversal as its choice function.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-59" type="radio" name="radio-set-1697681632-59" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-59" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-60" type="radio" name="radio-set-1697681632-59" class="tab-selector-2" /> - <label for="tab-1697681632-60" class="tab-label-2">groovy</label> + <input id="tab-1697734578-59" type="radio" name="radio-set-1697734578-59" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-59" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-60" type="radio" name="radio-set-1697734578-59" class="tab-selector-2" /> + <label for="tab-1697734578-60" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6033,10 +6040,10 @@ g.V().choose(hasLabel(<span class="strin <p>The <code>choose()</code>-step can leverage the <code>Pick.none</code> option match. For anything that does not match a specified option, the <code>none</code>-option is taken.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-61" type="radio" name="radio-set-1697681632-61" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-61" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-62" type="radio" name="radio-set-1697681632-61" class="tab-selector-2" /> - <label for="tab-1697681632-62" class="tab-label-2">groovy</label> + <input id="tab-1697734578-61" type="radio" name="radio-set-1697734578-61" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-61" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-62" type="radio" name="radio-set-1697734578-61" class="tab-selector-2" /> + <label for="tab-1697734578-62" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6085,10 +6092,10 @@ g.V().choose(hasLabel(<span class="strin least one element.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-63" type="radio" name="radio-set-1697681632-63" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-63" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-64" type="radio" name="radio-set-1697681632-63" class="tab-selector-2" /> - <label for="tab-1697681632-64" class="tab-label-2">groovy</label> + <input id="tab-1697734578-63" type="radio" name="radio-set-1697734578-63" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-63" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-64" type="radio" name="radio-set-1697734578-63" class="tab-selector-2" /> + <label for="tab-1697734578-64" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6135,19 +6142,16 @@ g.V().hasLabel(<span class="string"><spa <p>To randomly filter out a traverser, use the <code>coin()</code>-step (<strong>filter</strong>). The provided double argument biases the "coin toss."</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-65" type="radio" name="radio-set-1697681632-65" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-65" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-66" type="radio" name="radio-set-1697681632-65" class="tab-selector-2" /> - <label for="tab-1697681632-66" class="tab-label-2">groovy</label> + <input id="tab-1697734578-65" type="radio" name="radio-set-1697734578-65" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-65" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-66" type="radio" name="radio-set-1697734578-65" class="tab-selector-2" /> + <label for="tab-1697734578-66" 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> g.V().coin(<span class="float">0.5</span>) -==>v[<span class="integer">2</span>] ==>v[<span class="integer">3</span>] -==>v[<span class="integer">5</span>] -==>v[<span class="integer">6</span>] gremlin> g.V().coin(<span class="float">0.0</span>) gremlin> g.V().coin(<span class="float">1.0</span>) ==>v[<span class="integer">1</span>] @@ -6180,16 +6184,38 @@ g.V().coin(<span class="float">1.0</span </div> </div> <div class="sect2"> +<h3 id="combine-step">Combine Step</h3> +<div class="paragraph"> +<p>The <code>combine()</code>-step (<strong>map</strong>) combines the elements of the incoming list traverser and the provided list argument into +one list. This is also known as appending or concatenating. This step only expects list data (array or Iterable) and +will throw an <code>IllegalArgumentException</code> if any other type is encountered (including null). This differs from the +<code>merge</code> step in that it allows duplicates to exist.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>g.V().values("name").fold().combine(["james","jen","marko","vadas"])</pre> +</div> +</div> +<div class="paragraph"> +<p><strong>Additional References</strong></p> +</div> +<div class="paragraph"> +<p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#combine-Object"><code>combine(Object)</code></a> +<a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#combine-Traversal"><code>combine(Traversal)</code></a> +<a href="https://tinkerpop.apache.org/docs/3.7.1-SNAPSHOT/dev/provider/#combine-step"><code>Semantics</code></a></p> +</div> +</div> +<div class="sect2"> <h3 id="concat-step">Concat Step</h3> <div class="paragraph"> <p>The <code>concat()</code>-step (<strong>map</strong>) concatenates one or more String values together to the incoming String traverser. If the incoming traverser is a non-String value then an <code>IllegalArgumentException</code> will be thrown.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-67" type="radio" name="radio-set-1697681632-67" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-67" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-68" type="radio" name="radio-set-1697681632-67" class="tab-selector-2" /> - <label for="tab-1697681632-68" class="tab-label-2">groovy</label> + <input id="tab-1697734578-67" type="radio" name="radio-set-1697734578-67" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-67" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-68" type="radio" name="radio-set-1697734578-67" class="tab-selector-2" /> + <label for="tab-1697734578-68" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6303,10 +6329,10 @@ that supports <code>GraphComputer</code> </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-69" type="radio" name="radio-set-1697681632-69" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-69" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-70" type="radio" name="radio-set-1697681632-69" class="tab-selector-2" /> - <label for="tab-1697681632-70" class="tab-label-2">groovy</label> + <input id="tab-1697734578-69" type="radio" name="radio-set-1697734578-69" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-69" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-70" type="radio" name="radio-set-1697734578-69" class="tab-selector-2" /> + <label for="tab-1697734578-70" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6319,12 +6345,12 @@ gremlin> g.V(). project(<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">component</span><span class="delimiter">'</span></span>). by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>). by(<span class="string"><span class="delimiter">'</span><span class="content">component</span><span class="delimiter">'</span></span>) -==>[<span class="key">name</span>:marko,<span class="key">component</span>:<span class="integer">1</span>] -==>[<span class="key">name</span>:josh,<span class="key">component</span>:<span class="integer">1</span>] +==>[<span class="key">name</span>:vadas,<span class="key">component</span>:<span class="integer">1</span>] +==>[<span class="key">name</span>:lop,<span class="key">component</span>:<span class="integer">1</span>] ==>[<span class="key">name</span>:ripple,<span class="key">component</span>:<span class="integer">1</span>] ==>[<span class="key">name</span>:peter,<span class="key">component</span>:<span class="integer">1</span>] -==>[<span class="key">name</span>:lop,<span class="key">component</span>:<span class="integer">1</span>] -==>[<span class="key">name</span>:vadas,<span class="key">component</span>:<span class="integer">1</span>] +==>[<span class="key">name</span>:marko,<span class="key">component</span>:<span class="integer">1</span>] +==>[<span class="key">name</span>:josh,<span class="key">component</span>:<span class="integer">1</span>] gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>). connectedComponent(). with(ConnectedComponent.propertyName, <span class="string"><span class="delimiter">'</span><span class="content">component</span><span class="delimiter">'</span></span>). @@ -6332,10 +6358,10 @@ gremlin> g.V().hasLabel(<span class=" project(<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">component</span><span class="delimiter">'</span></span>). by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>). by(<span class="string"><span class="delimiter">'</span><span class="content">component</span><span class="delimiter">'</span></span>) -==>[<span class="key">name</span>:marko,<span class="key">component</span>:<span class="integer">1</span>] -==>[<span class="key">name</span>:josh,<span class="key">component</span>:<span class="integer">1</span>] ==>[<span class="key">name</span>:vadas,<span class="key">component</span>:<span class="integer">1</span>] -==>[<span class="key">name</span>:peter,<span class="key">component</span>:<span class="integer">6</span>]</code></pre> +==>[<span class="key">name</span>:peter,<span class="key">component</span>:<span class="integer">6</span>] +==>[<span class="key">name</span>:josh,<span class="key">component</span>:<span class="integer">1</span>] +==>[<span class="key">name</span>:marko,<span class="key">component</span>:<span class="integer">1</span>]</code></pre> </div> </div> </div> @@ -6381,10 +6407,10 @@ configuration keys from the <code>Connec steps like <a href="#choose-step"><code>choose()</code>-step</a> or <a href="#coalesce-step"><code>coalesce()</code>-step</a>.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-71" type="radio" name="radio-set-1697681632-71" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-71" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-72" type="radio" name="radio-set-1697681632-71" class="tab-selector-2" /> - <label for="tab-1697681632-72" class="tab-label-2">groovy</label> + <input id="tab-1697734578-71" type="radio" name="radio-set-1697734578-71" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-71" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-72" type="radio" name="radio-set-1697734578-71" class="tab-selector-2" /> + <label for="tab-1697734578-72" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6454,10 +6480,10 @@ g.V().coalesce( <p>The <code>count()</code>-step (<strong>map</strong>) counts the total number of represented traversers in the streams (i.e. the bulk count).</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-73" type="radio" name="radio-set-1697681632-73" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-73" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-74" type="radio" name="radio-set-1697681632-73" class="tab-selector-2" /> - <label for="tab-1697681632-74" class="tab-label-2">groovy</label> + <input id="tab-1697734578-73" type="radio" name="radio-set-1697734578-73" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-73" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-74" type="radio" name="radio-set-1697734578-73" class="tab-selector-2" /> + <label for="tab-1697734578-74" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6533,10 +6559,10 @@ analyzes the path of the traverser thus traversal computation. If non-cyclic behavior is desired, see <a href="#simplepath-step"><code>simplePath()</code></a>.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-75" type="radio" name="radio-set-1697681632-75" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-75" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-76" type="radio" name="radio-set-1697681632-75" class="tab-selector-2" /> - <label for="tab-1697681632-76" class="tab-label-2">groovy</label> + <input id="tab-1697734578-75" type="radio" name="radio-set-1697734578-75" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-75" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-76" type="radio" name="radio-set-1697734578-75" class="tab-selector-2" /> + <label for="tab-1697734578-76" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6615,10 +6641,10 @@ g.V(<span class="integer">1</span>).as(< If the incoming traverser is not a Date, then an <code>IllegalArgumentException</code> will be thrown.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-77" type="radio" name="radio-set-1697681632-77" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-77" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-78" type="radio" name="radio-set-1697681632-77" class="tab-selector-2" /> - <label for="tab-1697681632-78" class="tab-label-2">groovy</label> + <input id="tab-1697734578-77" type="radio" name="radio-set-1697734578-77" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-77" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-78" type="radio" name="radio-set-1697734578-77" class="tab-selector-2" /> + <label for="tab-1697734578-78" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6668,10 +6694,10 @@ g.inject([<span class="string"><span cla If the incoming traverser is not a Date, then an <code>IllegalArgumentException</code> will be thrown.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-79" type="radio" name="radio-set-1697681632-79" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-79" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-80" type="radio" name="radio-set-1697681632-79" class="tab-selector-2" /> - <label for="tab-1697681632-80" class="tab-label-2">groovy</label> + <input id="tab-1697734578-79" type="radio" name="radio-set-1697734578-79" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-79" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-80" type="radio" name="radio-set-1697734578-79" class="tab-selector-2" /> + <label for="tab-1697734578-80" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6714,10 +6740,10 @@ If the incoming traverser is not a Date, traverser’s bulk is greater than 1, then it is set to 1 before being emitted.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-81" type="radio" name="radio-set-1697681632-81" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-81" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-82" type="radio" name="radio-set-1697681632-81" class="tab-selector-2" /> - <label for="tab-1697681632-82" class="tab-label-2">groovy</label> + <input id="tab-1697734578-81" type="radio" name="radio-set-1697734578-81" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-81" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-82" type="radio" name="radio-set-1697734578-81" class="tab-selector-2" /> + <label for="tab-1697734578-82" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6770,10 +6796,10 @@ element as it is a first-class citizen.< has been seen or not.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-83" type="radio" name="radio-set-1697681632-83" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-83" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-84" type="radio" name="radio-set-1697681632-83" class="tab-selector-2" /> - <label for="tab-1697681632-84" class="tab-label-2">groovy</label> + <input id="tab-1697734578-83" type="radio" name="radio-set-1697734578-83" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-83" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-84" type="radio" name="radio-set-1697734578-83" class="tab-selector-2" /> + <label for="tab-1697734578-84" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6808,10 +6834,10 @@ g.V().dedup().by(label).values(<span cla to the current traverser object, but to the path history of the traverser.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-85" type="radio" name="radio-set-1697681632-85" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-85" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-86" type="radio" name="radio-set-1697681632-85" class="tab-selector-2" /> - <label for="tab-1697681632-86" class="tab-label-2">groovy</label> + <input id="tab-1697734578-85" type="radio" name="radio-set-1697734578-85" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-85" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-86" type="radio" name="radio-set-1697734578-85" class="tab-selector-2" /> + <label for="tab-1697734578-86" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6878,16 +6904,66 @@ g.V().as(<span class="string"><span clas </div> </div> <div class="sect2"> +<h3 id="difference-step">Difference Step</h3> +<div class="paragraph"> +<p>The <code>difference()</code>-step (<strong>map</strong>) calculates the difference between the incoming list traverser and the provided list +argument. More specifically, this provides the set operation A-B where A is the traverser and B is the argument. This +step only expects list data (array or Iterable) and will throw an <code>IllegalArgumentException</code> if any other type is +encountered (including null).</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>g.V().values("name").fold().difference(["lop","ripple"])</pre> +</div> +</div> +<div class="paragraph"> +<p><strong>Additional References</strong></p> +</div> +<div class="paragraph"> +<p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#difference-Object"><code>difference(Object)</code></a> +<a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#difference-Traversal"><code>difference(Traversal)</code></a> +<a href="https://tinkerpop.apache.org/docs/3.7.1-SNAPSHOT/dev/provider/#difference-step"><code>Semantics</code></a></p> +</div> +</div> +<div class="sect2"> +<h3 id="disjunct-step">Disjunct Step</h3> +<div class="paragraph"> +<p>The <code>disjunct()</code>-step (<strong>map</strong>) calculates the disjunct set between the incoming list traverser and the provided list +argument. This step only expects list data (array or Iterable) and will throw an <code>IllegalArgumentException</code> if any other +type is encountered (including null).</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>g.V().values("name").fold().disjunct(["lop","peter","sam"]) <span class="invisible">//</span><b class="conum">1</b></pre> +</div> +</div> +<div class="colist arabic"> +<ol> +<li> +<p>Find the unique names between two group of names</p> +</li> +</ol> +</div> +<div class="paragraph"> +<p><strong>Additional References</strong></p> +</div> +<div class="paragraph"> +<p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#disjunct-Object"><code>disjunct(Object)</code></a> +<a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#disjunct-Traversal"><code>disjunct(Traversal)</code></a> +<a href="https://tinkerpop.apache.org/docs/3.7.1-SNAPSHOT/dev/provider/#disjunct-step"><code>Semantics</code></a></p> +</div> +</div> +<div class="sect2"> <h3 id="drop-step">Drop Step</h3> <div class="paragraph"> <p>The <code>drop()</code>-step (<strong>filter</strong>/<strong>sideEffect</strong>) is used to remove element and properties from the graph (i.e. remove). It is a filter step because the traversal yields no outgoing objects.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-87" type="radio" name="radio-set-1697681632-87" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-87" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-88" type="radio" name="radio-set-1697681632-87" class="tab-selector-2" /> - <label for="tab-1697681632-88" class="tab-label-2">groovy</label> + <input id="tab-1697734578-87" type="radio" name="radio-set-1697734578-87" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-87" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-88" type="radio" name="radio-set-1697734578-87" class="tab-selector-2" /> + <label for="tab-1697734578-88" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6941,10 +7017,10 @@ g.V()</code></pre> be used mid-traversal.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-89" type="radio" name="radio-set-1697681632-89" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-89" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-90" type="radio" name="radio-set-1697681632-89" class="tab-selector-2" /> - <label for="tab-1697681632-90" class="tab-label-2">groovy</label> + <input id="tab-1697734578-89" type="radio" name="radio-set-1697734578-89" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-89" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-90" type="radio" name="radio-set-1697734578-89" class="tab-selector-2" /> + <label for="tab-1697734578-90" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6995,10 +7071,10 @@ g.inject(<span class="integer">1</span>) <p>The <code>element()</code> step is a no-argument step that traverses from a <code>Property</code> to the <code>Element</code> that owns it.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-91" type="radio" name="radio-set-1697681632-91" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-91" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-92" type="radio" name="radio-set-1697681632-91" class="tab-selector-2" /> - <label for="tab-1697681632-92" class="tab-label-2">groovy</label> + <input id="tab-1697734578-91" type="radio" name="radio-set-1697734578-91" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-91" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-92" type="radio" name="radio-set-1697734578-91" class="tab-selector-2" /> + <label for="tab-1697734578-92" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7105,10 +7181,10 @@ g.V().properties().properties().element( <p>The <code>elementMap()</code>-step yields a <code>Map</code> representation of the structure of an element.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-93" type="radio" name="radio-set-1697681632-93" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-93" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-94" type="radio" name="radio-set-1697681632-93" class="tab-selector-2" /> - <label for="tab-1697681632-94" class="tab-label-2">groovy</label> + <input id="tab-1697734578-93" type="radio" name="radio-set-1697734578-93" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-93" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-94" type="radio" name="radio-set-1697734578-93" class="tab-selector-2" /> + <label for="tab-1697734578-94" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7164,10 +7240,10 @@ then only the first item encountered wil assumption should serve the greatest number of use cases.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-95" type="radio" name="radio-set-1697681632-95" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-95" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-96" type="radio" name="radio-set-1697681632-95" class="tab-selector-2" /> - <label for="tab-1697681632-96" class="tab-label-2">groovy</label> + <input id="tab-1697734578-95" type="radio" name="radio-set-1697734578-95" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-95" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-96" type="radio" name="radio-set-1697734578-95" class="tab-selector-2" /> + <label for="tab-1697734578-96" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7251,10 +7327,10 @@ traversal strategy being applied. The se post strategy application. The final traversal is the resultant execution plan.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-97" type="radio" name="radio-set-1697681632-97" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-97" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-98" type="radio" name="radio-set-1697681632-97" class="tab-selector-2" /> - <label for="tab-1697681632-98" class="tab-label-2">groovy</label> + <input id="tab-1697734578-97" type="radio" name="radio-set-1697734578-97" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-97" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-98" type="radio" name="radio-set-1697734578-97" class="tab-selector-2" /> + <label for="tab-1697734578-98" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7376,10 +7452,10 @@ that is a function of the aggregate. The <a href="#unfold-step"><code>unfold()</code></a>-step for the inverse functionality.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-99" type="radio" name="radio-set-1697681632-99" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-99" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-100" type="radio" name="radio-set-1697681632-99" class="tab-selector-2" /> - <label for="tab-1697681632-100" class="tab-label-2">groovy</label> + <input id="tab-1697734578-99" type="radio" name="radio-set-1697734578-99" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-99" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-100" type="radio" name="radio-set-1697734578-99" class="tab-selector-2" /> + <label for="tab-1697734578-100" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7513,10 +7589,10 @@ organizes the objects according to some reduced. An example is provided below.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-101" type="radio" name="radio-set-1697681632-101" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-101" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-102" type="radio" name="radio-set-1697681632-101" class="tab-selector-2" /> - <label for="tab-1697681632-102" class="tab-label-2">groovy</label> + <input id="tab-1697734578-101" type="radio" name="radio-set-1697734578-101" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-101" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-102" type="radio" name="radio-set-1697734578-101" class="tab-selector-2" /> + <label for="tab-1697734578-102" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7570,10 +7646,10 @@ g.V().group().by(label).by(count()) <spa </ol> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-103" type="radio" name="radio-set-1697681632-103" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-103" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-104" type="radio" name="radio-set-1697681632-103" class="tab-selector-2" /> - <label for="tab-1697681632-104" class="tab-label-2">groovy</label> + <input id="tab-1697734578-103" type="radio" name="radio-set-1697734578-103" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-103" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-104" type="radio" name="radio-set-1697734578-103" class="tab-selector-2" /> + <label for="tab-1697734578-104" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7627,10 +7703,10 @@ g.V().group().by(<span class="string"><s </div> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-105" type="radio" name="radio-set-1697681632-105" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-105" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-106" type="radio" name="radio-set-1697681632-105" class="tab-selector-2" /> - <label for="tab-1697681632-106" class="tab-label-2">groovy</label> + <input id="tab-1697734578-105" type="radio" name="radio-set-1697734578-105" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-105" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-106" type="radio" name="radio-set-1697734578-105" class="tab-selector-2" /> + <label for="tab-1697734578-106" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7682,10 +7758,10 @@ group the incoming object by.</p> </div> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-107" type="radio" name="radio-set-1697681632-107" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-107" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-108" type="radio" name="radio-set-1697681632-107" class="tab-selector-2" /> - <label for="tab-1697681632-108" class="tab-label-2">groovy</label> + <input id="tab-1697734578-107" type="radio" name="radio-set-1697734578-107" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-107" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-108" type="radio" name="radio-set-1697734578-107" class="tab-selector-2" /> + <label for="tab-1697734578-108" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7765,10 +7841,10 @@ it received to its output. Internal to < </ul> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-109" type="radio" name="radio-set-1697681632-109" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-109" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-110" type="radio" name="radio-set-1697681632-109" class="tab-selector-2" /> - <label for="tab-1697681632-110" class="tab-label-2">groovy</label> + <input id="tab-1697734578-109" type="radio" name="radio-set-1697734578-109" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-109" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-110" type="radio" name="radio-set-1697734578-109" class="tab-selector-2" /> + <label for="tab-1697734578-110" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7934,10 +8010,10 @@ may provide a partial match extension.</ <p>The <code>id()</code>-step (<strong>map</strong>) takes an <code>Element</code> and extracts its identifier from it.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-111" type="radio" name="radio-set-1697681632-111" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-111" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-112" type="radio" name="radio-set-1697681632-111" class="tab-selector-2" /> - <label for="tab-1697681632-112" class="tab-label-2">groovy</label> + <input id="tab-1697734578-111" type="radio" name="radio-set-1697734578-111" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-111" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-112" type="radio" name="radio-set-1697734578-111" class="tab-selector-2" /> + <label for="tab-1697734578-112" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7989,10 +8065,10 @@ g.V(<span class="integer">1</span>).prop the current object to itself.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-113" type="radio" name="radio-set-1697681632-113" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-113" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-114" type="radio" name="radio-set-1697681632-113" class="tab-selector-2" /> - <label for="tab-1697681632-114" class="tab-label-2">groovy</label> + <input id="tab-1697734578-113" type="radio" name="radio-set-1697734578-113" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-113" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-114" type="radio" name="radio-set-1697734578-113" class="tab-selector-2" /> + <label for="tab-1697734578-114" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8033,10 +8109,10 @@ available, which can be chosen using the being the index. The map indexer created a linked hash map in which the index represents the key and the original item is used as the value.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-115" type="radio" name="radio-set-1697681632-115" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-115" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-116" type="radio" name="radio-set-1697681632-115" class="tab-selector-2" /> - <label for="tab-1697681632-116" class="tab-label-2">groovy</label> + <input id="tab-1697734578-115" type="radio" name="radio-set-1697734578-115" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-115" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-116" type="radio" name="radio-set-1697734578-115" class="tab-selector-2" /> + <label for="tab-1697734578-116" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8132,10 +8208,10 @@ g.V().hasLabel(<span class="string"><spa <code>inject()</code>-step (<strong>sideEffect</strong>) exists and a few examples are provided below.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-117" type="radio" name="radio-set-1697681632-117" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-117" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-118" type="radio" name="radio-set-1697681632-117" class="tab-selector-2" /> - <label for="tab-1697681632-118" class="tab-label-2">groovy</label> + <input id="tab-1697734578-117" type="radio" name="radio-set-1697734578-117" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-117" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-118" type="radio" name="radio-set-1697734578-117" class="tab-selector-2" /> + <label for="tab-1697734578-118" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8174,10 +8250,10 @@ g.V(<span class="integer">4</span>).out( start of the traversal is not a graph object.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-119" type="radio" name="radio-set-1697681632-119" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-119" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-120" type="radio" name="radio-set-1697681632-119" class="tab-selector-2" /> - <label for="tab-1697681632-120" class="tab-label-2">groovy</label> + <input id="tab-1697734578-119" type="radio" name="radio-set-1697734578-119" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-119" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-120" type="radio" name="radio-set-1697734578-119" class="tab-selector-2" /> + <label for="tab-1697734578-120" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8213,6 +8289,27 @@ inject(<span class="integer">1</span>,<s <div class="paragraph"> <p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#inject-E...-"><code>inject(Object)</code></a></p> </div> +</div> +<div class="sect2"> +<h3 id="intersect-step">Intersect Step</h3> +<div class="paragraph"> +<p>The <code>intersect()</code>-step (<strong>map</strong>) calculates the intersection between the incoming list traverser and the provided list +argument. This step only expects list data (array or Iterable) and will throw an <code>IllegalArgumentException</code> if any other +type is encountered (including null).</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>g.V().values("name").fold().intersect(["marko","josh","james","jen"])</pre> +</div> +</div> +<div class="paragraph"> +<p><strong>Additional References</strong></p> +</div> +<div class="paragraph"> +<p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#intersect-Object"><code>intersect(Object)</code></a> +<a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#intersect-Traversal"><code>intersect(Traversal)</code></a> +<a href="https://tinkerpop.apache.org/docs/3.7.1-SNAPSHOT/dev/provider/#intersect-step"><code>Semantics</code></a></p> +</div> <div class="paragraph"> <p><a id="_gremlin_i_o"></a></p> </div> @@ -8550,10 +8647,10 @@ g.io(<span class="string"><span class="d </table> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-121" type="radio" name="radio-set-1697681632-121" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-121" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-122" type="radio" name="radio-set-1697681632-121" class="tab-selector-2" /> - <label for="tab-1697681632-122" class="tab-label-2">groovy</label> + <input id="tab-1697734578-121" type="radio" name="radio-set-1697734578-121" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-121" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-122" type="radio" name="radio-set-1697734578-121" class="tab-selector-2" /> + <label for="tab-1697734578-122" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8617,15 +8714,56 @@ g.V().where(__.in(<span class="string">< </div> </div> <div class="sect2"> +<h3 id="join-step">Join Step</h3> +<div class="paragraph"> +<p>The <code>join()</code>-step (<strong>map</strong>) joins together the elements in the incoming list traverser together with the provided argument +as a delimiter. The resulting <code>String</code> is added to the Traversal Stream. This step only expects list data (array or +Iterable) in the incoming traverser and will throw an <code>IllegalArgumentException</code> if any other type is encountered +(including null). However, null is allowed as an element within the list and is converted to "null".</p> +</div> +<section class="tabs tabs-2"> + <input id="tab-1697734578-123" type="radio" name="radio-set-1697734578-123" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-123" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-124" type="radio" name="radio-set-1697734578-123" class="tab-selector-2" /> + <label for="tab-1697734578-124" 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> g.V().values(<span class="string"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>).fold().join(<span class="string"><span class="delimiter">"</span><span class="content">+</span><span class="delimiter">"</span></span>) +==>[marko, vadas, lop, josh, ripple, peter]</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().values(<span class="string"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>).fold().join(<span class="string"><span class="delimiter">"</span><span class="content">+</span><span class="delimiter">"</span></span>)</code></pre> +</div> +</div> + </div> + </div> +</section> +<div class="paragraph"> +<p><strong>Additional References</strong></p> +</div> +<div class="paragraph"> +<p><a href="https://tinkerpop.apache.org/javadocs/3.7.1-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.html#join-String"><code>join(String)</code></a> +<a href="https://tinkerpop.apache.org/docs/3.7.1-SNAPSHOT/dev/provider/#join-step"><code>Semantics</code></a></p> +</div> +</div> +<div class="sect2"> <h3 id="key-step">Key Step</h3> <div class="paragraph"> <p>The <code>key()</code>-step (<strong>map</strong>) takes a <code>Property</code> and extracts the key from it.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-123" type="radio" name="radio-set-1697681632-123" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-123" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-124" type="radio" name="radio-set-1697681632-123" class="tab-selector-2" /> - <label for="tab-1697681632-124" class="tab-label-2">groovy</label> + <input id="tab-1697734578-125" type="radio" name="radio-set-1697734578-125" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-125" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-126" type="radio" name="radio-set-1697734578-125" class="tab-selector-2" /> + <label for="tab-1697734578-126" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8672,10 +8810,10 @@ g.V(<span class="integer">1</span>).prop <p>The <code>label()</code>-step (<strong>map</strong>) takes an <code>Element</code> and extracts its label from it.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-125" type="radio" name="radio-set-1697681632-125" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-125" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-126" type="radio" name="radio-set-1697681632-125" class="tab-selector-2" /> - <label for="tab-1697681632-126" class="tab-label-2">groovy</label> + <input id="tab-1697734578-127" type="radio" name="radio-set-1697734578-127" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-127" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-128" type="radio" name="radio-set-1697734578-127" class="tab-selector-2" /> + <label for="tab-1697734578-128" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8724,10 +8862,10 @@ g.V(<span class="integer">1</span>).prop If the incoming traverser is a non-String value then an <code>IllegalArgumentException</code> will be thrown.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-127" type="radio" name="radio-set-1697681632-127" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-127" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-128" type="radio" name="radio-set-1697681632-127" class="tab-selector-2" /> - <label for="tab-1697681632-128" class="tab-label-2">groovy</label> + <input id="tab-1697734578-129" type="radio" name="radio-set-1697734578-129" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-129" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-130" type="radio" name="radio-set-1697734578-129" class="tab-selector-2" /> + <label for="tab-1697734578-130" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8773,10 +8911,10 @@ If the incoming traverser is a non-Strin <p>The <code>limit()</code>-step is analogous to <a href="#range-step"><code>range()</code>-step</a> save that the lower end range is set to 0.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-129" type="radio" name="radio-set-1697681632-129" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-129" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-130" type="radio" name="radio-set-1697681632-129" class="tab-selector-2" /> - <label for="tab-1697681632-130" class="tab-label-2">groovy</label> + <input id="tab-1697734578-131" type="radio" name="radio-set-1697734578-131" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-131" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-132" type="radio" name="radio-set-1697734578-131" class="tab-selector-2" /> + <label for="tab-1697734578-132" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8807,10 +8945,10 @@ g.V().range(<span class="integer">0</spa The examples below use the <a href="#the-crew-toy-graph">The Crew</a> toy data set.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-131" type="radio" name="radio-set-1697681632-131" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-131" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-132" type="radio" name="radio-set-1697681632-131" class="tab-selector-2" /> - <label for="tab-1697681632-132" class="tab-label-2">groovy</label> + <input id="tab-1697734578-133" type="radio" name="radio-set-1697734578-133" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-133" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-134" type="radio" name="radio-set-1697734578-133" class="tab-selector-2" /> + <label for="tab-1697734578-134" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8874,10 +9012,10 @@ single element within that stream. To do Note that the examples below use the <a href="#the-crew-toy-graph">The Crew</a> toy data set.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-133" type="radio" name="radio-set-1697681632-133" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-133" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-134" type="radio" name="radio-set-1697681632-133" class="tab-selector-2" /> - <label for="tab-1697681632-134" class="tab-label-2">groovy</label> + <input id="tab-1697734578-135" type="radio" name="radio-set-1697734578-135" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-135" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-136" type="radio" name="radio-set-1697734578-135" class="tab-selector-2" /> + <label for="tab-1697734578-136" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8939,10 +9077,10 @@ a âglobal traversalâ with loca optimizations (i.e. when writing <code>TraversalStrategy</code> implementations. As another example consider:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-135" type="radio" name="radio-set-1697681632-135" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-135" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-136" type="radio" name="radio-set-1697681632-135" class="tab-selector-2" /> - <label for="tab-1697681632-136" class="tab-label-2">groovy</label> + <input id="tab-1697734578-137" type="radio" name="radio-set-1697734578-137" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-137" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-138" type="radio" name="radio-set-1697734578-137" class="tab-selector-2" /> + <label for="tab-1697734578-138" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -8987,10 +9125,10 @@ g.V().both().barrier().local(groupCount( let’s say the requirement was to count the number of properties per <code>Vertex</code> in:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-137" type="radio" name="radio-set-1697681632-137" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-137" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-138" type="radio" name="radio-set-1697681632-137" class="tab-selector-2" /> - <label for="tab-1697681632-138" class="tab-label-2">groovy</label> + <input id="tab-1697734578-139" type="radio" name="radio-set-1697734578-139" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-139" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-140" type="radio" name="radio-set-1697734578-139" class="tab-selector-2" /> + <label for="tab-1697734578-140" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -9069,10 +9207,10 @@ the confines of the vertex’s star <p>The <code>loops()</code>-step (<strong>map</strong>) extracts the number of times the <code>Traverser</code> has gone through the current loop.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1697681632-139" type="radio" name="radio-set-1697681632-139" class="tab-selector-1" checked="checked" /> - <label for="tab-1697681632-139" class="tab-label-1">console (groovy)</label> - <input id="tab-1697681632-140" type="radio" name="radio-set-1697681632-139" class="tab-selector-2" /> - <label for="tab-1697681632-140" class="tab-label-2">groovy</label> + <input id="tab-1697734578-141" type="radio" name="radio-set-1697734578-141" class="tab-selector-1" checked="checked" /> + <label for="tab-1697734578-141" class="tab-label-1">console (groovy)</label> + <input id="tab-1697734578-142" type="radio" name="radio-set-1697734578-141" class="tab-selector-2" /> + <label for="tab-1697734578-142" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock">
[... 2803 lines stripped ...]
