Modified: tinkerpop/site/docs/4.0.0-SNAPSHOT/reference/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/4.0.0-SNAPSHOT/reference/index.html?rev=1923180&r1=1923179&r2=1923180&view=diff ============================================================================== --- tinkerpop/site/docs/4.0.0-SNAPSHOT/reference/index.html (original) +++ tinkerpop/site/docs/4.0.0-SNAPSHOT/reference/index.html Fri Jan 17 02:11:00 2025 @@ -1031,6 +1031,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#write-step">Write Step</a></li> </ul> </li> +<li><a href="#traversal-parameterization">Traversal Parameterization</a></li> <li><a href="#a-note-on-predicates">A Note on Predicates</a></li> <li><a href="#a-note-on-barrier-steps">A Note on Barrier Steps</a></li> <li><a href="#a-note-on-scopes">A Note on Scopes</a></li> @@ -1094,9 +1095,8 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#connecting-via-drivers">Connecting via Drivers</a></li> <li><a href="#connecting-via-console">Connecting via Console</a></li> <li><a href="#connecting-via-http">Connecting via HTTP</a></li> -<li><a href="#_configuring_2">Configuring</a> +<li><a href="#server-configuring">Configuring</a> <ul class="sectlevel3"> -<li><a href="#opprocessor-configurations">OpProcessor Configurations</a></li> <li><a href="#_serialization">Serialization</a></li> <li><a href="#metrics">Metrics</a></li> <li><a href="#_as_a_service">As A Service</a></li> @@ -1116,7 +1116,6 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#parameterized-scripts">Parameterized Scripts</a></li> <li><a href="#_properties_of_elements">Properties of Elements</a></li> <li><a href="#gremlin-server-cache">Cache Management</a></li> -<li><a href="#sessions">Considering Sessions</a></li> <li><a href="#considering-transactions">Considering Transactions</a></li> <li><a href="#request-retry">Request Retry</a></li> </ul> @@ -1186,6 +1185,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#gremlin-java-configuration">Configuration</a></li> <li><a href="#gremlin-java-transactions">Transactions</a></li> <li><a href="#gremlin-java-serialization">Serialization</a></li> +<li><a href="#gremlin-java-gvalue">GValue Parameterization</a></li> <li><a href="#gremlin-java-lambda">The Lambda Solution</a></li> <li><a href="#gremlin-java-scripts">Submitting Scripts</a> <ul class="sectlevel3"> @@ -1252,6 +1252,7 @@ table.CodeRay td.code{padding:0 0 0 .75e <li><a href="#gremlin-python-configuration">Configuration</a></li> <li><a href="#gremlin-python-strategies">Traversal Strategies</a></li> <li><a href="#gremlin-python-transactions">Transactions</a></li> +<li><a href="#gremlin-python-gvalue">GValue Parameterization</a></li> <li><a href="#gremlin-python-scripts">Submitting Scripts</a> <ul class="sectlevel3"> <li><a href="#_per_request_settings_5">Per Request Settings</a></li> @@ -1893,7 +1894,7 @@ The following query is demonstrated usin <span class="error">\</span>,,,<span class="regexp"><span class="delimiter">/</span></span><span class="error"> </span> (o o) ------oOOo-(<span class="integer">3</span>)-oOOo----- +-----oOOo-(<span class="integer">4</span>)-oOOo----- gremlin> graph = TinkerFactory.createModern() // <span class="invisible">//</span><b class="conum">1</b> ==>tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">6</span>] gremlin> g = traversal().with(graph) // <span class="invisible">//</span><b class="conum">2</b> @@ -1927,10 +1928,10 @@ gremlin> g.V().has(<span class="strin be spawned off that vertex.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358782-1" type="radio" name="radio-set-1733358782-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358782-2" type="radio" name="radio-set-1733358782-1" class="tab-selector-2" /> - <label for="tab-1733358782-2" class="tab-label-2">groovy</label> + <input id="tab-1737074055-1" type="radio" name="radio-set-1737074055-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074055-2" type="radio" name="radio-set-1737074055-1" class="tab-selector-2" /> + <label for="tab-1737074055-2" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -1991,10 +1992,10 @@ traverser has gone through a loop, the p Traverser metadata may be accessed by a step. A classic example is the <a href="#path-step"><code>path()</code></a>-step.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358782-3" type="radio" name="radio-set-1733358782-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358782-4" type="radio" name="radio-set-1733358782-3" class="tab-selector-2" /> - <label for="tab-1733358782-4" class="tab-label-2">groovy</label> + <input id="tab-1737074055-3" type="radio" name="radio-set-1737074055-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074055-4" type="radio" name="radio-set-1737074055-3" class="tab-selector-2" /> + <label for="tab-1737074055-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2035,10 +2036,10 @@ required. If not, then path calculations has gone through a particular section of the traversal expression (i.e. a loop).</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358782-5" type="radio" name="radio-set-1733358782-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358782-6" type="radio" name="radio-set-1733358782-5" class="tab-selector-2" /> - <label for="tab-1733358782-6" class="tab-label-2">groovy</label> + <input id="tab-1737074055-5" type="radio" name="radio-set-1737074055-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074055-6" type="radio" name="radio-set-1737074055-5" class="tab-selector-2" /> + <label for="tab-1737074055-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2218,12 +2219,12 @@ which spawns it. In this case, however, connect to:</p> </div> <section class="tabs tabs-3"> - <input id="tab-1733358782-7" type="radio" name="radio-set-1733358782-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-7" class="tab-label-1">java</label> - <input id="tab-1733358782-8" type="radio" name="radio-set-1733358782-7" class="tab-selector-2" /> - <label for="tab-1733358782-8" class="tab-label-2">groovy</label> - <input id="tab-1733358782-9" type="radio" name="radio-set-1733358782-7" class="tab-selector-3" /> - <label for="tab-1733358782-9" class="tab-label-3">python</label> + <input id="tab-1737074055-7" type="radio" name="radio-set-1737074055-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-7" class="tab-label-1">java</label> + <input id="tab-1737074055-8" type="radio" name="radio-set-1737074055-7" class="tab-selector-2" /> + <label for="tab-1737074055-8" class="tab-label-2">groovy</label> + <input id="tab-1737074055-9" type="radio" name="radio-set-1737074055-7" class="tab-selector-3" /> + <label for="tab-1737074055-9" class="tab-label-3">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2299,6 +2300,19 @@ has two such formats that it uses with < <a href="https://tinkerpop.apache.org/docs/4.0.0-SNAPSHOT/dev/io/#graphson">GraphSON</a>. Users should prefer GraphBinary when available in the programming language being used.</p> </div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +4.0 Milestone Release - There is temporary support for GraphSON in the Java driver which will help with +testing, but it is expected that the drivers will only support GraphBinary when 4.0 is fully released. +</td> +</tr> +</table> +</div> <div class="paragraph"> <p>A good example is the <code>subgraph()</code>-step which returns a <code>Graph</code> instance as its result. The subgraph returned from the server can be deserialized into an actual <code>Graph</code> instance on the client, which then means it is possible to @@ -2308,9 +2322,11 @@ no GTM to process Gremlin so there isn&# </div> <div class="paragraph"> <p>The second point is related to this issue. As there is no GTM, there is no "structure" API and thus graph elements like -<code>Vertex</code> and <code>Edge</code> are "references" only. A "reference" means that they only contain the <code>id</code> and <code>label</code> of the +<code>Vertex</code> and <code>Edge</code> are usually "references". A "reference" means that they only contain the <code>id</code> and <code>label</code> of the element and not the properties. To be consistent, even JVM-based languages hold this limitation when talking to a -remote Gremlin Server.</p> +remote Gremlin Server. However, you can alternatively get a "detached" element when using the <code>all</code> option for +<code>materializeProperties</code>. In this case, the element will contain all of its properties, but will not be connected to any +other element.</p> </div> <div class="admonitionblock important"> <table> @@ -2330,6 +2346,18 @@ regard. Prefer explicit property key nam <p>The third and final point involves transactions. Under this model, one traversal is equivalent to a single transaction and there is no way in TinkerPop to string together multiple traversals into the same transaction.</p> </div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +4.0 Milestone Release - Remote transactions are not supported in this milestone. +</td> +</tr> +</table> +</div> </div> </div> <div class="sect2"> @@ -2337,10 +2365,10 @@ and there is no way in TinkerPop to stri <div class="paragraph"> <p>Remote Gremlin Providers (RGPs) are showing up more and more often in the graph database space. In TinkerPop terms, this category of graph providers is defined by those who simply support the Gremlin language. Typically, these are -server-based graphs, often cloud-based, which accept Gremlin scripts or bytecode as a request and return results. -They will often implement Gremlin Server protocols, which enables TinkerPop drivers to connect to them as they would -with Gremlin Server. Therefore, the typical connection approach is identical to the method of connection presented in -the <a href="#connecting-gremlin-server">previous section</a> with the exact same caveats pointed out toward the end.</p> +server-based graphs, often cloud-based, which accept Gremlin scripts as a request and return results. They will often +implement Gremlin Server protocols, which enables TinkerPop drivers to connect to them as they would with Gremlin +Server. Therefore, the typical connection approach is identical to the method of connection presented in the +<a href="#connecting-gremlin-server">previous section</a> with the exact same caveats pointed out toward the end.</p> </div> <div class="paragraph"> <p>Despite leveraging TinkerPop protocols and drivers as being typical, RGPs are not required to do so to be considered @@ -2363,14 +2391,14 @@ agnostic to that. Assuming "g" is the <c language or mode of operation is just some basic Gremlin:</p> </div> <section class="tabs tabs-4"> - <input id="tab-1733358782-10" type="radio" name="radio-set-1733358782-10" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-10" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358782-11" type="radio" name="radio-set-1733358782-10" class="tab-selector-2" /> - <label for="tab-1733358782-11" class="tab-label-2">groovy</label> - <input id="tab-1733358782-12" type="radio" name="radio-set-1733358782-10" class="tab-selector-3" /> - <label for="tab-1733358782-12" class="tab-label-3">java</label> - <input id="tab-1733358782-13" type="radio" name="radio-set-1733358782-10" class="tab-selector-4" /> - <label for="tab-1733358782-13" class="tab-label-4">python</label> + <input id="tab-1737074055-10" type="radio" name="radio-set-1737074055-10" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-10" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074055-11" type="radio" name="radio-set-1737074055-10" class="tab-selector-2" /> + <label for="tab-1737074055-11" class="tab-label-2">groovy</label> + <input id="tab-1737074055-12" type="radio" name="radio-set-1737074055-10" class="tab-selector-3" /> + <label for="tab-1737074055-12" class="tab-label-3">java</label> + <input id="tab-1737074055-13" type="radio" name="radio-set-1737074055-10" class="tab-selector-4" /> + <label for="tab-1737074055-13" class="tab-label-4">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2442,14 +2470,14 @@ is a large one-time load to do. <p>Retrieving this data is also a just writing a Gremlin statement:</p> </div> <section class="tabs tabs-4"> - <input id="tab-1733358782-14" type="radio" name="radio-set-1733358782-14" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358782-14" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358782-15" type="radio" name="radio-set-1733358782-14" class="tab-selector-2" /> - <label for="tab-1733358782-15" class="tab-label-2">groovy</label> - <input id="tab-1733358782-16" type="radio" name="radio-set-1733358782-14" class="tab-selector-3" /> - <label for="tab-1733358782-16" class="tab-label-3">java</label> - <input id="tab-1733358782-17" type="radio" name="radio-set-1733358782-14" class="tab-selector-4" /> - <label for="tab-1733358782-17" class="tab-label-4">python</label> + <input id="tab-1737074055-14" type="radio" name="radio-set-1737074055-14" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074055-14" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074055-15" type="radio" name="radio-set-1737074055-14" class="tab-selector-2" /> + <label for="tab-1737074055-15" class="tab-label-2">groovy</label> + <input id="tab-1737074055-16" type="radio" name="radio-set-1737074055-14" class="tab-selector-3" /> + <label for="tab-1737074055-16" class="tab-label-3">java</label> + <input id="tab-1737074055-17" type="radio" name="radio-set-1737074055-14" class="tab-selector-4" /> + <label for="tab-1737074055-17" class="tab-label-4">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2568,7 +2596,7 @@ prefer use of Gremlin with <code>g.addV( </div> <div class="paragraph"> <p>Outside of considering these points, the best practice for ensuring the greatest level of compatibility across graphs -is to avoid <a href="#connecting-embedded">embedded</a> mode and stick to the bytecode based approaches explained in the +is to avoid <a href="#connecting-embedded">embedded</a> mode and stick to the traversal-based approaches explained in the <a href="#connecting-gremlin-server">Gremlin Server</a> and the <a href="#connecting-rgp">RGP</a> sections above. It creates the least opportunity to stray from the agnostic path as anything that can be done with those two modes also works in embedded mode. If using embedded mode, simply write code as though the <code>Graph</code> instance is "remote" and not local to the JVM. @@ -2600,10 +2628,10 @@ utilize it as a pointer. For <code>Graph spawn <code>GraphTraversalSource</code> instances so as to write Gremlin:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-1" type="radio" name="radio-set-1733358804-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-2" type="radio" name="radio-set-1733358804-1" class="tab-selector-2" /> - <label for="tab-1733358804-2" class="tab-label-2">groovy</label> + <input id="tab-1737074067-1" type="radio" name="radio-set-1737074067-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-2" type="radio" name="radio-set-1737074067-1" class="tab-selector-2" /> + <label for="tab-1737074067-2" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2686,10 +2714,10 @@ system providers for two purposes:</p> <p>The following example in the Gremlin Console shows how to print all the features of a <code>Graph</code>:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-3" type="radio" name="radio-set-1733358804-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-4" type="radio" name="radio-set-1733358804-3" class="tab-selector-2" /> - <label for="tab-1733358804-4" class="tab-label-2">groovy</label> + <input id="tab-1737074067-3" type="radio" name="radio-set-1737074067-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-4" type="radio" name="radio-set-1737074067-3" class="tab-selector-2" /> + <label for="tab-1737074067-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2703,15 +2731,13 @@ gremlin> graph.features() >-- <span class="key">Computer</span>: <span class="predefined-constant">true</span> >-- <span class="key">Persistence</span>: <span class="predefined-constant">true</span> >-- <span class="key">ConcurrentAccess</span>: <span class="predefined-constant">false</span> +>-- <span class="key">ThreadedTransactions</span>: <span class="predefined-constant">false</span> >-- <span class="key">IoRead</span>: <span class="predefined-constant">true</span> >-- <span class="key">IoWrite</span>: <span class="predefined-constant">true</span> ->-- <span class="key">ServiceCall</span>: <span class="predefined-constant">true</span> ->-- <span class="key">ThreadedTransactions</span>: <span class="predefined-constant">false</span> >-- <span class="key">OrderabilitySemantics</span>: <span class="predefined-constant">true</span> +>-- <span class="key">ServiceCall</span>: <span class="predefined-constant">true</span> > VariableFeatures >-- <span class="key">Variables</span>: <span class="predefined-constant">true</span> ->-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">DoubleValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">FloatValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">IntegerValues</span>: <span class="predefined-constant">true</span> @@ -2728,13 +2754,17 @@ gremlin> graph.features() >-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span> > VertexFeatures >-- <span class="key">MetaProperties</span>: <span class="predefined-constant">true</span> +>-- <span class="key">Upsert</span>: <span class="predefined-constant">false</span> >-- <span class="key">AddVertices</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveVertices</span>: <span class="predefined-constant">true</span> >-- <span class="key">MultiProperties</span>: <span class="predefined-constant">true</span> ->-- <span class="key">Upsert</span>: <span class="predefined-constant">false</span> >-- <span class="key">DuplicateMultiProperties</span>: <span class="predefined-constant">true</span> +>-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> +>-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">AddProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">NumericIds</span>: <span class="predefined-constant">true</span> @@ -2742,20 +2772,16 @@ gremlin> graph.features() >-- <span class="key">UuidIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">CustomIds</span>: <span class="predefined-constant">false</span> >-- <span class="key">AnyIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> > VertexPropertyFeatures +>-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> +>-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">NumericIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">StringIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">UuidIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">CustomIds</span>: <span class="predefined-constant">false</span> >-- <span class="key">AnyIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> >-- <span class="predefined-type">Properties</span>: <span class="predefined-constant">true</span> ->-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">DoubleValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">FloatValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">IntegerValues</span>: <span class="predefined-constant">true</span> @@ -2772,10 +2798,14 @@ gremlin> graph.features() >-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span> > EdgeFeatures ->-- <span class="key">Upsert</span>: <span class="predefined-constant">false</span> >-- <span class="key">AddEdges</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveEdges</span>: <span class="predefined-constant">true</span> +>-- <span class="key">Upsert</span>: <span class="predefined-constant">false</span> +>-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> +>-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">AddProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">NumericIds</span>: <span class="predefined-constant">true</span> @@ -2783,12 +2813,8 @@ gremlin> graph.features() >-- <span class="key">UuidIds</span>: <span class="predefined-constant">true</span> >-- <span class="key">CustomIds</span>: <span class="predefined-constant">false</span> >-- <span class="key">AnyIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">UserSuppliedIds</span>: <span class="predefined-constant">true</span> ->-- <span class="key">NullPropertyValues</span>: <span class="predefined-constant">false</span> > EdgePropertyFeatures >-- <span class="predefined-type">Properties</span>: <span class="predefined-constant">true</span> ->-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">DoubleValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">FloatValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">IntegerValues</span>: <span class="predefined-constant">true</span> @@ -2804,7 +2830,9 @@ gremlin> graph.features() >-- <span class="key">FloatArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">IntegerArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span></code></pre> +>-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">BooleanValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">ByteValues</span>: <span class="predefined-constant">true</span></code></pre> </div> </div> </div> @@ -2824,10 +2852,10 @@ graph.features()</code></pre> <p>A common pattern for using features is to check their support prior to performing an operation:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-5" type="radio" name="radio-set-1733358804-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-6" type="radio" name="radio-set-1733358804-5" class="tab-selector-2" /> - <label for="tab-1733358804-6" class="tab-label-2">groovy</label> + <input id="tab-1737074067-5" type="radio" name="radio-set-1737074067-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-6" type="radio" name="radio-set-1737074067-5" class="tab-selector-2" /> + <label for="tab-1737074067-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2926,10 +2954,10 @@ of a name from different sources.</p> <p>A running example using vertex properties is provided below to demonstrate and explain the API.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-7" type="radio" name="radio-set-1733358804-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-7" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-8" type="radio" name="radio-set-1733358804-7" class="tab-selector-2" /> - <label for="tab-1733358804-8" class="tab-label-2">groovy</label> + <input id="tab-1737074067-7" type="radio" name="radio-set-1737074067-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-7" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-8" type="radio" name="radio-set-1737074067-7" class="tab-selector-2" /> + <label for="tab-1737074067-8" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -3087,10 +3115,10 @@ A toy graph demonstrating all of the new <div class="title">Figure 3. TinkerPop Crew</div> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-9" type="radio" name="radio-set-1733358804-9" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-9" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-10" type="radio" name="radio-set-1733358804-9" class="tab-selector-2" /> - <label for="tab-1733358804-10" class="tab-label-2">groovy</label> + <input id="tab-1737074067-9" type="radio" name="radio-set-1737074067-9" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-9" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-10" type="radio" name="radio-set-1737074067-9" class="tab-selector-2" /> + <label for="tab-1737074067-10" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -3158,10 +3186,10 @@ variables are intended to store metadata <p>An example of graph variables in use is presented below:</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358804-11" type="radio" name="radio-set-1733358804-11" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358804-11" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358804-12" type="radio" name="radio-set-1733358804-11" class="tab-selector-2" /> - <label for="tab-1733358804-12" class="tab-label-2">groovy</label> + <input id="tab-1737074067-11" type="radio" name="radio-set-1737074067-11" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074067-11" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074067-12" type="radio" name="radio-set-1737074067-11" class="tab-selector-2" /> + <label for="tab-1737074067-12" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -3378,14 +3406,14 @@ traversal strategies may not function pr <div class="sect1"> <h2 id="transactions">Traversal Transactions</h2> <div class="sectionbody"> -<div class="admonitionblock warning"> +<div class="admonitionblock important"> <table> <tr> <td class="icon"> -<div class="title">Warning</div> +<div class="title">Important</div> </td> <td class="content"> -Transaction is currently disabled in this Milestone release. +4.0 Milestone Release - Transactions are currently disabled in this Milestone release. </td> </tr> </table> @@ -3732,14 +3760,37 @@ Graph API and thus also the transactiona script can have the ability to execute multiple transactions per request with complete control provided to the developer to commit or rollback transactions as needed.</p> </div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +4.0 Milestone Release - Transactions are currently disabled in this Milestone release. +</td> +</tr> +</table> +</div> <div class="paragraph"> <p>There are two methods for sending scripts to Gremlin Server: sessionless and session-based. With sessionless requests there will always be an attempt to close the transaction at the end of the request with a commit if there are no errors or a rollback if there is a failure. It is therefore unnecessary to close transactions manually within scripts themselves. By default, session-based requests do not have this quality. The transaction will be held open on the server until the user closes it manually. There is an option to have automatic transaction management for sessions. -More information on this topic can be found in the <a href="#considering-transactions">Considering Transactions</a> Section and -the <a href="#sessions">Considering Sessions</a> Section.</p> +More information on this topic can be found in the <a href="#considering-transactions">Considering Transactions</a> Section.</p> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +4.0 Milestone Release - Sessions have been removed. All scripts are now sessionless. +</td> +</tr> +</table> </div> </div> <div class="sect2"> @@ -3811,10 +3862,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-1733358824-1" type="radio" name="radio-set-1733358824-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-2" type="radio" name="radio-set-1733358824-1" class="tab-selector-2" /> - <label for="tab-1733358824-2" class="tab-label-2">groovy</label> + <input id="tab-1737074079-1" type="radio" name="radio-set-1737074079-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-2" type="radio" name="radio-set-1737074079-1" class="tab-selector-2" /> + <label for="tab-1737074079-2" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4024,10 +4075,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-1733358824-3" type="radio" name="radio-set-1733358824-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-4" type="radio" name="radio-set-1733358824-3" class="tab-selector-2" /> - <label for="tab-1733358824-4" class="tab-label-2">groovy</label> + <input id="tab-1737074079-3" type="radio" name="radio-set-1737074079-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-4" type="radio" name="radio-set-1737074079-3" class="tab-selector-2" /> + <label for="tab-1737074079-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4077,10 +4128,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-1733358824-5" type="radio" name="radio-set-1733358824-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-6" type="radio" name="radio-set-1733358824-5" class="tab-selector-2" /> - <label for="tab-1733358824-6" class="tab-label-2">groovy</label> + <input id="tab-1737074079-5" type="radio" name="radio-set-1737074079-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-6" type="radio" name="radio-set-1737074079-5" class="tab-selector-2" /> + <label for="tab-1737074079-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4133,10 +4184,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-1733358824-7" type="radio" name="radio-set-1733358824-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-7" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-8" type="radio" name="radio-set-1733358824-7" class="tab-selector-2" /> - <label for="tab-1733358824-8" class="tab-label-2">groovy</label> + <input id="tab-1737074079-7" type="radio" name="radio-set-1737074079-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-7" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-8" type="radio" name="radio-set-1737074079-7" class="tab-selector-2" /> + <label for="tab-1737074079-8" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4183,10 +4234,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-1733358824-9" type="radio" name="radio-set-1733358824-9" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-9" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-10" type="radio" name="radio-set-1733358824-9" class="tab-selector-2" /> - <label for="tab-1733358824-10" class="tab-label-2">groovy</label> + <input id="tab-1737074079-9" type="radio" name="radio-set-1737074079-9" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-9" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-10" type="radio" name="radio-set-1737074079-9" class="tab-selector-2" /> + <label for="tab-1737074079-10" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4263,10 +4314,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-1733358824-11" type="radio" name="radio-set-1733358824-11" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-11" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-12" type="radio" name="radio-set-1733358824-11" class="tab-selector-2" /> - <label for="tab-1733358824-12" class="tab-label-2">groovy</label> + <input id="tab-1737074079-11" type="radio" name="radio-set-1737074079-11" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-11" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-12" type="radio" name="radio-set-1737074079-11" class="tab-selector-2" /> + <label for="tab-1737074079-12" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4386,10 +4437,10 @@ worked on the same project together. Thi </div> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-13" type="radio" name="radio-set-1733358824-13" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-13" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-14" type="radio" name="radio-set-1733358824-13" class="tab-selector-2" /> - <label for="tab-1733358824-14" class="tab-label-2">groovy</label> + <input id="tab-1737074079-13" type="radio" name="radio-set-1737074079-13" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-13" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-14" type="radio" name="radio-set-1737074079-13" class="tab-selector-2" /> + <label for="tab-1737074079-14" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4502,10 +4553,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-1733358824-15" type="radio" name="radio-set-1733358824-15" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-15" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-16" type="radio" name="radio-set-1733358824-15" class="tab-selector-2" /> - <label for="tab-1733358824-16" class="tab-label-2">groovy</label> + <input id="tab-1737074079-15" type="radio" name="radio-set-1737074079-15" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-15" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-16" type="radio" name="radio-set-1737074079-15" class="tab-selector-2" /> + <label for="tab-1737074079-16" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4570,10 +4621,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-1733358824-17" type="radio" name="radio-set-1733358824-17" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-17" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-18" type="radio" name="radio-set-1733358824-17" class="tab-selector-2" /> - <label for="tab-1733358824-18" class="tab-label-2">groovy</label> + <input id="tab-1737074079-17" type="radio" name="radio-set-1737074079-17" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-17" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-18" type="radio" name="radio-set-1737074079-17" class="tab-selector-2" /> + <label for="tab-1737074079-18" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4650,10 +4701,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-1733358824-19" type="radio" name="radio-set-1733358824-19" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-19" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-20" type="radio" name="radio-set-1733358824-19" class="tab-selector-2" /> - <label for="tab-1733358824-20" class="tab-label-2">groovy</label> + <input id="tab-1737074079-19" type="radio" name="radio-set-1737074079-19" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-19" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-20" type="radio" name="radio-set-1737074079-19" class="tab-selector-2" /> + <label for="tab-1737074079-20" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4703,10 +4754,10 @@ Prior to 3.4.3, <code>local</code> aggre </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-21" type="radio" name="radio-set-1733358824-21" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-21" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-22" type="radio" name="radio-set-1733358824-21" class="tab-selector-2" /> - <label for="tab-1733358824-22" class="tab-label-2">groovy</label> + <input id="tab-1737074079-21" type="radio" name="radio-set-1737074079-21" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-21" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-22" type="radio" name="radio-set-1737074079-21" class="tab-selector-2" /> + <label for="tab-1737074079-22" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4740,10 +4791,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-1733358824-23" type="radio" name="radio-set-1733358824-23" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-23" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-24" type="radio" name="radio-set-1733358824-23" class="tab-selector-2" /> - <label for="tab-1733358824-24" class="tab-label-2">groovy</label> + <input id="tab-1737074079-23" type="radio" name="radio-set-1737074079-23" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-23" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-24" type="radio" name="radio-set-1737074079-23" class="tab-selector-2" /> + <label for="tab-1737074079-24" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4794,10 +4845,10 @@ filtered. Empty lists are passed along b </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-25" type="radio" name="radio-set-1733358824-25" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-25" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-26" type="radio" name="radio-set-1733358824-25" class="tab-selector-2" /> - <label for="tab-1733358824-26" class="tab-label-2">groovy</label> + <input id="tab-1737074079-25" type="radio" name="radio-set-1737074079-25" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-25" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-26" type="radio" name="radio-set-1737074079-25" class="tab-selector-2" /> + <label for="tab-1737074079-26" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4853,10 +4904,10 @@ filtered. Empty lists are passed along b </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-27" type="radio" name="radio-set-1733358824-27" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-27" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-28" type="radio" name="radio-set-1733358824-27" class="tab-selector-2" /> - <label for="tab-1733358824-28" class="tab-label-2">groovy</label> + <input id="tab-1737074079-27" type="radio" name="radio-set-1737074079-27" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-27" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-28" type="radio" name="radio-set-1737074079-27" class="tab-selector-2" /> + <label for="tab-1737074079-28" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4891,10 +4942,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-1733358824-29" type="radio" name="radio-set-1733358824-29" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-29" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-30" type="radio" name="radio-set-1733358824-29" class="tab-selector-2" /> - <label for="tab-1733358824-30" class="tab-label-2">groovy</label> + <input id="tab-1737074079-29" type="radio" name="radio-set-1737074079-29" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-29" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-30" type="radio" name="radio-set-1737074079-29" class="tab-selector-2" /> + <label for="tab-1737074079-30" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -4944,10 +4995,10 @@ filtered. Empty lists, null traversers, </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-31" type="radio" name="radio-set-1733358824-31" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-31" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-32" type="radio" name="radio-set-1733358824-31" class="tab-selector-2" /> - <label for="tab-1733358824-32" class="tab-label-2">groovy</label> + <input id="tab-1737074079-31" type="radio" name="radio-set-1737074079-31" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-31" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-32" type="radio" name="radio-set-1737074079-31" class="tab-selector-2" /> + <label for="tab-1737074079-32" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5020,10 +5071,10 @@ to in Gremlin with the double underscore </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-33" type="radio" name="radio-set-1733358824-33" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-33" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-34" type="radio" name="radio-set-1733358824-33" class="tab-selector-2" /> - <label for="tab-1733358824-34" class="tab-label-2">groovy</label> + <input id="tab-1737074079-33" type="radio" name="radio-set-1737074079-33" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-33" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-34" type="radio" name="radio-set-1737074079-33" class="tab-selector-2" /> + <label for="tab-1737074079-34" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5067,10 +5118,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-1733358824-35" type="radio" name="radio-set-1733358824-35" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-35" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-36" type="radio" name="radio-set-1733358824-35" class="tab-selector-2" /> - <label for="tab-1733358824-36" class="tab-label-2">groovy</label> + <input id="tab-1737074079-35" type="radio" name="radio-set-1737074079-35" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-35" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-36" type="radio" name="radio-set-1737074079-35" class="tab-selector-2" /> + <label for="tab-1737074079-36" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5113,10 +5164,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 unchanged.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-37" type="radio" name="radio-set-1733358824-37" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-37" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-38" type="radio" name="radio-set-1733358824-37" class="tab-selector-2" /> - <label for="tab-1733358824-38" class="tab-label-2">groovy</label> + <input id="tab-1737074079-37" type="radio" name="radio-set-1737074079-37" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-37" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-38" type="radio" name="radio-set-1737074079-37" class="tab-selector-2" /> + <label for="tab-1737074079-38" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5183,10 +5234,10 @@ milliseconds since "the epoch" (January <p>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-1733358824-39" type="radio" name="radio-set-1733358824-39" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-39" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-40" type="radio" name="radio-set-1733358824-39" class="tab-selector-2" /> - <label for="tab-1733358824-40" class="tab-label-2">groovy</label> + <input id="tab-1737074079-39" type="radio" name="radio-set-1737074079-39" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-39" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-40" type="radio" name="radio-set-1737074079-39" class="tab-selector-2" /> + <label for="tab-1737074079-40" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5250,10 +5301,10 @@ useful in the following situations:</p> </ul> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-41" type="radio" name="radio-set-1733358824-41" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-41" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-42" type="radio" name="radio-set-1733358824-41" class="tab-selector-2" /> - <label for="tab-1733358824-42" class="tab-label-2">groovy</label> + <input id="tab-1737074079-41" type="radio" name="radio-set-1737074079-41" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-41" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-42" type="radio" name="radio-set-1737074079-41" class="tab-selector-2" /> + <label for="tab-1737074079-42" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5306,10 +5357,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-1733358824-43" type="radio" name="radio-set-1733358824-43" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-43" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-44" type="radio" name="radio-set-1733358824-43" class="tab-selector-2" /> - <label for="tab-1733358824-44" class="tab-label-2">groovy</label> + <input id="tab-1737074079-43" type="radio" name="radio-set-1737074079-43" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-43" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-44" type="radio" name="radio-set-1737074079-43" class="tab-selector-2" /> + <label for="tab-1737074079-44" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5322,13 +5373,13 @@ gremlin> g.io(<span class="string"><s gremlin> g = traversal().with(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">10526.895072</span> +==><span class="float">7541.370895</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">11014.346145</span> +==><span class="float">7255.088965</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">13.092424999999999</span> +==><span class="float">8.283762</span> ==><span class="integer">126653966</span></code></pre> </div> </div> @@ -5376,10 +5427,10 @@ optimization scenario with the added ben "bulking optimization."</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-45" type="radio" name="radio-set-1733358824-45" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-45" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-46" type="radio" name="radio-set-1733358824-45" class="tab-selector-2" /> - <label for="tab-1733358824-46" class="tab-label-2">groovy</label> + <input id="tab-1737074079-45" type="radio" name="radio-set-1737074079-45" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-45" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-46" type="radio" name="radio-set-1737074079-45" class="tab-selector-2" /> + <label for="tab-1737074079-46" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5390,7 +5441,7 @@ gremlin> g = traversal().with(graph) ==>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">12.552937</span> +==><span class="float">5.5897049999999995</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, DiscardStep]</code></pre> @@ -5454,10 +5505,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-1733358824-47" type="radio" name="radio-set-1733358824-47" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-47" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-48" type="radio" name="radio-set-1733358824-47" class="tab-selector-2" /> - <label for="tab-1733358824-48" class="tab-label-2">groovy</label> + <input id="tab-1737074079-47" type="radio" name="radio-set-1737074079-47" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-47" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-48" type="radio" name="radio-set-1737074079-47" class="tab-selector-2" /> + <label for="tab-1737074079-48" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5503,16 +5554,16 @@ to the filtering of the traverser it is on the step.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-49" type="radio" name="radio-set-1733358824-49" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-49" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-50" type="radio" name="radio-set-1733358824-49" class="tab-selector-2" /> - <label for="tab-1733358824-50" class="tab-label-2">groovy</label> + <input id="tab-1737074079-49" type="radio" name="radio-set-1737074079-49" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-49" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-50" type="radio" name="radio-set-1737074079-49" class="tab-selector-2" /> + <label for="tab-1737074079-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">1</span>]</code></pre> +==>v[<span class="integer">6</span>]</code></pre> </div> </div> </div> @@ -5625,10 +5676,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-1733358824-51" type="radio" name="radio-set-1733358824-51" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-51" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-52" type="radio" name="radio-set-1733358824-51" class="tab-selector-2" /> - <label for="tab-1733358824-52" class="tab-label-2">groovy</label> + <input id="tab-1737074079-51" type="radio" name="radio-set-1737074079-51" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-51" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-52" type="radio" name="radio-set-1737074079-51" class="tab-selector-2" /> + <label for="tab-1737074079-52" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5730,10 +5781,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-1733358824-53" type="radio" name="radio-set-1733358824-53" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-53" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-54" type="radio" name="radio-set-1733358824-53" class="tab-selector-2" /> - <label for="tab-1733358824-54" class="tab-label-2">groovy</label> + <input id="tab-1737074079-53" type="radio" name="radio-set-1737074079-53" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-53" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-54" type="radio" name="radio-set-1737074079-53" class="tab-selector-2" /> + <label for="tab-1737074079-54" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5786,10 +5837,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-1733358824-55" type="radio" name="radio-set-1733358824-55" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-55" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-56" type="radio" name="radio-set-1733358824-55" class="tab-selector-2" /> - <label for="tab-1733358824-56" class="tab-label-2">groovy</label> + <input id="tab-1737074079-55" type="radio" name="radio-set-1737074079-55" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-55" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-56" type="radio" name="radio-set-1737074079-55" class="tab-selector-2" /> + <label for="tab-1737074079-56" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5844,10 +5895,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-1733358824-57" type="radio" name="radio-set-1733358824-57" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-57" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-58" type="radio" name="radio-set-1733358824-57" class="tab-selector-2" /> - <label for="tab-1733358824-58" class="tab-label-2">groovy</label> + <input id="tab-1737074079-57" type="radio" name="radio-set-1737074079-57" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-57" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-58" type="radio" name="radio-set-1737074079-57" class="tab-selector-2" /> + <label for="tab-1737074079-58" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5895,10 +5946,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-1733358824-59" type="radio" name="radio-set-1733358824-59" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-59" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-60" type="radio" name="radio-set-1733358824-59" class="tab-selector-2" /> - <label for="tab-1733358824-60" class="tab-label-2">groovy</label> + <input id="tab-1737074079-59" type="radio" name="radio-set-1737074079-59" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-59" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-60" type="radio" name="radio-set-1737074079-59" class="tab-selector-2" /> + <label for="tab-1737074079-60" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5936,10 +5987,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-1733358824-61" type="radio" name="radio-set-1733358824-61" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-61" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-62" type="radio" name="radio-set-1733358824-61" class="tab-selector-2" /> - <label for="tab-1733358824-62" class="tab-label-2">groovy</label> + <input id="tab-1737074079-61" type="radio" name="radio-set-1737074079-61" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-61" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-62" type="radio" name="radio-set-1737074079-61" class="tab-selector-2" /> + <label for="tab-1737074079-62" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -5988,10 +6039,10 @@ g.V().choose(hasLabel(<span class="strin least one element.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-63" type="radio" name="radio-set-1733358824-63" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-63" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-64" type="radio" name="radio-set-1733358824-63" class="tab-selector-2" /> - <label for="tab-1733358824-64" class="tab-label-2">groovy</label> + <input id="tab-1737074079-63" type="radio" name="radio-set-1737074079-63" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-63" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-64" type="radio" name="radio-set-1737074079-63" class="tab-selector-2" /> + <label for="tab-1737074079-64" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6038,21 +6089,19 @@ 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-1733358824-65" type="radio" name="radio-set-1733358824-65" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-65" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-66" type="radio" name="radio-set-1733358824-65" class="tab-selector-2" /> - <label for="tab-1733358824-66" class="tab-label-2">groovy</label> + <input id="tab-1737074079-65" type="radio" name="radio-set-1737074079-65" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-65" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-66" type="radio" name="radio-set-1737074079-65" class="tab-selector-2" /> + <label for="tab-1737074079-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">1</span>] ==>v[<span class="integer">2</span>] ==>v[<span class="integer">3</span>] ==>v[<span class="integer">4</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>] @@ -6093,10 +6142,10 @@ will throw an <code>IllegalArgumentExcep <code>merge()</code>-step in that it allows duplicates to exist.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-67" type="radio" name="radio-set-1733358824-67" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-67" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-68" type="radio" name="radio-set-1733358824-67" class="tab-selector-2" /> - <label for="tab-1733358824-68" class="tab-label-2">groovy</label> + <input id="tab-1737074079-67" type="radio" name="radio-set-1737074079-67" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-67" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-68" type="radio" name="radio-set-1737074079-67" class="tab-selector-2" /> + <label for="tab-1737074079-68" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6138,10 +6187,10 @@ concatenated, the <code>null</code> valu 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-1733358824-69" type="radio" name="radio-set-1733358824-69" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-69" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-70" type="radio" name="radio-set-1733358824-69" class="tab-selector-2" /> - <label for="tab-1733358824-70" class="tab-label-2">groovy</label> + <input id="tab-1737074079-69" type="radio" name="radio-set-1737074079-69" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-69" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-70" type="radio" name="radio-set-1737074079-69" class="tab-selector-2" /> + <label for="tab-1737074079-70" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6258,10 +6307,10 @@ Iterable) in the incoming traverser and (including <code>null</code>). Null values are skipped and not included in the result.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-71" type="radio" name="radio-set-1733358824-71" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-71" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-72" type="radio" name="radio-set-1733358824-71" class="tab-selector-2" /> - <label for="tab-1733358824-72" class="tab-label-2">groovy</label> + <input id="tab-1737074079-71" type="radio" name="radio-set-1737074079-71" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-71" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-72" type="radio" name="radio-set-1737074079-71" class="tab-selector-2" /> + <label for="tab-1737074079-72" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6311,10 +6360,10 @@ that supports <code>GraphComputer</code> </table> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-73" type="radio" name="radio-set-1733358824-73" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-73" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-74" type="radio" name="radio-set-1733358824-73" class="tab-selector-2" /> - <label for="tab-1733358824-74" class="tab-label-2">groovy</label> + <input id="tab-1737074079-73" type="radio" name="radio-set-1737074079-73" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-73" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-74" type="radio" name="radio-set-1737074079-73" class="tab-selector-2" /> + <label for="tab-1737074079-74" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6327,12 +6376,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>: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>:ripple,<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>:marko,<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>:josh,<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>:lop,<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>] 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>). @@ -6340,10 +6389,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> @@ -6389,10 +6438,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-1733358824-75" type="radio" name="radio-set-1733358824-75" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-75" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-76" type="radio" name="radio-set-1733358824-75" class="tab-selector-2" /> - <label for="tab-1733358824-76" class="tab-label-2">groovy</label> + <input id="tab-1737074079-75" type="radio" name="radio-set-1737074079-75" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-75" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-76" type="radio" name="radio-set-1737074079-75" class="tab-selector-2" /> + <label for="tab-1737074079-76" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6462,10 +6511,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-1733358824-77" type="radio" name="radio-set-1733358824-77" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-77" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-78" type="radio" name="radio-set-1733358824-77" class="tab-selector-2" /> - <label for="tab-1733358824-78" class="tab-label-2">groovy</label> + <input id="tab-1737074079-77" type="radio" name="radio-set-1737074079-77" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-77" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-78" type="radio" name="radio-set-1737074079-77" class="tab-selector-2" /> + <label for="tab-1737074079-78" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6541,10 +6590,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-1733358824-79" type="radio" name="radio-set-1733358824-79" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-79" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-80" type="radio" name="radio-set-1733358824-79" class="tab-selector-2" /> - <label for="tab-1733358824-80" class="tab-label-2">groovy</label> + <input id="tab-1737074079-79" type="radio" name="radio-set-1737074079-79" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-79" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-80" type="radio" name="radio-set-1737074079-79" class="tab-selector-2" /> + <label for="tab-1737074079-80" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6623,10 +6672,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-1733358824-81" type="radio" name="radio-set-1733358824-81" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-81" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-82" type="radio" name="radio-set-1733358824-81" class="tab-selector-2" /> - <label for="tab-1733358824-82" class="tab-label-2">groovy</label> + <input id="tab-1737074079-81" type="radio" name="radio-set-1737074079-81" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-81" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-82" type="radio" name="radio-set-1737074079-81" class="tab-selector-2" /> + <label for="tab-1737074079-82" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6675,10 +6724,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-1733358824-83" type="radio" name="radio-set-1733358824-83" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-83" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-84" type="radio" name="radio-set-1733358824-83" class="tab-selector-2" /> - <label for="tab-1733358824-84" class="tab-label-2">groovy</label> + <input id="tab-1737074079-83" type="radio" name="radio-set-1737074079-83" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-83" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-84" type="radio" name="radio-set-1737074079-83" class="tab-selector-2" /> + <label for="tab-1737074079-84" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6721,10 +6770,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-1733358824-85" type="radio" name="radio-set-1733358824-85" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-85" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-86" type="radio" name="radio-set-1733358824-85" class="tab-selector-2" /> - <label for="tab-1733358824-86" class="tab-label-2">groovy</label> + <input id="tab-1737074079-85" type="radio" name="radio-set-1737074079-85" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-85" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-86" type="radio" name="radio-set-1737074079-85" class="tab-selector-2" /> + <label for="tab-1737074079-86" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6777,10 +6826,10 @@ element as it is a first-class citizen.< has been seen or not.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-87" type="radio" name="radio-set-1733358824-87" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-87" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-88" type="radio" name="radio-set-1733358824-87" class="tab-selector-2" /> - <label for="tab-1733358824-88" class="tab-label-2">groovy</label> + <input id="tab-1737074079-87" type="radio" name="radio-set-1737074079-87" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-87" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-88" type="radio" name="radio-set-1737074079-87" class="tab-selector-2" /> + <label for="tab-1737074079-88" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6815,10 +6864,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-1733358824-89" type="radio" name="radio-set-1733358824-89" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-89" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-90" type="radio" name="radio-set-1733358824-89" class="tab-selector-2" /> - <label for="tab-1733358824-90" class="tab-label-2">groovy</label> + <input id="tab-1737074079-89" type="radio" name="radio-set-1737074079-89" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-89" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-90" type="radio" name="radio-set-1737074079-89" class="tab-selector-2" /> + <label for="tab-1737074079-90" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6893,10 +6942,10 @@ step only expects list data (array or It encountered (including <code>null</code>).</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-91" type="radio" name="radio-set-1733358824-91" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-91" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-92" type="radio" name="radio-set-1733358824-91" class="tab-selector-2" /> - <label for="tab-1733358824-92" class="tab-label-2">groovy</label> + <input id="tab-1737074079-91" type="radio" name="radio-set-1737074079-91" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-91" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-92" type="radio" name="radio-set-1737074079-91" class="tab-selector-2" /> + <label for="tab-1737074079-92" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -6954,10 +7003,10 @@ argument. This step only expects list da type is encountered (including <code>null</code>).</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-93" type="radio" name="radio-set-1733358824-93" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-93" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-94" type="radio" name="radio-set-1733358824-93" class="tab-selector-2" /> - <label for="tab-1733358824-94" class="tab-label-2">groovy</label> + <input id="tab-1737074079-93" type="radio" name="radio-set-1737074079-93" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-93" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-94" type="radio" name="radio-set-1737074079-93" class="tab-selector-2" /> + <label for="tab-1737074079-94" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7003,10 +7052,10 @@ g.V().values(<span class="string"><span is a filter step because the traversal yields no outgoing objects.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-95" type="radio" name="radio-set-1733358824-95" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-95" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-96" type="radio" name="radio-set-1733358824-95" class="tab-selector-2" /> - <label for="tab-1733358824-96" class="tab-label-2">groovy</label> + <input id="tab-1737074079-95" type="radio" name="radio-set-1737074079-95" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-95" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-96" type="radio" name="radio-set-1737074079-95" class="tab-selector-2" /> + <label for="tab-1737074079-96" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7060,10 +7109,10 @@ g.V()</code></pre> be used mid-traversal.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1733358824-97" type="radio" name="radio-set-1733358824-97" class="tab-selector-1" checked="checked" /> - <label for="tab-1733358824-97" class="tab-label-1">console (groovy)</label> - <input id="tab-1733358824-98" type="radio" name="radio-set-1733358824-97" class="tab-selector-2" /> - <label for="tab-1733358824-98" class="tab-label-2">groovy</label> + <input id="tab-1737074079-97" type="radio" name="radio-set-1737074079-97" class="tab-selector-1" checked="checked" /> + <label for="tab-1737074079-97" class="tab-label-1">console (groovy)</label> + <input id="tab-1737074079-98" type="radio" name="radio-set-1737074079-97" class="tab-selector-2" /> + <label for="tab-1737074079-98" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -7114,10 +7163,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>
[... 6021 lines stripped ...]
