You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/09/13 21:30:31 UTC

svn commit: r1760600 - /tinkerpop/site/gremlin.html

Author: okram
Date: Tue Sep 13 21:30:31 2016
New Revision: 1760600

URL: http://svn.apache.org/viewvc?rev=1760600&view=rev
Log:
updated gremlin.html with Gremlin-Python information and cleaned up the text a bit here and there given the Bytecode and withRemote() work. Also, fixed a bad URL that wasn't pointing to current/ docs.

Modified:
    tinkerpop/site/gremlin.html

Modified: tinkerpop/site/gremlin.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/gremlin.html?rev=1760600&r1=1760599&r2=1760600&view=diff
==============================================================================
--- tinkerpop/site/gremlin.html (original)
+++ tinkerpop/site/gremlin.html Tue Sep 13 21:30:31 2016
@@ -145,7 +145,7 @@
                   language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step 
                   performs an atomic operation on the data stream. Every step is either a <em>map</em>-step (transforming the objects in the stream), a <em>filter</em>-step (removing objects 
                   from the stream), or a <em>sideEffect</em>-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide 
-                  users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data.
+                  users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is <a href="http://arxiv.org/abs/1508.03843">Turing Complete</a>.
                </div>
                <div class="col-sm-2 col-md-2">
                   <img src="images/gremlin-head.png" width="100%">
@@ -370,7 +370,7 @@ g.V().hasLabel("person").
                </div>
             </div>
             <br/>
-            The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending up the underlying execution engine 
+            The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending on the underlying execution engine 
             (i.e. an OLTP graph database or an OLAP graph processor), the user's traversal is rewritten by a set of <em><a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a></em> which do their best to determine the most optimal execution
             plan based on an understanding of graph data access costs as well as the underlying data systems's unique capabilities (e.g. fetch the Gremlin vertex from the graph database's "name"-index). 
             Gremlin has been designed to give users flexibility in how they express their queries and graph system providers flexibility in how to efficiently evaluate traversals against their TinkerPop-enabled data system.
@@ -391,15 +391,14 @@ g.V().hasLabel("person").
                   "programming languages" are not as great as we are taught to believe. Gremlin unifies this divide because traversals can be written in any 
                   programming language that supports function <a href="https://en.wikipedia.org/wiki/Function_composition">composition</a> and <a href="https://en.wikipedia.org/wiki/Nested_function">nesting</a> (which every major programming language supports). In this way, the user's 
                   Gremlin traversals are written along side their application code and benefit from the advantages afforded by the host language and its tooling 
-                  (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/3.2.1-SNAPSHOT/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, 
-                  <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, <a href="https://github.com/emehrkay/gremlinpy">Gremlinpy</a> (Python). Both Gremlin-Java and Gremlin-Groovy are distributed by Apache TinkerPop, where Gremlin-Groovy supports interactive 
-                  queries and is what powers the Gremlin Console.
+                  (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>,
+                  <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, etc.
                </div>
                <div class="col-md-12">
                   <p><br/>The first example below shows a simple Java class. Note that the Gremlin traversal is expressed in Gremlin-Java and thus, is part of the user's application code. There is no need for the 
                      developer to create a <code>String</code> representation of their query in (yet) another language to ultimately pass that <code>String</code> to the graph computing system and be returned a result set. Instead, 
                      traversals are embedded in the user's host programming language and are on equal footing with all other application code. With Gremlin, users <strong>do not</strong> have to deal with the awkwardness exemplified 
-                     in exemplified in the second example below which is a common anti-pattern found throughout the industry.
+                     in the second example below which is a common anti-pattern found throughout the industry.
                   </p>
                </div>
                <br/><br/>
@@ -452,9 +451,10 @@ g.V().hasLabel("person").
                <div class="col-md-12">
                   <pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
 GraphTraversalSource g;
-g = graph.traversal();                                         // local or remote OLTP
-g = graph.traversal().withComputer(SparkGraphComputer.class);  // distributed OLAP
-g = graph.traversal().withComputer(GiraphGraphComputer.class); // distributed OLAP</code>
+g = graph.traversal();                                                         // local OLTP
+g = graph.traversal().withRemote(DriverRemoteConnection.using("server.yaml"))  // remote OLTP
+g = graph.traversal().withComputer(SparkGraphComputer.class);                  // distributed OLAP
+g = graph.traversal().withComputer(GiraphGraphComputer.class);                 // distributed OLAP</code>
 </pre>
                </div>
                <br/>