Added some additional notes on local() vs flatMap()

Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7b234b46
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7b234b46
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7b234b46

Branch: refs/heads/TINKERPOP-1642
Commit: 7b234b468149d729ad9367029499fdf155cd5d46
Parents: 99ad76d
Author: Stephen Mallette <[email protected]>
Authored: Wed Mar 15 13:54:09 2017 -0400
Committer: Stephen Mallette <[email protected]>
Committed: Wed Mar 15 13:54:09 2017 -0400

----------------------------------------------------------------------
 docs/src/reference/the-traversal.asciidoc | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7b234b46/docs/src/reference/the-traversal.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index eb93950..84887bc 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -949,6 +949,17 @@ The two traversals above look nearly identical save the 
inclusion of `local()` w
 in a object-local traversal. As such, the `order().by()` and the `limit()` 
refer to a particular object, not to the
 stream as a whole.
 
+Local Step is quite similar in functionality to <<general-steps,Flat Map 
Step>> where it can often be confused.
+`local()` propagates the traverser through the internal traversal as is 
without splitting/cloning it. Thus, its
+a “global traversal” with local processing. Its use is subtle and 
primarily finds application in compilation
+optimizations (i.e. when writing `TraversalStrategy` implementations. As 
another example consider:
+
+[gremlin-groovy,modern]
+----
+g.V().both().barrier().flatMap(groupCount().by("name"))
+g.V().both().barrier().local(groupCount().by("name"))
+----
+
 WARNING: The anonymous traversal of `local()` processes the current object 
"locally." In OLAP, where the atomic unit
 of computing is the vertex and its local "star graph," it is important that 
the anonymous traversal does not leave
 the confines of the vertex's star graph. In other words, it can not traverse 
to an adjacent vertex's properties or edges.

Reply via email to