You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2018/01/08 14:19:42 UTC

[01/16] tinkerpop git commit: Fix invisible comments - CTR [Forced Update!]

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1860-master 7ad7d616e -> 6f1b8be8e (forced update)


Fix invisible comments - CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 85592bf9c93b5eafb62368538f2178ce9aef55fb
Parents: 9511dac
Author: Robert Dale <ro...@gmail.com>
Authored: Sun Dec 31 10:20:33 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Sun Dec 31 10:20:33 2017 -0500

----------------------------------------------------------------------
 docs/postprocessor/processor.awk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/85592bf9/docs/postprocessor/processor.awk
----------------------------------------------------------------------
diff --git a/docs/postprocessor/processor.awk b/docs/postprocessor/processor.awk
index e640273..18ada47 100644
--- a/docs/postprocessor/processor.awk
+++ b/docs/postprocessor/processor.awk
@@ -28,7 +28,7 @@ BEGIN {
 
 /<\/style>/ {
   if (!styled) {
-    print ".invisible {position: absolute; left: 9999px}"
+    print ".invisible {color: rgba(0,0,0,0); font-size: 0;}"
     styled=1
   }
 }


[10/16] tinkerpop git commit: TINKERPOP-1855 Updated Rexster links

Posted by sp...@apache.org.
TINKERPOP-1855 Updated Rexster links

Old links no longer resolved - pointed to github url instead CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: d56862ba0ffbb3d80d3375beaa9bba2c6e519829
Parents: e4c8e6a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 14:10:42 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 14:10:42 2018 -0500

----------------------------------------------------------------------
 docs/src/reference/gremlin-applications.asciidoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d56862ba/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 1c6843d..df05ead 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -368,7 +368,7 @@ and recommendation.
 * Provides a method for Non-JVM languages (e.g. Python, Javascript, etc.) to communicate with the TinkerPop stack.
 * Exposes numerous methods for extension and customization to include serialization options, remote commands, etc.
 
-NOTE: Gremlin Server is the replacement for link:http://rexster.tinkerpop.com[Rexster].
+NOTE: Gremlin Server is the replacement for link:https://github.com/tinkerpop/rexster[Rexster].
 
 NOTE: Please see the link:http://tinkerpop.apache.org/docs/x.y.z/dev/provider/[Provider Documentation] for information
 on how to develop a driver for Gremlin Server.
@@ -848,7 +848,7 @@ image:gremlin-rexster.png[width=225,float=left] While the default behavior for G
 WebSocket-based connection, it can also be configured to support link:http://en.wikipedia.org/wiki/Representational_state_transfer[REST].
 The REST endpoint provides for a communication protocol familiar to most developers, with a wide support of
 programming languages, tools and libraries for accessing it.  As a result, REST provides a fast way to get started
-with Gremlin Server.   It also may represent an easier upgrade path from link:http://rexster.tinkerpop.com/[Rexster]
+with Gremlin Server.   It also may represent an easier upgrade path from link:https://github.com/tinkerpop/rexster[Rexster]
 as the API for the endpoint is very similar to Rexster's link:https://github.com/tinkerpop/rexster/wiki/Gremlin-Extension[Gremlin Extension].
 
 Gremlin Server provides for a single REST endpoint - a Gremlin evaluator - which allows the submission of a Gremlin


[02/16] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 33a1aba2ead18091a6ca8b77cd6f97392e209107
Parents: 5b51d1b 85592bf
Author: Robert Dale <ro...@gmail.com>
Authored: Sun Dec 31 10:20:42 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Sun Dec 31 10:20:42 2017 -0500

----------------------------------------------------------------------
 docs/postprocessor/processor.awk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[03/16] tinkerpop git commit: Included data in assertion failure for python GLV tests CTR

Posted by sp...@apache.org.
Included data in assertion failure for python GLV tests CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: df624818c159b38b1fda3f94034e6ced2d710ed6
Parents: 85592bf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jan 4 08:37:46 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jan 4 08:37:46 2018 -0500

----------------------------------------------------------------------
 gremlin-python/src/main/jython/radish/feature_steps.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/df624818/gremlin-python/src/main/jython/radish/feature_steps.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py
index 5cb4b9a..452eaa4 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -177,7 +177,7 @@ def _any_assertion(data, result, ctx):
 
 def _table_assertion(data, result, ctx, ordered):
     # results from traversal should have the same number of entries as the feature data table
-    assert_that(len(result), equal_to(len(data)))
+    assert_that(len(result), equal_to(len(data)), "result:" + str(result))
 
     results_to_test = list(result)
 


[16/16] tinkerpop git commit: TINKERPOP-1860 Added deserializer for T in gremlin-python

Posted by sp...@apache.org.
TINKERPOP-1860 Added deserializer for T in gremlin-python

This allowed valueMap(true) to start working.


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 6f1b8be8ea28908de60ee4df4c201d15b755ab4a
Parents: 13f1adb
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Jan 8 09:19:00 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jan 8 09:19:00 2018 -0500

----------------------------------------------------------------------
 .../gremlin_python/structure/io/graphsonV3d0.py | 10 +++++++-
 gremlin-test/features/map/ValueMap.feature      | 24 ++++++++++----------
 2 files changed, 21 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6f1b8be8/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
index 265b227..5539448 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
@@ -27,7 +27,7 @@ from aenum import Enum
 
 from gremlin_python import statics
 from gremlin_python.statics import FloatType, FunctionType, IntType, LongType, TypeType, DictType, ListType, SetType
-from gremlin_python.process.traversal import Binding, Bytecode, P, Traversal, Traverser, TraversalStrategy
+from gremlin_python.process.traversal import Binding, Bytecode, P, Traversal, Traverser, TraversalStrategy, T
 from gremlin_python.structure.graph import Edge, Property, Vertex, VertexProperty, Path
 
 # When we fall back to a superclass's serializer, we iterate over this map.
@@ -534,3 +534,11 @@ class PathDeserializer(_GraphSONTypeIO):
     @classmethod
     def objectify(cls, d, reader):
         return Path(reader.toObject(d["labels"]), reader.toObject(d["objects"]))
+
+
+class TDeserializer(_GraphSONTypeIO):
+    graphson_type = "g:T"
+
+    @classmethod
+    def objectify(cls, d, reader):
+        return T[d]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6f1b8be8/gremlin-test/features/map/ValueMap.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/ValueMap.feature b/gremlin-test/features/map/ValueMap.feature
index 0860b15..c851e53 100644
--- a/gremlin-test/features/map/ValueMap.feature
+++ b/gremlin-test/features/map/ValueMap.feature
@@ -42,12 +42,12 @@ Feature: Step - valueMap()
     When iterated to list
     Then the result should be unordered
       | result |
-      | m[{"id": "v[marko].id", "label": "person", "name": ["marko"], "age": [29]}] |
-      | m[{"id": "v[josh].id", "label": "person", "name": ["josh"], "age": [32]}] |
-      | m[{"id": "v[peter].id", "label": "person", "name": ["peter"], "age": [35]}] |
-      | m[{"id": "v[vadas].id", "label": "person", "name": ["vadas"], "age": [27]}] |
-      | m[{"id": "v[lop].id", "label": "software", "name": ["lop"], "lang": ["java"]}] |
-      | m[{"id": "v[ripple].id", "label": "software", "name": ["ripple"], "lang": ["java"]}] |
+      | m[{"t[id]": "v[marko].id", "t[label]": "person", "name": ["marko"], "age": [29]}] |
+      | m[{"t[id]": "v[josh].id", "t[label]": "person", "name": ["josh"], "age": [32]}] |
+      | m[{"t[id]": "v[peter].id", "t[label]": "person", "name": ["peter"], "age": [35]}] |
+      | m[{"t[id]": "v[vadas].id", "t[label]": "person", "name": ["vadas"], "age": [27]}] |
+      | m[{"t[id]": "v[lop].id", "t[label]": "software", "name": ["lop"], "lang": ["java"]}] |
+      | m[{"t[id]": "v[ripple].id", "t[label]": "software", "name": ["ripple"], "lang": ["java"]}] |
 
   Scenario: g_V_valueMapXname_ageX
     Given the modern graph
@@ -74,12 +74,12 @@ Feature: Step - valueMap()
     When iterated to list
     Then the result should be unordered
       | result |
-      | m[{"id": "v[marko].id", "label": "person", "name": ["marko"], "age": [29]}] |
-      | m[{"id": "v[josh].id", "label": "person", "name": ["josh"], "age": [32]}] |
-      | m[{"id": "v[peter].id", "label": "person", "name": ["peter"], "age": [35]}] |
-      | m[{"id": "v[vadas].id", "label": "person", "name": ["vadas"], "age": [27]}] |
-      | m[{"id": "v[lop].id", "label": "software", "name": ["lop"]}] |
-      | m[{"id": "v[ripple].id", "label": "software", "name": ["ripple"]}] |
+      | m[{"t[id]": "v[marko].id", "t[label]": "person", "name": ["marko"], "age": [29]}] |
+      | m[{"t[id]": "v[josh].id", "t[label]": "person", "name": ["josh"], "age": [32]}] |
+      | m[{"t[id]": "v[peter].id", "t[label]": "person", "name": ["peter"], "age": [35]}] |
+      | m[{"t[id]": "v[vadas].id", "t[label]": "person", "name": ["vadas"], "age": [27]}] |
+      | m[{"t[id]": "v[lop].id", "t[label]": "software", "name": ["lop"]}] |
+      | m[{"t[id]": "v[ripple].id", "t[label]": "software", "name": ["ripple"]}] |
 
   Scenario: g_VX1X_outXcreatedX_valueMap
     Given the modern graph


[08/16] tinkerpop git commit: Update TinkerGraph docs to include 3.3.x addE() usage CTR

Posted by sp...@apache.org.
Update TinkerGraph docs to include 3.3.x addE() usage CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: e00b4d24d9a2a60f1dd7b019b5d1504a26f3bd85
Parents: ea14f09
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 08:33:50 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 08:33:50 2018 -0500

----------------------------------------------------------------------
 docs/src/reference/implementations-tinkergraph.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e00b4d24/docs/src/reference/implementations-tinkergraph.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/implementations-tinkergraph.asciidoc b/docs/src/reference/implementations-tinkergraph.asciidoc
index 775316a..b6b5bf4 100644
--- a/docs/src/reference/implementations-tinkergraph.asciidoc
+++ b/docs/src/reference/implementations-tinkergraph.asciidoc
@@ -47,7 +47,7 @@ Graph graph = TinkerGraph.open();
 GraphTraversalSource g = graph.traversal();
 Vertex marko = g.addV("person").property("name","marko").property("age",29).next();
 Vertex lop = g.addV("software").property("name","lop").property("lang","java").next();
-g.withSideEffect("l",lop).V(marko).addE("created").to('l').property("weight",0.6d).iterate();
+g.addE("created").from(marko).to(lop).property("weight",0.6d).iterate();
 ----
 
 The above Gremlin creates two vertices named "marko" and "lop" and connects them via a created-edge with a weight=0.6


[14/16] tinkerpop git commit: Merge branch 'TINKERPOP-1844'

Posted by sp...@apache.org.
Merge branch 'TINKERPOP-1844'


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: f20e2ed6354c02d5132f301b1aebbc698b05cbe8
Parents: de3f831 102c9b4
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Jan 8 07:39:32 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jan 8 07:39:32 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  5 +++
 docs/src/reference/gremlin-variants.asciidoc    |  7 +++++
 docs/src/upgrade/release-3.3.x.asciidoc         | 32 ++++++++++++++++++++
 .../gremlin_python/structure/io/graphsonV3d0.py |  6 ++--
 .../src/main/jython/radish/terrain.py           |  4 +--
 .../tests/structure/io/test_graphsonV3d0.py     |  7 +++--
 6 files changed, 55 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[07/16] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: ea14f09396a991ba40361e2ff4e31d2e7de5a0ce
Parents: e6d8df7 e4c8e6a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 08:28:22 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 08:28:22 2018 -0500

----------------------------------------------------------------------
 .../implementations-tinkergraph.asciidoc        | 42 ++++++++++++++++----
 1 file changed, 35 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[12/16] tinkerpop git commit: TINKERPOP-1850 Document the use of -1 in range() step CTR

Posted by sp...@apache.org.
TINKERPOP-1850 Document the use of -1 in range() step CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: fbcb044d34ad10e8ec88e0380c6cf0a57f002b09
Parents: d56862b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 15:08:59 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 15:08:59 2018 -0500

----------------------------------------------------------------------
 docs/src/reference/the-traversal.asciidoc                      | 6 ++++--
 .../gremlin/process/traversal/dsl/graph/GraphTraversal.java    | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fbcb044d/docs/src/reference/the-traversal.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc
index 6bf3059..741cda2 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -1684,13 +1684,15 @@ g.E().propertyMap()
 
 As traversers propagate through the traversal, it is possible to only allow a certain number of them to pass through
 with `range()`-step (*filter*). When the low-end of the range is not met, objects are continued to be iterated. When
-within the low (inclusive) and high (exclusive) range, traversers are emitted. Finally, when above the high range, the
-traversal breaks out of iteration.
+within the low (inclusive) and high (exclusive) range, traversers are emitted. When above the high range, the traversal
+breaks out of iteration. Finally, the use of `-1` on the high range will emit remaining traversers after the low range
+begins.
 
 [gremlin-groovy,modern]
 ----
 g.V().range(0,3)
 g.V().range(1,3)
+g.V().range(1, -1)
 g.V().repeat(both()).times(1000000).emit().range(6,10)
 ----
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fbcb044d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 29412b8..222fdab 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -1647,7 +1647,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
      * of {@code low} do not pass through and those that exceed the value of {@code high} will end the iteration.
      *
      * @param low  the number at which to start allowing objects through the stream
-     * @param high the number at which to end the stream
+     * @param high the number at which to end the stream - use {@code -1} to emit all remaining objects
      * @return the traversal with an appended {@link RangeGlobalStep}
      * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#range-step" target="_blank">Reference Documentation - Range Step</a>
      * @since 3.0.0-incubating
@@ -1664,7 +1664,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
      *
      * @param scope the scope of how to apply the {@code range}
      * @param low   the number at which to start allowing objects through the stream
-     * @param high  the number at which to end the stream
+     * @param high  the number at which to end the stream - use {@code -1} to emit all remaining objects
      * @return the traversal with an appended {@link RangeGlobalStep} or {@link RangeLocalStep} depending on {@code scope}
      * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#range-step" target="_blank">Reference Documentation - Range Step</a>
      * @since 3.0.0-incubating


[05/16] tinkerpop git commit: TINKERPOP-1844 Default GraphSON 3.0 for GLV tests in gremlin-python

Posted by sp...@apache.org.
TINKERPOP-1844 Default GraphSON 3.0 for GLV tests in gremlin-python

This is a breaking change because g:Set no longer returns a Set in python. It is coerced to List to account for numeric equality semantics of Java vs Python.


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 102c9b4300fae2f755c998ee1ed6ef101f85478c
Parents: e6d8df7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jan 4 09:26:57 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jan 4 09:26:57 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  5 +++
 docs/src/reference/gremlin-variants.asciidoc    |  7 +++++
 docs/src/upgrade/release-3.3.x.asciidoc         | 32 ++++++++++++++++++++
 .../gremlin_python/structure/io/graphsonV3d0.py |  6 ++--
 .../src/main/jython/radish/terrain.py           |  4 +--
 .../tests/structure/io/test_graphsonV3d0.py     |  7 +++--
 6 files changed, 55 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index ee0dc91..571cbda 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,6 +23,11 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 [[release-3-3-2]]
 === TinkerPop 3.3.2 (Release Date: NOT OFFICIALLY RELEASED YET)
 
+This release also includes changes from <<release-3-2-8, 3.2.8>>.
+
+* Defaulted GLV tests for gremlin-python to run for GraphSON 3.0.
+* In gremlin-python, the GraphSON 3.0 `g:Set` type is now deserialized to `List`.
+
 [[release-3-3-1]]
 === TinkerPop 3.3.1 (Release Date: December 17, 2017)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/docs/src/reference/gremlin-variants.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-variants.asciidoc b/docs/src/reference/gremlin-variants.asciidoc
index af72af8..c0a96f7 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -305,6 +305,13 @@ g.V().out().map(lambda: "x: len(x.get().value('name'))").sum().toList()
 <7> The default lambda language is changed back to Gremlin-Python.
 <8> If the `lambda`-prefix is not provided, then it is appended automatically in order to give a more natural look to the expression.
 
+=== Limitations
+
+* Traversals that return a `Set` will be coerced to a `List` in Python so that traversals return consistent results
+within a collection across different languages. In the case of Python, number equality is different from JVM languages
+which produces different `Set` results when those types are in use. If a `Set` is needed then convert `List` results
+to `Set` manually.
+
 [[gremlin-DotNet]]
 == Gremlin.Net
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/docs/src/upgrade/release-3.3.x.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.3.x.asciidoc b/docs/src/upgrade/release-3.3.x.asciidoc
index 7a95d54..d6f1d3e 100644
--- a/docs/src/upgrade/release-3.3.x.asciidoc
+++ b/docs/src/upgrade/release-3.3.x.asciidoc
@@ -21,6 +21,38 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 *Gremlin Symphony #40 in G Minor*
 
+== TinkerPop 3.3.2
+
+*Release Date: NOT OFFICIALLY RELEASED YET*
+
+Please see the link:https://github.com/apache/tinkerpop/blob/3.3.1/CHANGELOG.asciidoc#release-3-3-2[changelog] for a complete list of all the modifications that are part of this release.
+
+=== Upgrading for Users
+
+==== Gremlin Python Sets
+
+Graph traversals that return a `Set` from Java are now coerced to a `List` in Python. This change ensures that Python
+results match Java results for the same traversal. It is possible to see this problem in prior versions of
+gremlin-python where a `Set` of numbers of different types are returned. In Java, a set of:
+
+[source,text]
+----
+[1,1.0d,2,2.0d]
+----
+
+would be deserialized to the following in Python:
+
+[source,text]
+----
+[1,2]
+----
+
+Now that the Java `Set` is coerced to a `List` in Gremin Python, the Java `Set` can be fully represented. Users who
+require a `Set` will need to manually convert their `List` to a `Set`.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-1844[TINKERPOP-1844]
+
+
 == TinkerPop 3.3.1
 
 *Release Date: December 17, 2017*

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
index e1fcca4..265b227 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
@@ -428,9 +428,11 @@ class SetIO(_GraphSONTypeIO):
 
     @classmethod
     def objectify(cls, s, reader):
-        new_set = set()
+        # coerce to list here because Java might return numerics of different types which python won't recognize
+        # see comments of TINKERPOP-1844 for more details
+        new_set = []
         for obj in s:
-            new_set.add(reader.toObject(obj))
+            new_set.append(reader.toObject(obj))
         return new_set
 
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/gremlin-python/src/main/jython/radish/terrain.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/radish/terrain.py b/gremlin-python/src/main/jython/radish/terrain.py
index 418a060..d5a4c16 100644
--- a/gremlin-python/src/main/jython/radish/terrain.py
+++ b/gremlin-python/src/main/jython/radish/terrain.py
@@ -63,7 +63,7 @@ def prepare_static_traversal_source(features, marker):
 @before.each_scenario
 def prepare_traversal_source(scenario):
     # some tests create data - create a fresh remote to the empty graph and clear that graph prior to each test
-    remote = DriverRemoteConnection('ws://localhost:45940/gremlin', "ggraph", message_serializer=serializer.GraphSONSerializersV2d0())
+    remote = DriverRemoteConnection('ws://localhost:45940/gremlin', "ggraph", message_serializer=serializer.GraphSONSerializersV3d0())
     scenario.context.remote_conn["empty"] = remote
     g = Graph().traversal().withRemote(remote)
     g.V().drop().iterate()
@@ -81,7 +81,7 @@ def close_static_traversal_source(features, marker):
 
 
 def __create_remote(server_graph_name):
-    return DriverRemoteConnection('ws://localhost:45940/gremlin', server_graph_name, message_serializer=serializer.GraphSONSerializersV2d0())
+    return DriverRemoteConnection('ws://localhost:45940/gremlin', server_graph_name, message_serializer=serializer.GraphSONSerializersV3d0())
 
 
 def __create_lookup_v(remote):

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/102c9b43/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
index 37efd7b..16de67f 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
@@ -53,9 +53,12 @@ class TestGraphSONReader(object):
         x = self.graphson_reader.readObject(
             json.dumps({"@type": "g:Set", "@value": [{"@type": "g:Int32", "@value": 1},
                                                      {"@type": "g:Int32", "@value": 2},
+                                                     {"@type": "g:Float", "@value": 2.0},
                                                      "3"]}))
-        assert isinstance(x, set)
-        assert x == set([1, 2, "3"])
+        # coerce to list here because Java might return numerics of different types which python won't recognize
+        # see comments of TINKERPOP-1844 for more details
+        assert isinstance(x, list)
+        assert x == list([1, 2, 2.0, "3"])
         ##
         x = self.graphson_reader.readObject(
             json.dumps({"@type": "g:Map",


[09/16] tinkerpop git commit: Added Kelvin Lawrence to committer list CTR

Posted by sp...@apache.org.
Added Kelvin Lawrence to committer list CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 11a864de089a620b660ca9db96953712e3799736
Parents: e00b4d2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 09:34:08 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 09:34:08 2018 -0500

----------------------------------------------------------------------
 docs/site/home/index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/11a864de/docs/site/home/index.html
----------------------------------------------------------------------
diff --git a/docs/site/home/index.html b/docs/site/home/index.html
index 2cbaf96..80fd857 100644
--- a/docs/site/home/index.html
+++ b/docs/site/home/index.html
@@ -284,7 +284,7 @@ limitations under the License.
          <a name="committers"></a>
          <h3 id="committers">Apache TinkerPop Committers</h3>
          <img src="images/tinkerpop-logo-small.png" style="float:right" />TinkerPop seeks committers dedicated to the art of graph computing. TinkerPop committers bring solid theoretical,
-         development, testing, documentation, etc. skills to the group. Committers contribute to TinkerPop beyond the everchanging requirements of their day-to-day jobs and maintain
+         development, testing, documentation, etc. skills to the group. Committers contribute to TinkerPop beyond the ever-changing requirements of their day-to-day jobs and maintain
          responsibility for their contributions through time.
          <p/>
          <ul>
@@ -306,6 +306,7 @@ limitations under the License.
             <li><a href="https://github.com/robertdale">Robert Dale</a> (2016 - PMC): Gremlin Console/Server, documentation, mailing list support.</li>
             <li><a href="https://github.com/jorgebay">Jorge Bay</a> (2017 - Committer): JavaScript and .NET libraries, mailing list support.</li>
             <li><a href="https://github.com/FlorianHockmann/">Florian Hockmann</a> (2017 - Committer): .NET libraries, mailing list support.</li>
+            <li><a href="http://www.kelvinlawrence.net/">Kelvin Lawrence</a> (2017 - Committer): Documentation and mailing list support.</li>
          </ul>
       </div>
    </div>


[04/16] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: e6d8df7e138ec04c4c4a270e7e419dda5f4db478
Parents: 33a1aba df62481
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jan 4 08:38:29 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jan 4 08:38:29 2018 -0500

----------------------------------------------------------------------
 gremlin-python/src/main/jython/radish/feature_steps.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[11/16] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'

Conflicts:
	docs/src/reference/gremlin-applications.asciidoc


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 17da0afdc9aaf4eb2e02d9b455d465a1c12be9d9
Parents: 11a864d d56862b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 14:13:11 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 14:13:11 2018 -0500

----------------------------------------------------------------------
 docs/src/reference/gremlin-applications.asciidoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/17da0afd/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/reference/gremlin-applications.asciidoc
index 6f66f35,df05ead..df944c8
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@@ -865,16 -842,16 +865,16 @@@ can be passed to the `Client` instance 
  |username |The username to submit on requests that require authentication. |""
  |=========================================================
  
 -=== Connecting via REST
 +=== Connecting via HTTP
  
  image:gremlin-rexster.png[width=225,float=left] While the default behavior for Gremlin Server is to provide a
 -WebSocket-based connection, it can also be configured to support link:http://en.wikipedia.org/wiki/Representational_state_transfer[REST].
 -The REST endpoint provides for a communication protocol familiar to most developers, with a wide support of
 -programming languages, tools and libraries for accessing it.  As a result, REST provides a fast way to get started
 +WebSocket-based connection, it can also be configured to support plain HTTP web service.
 +The HTTP endpoint provides for a communication protocol familiar to most developers, with a wide support of
 +programming languages, tools and libraries for accessing it.  As a result, HTTP provides a fast way to get started
- with Gremlin Server.   It also may represent an easier upgrade path from link:http://rexster.tinkerpop.com/[Rexster]
+ with Gremlin Server.   It also may represent an easier upgrade path from link:https://github.com/tinkerpop/rexster[Rexster]
  as the API for the endpoint is very similar to Rexster's link:https://github.com/tinkerpop/rexster/wiki/Gremlin-Extension[Gremlin Extension].
  
 -Gremlin Server provides for a single REST endpoint - a Gremlin evaluator - which allows the submission of a Gremlin
 +Gremlin Server provides for a single HTTP endpoint - a Gremlin evaluator - which allows the submission of a Gremlin
  script as a request.  For each request, it returns a response containing the serialized results of that script.
  To enable this endpoint, Gremlin Server needs to be configured with the `HttpChannelizer`, which replaces the default. The `WsAndHttpChannelizer` may also be configured to enable both WebSockets and the REST endpoint.
  `WebSocketChannelizer`, in the configuration file:


[13/16] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: de3f831df25f938bbb88e2c1ddfc9865e04d6977
Parents: 17da0af fbcb044
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 15:09:28 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 15:09:28 2018 -0500

----------------------------------------------------------------------
 docs/src/reference/the-traversal.asciidoc                      | 6 ++++--
 .../gremlin/process/traversal/dsl/graph/GraphTraversal.java    | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/de3f831d/docs/src/reference/the-traversal.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/de3f831d/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------


[06/16] tinkerpop git commit: Update TinkerGraph docs to include production use cases CTR

Posted by sp...@apache.org.
Update TinkerGraph docs to include production use cases CTR


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: e4c8e6a18dc468cdc72e3ce08f953a89e1502687
Parents: df62481
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 5 08:27:38 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 5 08:27:38 2018 -0500

----------------------------------------------------------------------
 .../implementations-tinkergraph.asciidoc        | 42 ++++++++++++++++----
 1 file changed, 35 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e4c8e6a1/docs/src/reference/implementations-tinkergraph.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/implementations-tinkergraph.asciidoc b/docs/src/reference/implementations-tinkergraph.asciidoc
index 4ebafb0..775316a 100644
--- a/docs/src/reference/implementations-tinkergraph.asciidoc
+++ b/docs/src/reference/implementations-tinkergraph.asciidoc
@@ -29,16 +29,44 @@ limitations under the License.
 image:tinkerpop-character.png[width=100,float=left] TinkerGraph is a single machine, in-memory (with optional
 persistence), non-transactional graph engine that provides both OLTP and OLAP functionality. It is deployed with
 TinkerPop3 and serves as the reference implementation for other providers to study in order to understand the
-semantics of the various methods of the TinkerPop3 API. Constructing a simple graph in Java8 is presented below.
+semantics of the various methods of the TinkerPop3 API. Its status as a reference implementation does not however imply
+that it is not suitable for production. TinkerGraph has many practical use cases in production applications and their
+development. Some examples of TinkerGraph use cases include:
+
+* Ad-hoc analysis of large immutable graphs that fit in memory.
+* Extract subgraphs, from larger graphs that don't fit in memory, into TinkerGraph for further analysis or other
+purposes.
+* Use TinkerGraph as a sandbox to develop and debug complex traversals by simulating data from a larger graph inside
+a TinkerGraph.
+
+Constructing a simple graph using TinkerGraph in Java8 is presented below:
 
 [source,java]
-Graph g = TinkerGraph.open();
-Vertex marko = g.addVertex("name","marko","age",29);
-Vertex lop = g.addVertex("name","lop","lang","java");
-marko.addEdge("created",lop,"weight",0.6d);
+----
+Graph graph = TinkerGraph.open();
+GraphTraversalSource g = graph.traversal();
+Vertex marko = g.addV("person").property("name","marko").property("age",29).next();
+Vertex lop = g.addV("software").property("name","lop").property("lang","java").next();
+g.withSideEffect("l",lop).V(marko).addE("created").to('l').property("weight",0.6d).iterate();
+----
+
+The above Gremlin creates two vertices named "marko" and "lop" and connects them via a created-edge with a weight=0.6
+property. The addition of these two vertices and the edge between them could also be done in a single Gremlin statement
+as follows:
+
+[source,java]
+----
+g.addV("person").property("name","marko").property("age",29).as("m").
+  addV("software").property("name","lop").property("lang","java").as("l").
+  addE("created").from("m").to("l").property("weight",0.6d).iterate();
+----
+
+IMPORTANT: Pay attention to the fact that traversals end with `next()` or `iterate()`. These methods advance the
+objects in the traversal stream and without those methods, the traversal does nothing. Review the
+link:http://tinkerpop.apache.org/docs/x.y.z/tutorials/the-gremlin-console/#result-iteration[Result Iteration Section]
+of The Gremlin Console tutorial for more information.
 
-The above graph creates two vertices named "marko" and "lop" and connects them via a created-edge with a weight=0.6
-property. Next, the graph can be queried as such.
+Next, the graph can be queried as such.
 
 [source,java]
 g.V().has("name","marko").out("created").values("name")


[15/16] tinkerpop git commit: Merge branch 'TINKERPOP-1860' into TINKERPOP-1860-master

Posted by sp...@apache.org.
Merge branch 'TINKERPOP-1860' into TINKERPOP-1860-master

Conflicts:
	gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy
	gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 13f1adbd4a012f413adaa584530a78c258e2d92d
Parents: f20e2ed 0b94b50
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Jan 8 08:07:21 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jan 8 08:07:21 2018 -0500

----------------------------------------------------------------------
 .../src/main/jython/radish/feature_steps.py     |   8 +-
 gremlin-test/features/map/ValueMap.feature      |  32 ++++++
 .../traversal/step/map/ValueMapTest.java        | 106 ++++++++++++++++++-
 3 files changed, 141 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/13f1adbd/gremlin-python/src/main/jython/radish/feature_steps.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/13f1adbd/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
index 9c13d5a,d1f08ce..6962caf
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
@@@ -22,8 -22,7 +22,7 @@@ import org.apache.tinkerpop.gremlin.Loa
  import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
  import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
  import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
--import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
  import org.apache.tinkerpop.gremlin.structure.T;
  import org.apache.tinkerpop.gremlin.structure.Vertex;
  import org.junit.Test;
@@@ -33,9 -32,8 +32,15 @@@ import java.util.List
  import java.util.Map;
  
  import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+ import static org.hamcrest.core.Is.is;
 -import static org.junit.Assert.*;
++import static org.hamcrest.MatcherAssert.assertThat;
 +import static org.apache.tinkerpop.gremlin.structure.T.id;
 +import static org.apache.tinkerpop.gremlin.structure.T.label;
- import static org.junit.Assert.*;
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertNull;
++import static org.junit.Assert.assertNotNull;
++import static org.junit.Assert.assertTrue;
++import static org.junit.Assert.assertFalse;
  
  /**
   * @author Marko A. Rodriguez (http://markorodriguez.com)
@@@ -46,10 -44,12 +51,14 @@@ public abstract class ValueMapTest exte
  
      public abstract Traversal<Vertex, Map<String, List>> get_g_V_valueMap();
  
 -    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMapXtrueX();
++    public abstract Traversal<Vertex, Map<Object, Object>> get_g_V_valueMapXtrueX();
+ 
      public abstract Traversal<Vertex, Map<String, List>> get_g_V_valueMapXname_ageX();
  
 -    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMapXtrue_name_ageX();
 +    public abstract Traversal<Vertex, Map<Object, Object>> get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX();
 +
++    public abstract Traversal<Vertex, Map<Object, Object>> get_g_V_valueMapXtrue_name_ageX();
+ 
      public abstract Traversal<Vertex, Map<String, List<String>>> get_g_VX1X_outXcreatedX_valueMap(final Object v1Id);
  
      @Test
@@@ -84,6 -84,43 +93,43 @@@
  
      @Test
      @LoadGraphWith(MODERN)
+     public void g_V_valueMapXtrueX() {
 -        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMapXtrueX();
++        final Traversal<Vertex, Map<Object, Object>> traversal = get_g_V_valueMapXtrueX();
+         printTraversalForm(traversal);
+         int counter = 0;
+         while (traversal.hasNext()) {
+             counter++;
 -            final Map<String, Object> values = traversal.next();
++            final Map<Object, Object> values = traversal.next();
+             final String name = (String) ((List) values.get("name")).get(0);
+             assertEquals(4, values.size());
+             assertThat(values.containsKey(T.id), is(true));
+             if (name.equals("marko")) {
+                 assertEquals(29, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("josh")) {
+                 assertEquals(32, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("peter")) {
+                 assertEquals(35, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("vadas")) {
+                 assertEquals(27, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("lop")) {
+                 assertEquals("java", ((List) values.get("lang")).get(0));
+                 assertEquals("software", values.get(T.label));
+             } else if (name.equals("ripple")) {
+                 assertEquals("java", ((List) values.get("lang")).get(0));
+                 assertEquals("software", values.get(T.label));
+             } else {
+                 throw new IllegalStateException("It is not possible to reach here: " + values);
+             }
+         }
+         assertEquals(6, counter);
+     }
+ 
+     @Test
+     @LoadGraphWith(MODERN)
      public void g_V_valueMapXname_ageX() {
          final Traversal<Vertex, Map<String, List>> traversal = get_g_V_valueMapXname_ageX();
          printTraversalForm(traversal);
@@@ -119,6 -156,48 +165,48 @@@
  
      @Test
      @LoadGraphWith(MODERN)
+     public void g_V_valueMapXtrue_name_ageX() {
 -        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMapXtrue_name_ageX();
++        final Traversal<Vertex, Map<Object, Object>> traversal = get_g_V_valueMapXtrue_name_ageX();
+         printTraversalForm(traversal);
+         int counter = 0;
+         while (traversal.hasNext()) {
+             counter++;
 -            final Map<String, Object> values = traversal.next();
++            final Map<Object, Object> values = traversal.next();
+             final String name = (String) ((List) values.get("name")).get(0);
+             assertThat(values.containsKey(T.id), is(true));
+             if (name.equals("marko")) {
+                 assertEquals(4, values.size());
+                 assertEquals(29, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("josh")) {
+                 assertEquals(4, values.size());
+                 assertEquals(32, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("peter")) {
+                 assertEquals(4, values.size());
+                 assertEquals(35, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("vadas")) {
+                 assertEquals(4, values.size());
+                 assertEquals(27, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("lop")) {
+                 assertEquals(3, values.size());
+                 assertNull(values.get("lang"));
+                 assertEquals("software", values.get(T.label));
+             } else if (name.equals("ripple")) {
+                 assertEquals(3, values.size());
+                 assertNull(values.get("lang"));
+                 assertEquals("software", values.get(T.label));
+             } else {
+                 throw new IllegalStateException("It is not possible to reach here: " + values);
+             }
+         }
+         assertEquals(6, counter);
+     }
+ 
+     @Test
+     @LoadGraphWith(MODERN)
      public void g_VX1X_outXcreatedX_valueMap() {
          final Traversal<Vertex, Map<String, List<String>>> traversal = get_g_VX1X_outXcreatedX_valueMap(convertToVertexId("marko"));
          printTraversalForm(traversal);
@@@ -131,29 -210,6 +219,29 @@@
  
      }
  
 +    /**
 +     * TINKERPOP-1483
 +     */
 +    @Test
 +    @LoadGraphWith(MODERN)
 +    public void g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX() {
 +    	final Traversal<Vertex,Map<Object,Object>> gt=get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX();
 +    	int cnt = 0;
 +    	while(gt.hasNext()){
 +    		final Map<Object,Object> m = gt.next();
 +    		assertTrue(m.size() > 0);
 +    		for (Object o : m.keySet()){
 +    			assertNotNull(m.get(o));
 +    		}
 +    		assertTrue(m.containsKey(id));
 +    		assertTrue(m.containsKey(label));
 +    		assertEquals("person",m.get(label));
 +    		cnt++;
 +    	}
 +    	// check we had results
 +    	assertTrue(cnt > 0);
 +    }
-     
++
      public static class Traversals extends ValueMapTest {
          @Override
          public Traversal<Vertex, Map<String, List>> get_g_V_valueMap() {
@@@ -161,18 -217,23 +249,28 @@@
          }
  
          @Override
 -        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMapXtrueX() {
++        public Traversal<Vertex, Map<Object, Object>> get_g_V_valueMapXtrueX() {
+             return g.V().valueMap(true);
+         }
+ 
+         @Override
          public Traversal<Vertex, Map<String, List>> get_g_V_valueMapXname_ageX() {
              return g.V().valueMap("name", "age");
          }
  
          @Override
 -        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMapXtrue_name_ageX() {
++        public Traversal<Vertex, Map<Object, Object>> get_g_V_valueMapXtrue_name_ageX() {
+             return g.V().valueMap(true, "name", "age");
+         }
+ 
+         @Override
          public Traversal<Vertex, Map<String, List<String>>> get_g_VX1X_outXcreatedX_valueMap(final Object v1Id) {
              return g.V(v1Id).out("created").valueMap();
          }
-         
++
 +        @Override
 +        public Traversal<Vertex, Map<Object, Object>> get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX() {
 +        	return g.V().hasLabel("person").filter(__.outE("created")).valueMap(true);
 +        }
      }
  }