You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/09/08 12:48:46 UTC
svn commit: r1759802 [2/3] - in /tinkerpop/site/docs/3.2.2:
recipes/index.html reference/index.html tutorials/getting-started/index.html
tutorials/gremlin-language-variants/index.html
tutorials/the-gremlin-console/index.html
Modified: tinkerpop/site/docs/3.2.2/reference/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.2/reference/index.html?rev=1759802&r1=1759801&r2=1759802&view=diff
==============================================================================
--- tinkerpop/site/docs/3.2.2/reference/index.html (original)
+++ tinkerpop/site/docs/3.2.2/reference/index.html Thu Sep 8 12:48:46 2016
@@ -898,6 +898,7 @@ span.line-numbers { border-right: 1px so
<li><a href="#max-step">Max Step</a></li>
<li><a href="#mean-step">Mean Step</a></li>
<li><a href="#min-step">Min Step</a></li>
+<li><a href="#option-step">Option Step</a></li>
<li><a href="#optional-step">Optional Step</a></li>
<li><a href="#or-step">Or Step</a></li>
<li><a href="#order-step">Order Step</a></li>
@@ -1996,10 +1997,10 @@ system providers for two purposes:</p>
gremlin> graph.features()
==>FEATURES
> GraphFeatures
->-- <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">Transactions</span>: <span class="predefined-constant">false</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">Computer</span>: <span class="predefined-constant">true</span>
> VariableFeatures
>-- <span class="key">Variables</span>: <span class="predefined-constant">true</span>
@@ -2301,17 +2302,17 @@ A toy graph demonstrating all of the new
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
-......<span class="integer">2</span>> hasNot(<span class="string"><span class="delimiter">'</span><span class="content">endTime</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).
-......<span class="integer">3</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</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(value).by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>) <span class="comment">// determine the current location of each person</span>
+ properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
+ hasNot(<span class="string"><span class="delimiter">'</span><span class="content">endTime</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</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(value).by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>) <span class="comment">// determine the current location of each person</span>
==>[<span class="key">a</span>:marko,<span class="key">b</span>:santa fe,<span class="key">c</span>:<span class="integer">2005</span>]
==>[<span class="key">a</span>:stephen,<span class="key">b</span>:purcellville,<span class="key">c</span>:<span class="integer">2006</span>]
==>[<span class="key">a</span>:matthias,<span class="key">b</span>:seattle,<span class="key">c</span>:<span class="integer">2014</span>]
==>[<span class="key">a</span>:daniel,<span class="key">b</span>:aachen,<span class="key">c</span>:<span class="integer">2009</span>]
gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">gremlin</span><span class="delimiter">'</span></span>).inE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> order().by(<span class="string"><span class="delimiter">'</span><span class="content">skill</span><span class="delimiter">'</span></span>,incr).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).
-......<span class="integer">2</span>> outV().as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
-......<span class="integer">3</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">skill</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">// rank the users of gremlin by their skill level</span>
+ order().by(<span class="string"><span class="delimiter">'</span><span class="content">skill</span><span class="delimiter">'</span></span>,incr).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).
+ outV().as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">skill</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">// rank the users of gremlin by their skill level</span>
==>[<span class="key">a</span>:<span class="integer">3</span>,<span class="key">b</span>:matthias]
==>[<span class="key">a</span>:<span class="integer">4</span>,<span class="key">b</span>:marko]
==>[<span class="key">a</span>:<span class="integer">5</span>,<span class="key">b</span>:stephen]
@@ -2939,7 +2940,7 @@ gremlin> g = graph.traversal()
gremlin> f = <span class="keyword">new</span> <span class="predefined-type">ByteArrayOutputStream</span>()
==>
gremlin> mapper = graph.io(graphson()).mapper().embedTypes(<span class="predefined-constant">true</span>).create()
-==>org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="float">1378f</span><span class="integer">091</span>
+==>org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="integer">557</span>c837
gremlin> graph.io(graphson()).writer().mapper(mapper).create().writeVertex(f, g.V(<span class="integer">1</span>).next(), BOTH)
==><span class="predefined-constant">null</span>
gremlin> f.close()
@@ -3131,7 +3132,7 @@ gremlin> g = graph.traversal()
gremlin> f = <span class="keyword">new</span> <span class="predefined-type">ByteArrayOutputStream</span>()
==>
gremlin> mapper = graph.io(graphson()).mapper().version(GraphSONVersion.V2_0).create()
-==>org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="integer">7105</span>c2bb
+==>org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper<span class="error">@</span><span class="integer">63</span>b5a020
gremlin> graph.io(graphson()).writer().mapper(mapper).create().writeVertex(f, g.V(<span class="integer">1</span>).next(), BOTH)
==><span class="predefined-constant">null</span>
gremlin> f.close()
@@ -3139,6 +3140,65 @@ gremlin> f.close()
</div>
</div>
<div class="paragraph">
+<p>Creating a GraphSON 2.0 mapper is done by calling <code>.version(GraphSONVersion.V2_0)</code> on the mapper builder. Here’s is the
+example output from the code above:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="json language-json">{
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Vertex</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">id</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Int32</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="integer">1</span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">label</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">person</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">properties</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>: [{
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:VertexProperty</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">id</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Int64</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="integer">0</span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">value</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">marko</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">label</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>
+ }
+ }],
+ <span class="key"><span class="delimiter">"</span><span class="content">uuid</span><span class="delimiter">"</span></span>: [{
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:VertexProperty</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">id</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Int64</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="integer">12</span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:UUID</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">829c7ddb-3831-4687-a872-e25201230cd3</span><span class="delimiter">"</span></span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">label</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">uuid</span><span class="delimiter">"</span></span>
+ }
+ }],
+ <span class="key"><span class="delimiter">"</span><span class="content">age</span><span class="delimiter">"</span></span>: [{
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:VertexProperty</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">id</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Int64</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="integer">1</span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">value</span><span class="delimiter">"</span></span>: {
+ <span class="key"><span class="delimiter">"</span><span class="content">@type</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">g:Int32</span><span class="delimiter">"</span></span>,
+ <span class="key"><span class="delimiter">"</span><span class="content">@value</span><span class="delimiter">"</span></span>: <span class="integer">29</span>
+ },
+ <span class="key"><span class="delimiter">"</span><span class="content">label</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">age</span><span class="delimiter">"</span></span>
+ }
+ }]
+ }
+ }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
<p>Types can be disabled when creating a GraphSON 2.0 <code>Mapper</code> with:</p>
</div>
<div class="listingblock">
@@ -3591,8 +3651,8 @@ v[<span class="integer">6</span>]
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().branch(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
-......<span class="integer">1</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
-......<span class="integer">2</span>> option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(1)</b>
+ option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
+ option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(1)</b>
==><span class="integer">29</span>
==>vadas
==>lop
@@ -3600,8 +3660,8 @@ v[<span class="integer">6</span>]
==>ripple
==>peter
gremlin> g.V().choose(has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>),
-......<span class="integer">1</span>> values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
+ values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>),
+ values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
==><span class="integer">29</span>
==>vadas
==>lop
@@ -3640,11 +3700,11 @@ worked on the same project together. Thi
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V(<span class="integer">1</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).where(neq(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>)).
-......<span class="integer">1</span>> addE(<span class="string"><span class="delimiter">'</span><span class="content">co-developer</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).property(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>,<span class="integer">2009</span>) <span class="comment">//</span><b>(1)</b>
+ addE(<span class="string"><span class="delimiter">'</span><span class="content">co-developer</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).property(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>,<span class="integer">2009</span>) <span class="comment">//</span><b>(1)</b>
==>e[<span class="integer">12</span>][<span class="integer">1</span>-co-developer-><span class="integer">4</span>]
==>e[<span class="integer">13</span>][<span class="integer">1</span>-co-developer-><span class="integer">6</span>]
gremlin> g.V(<span class="integer">3</span>,<span class="integer">4</span>,<span class="integer">5</span>).aggregate(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).unfold().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">software</span><span class="delimiter">'</span></span>).addE(<span class="string"><span class="delimiter">'</span><span class="content">createdBy</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
+ select(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).unfold().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">software</span><span class="delimiter">'</span></span>).addE(<span class="string"><span class="delimiter">'</span><span class="content">createdBy</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
==>e[<span class="integer">14</span>][<span class="integer">3</span>-createdBy-><span class="integer">4</span>]
==>e[<span class="integer">15</span>][<span class="integer">5</span>-createdBy-><span class="integer">4</span>]
gremlin> g.V().as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).addE(<span class="string"><span class="delimiter">'</span><span class="content">createdBy</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).property(<span class="string"><span class="delimiter">'</span><span class="content">acl</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">public</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
@@ -3653,16 +3713,16 @@ gremlin> g.V().as(<span class="string
==>e[<span class="integer">18</span>][<span class="integer">3</span>-createdBy-><span class="integer">4</span>]
==>e[<span class="integer">19</span>][<span class="integer">3</span>-createdBy-><span class="integer">6</span>]
gremlin> g.V(<span class="integer">1</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> addE(<span class="string"><span class="delimiter">'</span><span class="content">livesNear</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).property(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>,<span class="integer">2009</span>).
-......<span class="integer">2</span>> inV().inE(<span class="string"><span class="delimiter">'</span><span class="content">livesNear</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(4)</b>
+ addE(<span class="string"><span class="delimiter">'</span><span class="content">livesNear</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).property(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>,<span class="integer">2009</span>).
+ inV().inE(<span class="string"><span class="delimiter">'</span><span class="content">livesNear</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(4)</b>
==><span class="integer">2009</span>
==><span class="integer">2009</span>
gremlin> g.V().match(
-......<span class="integer">1</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>),
-......<span class="integer">3</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>)).
-......<span class="integer">4</span>> addE(<span class="string"><span class="delimiter">'</span><span class="content">friendlyCollaborator</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
-......<span class="integer">5</span>> property(id,<span class="integer">13</span>).property(<span class="string"><span class="delimiter">'</span><span class="content">project</span><span class="delimiter">'</span></span>,select(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(5)</b>
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>)).
+ addE(<span class="string"><span class="delimiter">'</span><span class="content">friendlyCollaborator</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).to(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).
+ property(id,<span class="integer">13</span>).property(<span class="string"><span class="delimiter">'</span><span class="content">project</span><span class="delimiter">'</span></span>,select(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(5)</b>
==>e[<span class="integer">13</span>][<span class="integer">1</span>-friendlyCollaborator-><span class="integer">4</span>]
gremlin> g.E(<span class="integer">13</span>).valueMap()
==>[<span class="key">project</span>:lop]</code></pre>
@@ -3785,7 +3845,7 @@ gremlin> g.V(<span class="integer">1<
==>v[<span class="integer">3</span>]
==>v[<span class="integer">3</span>]
gremlin> g.V(<span class="integer">1</span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).aggregate(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> where(without(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>)).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(5)</b>
+ where(without(<span class="string"><span class="delimiter">'</span><span class="content">x</span><span class="delimiter">'</span></span>)).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(5)</b>
==>ripple</code></pre>
</div>
</div>
@@ -3836,9 +3896,9 @@ gremlin> g.V().out(<span class="strin
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().and(
-......<span class="integer">1</span>> outE(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).is(lt(<span class="integer">30</span>))).
-......<span class="integer">3</span>> values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
+ outE(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>),
+ values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).is(lt(<span class="integer">30</span>))).
+ values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
==>marko</code></pre>
</div>
</div>
@@ -3894,10 +3954,10 @@ gremlin> g.V().as(<span class="string
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">software</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).
-......<span class="integer">2</span>> by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).
-......<span class="integer">3</span>> by(<span class="string"><span class="delimiter">'</span><span class="content">lang</span><span class="delimiter">'</span></span>).
-......<span class="integer">4</span>> by(__.in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).fold())
+ select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</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">lang</span><span class="delimiter">'</span></span>).
+ by(__.in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).fold())
==>[<span class="key">a</span>:lop,<span class="key">b</span>:java,<span class="key">c</span>:[marko,josh,peter]]
==>[<span class="key">a</span>:ripple,<span class="key">b</span>:java,<span class="key">c</span>:[josh]]</code></pre>
</div>
@@ -3964,13 +4024,13 @@ gremlin> graph.io(graphml()).readGrap
gremlin> g = graph.traversal()
==>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>(1)</b>
-==><span class="float">8058.308279</span>
+==><span class="float">8379.309729</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>(2)</b>
-==><span class="float">25.304363</span>
+==><span class="float">22.91724</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>(3)</b>
-==><span class="float">13.938442</span>
+==><span class="float">20.256909</span>
==><span class="integer">126653966</span></code></pre>
</div>
</div>
@@ -4005,7 +4065,7 @@ gremlin> graph.io(graphml()).readGrap
gremlin> g = graph.traversal().withStrategies(LazyBarrierStrategy.instance())
==>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="float">12.795549999999999</span>
+==><span class="float">11.789164</span>
==><span class="integer">126653966</span>
gremlin> g.V().both().both().both().count().iterate().toString() <span class="comment">//</span><b>(1)</b>
==>[TinkerGraphStep(vertex,<span class="type">[]</span>), VertexStep(BOTH,vertex), NoOpBarrierStep(<span class="integer">10000</span>), VertexStep(BOTH,vertex), NoOpBarrierStep(<span class="integer">10000</span>), VertexStep(BOTH,edge), CountGlobalStep]</code></pre>
@@ -4159,17 +4219,17 @@ it is possible to implement if/else-base
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> choose(values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).is(lte(<span class="integer">30</span>)),
-......<span class="integer">2</span>> __.in(),
-......<span class="integer">3</span>> __.out()).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(1)</b>
+ choose(values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).is(lte(<span class="integer">30</span>)),
+ __.in(),
+ __.out()).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(1)</b>
==>marko
==>ripple
==>lop
==>lop
gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> choose(values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
-......<span class="integer">2</span>> option(<span class="integer">27</span>, __.in()).
-......<span class="integer">3</span>> option(<span class="integer">32</span>, __.out()).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
+ choose(values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
+ option(<span class="integer">27</span>, __.in()).
+ option(<span class="integer">32</span>, __.out()).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
==>marko
==>ripple
==>lop</code></pre>
@@ -4191,11 +4251,11 @@ gremlin> g.V().hasLabel(<span class="
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> choose(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
-......<span class="integer">2</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
-......<span class="integer">3</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
-......<span class="integer">4</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, valueMap()).
-......<span class="integer">5</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">peter</span><span class="delimiter">'</span></span>, label())
+ choose(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
+ option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
+ option(<span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
+ option(<span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, valueMap()).
+ option(<span class="string"><span class="delimiter">'</span><span class="content">peter</span><span class="delimiter">'</span></span>, label())
==><span class="integer">29</span>
==>[<span class="key">name</span>:[vadas],<span class="key">age</span>:[<span class="integer">27</span>]]
==>josh
@@ -4208,9 +4268,9 @@ gremlin> g.V().hasLabel(<span class="
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> choose(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
-......<span class="integer">2</span>> option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
-......<span class="integer">3</span>> option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>))
+ choose(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)).
+ option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)).
+ option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>))
==><span class="integer">29</span>
==>vadas
==>josh
@@ -4226,10 +4286,9 @@ gremlin> g.V().hasLabel(<span class="
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-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">5</span>]
+==>v[<span class="integer">4</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>]
@@ -4250,8 +4309,8 @@ steps like <a href="#choose-step"><code>
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().choose(hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>),
-......<span class="integer">1</span>> values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> constant(<span class="string"><span class="delimiter">'</span><span class="content">inhuman</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(1)</b>
+ values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>),
+ constant(<span class="string"><span class="delimiter">'</span><span class="content">inhuman</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(1)</b>
==>marko
==>vadas
==>inhuman
@@ -4259,8 +4318,8 @@ steps like <a href="#choose-step"><code>
==>inhuman
==>peter
gremlin> g.V().coalesce(
-......<span class="integer">1</span>> hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> constant(<span class="string"><span class="delimiter">'</span><span class="content">inhuman</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
+ hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>),
+ constant(<span class="string"><span class="delimiter">'</span><span class="content">inhuman</span><span class="delimiter">'</span></span>)) <span class="comment">//</span><b>(2)</b>
==>marko
==>vadas
==>inhuman
@@ -4348,12 +4407,12 @@ has been seen or not.</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().valueMap(<span class="predefined-constant">true</span>, <span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
-==>[<span class="key">label</span>:person,<span class="key">name</span>:[marko],<span class="key">id</span>:<span class="integer">1</span>]
-==>[<span class="key">label</span>:person,<span class="key">name</span>:[vadas],<span class="key">id</span>:<span class="integer">2</span>]
-==>[<span class="key">label</span>:software,<span class="key">name</span>:[lop],<span class="key">id</span>:<span class="integer">3</span>]
-==>[<span class="key">label</span>:person,<span class="key">name</span>:[josh],<span class="key">id</span>:<span class="integer">4</span>]
-==>[<span class="key">label</span>:software,<span class="key">name</span>:[ripple],<span class="key">id</span>:<span class="integer">5</span>]
-==>[<span class="key">label</span>:person,<span class="key">name</span>:[peter],<span class="key">id</span>:<span class="integer">6</span>]
+==>[<span class="key">name</span>:[marko],<span class="key">label</span>:person,<span class="key">id</span>:<span class="integer">1</span>]
+==>[<span class="key">name</span>:[vadas],<span class="key">label</span>:person,<span class="key">id</span>:<span class="integer">2</span>]
+==>[<span class="key">name</span>:[lop],<span class="key">label</span>:software,<span class="key">id</span>:<span class="integer">3</span>]
+==>[<span class="key">name</span>:[josh],<span class="key">label</span>:person,<span class="key">id</span>:<span class="integer">4</span>]
+==>[<span class="key">name</span>:[ripple],<span class="key">label</span>:software,<span class="key">id</span>:<span class="integer">5</span>]
+==>[<span class="key">name</span>:[peter],<span class="key">label</span>:person,<span class="key">id</span>:<span class="integer">6</span>]
gremlin> g.V().dedup().by(label).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
==>marko
==>lop</code></pre>
@@ -4433,12 +4492,12 @@ Original Traversal [Grap
ConnectiveStrategy [D] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), IdentityStep, EdgeVertexStep(IN), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
IdentityRemovalStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), EdgeVertexStep(IN), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
+MatchPredicateStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), EdgeVertexStep(IN), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
+RepeatUnrollStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), EdgeVertexStep(IN), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
IncidentToAdjacentStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,vertex), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
-RepeatUnrollStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,vertex), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
-MatchPredicateStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,vertex), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
-AdjacentToIncidentStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
-FilterRankingStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
-RangeByIsCountStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
+RangeByIsCountStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,vertex), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
+AdjacentToIncidentStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
+FilterRankingStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
PathRetractionStrategy [O] [GraphStep(vertex,<span class="type">[]</span>), HasStep([~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
ProfileStrategy [F] [TinkerGraphStep(vertex,[~label.eq(person)]), VertexStep(OUT,edge), RangeGlobalStep(<span class="integer">0</span>,<span class="integer">6</span>), CountGlobalStep, IsStep(gt(<span class="integer">5</span>))]
@@ -4508,7 +4567,7 @@ gremlin> g.V().values(<span class="st
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)
+ V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)
==>e[<span class="integer">12</span>][<span class="integer">1</span>-uses-><span class="integer">3</span>]
==>e[<span class="integer">13</span>][<span class="integer">1</span>-uses-><span class="integer">5</span>]
==>e[<span class="integer">14</span>][<span class="integer">2</span>-uses-><span class="integer">3</span>]
@@ -4532,11 +4591,11 @@ Whether a mid-traversal <code>V()</code>
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).toString() <span class="comment">//</span><b>(1)</b>
-==>[GraphStep(vertex,<span class="type">[]</span>), HasStep([name.within([marko, vadas, josh])])<span class="error">@</span>[person], GraphStep(vertex,<span class="type">[]</span>), HasStep([name.within([lop, ripple])]), AddEdgeStep({label=[uses], ~from=[[SelectOneStep(person)]]})]
+ V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).toString() <span class="comment">//</span><b>(1)</b>
+==>[GraphStep(vertex,<span class="type">[]</span>), HasStep([name.within([marko, vadas, josh])])<span class="error">@</span>[person], GraphStep(vertex,<span class="type">[]</span>), HasStep([name.within([lop, ripple])]), AddEdgeStep({~from=[[SelectOneStep(person)]], label=[uses]})]
gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate().toString() <span class="comment">//</span><b>(2)</b>
-==>[TinkerGraphStep(vertex,[name.within([marko, vadas, josh])])<span class="error">@</span>[person], TinkerGraphStep(vertex,[name.within([lop, ripple])]), AddEdgeStep({label=[uses], ~from=[[SelectOneStep(person), NoOpBarrierStep(<span class="integer">2500</span>)]]})]</code></pre>
+ V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, within(<span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">ripple</span><span class="delimiter">'</span></span>)).addE(<span class="string"><span class="delimiter">'</span><span class="content">uses</span><span class="delimiter">'</span></span>).from(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate().toString() <span class="comment">//</span><b>(2)</b>
+==>[TinkerGraphStep(vertex,[name.within([marko, vadas, josh])])<span class="error">@</span>[person], TinkerGraphStep(vertex,[name.within([lop, ripple])]), AddEdgeStep({~from=[[SelectOneStep(person), NoOpBarrierStep(<span class="integer">2500</span>)]], label=[uses]})]</code></pre>
</div>
</div>
<div class="colist arabic">
@@ -4704,7 +4763,7 @@ gremlin> g.V().hasLabel(<span class="
==>v[<span class="integer">2</span>]
==>v[<span class="integer">4</span>]
gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).out().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,within(<span class="string"><span class="delimiter">'</span><span class="content">vadas</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">josh</span><span class="delimiter">'</span></span>)).
-......<span class="integer">1</span>> outE().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>)
+ outE().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>)
==>e[<span class="integer">10</span>][<span class="integer">4</span>-created-><span class="integer">5</span>]
==>e[<span class="integer">11</span>][<span class="integer">4</span>-created-><span class="integer">3</span>]
gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>,inside(<span class="integer">20</span>,<span class="integer">30</span>)).values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(1)</b>
@@ -4819,7 +4878,7 @@ gremlin> g.V().where(__.in(<span clas
gremlin> g.V().where(__.in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).count().is(gte(<span class="integer">2</span>))).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(2)</b>
==>lop
gremlin> g.V().where(__.in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> mean().is(inside(<span class="float">30d</span>, <span class="float">35d</span>))).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
+ mean().is(inside(<span class="float">30d</span>, <span class="float">35d</span>))).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
==>lop
==>ripple</code></pre>
</div>
@@ -4901,13 +4960,13 @@ Note that the examples below use the <a
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).order().by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>,incr).limit(<span class="integer">2</span>).value().as(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).
-......<span class="integer">2</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">location</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="comment">//</span><b>(1)</b>
+ properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).order().by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>,incr).limit(<span class="integer">2</span>).value().as(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">location</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="comment">//</span><b>(1)</b>
==>[<span class="key">person</span>:daniel,<span class="key">location</span>:spremberg]
==>[<span class="key">person</span>:stephen,<span class="key">location</span>:centreville]
gremlin> g.V().as(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).
-......<span class="integer">1</span>> local(properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).order().by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>,incr).limit(<span class="integer">2</span>)).value().as(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).
-......<span class="integer">2</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">location</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="comment">//</span><b>(2)</b>
+ local(properties(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).order().by(<span class="string"><span class="delimiter">'</span><span class="content">startTime</span><span class="delimiter">'</span></span>,incr).limit(<span class="integer">2</span>)).value().as(<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">location</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="comment">//</span><b>(2)</b>
==>[<span class="key">person</span>:marko,<span class="key">location</span>:san diego]
==>[<span class="key">person</span>:marko,<span class="key">location</span>:santa cruz]
==>[<span class="key">person</span>:stephen,<span class="key">location</span>:centreville]
@@ -4977,11 +5036,11 @@ express via <code>match()</code> than wi
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().match(
-......<span class="integer">1</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>),
-......<span class="integer">3</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>),
-......<span class="integer">4</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>)).
-......<span class="integer">5</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>)).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
==>[<span class="key">a</span>:marko,<span class="key">c</span>:marko]
==>[<span class="key">a</span>:josh,<span class="key">c</span>:marko]
==>[<span class="key">a</span>:peter,<span class="key">c</span>:marko]</code></pre>
@@ -4994,9 +5053,9 @@ be arbitrarily defined.</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().match(
-......<span class="integer">1</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>)).
-......<span class="integer">3</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>)).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">c</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
==>[<span class="key">a</span>:marko,<span class="key">c</span>:marko]
==>[<span class="key">a</span>:josh,<span class="key">c</span>:marko]
==>[<span class="key">a</span>:peter,<span class="key">c</span>:marko]</code></pre>
@@ -5009,9 +5068,9 @@ previous query can thus be written in a
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().match(
-......<span class="integer">1</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">creators</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">projects</span><span class="delimiter">'</span></span>), <span class="comment">//</span><b>(1)</b>
-......<span class="integer">2</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">projects</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">cocreators</span><span class="delimiter">'</span></span>)). <span class="comment">//</span><b>(2)</b>
-......<span class="integer">3</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">creators</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">cocreators</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">creators</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">lop</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">projects</span><span class="delimiter">'</span></span>), <span class="comment">//</span><b>(1)</b>
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">projects</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>, <span class="integer">29</span>).as(<span class="string"><span class="delimiter">'</span><span class="content">cocreators</span><span class="delimiter">'</span></span>)). <span class="comment">//</span><b>(2)</b>
+ select(<span class="string"><span class="delimiter">'</span><span class="content">creators</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">cocreators</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(3)</b>
==>[<span class="key">creators</span>:marko,<span class="key">cocreators</span>:marko]
==>[<span class="key">creators</span>:josh,<span class="key">cocreators</span>:marko]
==>[<span class="key">creators</span>:peter,<span class="key">cocreators</span>:marko]</code></pre>
@@ -5049,10 +5108,10 @@ songs which Jerry Garcia has both sung a
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">808</span> <span class="key">edges</span>:<span class="integer">8049</span>], standard]
gremlin> g.V().match(
-......<span class="integer">1</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>),
-......<span class="integer">2</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">writtenBy</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
-......<span class="integer">3</span>> __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">sungBy</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>)).
-......<span class="integer">4</span>> select(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">Garcia</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">writtenBy</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>),
+ __.as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>).in(<span class="string"><span class="delimiter">'</span><span class="content">sungBy</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>)).
+ select(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)
==>CREAM PUFF WAR
==>CRYPTICAL ENVELOPMENT</code></pre>
</div>
@@ -5063,10 +5122,10 @@ gremlin> g.V().match(
<div class="listingblock">
<div class="content">
<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().match(
[... 1507 lines stripped ...]