Modified: tinkerpop/site/docs/3.4.11-SNAPSHOT/reference/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.4.11-SNAPSHOT/reference/index.html?rev=1889266&r1=1889265&r2=1889266&view=diff ============================================================================== --- tinkerpop/site/docs/3.4.11-SNAPSHOT/reference/index.html (original) +++ tinkerpop/site/docs/3.4.11-SNAPSHOT/reference/index.html Wed Apr 28 15:28:18 2021 @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> <meta name="viewport" content="width=device-width, initial-scale=1.0"> -<meta name="generator" content="Asciidoctor 1.5.5"> +<meta name="generator" content="Asciidoctor 1.5.8"> <title>TinkerPop Documentation</title> <style> /* @@ -1192,7 +1192,7 @@ table.CodeRay td.code>pre{padding:0} <li><a href="#sparkgraphcomputer">SparkGraphComputer</a></li> </ul> </li> -<li><a href="#_input_output_formats">Input/Output Formats</a> +<li><a href="#_inputoutput_formats">Input/Output Formats</a> <ul class="sectlevel3"> <li><a href="#gryo-io-format">Gryo I/O Format</a></li> <li><a href="#graphson-io-format">GraphSON I/O Format</a></li> @@ -1229,7 +1229,7 @@ table.CodeRay td.code>pre{padding:0} <li><a href="#_optional">Optional</a></li> <li><a href="#_order_by">Order By</a></li> <li><a href="#_group_by">Group By</a></li> -<li><a href="#_mixed_complex_aggregation_based_queries">Mixed/complex/aggregation-based queries</a></li> +<li><a href="#_mixedcomplexaggregation_based_queries">Mixed/complex/aggregation-based queries</a></li> <li><a href="#_meta_property_access">Meta-Property Access</a></li> <li><a href="#_star_shaped_queries">STAR-shaped queries</a></li> </ul> @@ -1562,7 +1562,7 @@ structure is analyzed. The typical form <a href="http://en.wikipedia.org/wiki/Graph_traversal">traversal</a>.</p> </div> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/tinkerpop-enabled.png" alt="tinkerpop enabled" width="135"></span> TinkerPop’s role in graph computing is to provide the appropriate +<p><span class="image left"><img src="../images/tinkerpop-enabled.png" alt="tinkerpop enabled" width="135"></span> TinkerPop’s role in graph computing is to provide the appropriate interfaces for <a href="https://tinkerpop.apache.org/providers.html">graph providers</a> and users to interact with graphs over their structure and process. When a graph system implements the TinkerPop structure and process <a href="http://en.wikipedia.org/wiki/Application_programming_interface">APIs</a>, their technology is considered @@ -1677,7 +1677,7 @@ providers, then the standard Java naming <div class="sect2"> <h3 id="graph-structure">The Graph Structure</h3> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/gremlin-standing.png" alt="gremlin standing" width="125"></span> A graph’s structure is the topology formed by the explicit references +<p><span class="image left"><img src="../images/gremlin-standing.png" alt="gremlin standing" width="125"></span> A graph’s structure is the topology formed by the explicit references between its vertices, edges, and properties. A vertex has incident edges. A vertex is adjacent to another vertex if they share an incident edge. A property is attached to an element and an element has a set of properties. A property is a key/value pair, where the key is always a character <code>String</code>. Conceptual knowledge of how a graph is composed is @@ -1690,7 +1690,7 @@ more about it in the <a href="https://ti <div class="sect2"> <h3 id="the-graph-process">The Graph Process</h3> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/gremlin-running.png" alt="gremlin running" width="125"></span> The primary way in which graphs are processed are via graph +<p><span class="image left"><img src="../images/gremlin-running.png" alt="gremlin running" width="125"></span> The primary way in which graphs are processed are via graph traversals. The TinkerPop process API is focused on allowing users to create graph traversals in a syntactically-friendly way over the structures defined in the previous section. A traversal is an algorithmic walk across the elements of a graph according to the referential structure explicit within the graph data structure. @@ -1783,11 +1783,11 @@ 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----- -gremlin> graph = TinkerFactory.createModern() <span class="invisible">//</span><b class="conum">1</b> +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().withEmbedded(graph) <span class="invisible">//</span><b class="conum">2</b> +gremlin> g = traversal().withEmbedded(graph) // <span class="invisible">//</span><b class="conum">2</b> ==>graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">6</span> <span class="key">edges</span>:<span class="integer">6</span>], standard] -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">marko</span><span class="delimiter">'</span></span>).out(<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">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b> +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">marko</span><span class="delimiter">'</span></span>).out(<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">name</span><span class="delimiter">'</span></span>) // <span class="invisible">//</span><b class="conum">3</b> ==>vadas ==>josh</code></pre> </div> @@ -1816,20 +1816,20 @@ gremlin> g.V().has(<span class="strin be spawned off that vertex.</p> </div> <section class="tabs tabs-2"> - <input id="tab-1611322029-1" type="radio" name="radio-set-1611322029-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322029-2" type="radio" name="radio-set-1611322029-1" class="tab-selector-2" /> - <label for="tab-1611322029-2" class="tab-label-2">groovy</label> + <input id="tab-1619619837-1" type="radio" name="radio-set-1619619837-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619837-2" type="radio" name="radio-set-1619619837-1" class="tab-selector-2" /> + <label for="tab-1619619837-2" 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> marko = g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).next() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> marko = g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).next() <span class="comment">//</span>// <b class="conum">(1)</b> ==>v[<span class="integer">1</span>] -gremlin> g.V(marko).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +gremlin> g.V(marko).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(2)</b> ==>v[<span class="integer">2</span>] ==>v[<span class="integer">4</span>] -gremlin> g.V(marko).out(<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">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +gremlin> g.V(marko).out(<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">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(3)</b> ==>vadas ==>josh</code></pre> </div> @@ -1840,8 +1840,8 @@ gremlin> g.V(marko).out(<span class=" <div class="tabcontent-2"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">marko = g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).next() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> -g.V(marko).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">marko = g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).next() <span class="comment">//</span>// <b class="conum">(1)</b> +g.V(marko).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(2)</b> g.V(marko).out(<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">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b></code></pre> </div> </div> @@ -1880,10 +1880,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-1611322029-3" type="radio" name="radio-set-1611322029-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322029-4" type="radio" name="radio-set-1611322029-3" class="tab-selector-2" /> - <label for="tab-1611322029-4" class="tab-label-2">groovy</label> + <input id="tab-1619619837-3" type="radio" name="radio-set-1619619837-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619837-4" type="radio" name="radio-set-1619619837-3" class="tab-selector-2" /> + <label for="tab-1619619837-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -1924,10 +1924,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-1611322029-5" type="radio" name="radio-set-1611322029-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322029-6" type="radio" name="radio-set-1611322029-5" class="tab-selector-2" /> - <label for="tab-1611322029-6" class="tab-label-2">groovy</label> + <input id="tab-1619619837-5" type="radio" name="radio-set-1619619837-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619837-6" type="radio" name="radio-set-1619619837-5" class="tab-selector-2" /> + <label for="tab-1619619837-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2005,7 +2005,7 @@ of the following places:</p> <div class="sect2"> <h3 id="connecting-embedded">Embedded</h3> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/blueprints-character-1.png" alt="blueprints character 1" width="125"></span> TinkerPop maintains the reference implementation for the GTM, +<p><span class="image left"><img src="../images/blueprints-character-1.png" alt="blueprints character 1" width="125"></span> TinkerPop maintains the reference implementation for the GTM, which is written in Java and thus available for the Java Virtual Machine (JVM). This is the classic model that TinkerPop has long been based on and many examples, blog posts and other resources on the internet will be demonstrated in this style. It is worth noting that the embedded mode is not restricted to just Java as a programming @@ -2086,7 +2086,7 @@ methods by end-users.</p> <div class="sect2"> <h3 id="connecting-gremlin-server">Gremlin Server</h3> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/rexster-character-3.png" alt="rexster character 3" width="125"></span> A JVM-based graph may be hosted in TinkerPop’s +<p><span class="image left"><img src="../images/rexster-character-3.png" alt="rexster character 3" width="125"></span> A JVM-based graph may be hosted in TinkerPop’s <a href="#gremlin-server">Gremlin Server</a>. Gremlin Server exposes the graph as an endpoint to which different clients can connect, essentially providing a remote GTM. Gremlin Server supports multiple methods for clients to interface with it:</p> </div> @@ -2120,16 +2120,16 @@ the server which means that there is no the location of the Gremlin Server to connect to:</p> </div> <section class="tabs tabs-5"> - <input id="tab-1611322029-7" type="radio" name="radio-set-1611322029-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-7" class="tab-label-1">java</label> - <input id="tab-1611322029-8" type="radio" name="radio-set-1611322029-7" class="tab-selector-2" /> - <label for="tab-1611322029-8" class="tab-label-2">groovy</label> - <input id="tab-1611322029-9" type="radio" name="radio-set-1611322029-7" class="tab-selector-3" /> - <label for="tab-1611322029-9" class="tab-label-3">csharp</label> - <input id="tab-1611322029-10" type="radio" name="radio-set-1611322029-7" class="tab-selector-4" /> - <label for="tab-1611322029-10" class="tab-label-4">javascript</label> - <input id="tab-1611322029-11" type="radio" name="radio-set-1611322029-7" class="tab-selector-5" /> - <label for="tab-1611322029-11" class="tab-label-5">python</label> + <input id="tab-1619619837-7" type="radio" name="radio-set-1619619837-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-7" class="tab-label-1">java</label> + <input id="tab-1619619837-8" type="radio" name="radio-set-1619619837-7" class="tab-selector-2" /> + <label for="tab-1619619837-8" class="tab-label-2">groovy</label> + <input id="tab-1619619837-9" type="radio" name="radio-set-1619619837-7" class="tab-selector-3" /> + <label for="tab-1619619837-9" class="tab-label-3">csharp</label> + <input id="tab-1619619837-10" type="radio" name="radio-set-1619619837-7" class="tab-selector-4" /> + <label for="tab-1619619837-10" class="tab-label-4">javascript</label> + <input id="tab-1619619837-11" type="radio" name="radio-set-1619619837-7" class="tab-selector-5" /> + <label for="tab-1619619837-11" class="tab-label-5">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2284,18 +2284,18 @@ of this documentation, so be sure to con getting data into the graph regardless of programming language or mode of operation is just some basic Gremlin:</p> </div> <section class="tabs tabs-6"> - <input id="tab-1611322029-12" type="radio" name="radio-set-1611322029-12" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-12" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322029-13" type="radio" name="radio-set-1611322029-12" class="tab-selector-2" /> - <label for="tab-1611322029-13" class="tab-label-2">groovy</label> - <input id="tab-1611322029-14" type="radio" name="radio-set-1611322029-12" class="tab-selector-3" /> - <label for="tab-1611322029-14" class="tab-label-3">csharp</label> - <input id="tab-1611322029-15" type="radio" name="radio-set-1611322029-12" class="tab-selector-4" /> - <label for="tab-1611322029-15" class="tab-label-4">java</label> - <input id="tab-1611322029-16" type="radio" name="radio-set-1611322029-12" class="tab-selector-5" /> - <label for="tab-1611322029-16" class="tab-label-5">javascript</label> - <input id="tab-1611322029-17" type="radio" name="radio-set-1611322029-12" class="tab-selector-6" /> - <label for="tab-1611322029-17" class="tab-label-6">python</label> + <input id="tab-1619619837-12" type="radio" name="radio-set-1619619837-12" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-12" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619837-13" type="radio" name="radio-set-1619619837-12" class="tab-selector-2" /> + <label for="tab-1619619837-13" class="tab-label-2">groovy</label> + <input id="tab-1619619837-14" type="radio" name="radio-set-1619619837-12" class="tab-selector-3" /> + <label for="tab-1619619837-14" class="tab-label-3">csharp</label> + <input id="tab-1619619837-15" type="radio" name="radio-set-1619619837-12" class="tab-selector-4" /> + <label for="tab-1619619837-15" class="tab-label-4">java</label> + <input id="tab-1619619837-16" type="radio" name="radio-set-1619619837-12" class="tab-selector-5" /> + <label for="tab-1619619837-16" class="tab-label-5">javascript</label> + <input id="tab-1619619837-17" type="radio" name="radio-set-1619619837-12" class="tab-selector-6" /> + <label for="tab-1619619837-17" class="tab-label-6">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2389,18 +2389,18 @@ 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-6"> - <input id="tab-1611322029-18" type="radio" name="radio-set-1611322029-18" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322029-18" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322029-19" type="radio" name="radio-set-1611322029-18" class="tab-selector-2" /> - <label for="tab-1611322029-19" class="tab-label-2">groovy</label> - <input id="tab-1611322029-20" type="radio" name="radio-set-1611322029-18" class="tab-selector-3" /> - <label for="tab-1611322029-20" class="tab-label-3">csharp</label> - <input id="tab-1611322029-21" type="radio" name="radio-set-1611322029-18" class="tab-selector-4" /> - <label for="tab-1611322029-21" class="tab-label-4">java</label> - <input id="tab-1611322029-22" type="radio" name="radio-set-1611322029-18" class="tab-selector-5" /> - <label for="tab-1611322029-22" class="tab-label-5">javascript</label> - <input id="tab-1611322029-23" type="radio" name="radio-set-1611322029-18" class="tab-selector-6" /> - <label for="tab-1611322029-23" class="tab-label-6">python</label> + <input id="tab-1619619837-18" type="radio" name="radio-set-1619619837-18" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619837-18" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619837-19" type="radio" name="radio-set-1619619837-18" class="tab-selector-2" /> + <label for="tab-1619619837-19" class="tab-label-2">groovy</label> + <input id="tab-1619619837-20" type="radio" name="radio-set-1619619837-18" class="tab-selector-3" /> + <label for="tab-1619619837-20" class="tab-label-3">csharp</label> + <input id="tab-1619619837-21" type="radio" name="radio-set-1619619837-18" class="tab-selector-4" /> + <label for="tab-1619619837-21" class="tab-label-4">java</label> + <input id="tab-1619619837-22" type="radio" name="radio-set-1619619837-18" class="tab-selector-5" /> + <label for="tab-1619619837-22" class="tab-label-5">javascript</label> + <input id="tab-1619619837-23" type="radio" name="radio-set-1619619837-18" class="tab-selector-6" /> + <label for="tab-1619619837-23" class="tab-label-6">python</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2571,10 +2571,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-1611322139-1" type="radio" name="radio-set-1611322139-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-2" type="radio" name="radio-set-1611322139-1" class="tab-selector-2" /> - <label for="tab-1611322139-2" class="tab-label-2">groovy</label> + <input id="tab-1619619948-1" type="radio" name="radio-set-1619619948-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-2" type="radio" name="radio-set-1619619948-1" class="tab-selector-2" /> + <label for="tab-1619619948-2" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2657,10 +2657,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-1611322139-3" type="radio" name="radio-set-1611322139-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-4" type="radio" name="radio-set-1611322139-3" class="tab-selector-2" /> - <label for="tab-1611322139-4" class="tab-label-2">groovy</label> + <input id="tab-1619619948-3" type="radio" name="radio-set-1619619948-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-4" type="radio" name="radio-set-1619619948-3" class="tab-selector-2" /> + <label for="tab-1619619948-4" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2687,8 +2687,8 @@ gremlin> graph.features() >-- <span class="key">LongValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MapValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MixedListValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">SerializableValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">UniformListValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">BooleanArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span> @@ -2699,11 +2699,11 @@ gremlin> graph.features() >-- <span class="key">StringArrayValues</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">DuplicateMultiProperties</span>: <span class="predefined-constant">true</span> +>-- <span class="key">Upsert</span>: <span class="predefined-constant">false</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">UserSuppliedIds</span>: <span class="predefined-constant">true</span> @@ -2729,8 +2729,8 @@ gremlin> graph.features() >-- <span class="key">LongValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MapValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MixedListValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">SerializableValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">UniformListValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">BooleanArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span> @@ -2740,8 +2740,8 @@ gremlin> graph.features() >-- <span class="key">LongArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">StringArrayValues</span>: <span class="predefined-constant">true</span> > EdgeFeatures ->-- <span class="key">RemoveEdges</span>: <span class="predefined-constant">true</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">AddProperty</span>: <span class="predefined-constant">true</span> >-- <span class="key">RemoveProperty</span>: <span class="predefined-constant">true</span> @@ -2761,8 +2761,8 @@ gremlin> graph.features() >-- <span class="key">LongValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MapValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">MixedListValues</span>: <span class="predefined-constant">true</span> ->-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">SerializableValues</span>: <span class="predefined-constant">true</span> +>-- <span class="key">StringValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">UniformListValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">BooleanArrayValues</span>: <span class="predefined-constant">true</span> >-- <span class="key">ByteArrayValues</span>: <span class="predefined-constant">true</span> @@ -2790,10 +2790,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-1611322139-5" type="radio" name="radio-set-1611322139-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-6" type="radio" name="radio-set-1611322139-5" class="tab-selector-2" /> - <label for="tab-1611322139-6" class="tab-label-2">groovy</label> + <input id="tab-1619619948-5" type="radio" name="radio-set-1619619948-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-6" type="radio" name="radio-set-1619619948-5" class="tab-selector-2" /> + <label for="tab-1619619948-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2851,7 +2851,7 @@ different considering that reference gra <h2 id="vertex-properties">Vertex Properties</h2> <div class="sectionbody"> <div class="paragraph"> -<p><span class="image" style="float: left"><img src="../images/vertex-properties.png" alt="vertex properties" width="215"></span> TinkerPop introduces the concept of a <code>VertexProperty<V></code>. All the +<p><span class="image left"><img src="../images/vertex-properties.png" alt="vertex properties" width="215"></span> TinkerPop introduces the concept of a <code>VertexProperty<V></code>. All the properties of a <code>Vertex</code> are a <code>VertexProperty</code>. A <code>VertexProperty</code> implements <code>Property</code> and as such, it has a key/value pair. However, <code>VertexProperty</code> also implements <code>Element</code> and thus, can have a collection of key/value pairs. Moreover, while an <code>Edge</code> can only have one property of key "name" (for example), a <code>Vertex</code> can have multiple @@ -2892,10 +2892,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-1611322139-7" type="radio" name="radio-set-1611322139-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-7" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-8" type="radio" name="radio-set-1611322139-7" class="tab-selector-2" /> - <label for="tab-1611322139-8" class="tab-label-2">groovy</label> + <input id="tab-1619619948-7" type="radio" name="radio-set-1619619948-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-7" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-8" type="radio" name="radio-set-1619619948-7" class="tab-selector-2" /> + <label for="tab-1619619948-8" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -2906,9 +2906,9 @@ gremlin> g = traversal().withEmbedded ==>graphtraversalsource[tinkergraph[<span class="key">vertices</span>:<span class="integer">0</span> <span class="key">edges</span>:<span class="integer">0</span>], standard] gremlin> v = g.addV().property(<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>).property(<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 a. rodriguez</span><span class="delimiter">'</span></span>).next() ==>v[<span class="integer">0</span>] -gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() <span class="comment">//</span>// <b class="conum">(1)</b> ==><span class="integer">2</span> -gremlin> v.property(list, <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">m. a. rodriguez</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +gremlin> v.property(list, <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">m. a. rodriguez</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(2)</b> ==>vp[name->m. a. rodriguez] gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() ==><span class="integer">3</span> @@ -2922,7 +2922,7 @@ gremlin> g.V(v).properties(<span clas ==>vp[name->m. a. rodriguez] gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>) ==>vp[name->marko] -gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</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">private</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</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">private</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(3)</b> ==>vp[name->marko] gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko a. rodriguez</span><span class="delimiter">'</span></span>) ==>vp[name->marko a. rodriguez] @@ -2930,16 +2930,16 @@ gremlin> g.V(v).properties(<span clas ==>vp[name->marko a. rodriguez] gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).value() ==>marko a. rodriguez -gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).drop() <span class="invisible">//</span><b class="conum">4</b><span class="invisible">\</span> +gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).drop() <span class="comment">//</span>// <b class="conum">(4)</b> gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).value() gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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">private</span><span class="delimiter">'</span></span>).value() ==>marko gremlin> g.V(v).properties() ==>vp[name->marko] ==>vp[name->m. a. rodriguez] -gremlin> g.V(v).properties().properties() <span class="invisible">//</span><b class="conum">5</b><span class="invisible">\</span> +gremlin> g.V(v).properties().properties() <span class="comment">//</span>// <b class="conum">(5)</b> ==>p[acl-><span class="directive">private</span>] -gremlin> g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">date</span><span class="delimiter">'</span></span>,<span class="integer">2014</span>) <span class="invisible">//</span><b class="conum">6</b><span class="invisible">\</span> +gremlin> g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">date</span><span class="delimiter">'</span></span>,<span class="integer">2014</span>) <span class="comment">//</span>// <b class="conum">(6)</b> ==>vp[name->marko] ==>vp[name->m. a. rodriguez] gremlin> g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">creator</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">stephen</span><span class="delimiter">'</span></span>) @@ -2954,11 +2954,11 @@ gremlin> g.V(v).properties().properti gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).valueMap() ==>[<span class="key">date</span>:<span class="integer">2014</span>,<span class="key">creator</span>:stephen,<span class="key">acl</span>:<span class="directive">private</span>] ==>[<span class="key">date</span>:<span class="integer">2014</span>,<span class="key">creator</span>:stephen] -gremlin> g.V(v).property(<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">okram</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">7</b><span class="invisible">\</span> +gremlin> g.V(v).property(<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">okram</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(7)</b> ==>v[<span class="integer">0</span>] gremlin> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) ==>vp[name->okram] -gremlin> g.V(v).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">8</b><span class="invisible">\</span> +gremlin> g.V(v).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(8)</b> ==>okram</code></pre> </div> </div> @@ -2971,26 +2971,26 @@ gremlin> g.V(v).values(<span class="s <pre class="CodeRay highlight"><code data-lang="groovy">graph = TinkerGraph.open() g = traversal().withEmbedded(graph) v = g.addV().property(<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>).property(<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 a. rodriguez</span><span class="delimiter">'</span></span>).next() -g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> -v.property(list, <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">m. a. rodriguez</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() <span class="comment">//</span>// <b class="conum">(1)</b> +v.property(list, <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">m. a. rodriguez</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(2)</b> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).count() g.V(v).properties() g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>) -g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</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">private</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko</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">private</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(3)</b> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko a. rodriguez</span><span class="delimiter">'</span></span>) g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).hasValue(<span class="string"><span class="delimiter">'</span><span class="content">marko a. rodriguez</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>) g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).value() -g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).drop() <span class="invisible">//</span><b class="conum">4</b><span class="invisible">\</span> +g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).drop() <span class="comment">//</span>// <b class="conum">(4)</b> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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>).value() g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).has(<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">private</span><span class="delimiter">'</span></span>).value() g.V(v).properties() -g.V(v).properties().properties() <span class="invisible">//</span><b class="conum">5</b><span class="invisible">\</span> -g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">date</span><span class="delimiter">'</span></span>,<span class="integer">2014</span>) <span class="invisible">//</span><b class="conum">6</b><span class="invisible">\</span> +g.V(v).properties().properties() <span class="comment">//</span>// <b class="conum">(5)</b> +g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">date</span><span class="delimiter">'</span></span>,<span class="integer">2014</span>) <span class="comment">//</span>// <b class="conum">(6)</b> g.V(v).properties().property(<span class="string"><span class="delimiter">'</span><span class="content">creator</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">stephen</span><span class="delimiter">'</span></span>) g.V(v).properties().properties() g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).valueMap() -g.V(v).property(<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">okram</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">7</b><span class="invisible">\</span> +g.V(v).property(<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">okram</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(7)</b> g.V(v).properties(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) g.V(v).values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">8</b></code></pre> </div> @@ -3053,10 +3053,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-1611322139-9" type="radio" name="radio-set-1611322139-9" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-9" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-10" type="radio" name="radio-set-1611322139-9" class="tab-selector-2" /> - <label for="tab-1611322139-10" class="tab-label-2">groovy</label> + <input id="tab-1619619948-9" type="radio" name="radio-set-1619619948-9" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-9" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-10" type="radio" name="radio-set-1619619948-9" class="tab-selector-2" /> + <label for="tab-1619619948-10" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -3124,10 +3124,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-1611322139-11" type="radio" name="radio-set-1611322139-11" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322139-11" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322139-12" type="radio" name="radio-set-1611322139-11" class="tab-selector-2" /> - <label for="tab-1611322139-12" class="tab-label-2">groovy</label> + <input id="tab-1619619948-11" type="radio" name="radio-set-1619619948-11" class="tab-selector-1" checked="checked" /> + <label for="tab-1619619948-11" class="tab-label-1">console (groovy)</label> + <input id="tab-1619619948-12" type="radio" name="radio-set-1619619948-11" class="tab-selector-2" /> + <label for="tab-1619619948-12" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> @@ -3207,7 +3207,7 @@ a reference graph has immutable features <h2 id="transactions">Graph Transactions</h2> <div class="sectionbody"> <div class="paragraph"> -<p><span class="image" style="float: right"><img src="../images/gremlin-coins.png" alt="gremlin coins" width="100"></span> A <a href="http://en.wikipedia.org/wiki/Database_transaction">database transaction</a> +<p><span class="image right"><img src="../images/gremlin-coins.png" alt="gremlin coins" width="100"></span> A <a href="http://en.wikipedia.org/wiki/Database_transaction">database transaction</a> represents a unit of work to execute against the database. Transactions in TinkerPop can be considered in several contexts: transactions for <a href="#connecting-embedded">embedded graphs</a> via the Graph API, transactions for <a href="#connecting-gremlin-server">Gremlin Server</a> and transactions within @@ -3509,10 +3509,6 @@ server until the user closes it manually 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> </div> -<div class="paragraph"> -<p>While those sections provide some additional details, the short advice is to avoid scripts when possible and prefer -bytecode based requests.</p> -</div> </div> <div class="sect2"> <h3 id="tx-rgp">Remote Gremlin Providers</h3> @@ -3674,7 +3670,7 @@ the verbose syntax <code>__.in()</code> <div class="paragraph"> <p>There are five general steps, each having a traversal and a lambda representation, by which all other specific steps described later extend.</p> </div> -<table class="tableblock frame-all grid-all spread"> +<table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 45.4545%;"> <col style="width: 54.5455%;"> @@ -3763,26 +3759,26 @@ with lambdas, please read <a href="#a-no </ol> </div> <div class="paragraph"> -<p><span class="image" style="float: right"><img src="../images/map-lambda.png" alt="map lambda" width="150"></span></p> +<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-1611322226-1" type="radio" name="radio-set-1611322226-1" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-1" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-2" type="radio" name="radio-set-1611322226-1" class="tab-selector-2" /> - <label for="tab-1611322226-2" class="tab-label-2">groovy</label> + <input id="tab-1619620035-1" type="radio" name="radio-set-1619620035-1" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-1" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-2" type="radio" name="radio-set-1619620035-1" class="tab-selector-2" /> + <label for="tab-1619620035-2" 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(<span class="integer">1</span>).out().values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V(<span class="integer">1</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 class="conum">(1)</b> ==>lop ==>vadas ==>josh -gremlin> g.V(<span class="integer">1</span>).out().map {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)} <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +gremlin> g.V(<span class="integer">1</span>).out().map {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)} <span class="comment">//</span>// <b class="conum">(2)</b> ==>lop ==>vadas ==>josh -gremlin> g.V(<span class="integer">1</span>).out().map(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +gremlin> g.V(<span class="integer">1</span>).out().map(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span>// <b class="conum">(3)</b> ==>lop ==>vadas ==>josh</code></pre> @@ -3794,8 +3790,8 @@ gremlin> g.V(<span class="integer">1< <div class="tabcontent-2"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">g.V(<span class="integer">1</span>).out().values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> -g.V(<span class="integer">1</span>).out().map {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)} <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">g.V(<span class="integer">1</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 class="conum">(1)</b> +g.V(<span class="integer">1</span>).out().map {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)} <span class="comment">//</span>// <b class="conum">(2)</b> g.V(<span class="integer">1</span>).out().map(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">3</b></code></pre> </div> </div> @@ -3816,28 +3812,28 @@ g.V(<span class="integer">1</span>).out( </ol> </div> <div class="paragraph"> -<p><span class="image" style="float: right"><img src="../images/filter-lambda.png" alt="filter lambda" width="160"></span></p> +<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-1611322226-3" type="radio" name="radio-set-1611322226-3" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-3" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-4" type="radio" name="radio-set-1611322226-3" class="tab-selector-2" /> - <label for="tab-1611322226-4" class="tab-label-2">groovy</label> + <input id="tab-1619620035-3" type="radio" name="radio-set-1619620035-3" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-3" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-4" type="radio" name="radio-set-1619620035-3" class="tab-selector-2" /> + <label for="tab-1619620035-4" 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().filter {<span class="local-variable">it</span>.get().label() == <span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>} <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V().filter {<span class="local-variable">it</span>.get().label() == <span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>} <span class="comment">//</span>// <b class="conum">(1)</b> ==>v[<span class="integer">1</span>] ==>v[<span class="integer">2</span>] ==>v[<span class="integer">4</span>] ==>v[<span class="integer">6</span>] -gremlin> g.V().filter(label().is(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +gremlin> g.V().filter(label().is(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)) <span class="comment">//</span>// <b class="conum">(2)</b> ==>v[<span class="integer">1</span>] ==>v[<span class="integer">2</span>] ==>v[<span class="integer">4</span>] ==>v[<span class="integer">6</span>] -gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>) <span class="comment">//</span>// <b class="conum">(3)</b> ==>v[<span class="integer">1</span>] ==>v[<span class="integer">2</span>] ==>v[<span class="integer">4</span>] @@ -3850,8 +3846,8 @@ gremlin> g.V().hasLabel(<span class=" <div class="tabcontent-2"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">g.V().filter {<span class="local-variable">it</span>.get().label() == <span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>} <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> -g.V().filter(label().is(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">g.V().filter {<span class="local-variable">it</span>.get().label() == <span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>} <span class="comment">//</span>// <b class="conum">(1)</b> +g.V().filter(label().is(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>)) <span class="comment">//</span>// <b class="conum">(2)</b> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>) <span class="invisible">//</span><b class="conum">3</b></code></pre> </div> </div> @@ -3872,18 +3868,18 @@ g.V().hasLabel(<span class="string"><spa </ol> </div> <div class="paragraph"> -<p><span class="image" style="float: right"><img src="../images/side-effect-lambda.png" alt="side effect lambda" width="175"></span></p> +<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-1611322226-5" type="radio" name="radio-set-1611322226-5" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-5" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-6" type="radio" name="radio-set-1611322226-5" class="tab-selector-2" /> - <label for="tab-1611322226-6" class="tab-label-2">groovy</label> + <input id="tab-1619620035-5" type="radio" name="radio-set-1619620035-5" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-5" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-6" type="radio" name="radio-set-1619620035-5" class="tab-selector-2" /> + <label for="tab-1619620035-6" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).sideEffect(<span class="predefined-type">System</span>.out.&println) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).sideEffect(<span class="predefined-type">System</span>.out.&println) <span class="comment">//</span>// <b class="conum">(1)</b> v[<span class="integer">1</span>] ==>v[<span class="integer">1</span>] v[<span class="integer">2</span>] @@ -3893,7 +3889,7 @@ v[<span class="integer">4</span>] v[<span class="integer">6</span>] ==>v[<span class="integer">6</span>] gremlin> g.V().sideEffect(outE().count().store(<span class="string"><span class="delimiter">"</span><span class="content">o</span><span class="delimiter">"</span></span>)). - sideEffect(inE().count().store(<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>)).cap(<span class="string"><span class="delimiter">"</span><span class="content">o</span><span class="delimiter">"</span></span>,<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> + sideEffect(inE().count().store(<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>)).cap(<span class="string"><span class="delimiter">"</span><span class="content">o</span><span class="delimiter">"</span></span>,<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>) <span class="comment">//</span>// <b class="conum">(2)</b> ==>[<span class="key">i</span>:[<span class="integer">0</span>,<span class="integer">0</span>,<span class="integer">1</span>,<span class="integer">1</span>,<span class="integer">1</span>,<span class="integer">3</span>],<span class="key">o</span>:[<span class="integer">3</span>,<span class="integer">0</span>,<span class="integer">0</span>,<span class="integer">0</span>,<span class="integer">2</span>,<span class="integer">1</span>]]</code></pre> </div> </div> @@ -3903,7 +3899,7 @@ gremlin> g.V().sideEffect(outE().coun <div class="tabcontent-2"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).sideEffect(<span class="predefined-type">System</span>.out.&println) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">g.V().hasLabel(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).sideEffect(<span class="predefined-type">System</span>.out.&println) <span class="comment">//</span>// <b class="conum">(1)</b> g.V().sideEffect(outE().count().store(<span class="string"><span class="delimiter">"</span><span class="content">o</span><span class="delimiter">"</span></span>)). sideEffect(inE().count().store(<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>)).cap(<span class="string"><span class="delimiter">"</span><span class="content">o</span><span class="delimiter">"</span></span>,<span class="string"><span class="delimiter">"</span><span class="content">i</span><span class="delimiter">"</span></span>) <span class="invisible">//</span><b class="conum">2</b></code></pre> </div> @@ -3922,20 +3918,20 @@ g.V().sideEffect(outE().count().store(<s </ol> </div> <div class="paragraph"> -<p><span class="image" style="float: right"><img src="../images/branch-lambda.png" alt="branch lambda" width="180"></span></p> +<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-1611322226-7" type="radio" name="radio-set-1611322226-7" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-7" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-8" type="radio" name="radio-set-1611322226-7" class="tab-selector-2" /> - <label for="tab-1611322226-8" class="tab-label-2">groovy</label> + <input id="tab-1619620035-7" type="radio" name="radio-set-1619620035-7" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-7" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-8" type="radio" name="radio-set-1619620035-7" class="tab-selector-2" /> + <label for="tab-1619620035-8" 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().branch {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)}. option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)). - option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</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 class="conum">(1)</b> ==><span class="integer">29</span> ==>vadas ==>lop @@ -3944,7 +3940,7 @@ g.V().sideEffect(outE().count().store(<s ==>peter gremlin> g.V().branch(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)). option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)). - option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</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 class="conum">(2)</b> ==><span class="integer">29</span> ==>vadas ==>lop @@ -3953,7 +3949,7 @@ gremlin> g.V().branch(values(<span cl ==>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>), 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="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> + values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="comment">//</span>// <b class="conum">(3)</b> ==><span class="integer">29</span> ==>vadas ==>lop @@ -3970,10 +3966,10 @@ gremlin> g.V().choose(has(<span class <div class="content"> <pre class="CodeRay highlight"><code data-lang="groovy">g.V().branch {<span class="local-variable">it</span>.get().value(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)}. option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)). - option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</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 class="conum">(1)</b> g.V().branch(values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)). option(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>, values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>)). - option(none, values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</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 class="conum">(2)</b> g.V().choose(has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>), values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>), values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>)) <span class="invisible">//</span><b class="conum">3</b></code></pre> @@ -4070,32 +4066,32 @@ 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-1611322226-9" type="radio" name="radio-set-1611322226-9" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-9" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-10" type="radio" name="radio-set-1611322226-9" class="tab-selector-2" /> - <label for="tab-1611322226-10" class="tab-label-2">groovy</label> + <input id="tab-1619620035-9" type="radio" name="radio-set-1619620035-9" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-9" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-10" type="radio" name="radio-set-1619620035-9" class="tab-selector-2" /> + <label for="tab-1619620035-10" class="tab-label-2">groovy</label> <div class="tabcontent"> <div class="tabcontent-1"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).hasNext() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).hasNext() <span class="comment">//</span>// <b class="conum">(1)</b> ==><span class="predefined-constant">true</span> -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next() <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next() <span class="comment">//</span>// <b class="conum">(2)</b> ==>v[<span class="integer">3</span>] -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next(<span class="integer">2</span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next(<span class="integer">2</span>) <span class="comment">//</span>// <b class="conum">(3)</b> ==>v[<span class="integer">3</span>] ==>v[<span class="integer">5</span>] -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">nothing</span><span class="delimiter">'</span></span>).tryNext() <span class="invisible">//</span><b class="conum">4</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">nothing</span><span class="delimiter">'</span></span>).tryNext() <span class="comment">//</span>// <b class="conum">(4)</b> ==>Optional.empty -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toList() <span class="invisible">//</span><b class="conum">5</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toList() <span class="comment">//</span>// <b class="conum">(5)</b> ==>v[<span class="integer">3</span>] ==>v[<span class="integer">5</span>] ==>v[<span class="integer">3</span>] ==>v[<span class="integer">3</span>] -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toSet() <span class="invisible">//</span><b class="conum">6</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toSet() <span class="comment">//</span>// <b class="conum">(6)</b> ==>v[<span class="integer">3</span>] ==>v[<span class="integer">5</span>] -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toBulkSet() <span class="invisible">//</span><b class="conum">7</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toBulkSet() <span class="comment">//</span>// <b class="conum">(7)</b> ==>v[<span class="integer">3</span>] ==>v[<span class="integer">3</span>] ==>v[<span class="integer">3</span>] @@ -4103,14 +4099,14 @@ gremlin> g.V().out(<span class="strin gremlin> results = [<span class="string"><span class="delimiter">'</span><span class="content">blah</span><span class="delimiter">'</span></span>,<span class="integer">3</span>] ==>blah ==><span class="integer">3</span> -gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).fill(results) <span class="invisible">//</span><b class="conum">8</b><span class="invisible">\</span> +gremlin> g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).fill(results) <span class="comment">//</span>// <b class="conum">(8)</b> ==>blah ==><span class="integer">3</span> ==>v[<span class="integer">3</span>] ==>v[<span class="integer">5</span>] ==>v[<span class="integer">3</span>] ==>v[<span class="integer">3</span>] -gremlin> g.addV(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate() <span class="invisible">//</span><b class="conum">9</b><span class="invisible">\</span></code></pre> +gremlin> g.addV(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate() <span class="comment">//</span>// <b class="conum">(9)</b></code></pre> </div> </div> </div> @@ -4119,15 +4115,15 @@ gremlin> g.addV(<span class="string"> <div class="tabcontent-2"> <div class="listingblock"> <div class="content"> -<pre class="CodeRay highlight"><code data-lang="groovy">g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).hasNext() <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next() <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next(<span class="integer">2</span>) <span class="invisible">//</span><b class="conum">3</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">nothing</span><span class="delimiter">'</span></span>).tryNext() <span class="invisible">//</span><b class="conum">4</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toList() <span class="invisible">//</span><b class="conum">5</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toSet() <span class="invisible">//</span><b class="conum">6</b><span class="invisible">\</span> -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toBulkSet() <span class="invisible">//</span><b class="conum">7</b><span class="invisible">\</span> +<pre class="CodeRay highlight"><code data-lang="groovy">g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).hasNext() <span class="comment">//</span>// <b class="conum">(1)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next() <span class="comment">//</span>// <b class="conum">(2)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).next(<span class="integer">2</span>) <span class="comment">//</span>// <b class="conum">(3)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">nothing</span><span class="delimiter">'</span></span>).tryNext() <span class="comment">//</span>// <b class="conum">(4)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toList() <span class="comment">//</span>// <b class="conum">(5)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toSet() <span class="comment">//</span>// <b class="conum">(6)</b> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).toBulkSet() <span class="comment">//</span>// <b class="conum">(7)</b> results = [<span class="string"><span class="delimiter">'</span><span class="content">blah</span><span class="delimiter">'</span></span>,<span class="integer">3</span>] -g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).fill(results) <span class="invisible">//</span><b class="conum">8</b><span class="invisible">\</span> +g.V().out(<span class="string"><span class="delimiter">'</span><span class="content">created</span><span class="delimiter">'</span></span>).fill(results) <span class="comment">//</span>// <b class="conum">(8)</b> g.addV(<span class="string"><span class="delimiter">'</span><span class="content">person</span><span class="delimiter">'</span></span>).iterate() <span class="invisible">//</span><b class="conum">9</b></code></pre> </div> </div> @@ -4193,30 +4189,30 @@ worked on the same project together. Thi </div> </div> <section class="tabs tabs-2"> - <input id="tab-1611322226-11" type="radio" name="radio-set-1611322226-11" class="tab-selector-1" checked="checked" /> - <label for="tab-1611322226-11" class="tab-label-1">console (groovy)</label> - <input id="tab-1611322226-12" type="radio" name="radio-set-1611322226-11" class="tab-selector-2" /> - <label for="tab-1611322226-12" class="tab-label-2">groovy</label> + <input id="tab-1619620035-11" type="radio" name="radio-set-1619620035-11" class="tab-selector-1" checked="checked" /> + <label for="tab-1619620035-11" class="tab-label-1">console (groovy)</label> + <input id="tab-1619620035-12" type="radio" name="radio-set-1619620035-11" class="tab-selector-2" /> + <label for="tab-1619620035-12" 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(<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>)). - 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="invisible">//</span><b class="conum">1</b><span class="invisible">\</span>
[... 7143 lines stripped ...]
