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/>


Reply via email to