Merge branch 'TINKERPOP-2401' into 3.4-dev
diff --git a/.gitignore b/.gitignore
index 624e901..1db44b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,6 +22,7 @@
__version__.py
.glv
settings.xml
+package-lock.json
tools/
[Dd]ebug/
[Rr]elease/
diff --git a/.travis.yml b/.travis.yml
index 5295b48..19050c3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,23 +42,27 @@
- stage: "tests"
script: "mvn clean install -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
name: "mvn clean install"
- - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv && mvn clean install -q -DskipTests && mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
+ - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv && mvn clean install -q -DskipTests -Dci && mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
name: ".net"
- - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests && mvn verify -pl gremlin-python"
+ - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests -Dci && mvn verify -pl gremlin-python"
name: "python"
- - script: "mvn clean install -q -DskipTests && mvn verify -pl :gremlin-javascript"
+ - script: "mvn clean install -q -DskipTests -Dci && mvn verify -pl :gremlin-javascript"
name: "javascript"
- script:
- - "mvn clean install -q -DskipTests"
+ - "mvn clean install -q -DskipTests -Dci"
- "mvn verify -pl :gremlin-server -DskipTests -DskipIntegrationTests=false -DincludeNeo4j"
name: "gremlin server"
- script:
- - "mvn clean install -q -DskipTests"
+ - "mvn clean install -q -DskipTests -Dci"
- "mvn verify -pl :gremlin-console -DskipTests -DskipIntegrationTests=false"
name: "gremlin console"
- script:
- - "mvn clean install -q -DskipTests"
- - "travis_wait 60 mvn verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false"
- name: "spark"
+ - "mvn clean install -q -DskipTests -Dci"
+ - "travis_wait 60 mvn verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false '-Dit.test=*IntegrateTest,!SparkGryoSerializerGraphComputerProcessIntegrateTest'"
+ name: "spark - core"
+ - script:
+ - "mvn clean install -q -DskipTests -Dci"
+ - "travis_wait 60 mvn verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false -Dit.test=SparkGryoSerializerGraphComputerProcessIntegrateTest"
+ name: "spark - gryo"
- script: "docker/build.sh"
name: "docker"
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 7157cd4..2f5b903 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,8 +28,11 @@
* Delegated handling of erroneous response to the worker thread pool instead of event loop thread pool in Java Driver.
* Removed `Connection` from `Connection Pool` when server closes a connection with no pending requests in Java Driver.
* Improved initialization time of Java Driver if the default serializer is replaced.
+* Deprecated `withGraph()` in favor of `withEmbedded()` on `AnonymousTraversalSource`.
* Fixed bug in Javascript `Translator` that wasn't handling child traversals well.
* Fixed an iterator leak in `HasContainer`.
+* Avoid creating unnecessary detached objects in JVM
+* Added `Traversal.getTraverserSetSupplier()` to allow providers to supply their own `TraverserSet` instances.
[[release-3-4-8]]
=== TinkerPop 3.4.8 (Release Date: August 3, 2020)
diff --git a/docs/site/home/gremlin.html b/docs/site/home/gremlin.html
index 40f2e6e..a8a6cd3 100644
--- a/docs/site/home/gremlin.html
+++ b/docs/site/home/gremlin.html
@@ -293,7 +293,7 @@
public void run(String name, String property) {
Graph graph = GraphFactory.open(...);
- GraphTraversalSource g = graph.traversal();
+ GraphTraversalSource g = traversal().withEmbedded(graph);
double avg = g.V().has("name",name).
out("knows").out("created").
@@ -337,9 +337,9 @@
<div class="col-md-12">
<pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
GraphTraversalSource g;
-g = graph.traversal(); // local OLTP
-g = traversal().withRemote(DriverRemoteConnection.using("localhost", 8182)) // remote
-g = graph.traversal().withComputer(SparkGraphComputer.class); // distributed OLAP</code>
+g = traversal().withEmbedded(graph); // local OLTP
+g = traversal().withRemote(DriverRemoteConnection.using("localhost", 8182)) // remote
+g = traversal().withEmbedded(graph).withComputer(SparkGraphComputer.class); // distributed OLAP</code>
</pre>
</div>
<br/>
diff --git a/docs/src/dev/provider/index.asciidoc b/docs/src/dev/provider/index.asciidoc
index 293e903..863a799 100644
--- a/docs/src/dev/provider/index.asciidoc
+++ b/docs/src/dev/provider/index.asciidoc
@@ -871,7 +871,7 @@
{ "requestId":"1d6d02bd-8e56-421d-9438-3bd6d0079ff1",
"op":"eval",
"processor":"",
- "args":{"gremlin":"g.traversal().V(x).out()",
+ "args":{"gremlin":"g.V(x).out()",
"bindings":{"x":1},
"language":"gremlin-groovy"}}
----
@@ -896,7 +896,7 @@
When Gremlin Server receives that request, it will decode it given the "mime type", pass it to the requested
`OpProcessor` which will execute the `op` defined in the message. In this case, it will evaluate the script
-`g.traversal().V(x).out()` using the `bindings` supplied in the `args` and stream back the results in a series of
+`g.V(x).out()` using the `bindings` supplied in the `args` and stream back the results in a series of
`ResponseMessages`. A `ResponseMessage` looks like this:
[width="100%",cols="3,10",options="header"]
@@ -1094,7 +1094,7 @@
cluster = Cluster.open()
client = cluster.connect()
aliased = client.alias("g")
-g = org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph.instance().traversal() <1>
+g = traversal().withEmbedded(org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph.instance()) <1>
rs = aliased.submit(g.V().both().barrier().both().barrier()).all().get() <2>
aliased.submit(g.V().both().barrier().both().barrier().count()).all().get().get(0).getInt() <3>
rs.collect{[value: it.getObject().get(), bulk: it.getObject().bulk()]} <4>
diff --git a/docs/src/recipes/centrality.asciidoc b/docs/src/recipes/centrality.asciidoc
index 1ddbef0..c5e19a2 100644
--- a/docs/src/recipes/centrality.asciidoc
+++ b/docs/src/recipes/centrality.asciidoc
@@ -115,7 +115,6 @@
[gremlin-groovy,modern]
----
-g = TinkerFactory.createModern().traversal()
g.withSack(1f).V().as("v"). <1>
repeat(both().simplePath().as("v")).emit(). <2>
filter(project("x","y","z").by(select(first, "v")). <3>
@@ -185,6 +184,6 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().pageRank().by('pageRank').values('pageRank')
----
diff --git a/docs/src/recipes/olap-spark-yarn.asciidoc b/docs/src/recipes/olap-spark-yarn.asciidoc
index 5101cf3..f5e8558 100644
--- a/docs/src/recipes/olap-spark-yarn.asciidoc
+++ b/docs/src/recipes/olap-spark-yarn.asciidoc
@@ -105,7 +105,7 @@
conf.setProperty('gremlin.spark.persistContext', 'true')
hdfs.copyFromLocal('data/tinkerpop-modern.kryo', 'tinkerpop-modern.kryo')
graph = GraphFactory.open(conf)
-g = graph.traversal().withComputer(SparkGraphComputer)
+g = traversal().withEmbedded(graph).withComputer(SparkGraphComputer)
g.V().group().by(values('name')).by(both().count())
----
diff --git a/docs/src/reference/compilers.asciidoc b/docs/src/reference/compilers.asciidoc
index 5b375b0..a548bb3 100644
--- a/docs/src/reference/compilers.asciidoc
+++ b/docs/src/reference/compilers.asciidoc
@@ -67,7 +67,7 @@
[gremlin-groovy,modern]
----
graph = TinkerFactory.createModern()
-g = graph.traversal(SparqlTraversalSource) <1>
+g = traversal(SparqlTraversalSource).withEmbedded(graph) <1>
g.sparql("""SELECT ?name ?age
WHERE { ?person v:name ?name . ?person v:age ?age }
ORDER BY ASC(?age)""") <2>
@@ -388,7 +388,7 @@
[gremlin-groovy,theCrew]
----
-g = graph.traversal(SparqlTraversalSource)
+g = traversal(SparqlTraversalSource).withEmbedded(graph)
g.sparql("""SELECT ?name ?startTime
WHERE {
?person v:name "daniel" .
@@ -422,7 +422,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal(SparqlTraversalSource)
+g = traversal(SparqlTraversalSource).withEmbedded(graph)
g.sparql("SELECT ?name ?age WHERE { ?person v:name ?name . ?person v:age ?age }")
g.sparql("SELECT ?name ?age WHERE { ?person v:name ?name . ?person v:age ?age }").select("name")
g.sparql("SELECT * WHERE { }").out("knows").values("name")
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index e2df723..0617aab 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -109,7 +109,7 @@
[gremlin-groovy]
----
-g = TinkerFactory.createModern().traversal()
+g = traversal().withEmbedded(TinkerFactory.createModern())
g.V()
g.V().values('name')
g.V().has('name','marko').out('knows').values('name')
@@ -296,7 +296,7 @@
[source,groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().each { println it }
----
@@ -322,7 +322,7 @@
[source,groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().has('name',args[0]).each { println it }
----
@@ -362,7 +362,7 @@
[source,groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
----
and then start Gremlin Console as follows:
@@ -1239,7 +1239,7 @@
----
graph = TinkerGraph.open()
graph.createIndex("username",Vertex.class)
-credentials = graph.traversal(CredentialTraversalSource.class)
+credentials = traversal(CredentialTraversalSource.class).withEmbedded(graph)
credentials.user("stephen","password")
credentials.user("daniel","better-password")
credentials.user("marko","rainbow-dash")
@@ -1845,7 +1845,7 @@
[source,groovy]
----
-globals << [g : graph.traversal().withStrategies(ReferenceElementStrategy.instance())]
+globals << [g : traversal().withEmbedded(graph).withStrategies(ReferenceElementStrategy.instance())]
----
This configuration is global to Gremlin Server and therefore all methods of connection will always return elements
diff --git a/docs/src/reference/gremlin-variants.asciidoc b/docs/src/reference/gremlin-variants.asciidoc
index 1013c8a..934e4ae 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -109,7 +109,7 @@
[source,java]
----
Graph graph = ...;
-GraphTraversalSource g = graph.traversal();
+GraphTraversalSource g = traversal().withEmbedded(graph);
----
Using "g" it is then possible to start writing Gremlin. The "g" allows for the setting of many configuration options
@@ -527,7 +527,7 @@
[source,java]
----
-SocialTraversalSource social = graph.traversal(SocialTraversalSource.class);
+SocialTraversalSource social = traversal(SocialTraversalSource.class).withEmbedded(graph);
social.V().has("name","marko").knows("josh");
----
@@ -579,7 +579,7 @@
[source,java]
----
-SocialTraversalSource social = graph.traversal(SocialTraversalSource.class);
+SocialTraversalSource social = traversal(SocialTraversalSource.class).withEmbedded(graph);
social.persons("marko").knows("josh");
----
@@ -1004,7 +1004,7 @@
[source,python]
----
-social = Graph().traversal(SocialTraversalSource).withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
+social = traversal(SocialTraversalSource).withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
social.persons("marko").knows("josh")
social.persons("marko").youngestFriendsAge()
social.persons().filter(__.createdAtLeast(2)).count()
diff --git a/docs/src/reference/implementations-hadoop-start.asciidoc b/docs/src/reference/implementations-hadoop-start.asciidoc
index 4dcd13b..0d0a53b 100644
--- a/docs/src/reference/implementations-hadoop-start.asciidoc
+++ b/docs/src/reference/implementations-hadoop-start.asciidoc
@@ -148,7 +148,7 @@
hdfs.copyFromLocal('data/tinkerpop-modern.kryo', 'tinkerpop-modern.kryo')
hdfs.ls()
graph = GraphFactory.open('conf/hadoop/hadoop-gryo.properties')
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().count()
g.V().out().out().values('name')
g.V().group().by{it.value('name')[1]}.by('name').next()
diff --git a/docs/src/reference/implementations-neo4j.asciidoc b/docs/src/reference/implementations-neo4j.asciidoc
index a94b732..612ba31 100644
--- a/docs/src/reference/implementations-neo4j.asciidoc
+++ b/docs/src/reference/implementations-neo4j.asciidoc
@@ -76,7 +76,7 @@
[gremlin-groovy]
----
graph = Neo4jGraph.open('/tmp/neo4j')
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
graph.cypher("CREATE INDEX ON :person(name)")
graph.tx().commit() <1>
g.addV('person').property('name','marko')
@@ -93,7 +93,7 @@
[gremlin-groovy]
----
graph = Neo4jGraph.open('/tmp/neo4j')
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
g.tx().commit()
clock(1000) {g.V().hasLabel('artist').has('name','Garcia').iterate()} <1>
@@ -124,7 +124,7 @@
[gremlin-groovy]
----
graph = Neo4jGraph.open('/tmp/neo4j')
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/tinkerpop-modern.kryo').read().iterate()
graph.cypher('MATCH (a {name:"marko"}) RETURN a')
graph.cypher('MATCH (a {name:"marko"}) RETURN a').select('a').out('knows').values('name')
@@ -155,7 +155,7 @@
[gremlin-groovy]
----
graph = Neo4jGraph.open('/tmp/neo4j')
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
vertex = (Neo4jVertex) g.addV('human::animal').next() <1>
vertex.label() <2>
vertex.labels() <3>
@@ -215,7 +215,7 @@
----
gremlin> graph = GraphFactory.open('neo4j.properties')
==>neo4jgraph[community single [/tmp/neo4j]]
-gremlin> g = graph.traversal()
+gremlin> g = traversal().withEmbedded(graph)
==>graphtraversalsource[neo4jgraph[community single [/tmp/neo4j]], standard]
----
diff --git a/docs/src/reference/implementations-spark.asciidoc b/docs/src/reference/implementations-spark.asciidoc
index 808129f..8a513b1 100644
--- a/docs/src/reference/implementations-spark.asciidoc
+++ b/docs/src/reference/implementations-spark.asciidoc
@@ -44,7 +44,7 @@
[gremlin-groovy]
----
graph = GraphFactory.open('conf/hadoop/hadoop-gryo.properties')
-g = graph.traversal().withComputer(SparkGraphComputer)
+g = traversal().withEmbedded(graph).withComputer(SparkGraphComputer)
g.V().count()
g.V().out().out().values('name')
----
@@ -54,7 +54,7 @@
[gremlin-groovy]
----
graph = GraphFactory.open('conf/hadoop/hadoop-gryo.properties')
-g = graph.traversal().withComputer(SparkGraphComputer)
+g = traversal().withEmbedded(graph).withComputer(SparkGraphComputer)
:remote connect tinkerpop.hadoop graph g
:> g.V().group().by{it.value('name')[1]}.by('name')
----
diff --git a/docs/src/reference/implementations-tinkergraph.asciidoc b/docs/src/reference/implementations-tinkergraph.asciidoc
index cc5e6b2..3384f55 100644
--- a/docs/src/reference/implementations-tinkergraph.asciidoc
+++ b/docs/src/reference/implementations-tinkergraph.asciidoc
@@ -44,7 +44,7 @@
[source,java]
----
Graph graph = TinkerGraph.open();
-GraphTraversalSource g = graph.traversal();
+GraphTraversalSource g = traversal().withEmbedded(graph);
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.addE("created").from(marko).to(lop).property("weight",0.6d).iterate();
@@ -89,11 +89,11 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
clock(1000) {g.V().has('name','Garcia').iterate()} <1>
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
graph.createIndex('name',Vertex.class)
g.io('data/grateful-dead.xml').read().iterate()
clock(1000){g.V().has('name','Garcia').iterate()} <2>
@@ -158,13 +158,13 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io("data/tinkerpop-crew.kryo").read().iterate()
g.V().properties()
conf = new BaseConfiguration()
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality","list")
graph = TinkerGraph.open(conf)
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io("data/tinkerpop-crew.kryo").read().iterate()
g.V().properties()
----
diff --git a/docs/src/reference/intro.asciidoc b/docs/src/reference/intro.asciidoc
index ebc0e9b..555bea1 100644
--- a/docs/src/reference/intro.asciidoc
+++ b/docs/src/reference/intro.asciidoc
@@ -222,7 +222,7 @@
-----oOOo-(3)-oOOo-----
gremlin> graph = TinkerFactory.createModern() // <1>
==>tinkergraph[vertices:6 edges:6]
-gremlin> g = graph.traversal() // <2>
+gremlin> g = traversal().withEmbedded(graph) // <2>
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().has('name','marko').out('knows').values('name') // <3>
==>vadas
@@ -325,11 +325,12 @@
[source,java]
Graph graph = TinkerGraph.open();
-The "graph" then spawns a `GraphTraversalSource` as follows and typically, by convention, this variable is named "g":
+The "graph" is then used to spawn a `GraphTraversalSource` as follows and typically, by convention, this variable is
+named "g":
[source,java]
----
-GraphTraversalSource g = graph.traversal();
+GraphTraversalSource g = traversal().withEmbedded(graph);
List<Vertex> vertices = g.V().toList()
----
diff --git a/docs/src/reference/the-graph.asciidoc b/docs/src/reference/the-graph.asciidoc
index d741c1b..91b4d95 100644
--- a/docs/src/reference/the-graph.asciidoc
+++ b/docs/src/reference/the-graph.asciidoc
@@ -33,7 +33,7 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.addV('person')
----
@@ -117,7 +117,7 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
v = g.addV().property('name','marko').property('name','marko a. rodriguez').next()
g.V(v).properties('name').count() <1>
v.property(list, 'name', 'm. a. rodriguez') <2>
@@ -290,7 +290,7 @@
----
gremlin> graph = Neo4jGraph.open('/tmp/neo4j')
==>neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]]
-gremlin> g = graph.traversal()
+gremlin> g = traversal().withEmbedded(graph)
==>graphtraversalsource[neo4jgraph[community single [/tmp/neo4j]], standard]
gremlin> graph.features()
==>FEATURES
@@ -340,7 +340,7 @@
[source,java]
----
-GraphTraversalSource g = graph.traversal();
+GraphTraversalSource g = traversal().withEmbedded(graph);
g.addV("person").("name","stephen").iterate();
Thread t1 = new Thread(() -> {
@@ -374,7 +374,7 @@
[source,java]
----
Graph threaded = graph.tx().createThreadedTx();
-GraphTraversalSource g = graph.traversal();
+GraphTraversalSource g = traversal().withEmbedded(graph);
g.addV("person").("name","stephen").iterate();
Thread t1 = new Thread(() -> {
diff --git a/docs/src/reference/the-graphcomputer.asciidoc b/docs/src/reference/the-graphcomputer.asciidoc
index f9b4dd5..25da35e 100644
--- a/docs/src/reference/the-graphcomputer.asciidoc
+++ b/docs/src/reference/the-graphcomputer.asciidoc
@@ -80,7 +80,7 @@
----
result = graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
result.memory().runtime
-g = result.graph().traversal()
+g = traversal().withEmbedded(result.graph())
g.V().elementMap()
----
@@ -137,7 +137,7 @@
graph = TinkerFactory.createModern()
result = graph.compute().program(PeerPressureVertexProgram.build().create()).mapReduce(ClusterPopulationMapReduce.build().create()).submit().get()
result.memory().get('clusterPopulation')
-g = result.graph().traversal()
+g = traversal().withEmbedded(result.graph())
g.V().values(PeerPressureVertexProgram.CLUSTER).groupCount().next()
g.V().elementMap()
----
@@ -367,7 +367,7 @@
----
result = graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
result.memory().runtime
-g = result.graph().traversal()
+g = traversal().withEmbedded(result.graph())
g.V().elementMap()
----
@@ -375,7 +375,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().pageRank().elementMap()
g.V().pageRank().by('pageRank').times(5).order().by('pageRank').elementMap()
----
@@ -398,7 +398,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().peerPressure().by('cluster').elementMap()
g.V().peerPressure().by(outE('knows')).by('cluster').elementMap()
----
@@ -495,9 +495,9 @@
[gremlin-groovy,modern]
----
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().both().hasLabel('person').values('age').groupCount().next() // OLTP
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().both().hasLabel('person').values('age').groupCount().next() // OLAP
----
diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc
index 735bec5..4c56e45 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -475,9 +475,9 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
-g = graph.traversal().withoutStrategies(LazyBarrierStrategy) <1>
+g = traversal().withEmbedded(graph).withoutStrategies(LazyBarrierStrategy) <1>
clockWithResult(1){g.V().both().both().both().count().next()} <2>
clockWithResult(1){g.V().repeat(both()).times(3).count().next()} <3>
clockWithResult(1){g.V().both().barrier().both().barrier().both().barrier().count().next()} <4>
@@ -498,7 +498,7 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal() <1>
+g = traversal().withEmbedded(graph) <1>
g.io('data/grateful-dead.xml').read().iterate()
clockWithResult(1){g.V().both().both().both().count().next()}
g.V().both().both().both().count().iterate().toString() <2>
@@ -696,7 +696,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().
connectedComponent().
with(ConnectedComponent.propertyName, 'component').
@@ -1644,7 +1644,7 @@
[gremlin-groovy]
----
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
g.V().match(
__.as('a').has('name', 'Garcia'),
@@ -2114,7 +2114,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().pageRank().by('pageRank').values('pageRank')
g.V().hasLabel('person').
pageRank().
@@ -2131,7 +2131,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().hasLabel('person').
pageRank().
with(PageRank.edges, __.outE('knows')).
@@ -2249,7 +2249,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().peerPressure().by('cluster').values('cluster')
g.V().hasLabel('person').
peerPressure().
@@ -2420,7 +2420,7 @@
[gremlin-groovy,modern]
----
-g = graph.traversal().withComputer()
+g = traversal().withEmbedded(graph).withComputer()
g.V().hasLabel('person').
program(PageRankVertexProgram.build().property('rank').create(graph)).
order().by('rank', asc).
@@ -2797,7 +2797,7 @@
[gremlin-groovy]
----
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
g.V().hasLabel('song').out('followedBy').groupCount().by('name').
order(local).by(values,desc).limit(local, 5)
@@ -2811,7 +2811,7 @@
[gremlin-groovy]
----
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.io('data/grateful-dead.xml').read().iterate()
g.V().hasLabel('song').out('sungBy').groupCount().by('name') <1>
g.V().hasLabel('song').out('sungBy').groupCount().by('name').select(values) <2>
@@ -3050,7 +3050,7 @@
[gremlin-groovy,modern]
----
subGraph = g.E().hasLabel('knows').subgraph('subGraph').cap('subGraph').next() <1>
-sg = subGraph.traversal()
+sg = traversal().withEmbedded(subGraph)
sg.E() <2>
----
@@ -3062,7 +3062,7 @@
[gremlin-groovy,modern]
----
subGraph = g.V(3).repeat(__.inE().subgraph('subGraph').outV()).times(3).cap('subGraph').next() <1>
-sg = subGraph.traversal()
+sg = traversal().withEmbedded(subGraph)
sg.E()
----
@@ -3075,8 +3075,8 @@
----
t = g.V().outE('knows').subgraph('knowsG').inV().outE('created').subgraph('createdG').
inV().inE('created').subgraph('createdG').iterate()
-t.sideEffects.get('knowsG').traversal().E()
-t.sideEffects.get('createdG').traversal().E()
+traversal().withEmbedded(t.sideEffects.get('knowsG')).E()
+traversal().withEmbedded(t.sideEffects.get('createdG')).E()
----
TinkerGraph is the ideal (and default) `Graph` into which a subgraph is extracted as it's fast, in-memory, and supports
@@ -3938,7 +3938,7 @@
[gremlin-groovy]
----
-g = TinkerGraph.open().traversal()
+g = traversal().withEmbedded(TinkerGraph.open())
v = g.addV().property(id,'42a').next()
g.V('42a')
----
@@ -3951,7 +3951,7 @@
----
graph = Neo4jGraph.open('/tmp/neo4j')
strategy = ElementIdStrategy.build().create()
-g = graph.traversal().withStrategies(strategy)
+g = traversal().withEmbedded(graph).withStrategies(strategy)
g.addV().property(id, '42a').id()
----
@@ -3986,7 +3986,7 @@
graph = TinkerFactory.createModern()
l = new ConsoleMutationListener(graph)
strategy = EventStrategy.build().addListener(l).create()
-g = graph.traversal().withStrategies(strategy)
+g = traversal().withEmbedded(graph).withStrategies(strategy)
g.addV().property('name','stephen')
g.V().has('name','stephen').
property(list, 'location', 'centreville', 'startTime', 1990, 'endTime', 2000).
@@ -4041,9 +4041,9 @@
graph = TinkerFactory.createModern()
strategyA = PartitionStrategy.build().partitionKey("_partition").writePartition("a").readPartitions("a").create()
strategyB = PartitionStrategy.build().partitionKey("_partition").writePartition("b").readPartitions("b").create()
-gA = graph.traversal().withStrategies(strategyA)
+gA = traversal().withEmbedded(graph).withStrategies(strategyA)
gA.addV() // this vertex has a property of {_partition:"a"}
-gB = graph.traversal().withStrategies(strategyB)
+gB = traversal().withEmbedded(graph).withStrategies(strategyB)
gB.addV() // this vertex has a property of {_partition:"b"}
gA.V()
gB.V()
@@ -4083,7 +4083,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createTheCrew()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().as('a').values('location').as('b'). <1>
select('a','b').by('name').by()
g = g.withStrategies(SubgraphStrategy.build().vertexProperties(hasNot('endTime')).create()) <2>
@@ -4106,7 +4106,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createTheCrew()
-g = graph.traversal().withStrategies(SubgraphStrategy.build().
+g = traversal().withEmbedded(graph).withStrategies(SubgraphStrategy.build().
vertices(or(hasNot('location'),properties('location').count().is(gt(3)))).
edges(hasLabel('develops')).
vertexProperties(or(hasLabel(neq('location')),hasNot('endTime'))).create())
diff --git a/docs/src/tutorials/getting-started/index.asciidoc b/docs/src/tutorials/getting-started/index.asciidoc
index 90f1574..2deac8b 100644
--- a/docs/src/tutorials/getting-started/index.asciidoc
+++ b/docs/src/tutorials/getting-started/index.asciidoc
@@ -116,7 +116,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
----
The first command creates a `Graph` instance named `graph`, which thus provides a reference to the data you want
@@ -132,6 +132,13 @@
this tutorial. See the Reference Documentation for more information on the different ways of
link:https://tinkerpop.apache.org/docs/x.y.z/reference/#connecting-gremlin[connecting with Gremlin].
+NOTE: The `traversal()` method is statically imported from the `AnonymousTraversalSource` class so that it can be used
+in a more fluent fashion. There are common imports for all languages that support Gremlin to make it easier to read
+and to write (link:https://tinkerpop.apache.org/docs/x.y.z/reference/#java-imports[Java],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#python-imports[Python],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#dotnet-imports[.NET],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#javascript-imports[Javascript]).
+
With your `TraversalSource` `g` available it is now possible to ask Gremlin to traverse the `Graph`:
[gremlin-groovy,modern]
@@ -210,7 +217,7 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
v1 = g.addV("person").property(id, 1).property("name", "marko").property("age", 29).next()
v2 = g.addV("software").property(id, 3).property("name", "lop").property("lang", "java").next()
g.addE("created").from(v1).to(v2).property(id, 9).property("weight", 0.4)
@@ -226,7 +233,7 @@
[gremlin-groovy]
----
graph = TinkerGraph.open()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
v1 = g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).next()
v2 = g.addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").next()
g.addE("created").from(v1).to(v2).property(T.id, 9).property("weight", 0.4)
@@ -273,7 +280,7 @@
----
NOTE: The variable `g` is the `TraversalSource`, which was introduced in the "The First Five Minutes". The
-`TraversalSource` is created with `graph.traversal()` and is the object used to spawn new traversals.
+`TraversalSource` is created with `traversal().withEmbedded(graph)` and is the object used to spawn new traversals.
This bit of Gremlin can be improved and made more
link:https://tinkerpop.apache.org/docs/x.y.z/recipes/#unspecified-label-in-global-vertex-lookup[idiomatically pleasing]
@@ -353,7 +360,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
----
Earlier we'd used the `has()`-step to tell Gremlin how to find the "marko" vertex. Let's look at some other ways to
@@ -525,7 +532,7 @@
graph = TinkerGraph.open()
graph.createIndex('userId', Vertex.class) <1>
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
getOrCreate = { id ->
g.V().has('user','userId', id).
diff --git a/docs/src/tutorials/gremlin-language-variants/index.asciidoc b/docs/src/tutorials/gremlin-language-variants/index.asciidoc
index f17fa6c..ef8cd36 100644
--- a/docs/src/tutorials/gremlin-language-variants/index.asciidoc
+++ b/docs/src/tutorials/gremlin-language-variants/index.asciidoc
@@ -44,7 +44,7 @@
// assumes args[0] is a configuration file location
Graph graph = GraphFactory.open(args[0]);
- GraphTraversalSource g = graph.traversal();
+ GraphTraversalSource g = traversal().withEmbedded(graph);
// assumes that args[1] and args[2] are range boundaries
Iterator<Map<String,Double>> result =
@@ -160,7 +160,7 @@
Every language variant, regardless of the implementation details, will have to account for the four core concepts below:
1. `Graph` (**data**): The source of the graph data to be traversed and the interface which enables the creation of a
-`GraphTraversalSource` (via `graph.traversal()`).
+`GraphTraversalSource` (via `traversal().withEmbedded(graph)`).
2. `GraphTraversalSource` (**compiler**): This is the typical `g` reference. A `GraphTraversalSource` maintains the
`withXXX()`-strategy methods as well as the "traversal spawn"-methods such as `V()`, `E()`, `addV()`, etc.
diff --git a/docs/src/tutorials/the-gremlin-console/index.asciidoc b/docs/src/tutorials/the-gremlin-console/index.asciidoc
index 3188af2..c4d08f3 100644
--- a/docs/src/tutorials/the-gremlin-console/index.asciidoc
+++ b/docs/src/tutorials/the-gremlin-console/index.asciidoc
@@ -74,8 +74,8 @@
[gremlin-groovy]
----
-graph = TinkerGraph.open() <1>
-g = graph.traversal() <2>
+graph = TinkerGraph.open() <1>
+g = traversal().withEmbedded(graph) <2>
----
<1> Creates the `Graph` instance that is the API to the
@@ -87,6 +87,13 @@
IMPORTANT: TinkerPop recommends creating the `TraversalSource` once and re-using it as necessary in your application.
+NOTE: The `traversal()` method is statically imported from the `AnonymousTraversalSource` class so that it can be used
+in a more fluent fashion. There are common imports for all languages that support Gremlin to make it easier to read
+and to write (link:https://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-java-imports[Java],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-python-imports[Python],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-dotnet-imports[.NET],
+link:https://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-javascript-imports[Javascript]).
+
[[toy-graphs]]
Now that you have an empty TinkerGraph instance, you could load a sample of your data and get started with some
traversals. Of course, you might also try one of the "toy" graphs (i.e. graphs with sample data) that TinkerPop
@@ -105,7 +112,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createModern()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
----
image:grateful-gremlin.png[float=right,width=110] As you might have noticed from the diagrams of these graphs or from
@@ -118,7 +125,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createGratefulDead()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
----
The Grateful Dead graph ships with the Gremlin Console and the data can be found in several formats (along with the
@@ -399,7 +406,7 @@
[gremlin-groovy]
----
graph = TinkerFactory.createTheCrew()
-g = graph.traversal()
+g = traversal().withEmbedded(graph)
g.V().hasLabel('person').valueMap()
----
diff --git a/docs/src/upgrade/release-3.4.x.asciidoc b/docs/src/upgrade/release-3.4.x.asciidoc
index 658659c..9359e07 100644
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@ -21,14 +21,56 @@
*Avant-Gremlin Construction #3 for Theremin and Flowers*
-== TinkerPop 3.4.8
+== TinkerPop 3.4.9
*Release Date: NOT OFFICIALLY RELEASED YET*
Please see the link:https://github.com/apache/tinkerpop/blob/3.4.9/CHANGELOG.asciidoc#release-3-4-9[changelog] for a
complete list of all the modifications that are part of this release.
+=== withEmbedded()
+The `AnonymousTraversalSource` was introduced in 3.3.5 and is most typically used for constructing remote
+`TraversalSource` instances, but it also provides a way to construct a `TraversalSource` from an embedded `Graph`
+instance:
+
+[source,text]
+----
+gremlin> g = traversal().withGraph(TinkerFactory.createModern())
+==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
+gremlin> g = traversal().withRemote(DriverRemoteConnection.using('localhost',8182))
+==>graphtraversalsource[emptygraph[empty], standard]
+----
+
+The `withGraph(Graph)` method is now deprecated in favor the new `withEmbedded(Graph)` method that is more explicit
+about its intent:
+
+[source,text]
+----
+gremlin> g = traversal().withEmbedded(TinkerFactory.createModern())
+==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
+----
+
+This change is mostly applicable to JVM languages where embedded `Graph` instances are available. For Gremlin Language
+Variants not on the JVM, the `withGraph(Graph)` method has simply been deprecated and not replaced (with the preference
+to use `withRemote()` variants).
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2413[TINKERPOP-2413]
+
+=== Upgrading for Providers
+
+==== Graph System Providers
+
+===== Custom TraverserSet
+
+It is now possible to provide a custom `TraverserSet` to `Step` implementations that make use of those objects to
+introduce new logic for how they are populated and managed. Providers can take advantage of this capability by
+constructing their own `Traversal` implementation and overriding the `getTraverserSetSupplier()` method. When new
+`TraverserSet` instances are needed during traversal execution, steps will consult this method to get those instances.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-2396[TINKERPOP-2396]
+
+== TinkerPop 3.4.8
*Release Date: August 3, 2020*
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/AnonymousTraversalSource.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/AnonymousTraversalSource.java
index 05fcab7..b0be46f 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/AnonymousTraversalSource.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/AnonymousTraversalSource.java
@@ -24,10 +24,6 @@
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
-import java.lang.reflect.Constructor;
-
-import static org.apache.tinkerpop.gremlin.process.remote.RemoteConnection.GREMLIN_REMOTE_CONNECTION_CLASS;
-
/**
* Provides a unified way to construct a {@link TraversalSource} from the perspective of the traversal. In this syntax
* the user is creating the source and binding it to a reference which is either an existing {@link Graph} instance
@@ -60,24 +56,28 @@
}
/**
- * Creates the specified {@link TraversalSource} binding a {@link RemoteConnection} as its reference such that
- * traversals spawned from it will execute over that reference.
+ * Creates a {@link TraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
+ * reference so that traversals spawned from it will execute over that reference.
+ *
+ * @param configFile a path to a file that would normally be provided to configure a {@link RemoteConnection}
*/
public T withRemote(final String configFile) throws Exception {
return withRemote(new PropertiesConfiguration(configFile));
}
/**
- * Creates the specified {@link TraversalSource} binding a {@link RemoteConnection} as its reference such that
- * traversals spawned from it will execute over that reference.
+ * Creates a {@link TraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
+ * reference so that traversals spawned from it will execute over that reference.
+ *
+ * @param conf a {@code Configuration} object that would normally be provided to configure a {@link RemoteConnection}
*/
public T withRemote(final Configuration conf) {
return withRemote(RemoteConnection.from(conf));
}
/**
- * Creates the specified {@link TraversalSource} binding a {@link RemoteConnection} as its reference such that
- * traversals spawned from it will execute over that reference.
+ * Creates a {@link TraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
+ * reference so that traversals spawned from it will execute over that reference.
*/
public T withRemote(final RemoteConnection remoteConnection) {
try {
@@ -88,10 +88,20 @@
}
/**
- * Creates the specified {@link TraversalSource} binding a {@link Graph} as its reference such that traversals
- * spawned from it will execute over that reference.
+ * Creates the specified {@link TraversalSource} binding an embedded {@link Graph} as its reference such that
+ * traversals spawned from it will execute over that reference.
+ *
+ * @deprecated As of release 3.4.9, replaced by {@link #withEmbedded(Graph)}
*/
public T withGraph(final Graph graph) {
+ return withEmbedded(graph);
+ }
+
+ /**
+ * Creates the specified {@link TraversalSource} binding an embedded {@link Graph} as its reference such that
+ * traversals spawned from it will execute over that reference.
+ */
+ public T withEmbedded(final Graph graph) {
try {
return traversalSourceClass.getConstructor(Graph.class).newInstance(graph);
} catch (final Exception e) {
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
index 3b02254..11c12c3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
@@ -30,6 +30,7 @@
import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalExplanation;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
@@ -49,9 +50,11 @@
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
+import java.util.function.Supplier;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import org.apache.tinkerpop.gremlin.structure.util.CloseableIterator;
+import org.apache.tinkerpop.gremlin.util.function.TraverserSetSupplier;
/**
* A {@link Traversal} represents a directed walk over a {@link Graph}.
@@ -429,6 +432,14 @@
public TraverserGenerator getTraverserGenerator();
/**
+ * Gets a generator that creates new {@link TraverserSet} instances for steps in the traversal. Providers may
+ * override this default implementation to provider their own {@link TraverserSet}.
+ */
+ public default Supplier<TraverserSet<S>> getTraverserSetSupplier() {
+ return TraverserSetSupplier.instance();
+ }
+
+ /**
* Get the set of all {@link TraverserRequirement}s for this traversal.
*
* @return the features of a traverser that are required to execute properly in this traversal
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalSource.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalSource.java
index 91ef554..04fdf01 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalSource.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalSource.java
@@ -375,7 +375,7 @@
/**
* Configures the {@code TraversalSource} as a "remote" to issue the {@link Traversal} for execution elsewhere.
- * Expects key for {@link #GREMLIN_REMOTE_CONNECTION_CLASS} as well as any configuration required by
+ * Expects key for {@link RemoteConnection#GREMLIN_REMOTE_CONNECTION_CLASS} as well as any configuration required by
* the underlying {@link RemoteConnection} which will be instantiated. Note that the {@code Configuration} object
* is passed down without change to the creation of the {@link RemoteConnection} instance.
*
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DropStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DropStep.java
index 97d0709..fa800b3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DropStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DropStep.java
@@ -50,7 +50,7 @@
final S s = traverser.get();
if (s instanceof Element) {
final Element toRemove = (Element) s;
- if (callbackRegistry != null) {
+ if (callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event removeEvent;
if (s instanceof Vertex)
@@ -68,7 +68,7 @@
toRemove.remove();
} else if (s instanceof Property) {
final Property toRemove = (Property) s;
- if (callbackRegistry != null) {
+ if (callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event.ElementPropertyEvent removeEvent;
if (toRemove.element() instanceof Edge)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeGlobalStep.java
index b99915c..37441eb 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/RangeGlobalStep.java
@@ -167,7 +167,7 @@
public TraverserSet<S> nextBarrier() throws NoSuchElementException {
if(!this.starts.hasNext())
throw FastNoSuchElementException.instance();
- final TraverserSet<S> barrier = new TraverserSet<>();
+ final TraverserSet<S> barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
while (this.starts.hasNext()) {
barrier.add(this.starts.next());
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleGlobalStep.java
index 5290f97..e4ca430 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleGlobalStep.java
@@ -82,7 +82,7 @@
totalWeight = totalWeight + (((ProjectedTraverser<S, Number>) s).getProjections().get(0).doubleValue() * s.bulk());
}
///////
- final TraverserSet<S> sampledSet = new TraverserSet<>();
+ final TraverserSet<S> sampledSet = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
int runningAmountToSample = 0;
while (runningAmountToSample < this.amountToSample) {
boolean reSample = false;
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailGlobalStep.java
index 2e31b1f..cc746c8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/TailGlobalStep.java
@@ -146,7 +146,7 @@
public TraverserSet<S> nextBarrier() throws NoSuchElementException {
if (!this.starts.hasNext())
throw FastNoSuchElementException.instance();
- final TraverserSet<S> barrier = new TraverserSet<>();
+ final TraverserSet<S> barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
while (this.starts.hasNext()) {
barrier.add(this.starts.next());
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStep.java
index f37756e..63f6776 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStep.java
@@ -116,7 +116,7 @@
.attach(Attachable.Method.get(this.getTraversal().getGraph().orElse(EmptyGraph.instance())));
final String edgeLabel = (String) this.parameters.get(traverser, T.label, () -> Edge.DEFAULT_LABEL).get(0);
final Edge edge = fromVertex.addEdge(edgeLabel, toVertex, this.parameters.getKeyValues(traverser, TO, FROM, T.label));
- if (callbackRegistry != null) {
+ if (callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event.EdgeAddedEvent vae = new Event.EdgeAddedEvent(eventStrategy.detach(edge));
callbackRegistry.getCallbacks().forEach(c -> c.accept(vae));
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
index aa3818b..55d0866 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
@@ -107,7 +107,7 @@
final String edgeLabel = this.parameters.get(traverser, T.label, () -> Edge.DEFAULT_LABEL).get(0);
final Edge edge = fromVertex.addEdge(edgeLabel, toVertex, this.parameters.getKeyValues(traverser, TO, FROM, T.label));
- if (callbackRegistry != null) {
+ if (callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event.EdgeAddedEvent vae = new Event.EdgeAddedEvent(eventStrategy.detach(edge));
callbackRegistry.getCallbacks().forEach(c -> c.accept(vae));
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
index 3493ec7..2182921 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
@@ -87,7 +87,7 @@
this.first = false;
final TraverserGenerator generator = this.getTraversal().getTraverserGenerator();
final Vertex vertex = this.getTraversal().getGraph().get().addVertex(this.parameters.getKeyValues(generator.generate(false, (Step) this, 1L)));
- if (this.callbackRegistry != null) {
+ if (this.callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event.VertexAddedEvent vae = new Event.VertexAddedEvent(eventStrategy.detach(vertex));
this.callbackRegistry.getCallbacks().forEach(c -> c.accept(vae));
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
index 167510a..a609422 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
@@ -79,7 +79,7 @@
@Override
protected Vertex map(final Traverser.Admin<S> traverser) {
final Vertex vertex = this.getTraversal().getGraph().get().addVertex(this.parameters.getKeyValues(traverser));
- if (this.callbackRegistry != null) {
+ if (this.callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
final EventStrategy eventStrategy = getTraversal().getStrategies().getStrategy(EventStrategy.class).get();
final Event.VertexAddedEvent vae = new Event.VertexAddedEvent(eventStrategy.detach(vertex));
this.callbackRegistry.getCallbacks().forEach(c -> c.accept(vae));
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
index 9ad7132..6de3970 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
@@ -70,7 +70,7 @@
public enum TraversalType {WHERE_PREDICATE, WHERE_TRAVERSAL, MATCH_TRAVERSAL}
- private List<Traversal.Admin<Object, Object>> matchTraversals = new ArrayList<>();
+ private List<Traversal.Admin<Object, Object>> matchTraversals;
private boolean first = true;
private Set<String> matchStartLabels = new HashSet<>();
private Set<String> matchEndLabels = new HashSet<>();
@@ -91,6 +91,7 @@
this.matchTraversals = (List) Stream.of(matchTraversals).map(Traversal::asAdmin).collect(Collectors.toList());
this.matchTraversals.forEach(this::configureStartAndEndSteps); // recursively convert to MatchStep, MatchStartStep, or MatchEndStep
this.matchTraversals.forEach(this::integrateChild);
+ this.standardAlgorithmBarrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
this.computedStartLabel = Helper.computeStartLabel(this.matchTraversals);
}
@@ -246,7 +247,7 @@
clone.matchTraversals.add(traversal.clone());
}
if (this.dedups != null) clone.dedups = new HashSet<>();
- clone.standardAlgorithmBarrier = new TraverserSet();
+ clone.standardAlgorithmBarrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
return clone;
}
@@ -353,7 +354,7 @@
return this.referencedLabelsMap;
}
- private TraverserSet standardAlgorithmBarrier = new TraverserSet();
+ private TraverserSet standardAlgorithmBarrier;
@Override
protected Iterator<Traverser.Admin<Map<String, E>>> standardAlgorithm() throws NoSuchElementException {
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/NoOpBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/NoOpBarrierStep.java
index bedf078..d0a7d29 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/NoOpBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/NoOpBarrierStep.java
@@ -38,7 +38,7 @@
public final class NoOpBarrierStep<S> extends AbstractStep<S, S> implements LocalBarrier<S> {
private int maxBarrierSize;
- private TraverserSet<S> barrier = new TraverserSet<>();
+ private TraverserSet<S> barrier;
public NoOpBarrierStep(final Traversal.Admin traversal) {
this(traversal, Integer.MAX_VALUE);
@@ -47,6 +47,7 @@
public NoOpBarrierStep(final Traversal.Admin traversal, final int maxBarrierSize) {
super(traversal);
this.maxBarrierSize = maxBarrierSize;
+ this.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
}
@Override
@@ -83,7 +84,7 @@
throw FastNoSuchElementException.instance();
else {
final TraverserSet<S> temp = this.barrier;
- this.barrier = new TraverserSet<>();
+ this.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
return temp;
}
}
@@ -96,7 +97,7 @@
@Override
public NoOpBarrierStep<S> clone() {
final NoOpBarrierStep<S> clone = (NoOpBarrierStep<S>) super.clone();
- clone.barrier = new TraverserSet<>();
+ clone.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
return clone;
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
index 470fa4b..ddc11f6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
@@ -92,7 +92,7 @@
final Element element = traverser.get();
- if (this.callbackRegistry != null) {
+ if (this.callbackRegistry != null && !callbackRegistry.getCallbacks().isEmpty()) {
getTraversal().getStrategies().getStrategy(EventStrategy.class)
.ifPresent(eventStrategy -> {
Event.ElementPropertyChangedEvent evt = null;
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AggregateStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AggregateStep.java
index 8d6d960..9c2ea48 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AggregateStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AggregateStep.java
@@ -48,11 +48,12 @@
private Traversal.Admin<S, Object> aggregateTraversal = null;
private String sideEffectKey;
- private TraverserSet<S> barrier = new TraverserSet<>();
+ private TraverserSet<S> barrier;
public AggregateStep(final Traversal.Admin traversal, final String sideEffectKey) {
super(traversal);
this.sideEffectKey = sideEffectKey;
+ this.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
this.getTraversal().getSideEffects().registerIfAbsent(this.sideEffectKey, (Supplier) BulkSetSupplier.instance(), Operator.addAll);
}
@@ -84,7 +85,7 @@
@Override
public AggregateStep<S> clone() {
final AggregateStep<S> clone = (AggregateStep<S>) super.clone();
- clone.barrier = new TraverserSet<>();
+ clone.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
if (null != this.aggregateTraversal)
clone.aggregateTraversal = this.aggregateTraversal.clone();
return clone;
@@ -143,7 +144,7 @@
throw FastNoSuchElementException.instance();
else {
final TraverserSet<S> temp = this.barrier;
- this.barrier = new TraverserSet<>();
+ this.barrier = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
return temp;
}
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
index e2757e2..32d77e8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
@@ -21,9 +21,11 @@
import org.apache.tinkerpop.gremlin.process.traversal.Step;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet;
import org.apache.tinkerpop.gremlin.process.traversal.util.EmptyTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalInterruptedException;
import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
+import org.apache.tinkerpop.gremlin.util.function.TraverserSetSupplier;
import java.util.Collections;
import java.util.Iterator;
@@ -49,7 +51,7 @@
public AbstractStep(final Traversal.Admin traversal) {
this.traversal = traversal;
- this.starts = new ExpandableStepIterator<>(this);
+ this.starts = new ExpandableStepIterator<>(this, (TraverserSet<S>) traversal.getTraverserSetSupplier().get());
}
@Override
@@ -174,7 +176,7 @@
public AbstractStep<S, E> clone() {
try {
final AbstractStep<S, E> clone = (AbstractStep<S, E>) super.clone();
- clone.starts = new ExpandableStepIterator<>(clone);
+ clone.starts = new ExpandableStepIterator<>(clone, (TraverserSet<S>) traversal.getTraverserSetSupplier().get());
clone.previousStep = EmptyStep.instance();
clone.nextStep = EmptyStep.instance();
clone.nextEnd = null;
@@ -201,7 +203,11 @@
return result;
}
- private final Traverser.Admin<E> prepareTraversalForNextStep(final Traverser.Admin<E> traverser) {
+ public ExpandableStepIterator<S> getStarts() {
+ return this.starts;
+ }
+
+ private Traverser.Admin<E> prepareTraversalForNextStep(final Traverser.Admin<E> traverser) {
if (!this.traverserStepIdAndLabelsSetByChild) {
traverser.setStepId(this.nextStep.getId());
traverser.addLabels(this.labels);
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/CollectingBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/CollectingBarrierStep.java
index 8409c9f..a2418e8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/CollectingBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/CollectingBarrierStep.java
@@ -41,7 +41,7 @@
*/
public abstract class CollectingBarrierStep<S> extends AbstractStep<S, S> implements Barrier<TraverserSet<S>> {
- protected TraverserSet<S> traverserSet = new TraverserSet<>();
+ protected TraverserSet<S> traverserSet;
private int maxBarrierSize;
private boolean barrierConsumed = false;
@@ -51,6 +51,7 @@
public CollectingBarrierStep(final Traversal.Admin traversal, final int maxBarrierSize) {
super(traversal);
+ this.traverserSet = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
this.maxBarrierSize = maxBarrierSize;
}
@@ -86,7 +87,7 @@
if (this.traverserSet.isEmpty())
throw FastNoSuchElementException.instance();
else {
- final TraverserSet<S> temp = new TraverserSet<>();
+ final TraverserSet<S> temp = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
IteratorUtils.removeOnNext(this.traverserSet.iterator()).forEachRemaining(t -> {
DetachedFactory.detach(t, true); // this should be dynamic
temp.add(t);
@@ -119,7 +120,7 @@
@Override
public CollectingBarrierStep<S> clone() {
final CollectingBarrierStep<S> clone = (CollectingBarrierStep<S>) super.clone();
- clone.traverserSet = new TraverserSet<>();
+ clone.traverserSet = (TraverserSet<S>) this.traversal.getTraverserSetSupplier().get();
clone.barrierConsumed = false;
return clone;
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ExpandableStepIterator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ExpandableStepIterator.java
index 30558e8..8978d38 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ExpandableStepIterator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/ExpandableStepIterator.java
@@ -30,11 +30,16 @@
*/
public final class ExpandableStepIterator<S> implements Iterator<Traverser.Admin<S>>, Serializable {
- private final TraverserSet<S> traverserSet = new TraverserSet<>();
+ private TraverserSet<S> traverserSet;
private final Step<S, ?> hostStep;
public ExpandableStepIterator(final Step<S, ?> hostStep) {
+ this(hostStep, new TraverserSet<>());
+ }
+
+ public ExpandableStepIterator(final Step<S, ?> hostStep, final TraverserSet<S> traverserSet) {
this.hostStep = hostStep;
+ this.traverserSet = traverserSet;
}
@Override
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
index b7bf94d..87c585a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
@@ -64,8 +64,7 @@
protected transient TraverserGenerator generator;
protected Set<TraverserRequirement> requirements;
protected boolean locked = false;
- protected Bytecode bytecode; // TODO: perhaps make transient until 3.3.0?
-
+ protected Bytecode bytecode;
private DefaultTraversal(final Graph graph, final TraversalStrategies traversalStrategies, final Bytecode bytecode) {
this.graph = graph;
@@ -152,7 +151,6 @@
@Override
public Set<TraverserRequirement> getTraverserRequirements() {
if (null == this.requirements) {
- // if (!this.locked) this.applyStrategies();
this.requirements = EnumSet.noneOf(TraverserRequirement.class);
for (final Step<?, ?> step : this.getSteps()) {
this.requirements.addAll(step.getRequirements());
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplier.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplier.java
new file mode 100644
index 0000000..a217d33
--- /dev/null
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplier.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.util.function;
+
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet;
+
+import java.io.Serializable;
+import java.util.function.Supplier;
+
+/**
+ * @author Norio Akagi
+ */
+public final class TraverserSetSupplier<S> implements Supplier<TraverserSet<S>>, Serializable {
+
+ private static final TraverserSetSupplier INSTANCE = new TraverserSetSupplier();
+
+ private TraverserSetSupplier() {
+ }
+
+ @Override
+ public TraverserSet<S> get() {
+ return new TraverserSet<>();
+ }
+
+ public static <S> TraverserSetSupplier<S> instance() {
+ return INSTANCE;
+ }
+}
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplierTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplierTest.java
new file mode 100644
index 0000000..d6b057b
--- /dev/null
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/function/TraverserSetSupplierTest.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.util.function;
+
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasSize;
+
+/**
+ * @author Norio Akagi
+ */
+public class TraverserSetSupplierTest {
+ @Test
+ public void shouldSupplyTraverserSet() {
+ assertThat(TraverserSetSupplier.instance().get(), hasSize(0));
+ }
+
+ @Test
+ public void shouldSupplyTraverserSetInstance() {
+ assertThat(TraverserSetSupplier.instance().get(), hasSize(0));
+ assertThat(TraverserSetSupplier.instance().get(), instanceOf(TraverserSet.class));
+ }
+
+ @Test
+ public void shouldSupplyNewTraverserSetOnEachInvocation() {
+ final TraverserSet<Object> ts1 = TraverserSetSupplier.instance().get();
+ final TraverserSet<Object> ts2 = TraverserSetSupplier.instance().get();
+ final TraverserSet<Object> ts3 = TraverserSetSupplier.instance().get();
+
+ assertThat(ts1, not(sameInstance(ts2)));
+ assertThat(ts1, not(sameInstance(ts3)));
+ assertThat(ts2, not(sameInstance(ts3)));
+ }
+}
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
index ff30a4b..63e1e77 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/anonymous-traversal.js
@@ -32,7 +32,7 @@
class AnonymousTraversalSource {
/**
- * Creates a new instance of {@link AnonymousTraversalSource}.
+ * Creates a new instance of {@code AnonymousTraversalSource}.
* @param {Function} [traversalSourceClass] Optional {@code GraphTraversalSource} constructor.
*/
constructor(traversalSourceClass) {
@@ -50,8 +50,8 @@
}
/**
- * Creates the specified {@link GraphTraversalSource{ binding a {@link RemoteConnection} as its reference such that
- * traversals spawned from it will execute over that reference.
+ * Creates a {@link GraphTraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
+ * reference so that traversals spawned from it will execute over that reference.
* @param {GraphTraversalSource} remoteConnection
* @return {GraphTraversalSource}
*/
@@ -60,10 +60,15 @@
}
/**
- * Creates the specified {@link GraphTraversalSource} binding a {@link Graph} as its reference such that traversals
- * spawned from it will execute over that reference.
+ * Creates the specified {@link GraphTraversalSource} binding an embedded {@link Graph} as its reference such that
+ * traversals spawned from it will execute over that reference. As there are no "embedded Graph" instances in
+ * gremlin-javascript as there on the JVM, the {@link GraphTraversalSource} can only ever be constructed as "empty"
+ * with a {@link Graph} instance (which is only a reference to a graph and is not capable of holding data). As a
+ * result, the {@link GraphTraversalSource} will do nothing unless a "remote" is then assigned to it later.
* @param {Graph} graph
* @return {GraphTraversalSource}
+ * @deprecated As of release 3.4.9, prefer {@link withRemote} until some form of "embedded graph" becomes available
+ * at which point there will be support for {@code withEmbedded} which is part of the canonical Java API.
*/
withGraph(graph) {
return new this.traversalSourceClass(graph, new TraversalStrategies());
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
index 359e2f8..78bf435 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/graph.js
@@ -25,6 +25,9 @@
const gt = require('../process/graph-traversal');
const { TraversalStrategies } = require('../process/traversal-strategy');
+/**
+ * An "empty" graph object to server only as a reference.
+ */
class Graph {
/**
* Returns the graph traversal source.
diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java
index 3cce7ee..fbe62be 100644
--- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java
+++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibility.java
@@ -49,7 +49,8 @@
V1_3_4_5("3.4.5", "1.0", "v1"),
V1_3_4_6("3.4.6", "1.0", "v1"),
V1_3_4_7("3.4.7", "1.0", "v1"),
- V1_3_4_8("3.4.8", "1.0", "v1");
+ V1_3_4_8("3.4.8", "1.0", "v1"),
+ V1_3_4_9("3.4.9", "1.0", "v1");
private static final String SEP = File.separator;
diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONCompatibility.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONCompatibility.java
index 69a33e1..661b44c 100644
--- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONCompatibility.java
+++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONCompatibility.java
@@ -135,7 +135,11 @@
V1D0_3_4_8("3.4.8", "1.0", "v1d0"),
V2D0_PARTIAL_3_4_8("3.4.8", "2.0", "v2d0-partial"),
V2D0_NO_TYPE_3_4_8("3.4.8", "2.0", "v2d0-no-types"),
- V3D0_PARTIAL_3_4_8("3.4.8", "3.0", "v3d0");
+ V3D0_PARTIAL_3_4_8("3.4.8", "3.0", "v3d0"),
+ V1D0_3_4_9("3.4.9", "1.0", "v1d0"),
+ V2D0_PARTIAL_3_4_9("3.4.9", "2.0", "v2d0-partial"),
+ V2D0_NO_TYPE_3_4_9("3.4.9", "2.0", "v2d0-no-types"),
+ V3D0_PARTIAL_3_4_9("3.4.9", "3.0", "v3d0");
private static final String SEP = File.separator;
diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibility.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibility.java
index 1b7a49a..f49df6f 100644
--- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibility.java
+++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibility.java
@@ -93,7 +93,9 @@
V1D0_3_4_7("3.4.7", "1.0", "v1d0"),
V3D0_3_4_7("3.4.7", "3.0", "v3d0"),
V1D0_3_4_8("3.4.8", "1.0", "v1d0"),
- V3D0_3_4_8("3.4.8", "3.0", "v3d0");
+ V3D0_3_4_8("3.4.8", "3.0", "v3d0"),
+ V1D0_3_4_9("3.4.9", "1.0", "v1d0"),
+ V3D0_3_4_9("3.4.9", "3.0", "v3d0");
private static final String SEP = File.separator;
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java
index fad8311..58996e8 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphbinary/GraphBinaryCompatibilityTest.java
@@ -50,7 +50,8 @@
{GraphBinaryCompatibility.V1_3_4_5, readerV1, writerV1 },
{GraphBinaryCompatibility.V1_3_4_6, readerV1, writerV1 },
{GraphBinaryCompatibility.V1_3_4_7, readerV1, writerV1 },
- {GraphBinaryCompatibility.V1_3_4_8, readerV1, writerV1 }
+ {GraphBinaryCompatibility.V1_3_4_8, readerV1, writerV1 },
+ {GraphBinaryCompatibility.V1_3_4_9, readerV1, writerV1 }
});
}
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypedCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypedCompatibilityTest.java
index ba1b288..6caf788 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypedCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypedCompatibilityTest.java
@@ -99,7 +99,9 @@
{GraphSONCompatibility.V2D0_PARTIAL_3_4_7, mapperV2 },
{GraphSONCompatibility.V3D0_PARTIAL_3_4_7, mapperV3 },
{GraphSONCompatibility.V2D0_PARTIAL_3_4_8, mapperV2 },
- {GraphSONCompatibility.V3D0_PARTIAL_3_4_8, mapperV3 }
+ {GraphSONCompatibility.V3D0_PARTIAL_3_4_8, mapperV3 },
+ {GraphSONCompatibility.V2D0_PARTIAL_3_4_9, mapperV2 },
+ {GraphSONCompatibility.V3D0_PARTIAL_3_4_9, mapperV3 }
});
}
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
index 7e3f69e..7e90140 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONUntypedCompatibilityTest.java
@@ -107,7 +107,9 @@
{GraphSONCompatibility.V1D0_3_4_7, mapperV1 },
{GraphSONCompatibility.V2D0_NO_TYPE_3_4_7, mapperV2 },
{GraphSONCompatibility.V1D0_3_4_8, mapperV1 },
- {GraphSONCompatibility.V2D0_NO_TYPE_3_4_8, mapperV2 }
+ {GraphSONCompatibility.V2D0_NO_TYPE_3_4_8, mapperV2 },
+ {GraphSONCompatibility.V1D0_3_4_9, mapperV1 },
+ {GraphSONCompatibility.V2D0_NO_TYPE_3_4_9, mapperV2 }
});
}
diff --git a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibilityTest.java b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibilityTest.java
index 3202974..48d0fdc 100644
--- a/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibilityTest.java
+++ b/gremlin-tools/gremlin-io-test/src/test/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoCompatibilityTest.java
@@ -96,7 +96,9 @@
{GryoCompatibility.V1D0_3_4_7, mapperV1 },
{GryoCompatibility.V3D0_3_4_7, mapperV3 },
{GryoCompatibility.V1D0_3_4_8, mapperV1 },
- {GryoCompatibility.V3D0_3_4_8, mapperV3 }
+ {GryoCompatibility.V3D0_3_4_8, mapperV3 },
+ {GryoCompatibility.V1D0_3_4_9, mapperV1 },
+ {GryoCompatibility.V3D0_3_4_9, mapperV3 }
});
}
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/barrier-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/barrier-v1.gbin
new file mode 100644
index 0000000..f905861
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/barrier-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bigdecimal-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bigdecimal-v1.gbin
new file mode 100644
index 0000000..921d957
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bigdecimal-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/biginteger-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/biginteger-v1.gbin
new file mode 100644
index 0000000..d841fbe
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/biginteger-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/binding-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/binding-v1.gbin
new file mode 100644
index 0000000..79620eb
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/binding-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bulkset-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bulkset-v1.gbin
new file mode 100644
index 0000000..4542906
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bulkset-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/byte-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/byte-v1.gbin
new file mode 100644
index 0000000..af9544f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/byte-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytebuffer-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytebuffer-v1.gbin
new file mode 100644
index 0000000..39793d2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytebuffer-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytecode-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytecode-v1.gbin
new file mode 100644
index 0000000..bc76c2e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/bytecode-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/cardinality-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/cardinality-v1.gbin
new file mode 100644
index 0000000..3c875a5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/cardinality-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/char-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/char-v1.gbin
new file mode 100644
index 0000000..b9d97e6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/char-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/class-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/class-v1.gbin
new file mode 100644
index 0000000..6be272d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/class-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/column-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/column-v1.gbin
new file mode 100644
index 0000000..c6805c8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/column-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/date-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/date-v1.gbin
new file mode 100644
index 0000000..e68e17a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/date-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/direction-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/direction-v1.gbin
new file mode 100644
index 0000000..3caaba3
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/direction-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/double-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/double-v1.gbin
new file mode 100644
index 0000000..e538a62
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/double-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/duration-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/duration-v1.gbin
new file mode 100644
index 0000000..7ffa3ad
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/duration-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/edge-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/edge-v1.gbin
new file mode 100644
index 0000000..086e85d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/edge-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/float-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/float-v1.gbin
new file mode 100644
index 0000000..322772c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/float-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/inetaddress-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/inetaddress-v1.gbin
new file mode 100644
index 0000000..b613ddb
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/inetaddress-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/instant-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/instant-v1.gbin
new file mode 100644
index 0000000..3335532
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/instant-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/integer-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/integer-v1.gbin
new file mode 100644
index 0000000..7dc246a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/integer-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/lambda-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/lambda-v1.gbin
new file mode 100644
index 0000000..b0e98f9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/lambda-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/list-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/list-v1.gbin
new file mode 100644
index 0000000..1aa405d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/list-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdate-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdate-v1.gbin
new file mode 100644
index 0000000..2c9e211
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdate-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdatetime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdatetime-v1.gbin
new file mode 100644
index 0000000..2e0c83c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localdatetime-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localtime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localtime-v1.gbin
new file mode 100644
index 0000000..05785c6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/localtime-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/long-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/long-v1.gbin
new file mode 100644
index 0000000..cee0083
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/long-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/map-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/map-v1.gbin
new file mode 100644
index 0000000..46cd9e2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/map-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/metrics-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/metrics-v1.gbin
new file mode 100644
index 0000000..dea77a5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/metrics-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/monthday-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/monthday-v1.gbin
new file mode 100644
index 0000000..c128263
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/monthday-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsetdatetime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsetdatetime-v1.gbin
new file mode 100644
index 0000000..4b2aabb
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsetdatetime-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsettime-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsettime-v1.gbin
new file mode 100644
index 0000000..a4c8c5b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/offsettime-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/operator-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/operator-v1.gbin
new file mode 100644
index 0000000..84717cc
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/operator-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/order-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/order-v1.gbin
new file mode 100644
index 0000000..311b6ad
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/order-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/p-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/p-v1.gbin
new file mode 100644
index 0000000..ac60799
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/p-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pand-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pand-v1.gbin
new file mode 100644
index 0000000..3237c94
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pand-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/path-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/path-v1.gbin
new file mode 100644
index 0000000..ba075ac
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/path-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/period-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/period-v1.gbin
new file mode 100644
index 0000000..f7dab35
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/period-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pick-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pick-v1.gbin
new file mode 100644
index 0000000..77aca2f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pick-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pop-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pop-v1.gbin
new file mode 100644
index 0000000..f698c94
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pop-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/por-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/por-v1.gbin
new file mode 100644
index 0000000..7c0b3ab
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/por-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/property-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/property-v1.gbin
new file mode 100644
index 0000000..ddc34e5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/property-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithin-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithin-v1.gbin
new file mode 100644
index 0000000..5ad30a9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithin-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithout-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithout-v1.gbin
new file mode 100644
index 0000000..5b195db
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/pwithout-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/scope-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/scope-v1.gbin
new file mode 100644
index 0000000..534b956
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/scope-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/set-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/set-v1.gbin
new file mode 100644
index 0000000..02df059
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/set-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/short-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/short-v1.gbin
new file mode 100644
index 0000000..e1d2d7d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/short-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/t-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/t-v1.gbin
new file mode 100644
index 0000000..a6376db
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/t-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/textp-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/textp-v1.gbin
new file mode 100644
index 0000000..c796468
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/textp-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/timestamp-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/timestamp-v1.gbin
new file mode 100644
index 0000000..4fc4e5e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/timestamp-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/tinkergraph-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/tinkergraph-v1.gbin
new file mode 100644
index 0000000..a0a76d1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/tinkergraph-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traversalmetrics-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traversalmetrics-v1.gbin
new file mode 100644
index 0000000..c947e62
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traversalmetrics-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traverser-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traverser-v1.gbin
new file mode 100644
index 0000000..8e47cc0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/traverser-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/uuid-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/uuid-v1.gbin
new file mode 100644
index 0000000..7f1775d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/uuid-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertex-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertex-v1.gbin
new file mode 100644
index 0000000..7fb9d65
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertex-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertexproperty-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertexproperty-v1.gbin
new file mode 100644
index 0000000..89f0329
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/vertexproperty-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/year-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/year-v1.gbin
new file mode 100644
index 0000000..1fe0c74
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/year-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/yearmonth-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/yearmonth-v1.gbin
new file mode 100644
index 0000000..481a121
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/yearmonth-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/zoneoffset-v1.gbin b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/zoneoffset-v1.gbin
new file mode 100644
index 0000000..2867c97
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary/_3_4_9/zoneoffset-v1.gbin
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v1d0.json
new file mode 100644
index 0000000..8c5b82c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v1d0.json
@@ -0,0 +1,12 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 407,
+ "attributes" : { }
+ },
+ "result" : {
+ "data" : null,
+ "meta" : { }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-no-types.json
new file mode 100644
index 0000000..8c5b82c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-no-types.json
@@ -0,0 +1,12 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 407,
+ "attributes" : { }
+ },
+ "result" : {
+ "data" : null,
+ "meta" : { }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-partial.json
new file mode 100644
index 0000000..8c5b82c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v2d0-partial.json
@@ -0,0 +1,12 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 407,
+ "attributes" : { }
+ },
+ "result" : {
+ "data" : null,
+ "meta" : { }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v3d0.json
new file mode 100644
index 0000000..d1734c6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationchallenge-v3d0.json
@@ -0,0 +1,18 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 407,
+ "attributes" : {
+ "@type" : "g:Map",
+ "@value" : [ ]
+ }
+ },
+ "result" : {
+ "data" : null,
+ "meta" : {
+ "@type" : "g:Map",
+ "@value" : [ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v1d0.json
new file mode 100644
index 0000000..838e1fd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v1d0.json
@@ -0,0 +1,9 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "authentication",
+ "processor" : "",
+ "args" : {
+ "saslMechanism" : "PLAIN",
+ "sasl" : "AHN0ZXBocGhlbgBwYXNzd29yZA=="
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-no-types.json
new file mode 100644
index 0000000..838e1fd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-no-types.json
@@ -0,0 +1,9 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "authentication",
+ "processor" : "",
+ "args" : {
+ "saslMechanism" : "PLAIN",
+ "sasl" : "AHN0ZXBocGhlbgBwYXNzd29yZA=="
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-partial.json
new file mode 100644
index 0000000..838e1fd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v2d0-partial.json
@@ -0,0 +1,9 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "authentication",
+ "processor" : "",
+ "args" : {
+ "saslMechanism" : "PLAIN",
+ "sasl" : "AHN0ZXBocGhlbgBwYXNzd29yZA=="
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v3d0.json
new file mode 100644
index 0000000..daceca2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/authenticationresponse-v3d0.json
@@ -0,0 +1,9 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "authentication",
+ "processor" : "",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "saslMechanism", "PLAIN", "sasl", "AHN0ZXBocGhlbgBwYXNzd29yZA==" ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v2d0-partial.json
new file mode 100644
index 0000000..7ddccdd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Barrier",
+ "@value" : "normSack"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v3d0.json
new file mode 100644
index 0000000..7ddccdd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/barrier-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Barrier",
+ "@value" : "normSack"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v2d0-partial.json
new file mode 100644
index 0000000..475337c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:BigDecimal",
+ "@value" : 123456789987654321123456789987654321
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v3d0.json
new file mode 100644
index 0000000..475337c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bigdecimal-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:BigDecimal",
+ "@value" : 123456789987654321123456789987654321
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v2d0-partial.json
new file mode 100644
index 0000000..58e6114
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:BigInteger",
+ "@value" : 123456789987654321123456789987654321
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v3d0.json
new file mode 100644
index 0000000..58e6114
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/biginteger-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:BigInteger",
+ "@value" : 123456789987654321123456789987654321
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v2d0-partial.json
new file mode 100644
index 0000000..579b8c7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v2d0-partial.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:Binding",
+ "@value" : {
+ "key" : "x",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v3d0.json
new file mode 100644
index 0000000..579b8c7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/binding-v3d0.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:Binding",
+ "@value" : {
+ "key" : "x",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v2d0-partial.json
new file mode 100644
index 0000000..c844975
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v2d0-partial.json
@@ -0,0 +1 @@
+[ "marko", "josh", "josh" ]
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v3d0.json
new file mode 100644
index 0000000..c216a36
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bulkset-v3d0.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:BulkSet",
+ "@value" : [ "marko", {
+ "@type" : "g:Int64",
+ "@value" : 1
+ }, "josh", {
+ "@type" : "g:Int64",
+ "@value" : 2
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v2d0-partial.json
new file mode 100644
index 0000000..979625b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Byte",
+ "@value" : 1
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v3d0.json
new file mode 100644
index 0000000..979625b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/byte-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Byte",
+ "@value" : 1
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v2d0-partial.json
new file mode 100644
index 0000000..5724115
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ByteBuffer",
+ "@value" : "c29tZSBieXRlcyBmb3IgeW91"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v3d0.json
new file mode 100644
index 0000000..5724115
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytebuffer-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ByteBuffer",
+ "@value" : "c29tZSBieXRlcyBmb3IgeW91"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v2d0-partial.json
new file mode 100644
index 0000000..269d277
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v2d0-partial.json
@@ -0,0 +1,6 @@
+{
+ "@type" : "g:Bytecode",
+ "@value" : {
+ "step" : [ [ "V" ], [ "hasLabel", "person" ], [ "out" ], [ "in" ], [ "tree" ] ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v3d0.json
new file mode 100644
index 0000000..269d277
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/bytecode-v3d0.json
@@ -0,0 +1,6 @@
+{
+ "@type" : "g:Bytecode",
+ "@value" : {
+ "step" : [ [ "V" ], [ "hasLabel", "person" ], [ "out" ], [ "in" ], [ "tree" ] ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v2d0-partial.json
new file mode 100644
index 0000000..834e64e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Cardinality",
+ "@value" : "list"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v3d0.json
new file mode 100644
index 0000000..834e64e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/cardinality-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Cardinality",
+ "@value" : "list"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v2d0-partial.json
new file mode 100644
index 0000000..8f27e9d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Char",
+ "@value" : "x"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v3d0.json
new file mode 100644
index 0000000..8f27e9d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/char-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Char",
+ "@value" : "x"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v2d0-partial.json
new file mode 100644
index 0000000..80f15a2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Class",
+ "@value" : "java.io.File"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v3d0.json
new file mode 100644
index 0000000..80f15a2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/class-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Class",
+ "@value" : "java.io.File"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v2d0-partial.json
new file mode 100644
index 0000000..0b3a56e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Column",
+ "@value" : "keys"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v3d0.json
new file mode 100644
index 0000000..0b3a56e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/column-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Column",
+ "@value" : "keys"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-no-types.json
new file mode 100644
index 0000000..03b71a0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-no-types.json
@@ -0,0 +1 @@
+1481750076295
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-partial.json
new file mode 100644
index 0000000..cf4007a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Date",
+ "@value" : 1481750076295
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v3d0.json
new file mode 100644
index 0000000..cf4007a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/date-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Date",
+ "@value" : 1481750076295
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v2d0-partial.json
new file mode 100644
index 0000000..78cb7e4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Direction",
+ "@value" : "OUT"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v3d0.json
new file mode 100644
index 0000000..78cb7e4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/direction-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Direction",
+ "@value" : "OUT"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-no-types.json
new file mode 100644
index 0000000..e772e62
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-no-types.json
@@ -0,0 +1 @@
+100.0
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-partial.json
new file mode 100644
index 0000000..9ae4964
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Double",
+ "@value" : 100.0
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v3d0.json
new file mode 100644
index 0000000..9ae4964
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/double-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Double",
+ "@value" : 100.0
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v2d0-partial.json
new file mode 100644
index 0000000..05c0ce9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Duration",
+ "@value" : "PT120H"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v3d0.json
new file mode 100644
index 0000000..05c0ce9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/duration-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Duration",
+ "@value" : "PT120H"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v1d0.json
new file mode 100644
index 0000000..0f7f168
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v1d0.json
@@ -0,0 +1,12 @@
+{
+ "id" : 13,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "since" : 2009
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-no-types.json
new file mode 100644
index 0000000..a8e73db
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-no-types.json
@@ -0,0 +1,14 @@
+{
+ "id" : 13,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2009
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-partial.json
new file mode 100644
index 0000000..ba1c52e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v2d0-partial.json
@@ -0,0 +1,32 @@
+{
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 13
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v3d0.json
new file mode 100644
index 0000000..ba1c52e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/edge-v3d0.json
@@ -0,0 +1,32 @@
+{
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 13
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v2d0-partial.json
new file mode 100644
index 0000000..7179aaf
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Float",
+ "@value" : 100.0
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v3d0.json
new file mode 100644
index 0000000..7179aaf
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/float-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Float",
+ "@value" : 100.0
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v2d0-partial.json
new file mode 100644
index 0000000..fba98c0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:InetAddress",
+ "@value" : "localhost"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v3d0.json
new file mode 100644
index 0000000..fba98c0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/inetaddress-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:InetAddress",
+ "@value" : "localhost"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v2d0-partial.json
new file mode 100644
index 0000000..3749741
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Instant",
+ "@value" : "2016-12-14T16:39:19.349Z"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v3d0.json
new file mode 100644
index 0000000..3749741
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/instant-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Instant",
+ "@value" : "2016-12-14T16:39:19.349Z"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-no-types.json
new file mode 100644
index 0000000..105d7d9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-no-types.json
@@ -0,0 +1 @@
+100
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-partial.json
new file mode 100644
index 0000000..750ce7a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Int32",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v3d0.json
new file mode 100644
index 0000000..750ce7a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/integer-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Int32",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v2d0-partial.json
new file mode 100644
index 0000000..5be179b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v2d0-partial.json
@@ -0,0 +1,8 @@
+{
+ "@type" : "g:Lambda",
+ "@value" : {
+ "script" : "{ it.get() }",
+ "language" : "gremlin-groovy",
+ "arguments" : 1
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v3d0.json
new file mode 100644
index 0000000..5be179b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/lambda-v3d0.json
@@ -0,0 +1,8 @@
+{
+ "@type" : "g:Lambda",
+ "@value" : {
+ "script" : "{ it.get() }",
+ "language" : "gremlin-groovy",
+ "arguments" : 1
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/list-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/list-v3d0.json
new file mode 100644
index 0000000..b714e2d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/list-v3d0.json
@@ -0,0 +1,7 @@
+{
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }, "person", true ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v2d0-partial.json
new file mode 100644
index 0000000..36fb81d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalDate",
+ "@value" : "2016-01-01"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v3d0.json
new file mode 100644
index 0000000..36fb81d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdate-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalDate",
+ "@value" : "2016-01-01"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v2d0-partial.json
new file mode 100644
index 0000000..2d83668
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalDateTime",
+ "@value" : "2016-01-01T12:30"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v3d0.json
new file mode 100644
index 0000000..2d83668
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localdatetime-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalDateTime",
+ "@value" : "2016-01-01T12:30"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v2d0-partial.json
new file mode 100644
index 0000000..eff65a7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalTime",
+ "@value" : "12:30:45"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v3d0.json
new file mode 100644
index 0000000..eff65a7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/localtime-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:LocalTime",
+ "@value" : "12:30:45"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v2d0-partial.json
new file mode 100644
index 0000000..84b9a23
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Int64",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v3d0.json
new file mode 100644
index 0000000..84b9a23
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/long-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Int64",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/map-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/map-v3d0.json
new file mode 100644
index 0000000..7ad59c9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/map-v3d0.json
@@ -0,0 +1,25 @@
+{
+ "@type" : "g:Map",
+ "@value" : [ {
+ "@type" : "g:Date",
+ "@value" : 1481750076295
+ }, "red", {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }, {
+ "@type" : "g:Int32",
+ "@value" : 2
+ }, {
+ "@type" : "g:Int32",
+ "@value" : 3
+ } ]
+ }, {
+ "@type" : "g:Date",
+ "@value" : 1481750076295
+ }, "test", {
+ "@type" : "g:Int32",
+ "@value" : 123
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v2d0-partial.json
new file mode 100644
index 0000000..7b1e964
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v2d0-partial.json
@@ -0,0 +1,54 @@
+{
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ }
+ },
+ "name" : "TinkerGraphStep(vertex,[~label.eq(person)])",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "7.0.0()",
+ "metrics" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }
+ },
+ "name" : "VertexStep(OUT,vertex)",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "3.0.0()"
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v3d0.json
new file mode 100644
index 0000000..f6e678b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/metrics-v3d0.json
@@ -0,0 +1,52 @@
+{
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ } ]
+ }, "name", "TinkerGraphStep(vertex,[~label.eq(person)])", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "7.0.0()", "metrics", {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "3.0.0()" ]
+ }
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v2d0-partial.json
new file mode 100644
index 0000000..5da5914
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:MonthDay",
+ "@value" : "--01-01"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v3d0.json
new file mode 100644
index 0000000..5da5914
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/monthday-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:MonthDay",
+ "@value" : "--01-01"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v2d0-partial.json
new file mode 100644
index 0000000..03f45cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:OffsetDateTime",
+ "@value" : "2007-12-03T10:15:30+01:00"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v3d0.json
new file mode 100644
index 0000000..03f45cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsetdatetime-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:OffsetDateTime",
+ "@value" : "2007-12-03T10:15:30+01:00"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v2d0-partial.json
new file mode 100644
index 0000000..b124953
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:OffsetTime",
+ "@value" : "10:15:30+01:00"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v3d0.json
new file mode 100644
index 0000000..b124953
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/offsettime-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:OffsetTime",
+ "@value" : "10:15:30+01:00"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v2d0-partial.json
new file mode 100644
index 0000000..14c1400
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Operator",
+ "@value" : "sum"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v3d0.json
new file mode 100644
index 0000000..14c1400
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/operator-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Operator",
+ "@value" : "sum"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v2d0-partial.json
new file mode 100644
index 0000000..4be0432
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Order",
+ "@value" : "shuffle"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v3d0.json
new file mode 100644
index 0000000..4be0432
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/order-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Order",
+ "@value" : "shuffle"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v2d0-partial.json
new file mode 100644
index 0000000..5bdfb3b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v2d0-partial.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v3d0.json
new file mode 100644
index 0000000..5bdfb3b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/p-v3d0.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v2d0-partial.json
new file mode 100644
index 0000000..c271958
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v2d0-partial.json
@@ -0,0 +1,25 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "and",
+ "value" : [ {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+ }, {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "lt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ }
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v3d0.json
new file mode 100644
index 0000000..c271958
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pand-v3d0.json
@@ -0,0 +1,25 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "and",
+ "value" : [ {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+ }, {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "lt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ }
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v1d0.json
new file mode 100644
index 0000000..2eee883
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v1d0.json
@@ -0,0 +1,62 @@
+{
+ "labels" : [ [ ], [ ], [ ] ],
+ "objects" : [ {
+ "id" : 1,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+ }, {
+ "id" : 10,
+ "label" : "software",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 4,
+ "value" : "gremlin"
+ } ]
+ }
+ }, {
+ "id" : 11,
+ "label" : "software",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 5,
+ "value" : "tinkergraph"
+ } ]
+ }
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-no-types.json
new file mode 100644
index 0000000..a592d2f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-no-types.json
@@ -0,0 +1,13 @@
+{
+ "labels" : [ [ ], [ ], [ ] ],
+ "objects" : [ {
+ "id" : 1,
+ "label" : "person"
+ }, {
+ "id" : 10,
+ "label" : "software"
+ }, {
+ "id" : 11,
+ "label" : "software"
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-partial.json
new file mode 100644
index 0000000..9ccaa00
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v2d0-partial.json
@@ -0,0 +1,34 @@
+{
+ "@type" : "g:Path",
+ "@value" : {
+ "labels" : [ [ ], [ ], [ ] ],
+ "objects" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "label" : "software"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "label" : "software"
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v3d0.json
new file mode 100644
index 0000000..216b393
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/path-v3d0.json
@@ -0,0 +1,49 @@
+{
+ "@type" : "g:Path",
+ "@value" : {
+ "labels" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ }, {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ }, {
+ "@type" : "g:Set",
+ "@value" : [ ]
+ } ]
+ },
+ "objects" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "label" : "software"
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "label" : "software"
+ }
+ } ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v2d0-partial.json
new file mode 100644
index 0000000..20438a1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Period",
+ "@value" : "P1Y6M15D"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v3d0.json
new file mode 100644
index 0000000..20438a1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/period-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Period",
+ "@value" : "P1Y6M15D"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v2d0-partial.json
new file mode 100644
index 0000000..3ca2f2e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Pick",
+ "@value" : "any"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v3d0.json
new file mode 100644
index 0000000..3ca2f2e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pick-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Pick",
+ "@value" : "any"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v2d0-partial.json
new file mode 100644
index 0000000..271515f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Pop",
+ "@value" : "all"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v3d0.json
new file mode 100644
index 0000000..271515f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pop-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Pop",
+ "@value" : "all"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v2d0-partial.json
new file mode 100644
index 0000000..71fcb7d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v2d0-partial.json
@@ -0,0 +1,31 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "or",
+ "value" : [ {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+ }, {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "within",
+ "value" : [ {
+ "@type" : "g:Int32",
+ "@value" : -1
+ }, {
+ "@type" : "g:Int32",
+ "@value" : -10
+ }, {
+ "@type" : "g:Int32",
+ "@value" : -100
+ } ]
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v3d0.json
new file mode 100644
index 0000000..a71b1cf
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/por-v3d0.json
@@ -0,0 +1,34 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "or",
+ "value" : [ {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "gt",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 0
+ }
+ }
+ }, {
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "within",
+ "value" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : -1
+ }, {
+ "@type" : "g:Int32",
+ "@value" : -10
+ }, {
+ "@type" : "g:Int32",
+ "@value" : -100
+ } ]
+ }
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v1d0.json
new file mode 100644
index 0000000..c051c0a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v1d0.json
@@ -0,0 +1,4 @@
+{
+ "key" : "since",
+ "value" : 2009
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-no-types.json
new file mode 100644
index 0000000..c051c0a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-no-types.json
@@ -0,0 +1,4 @@
+{
+ "key" : "since",
+ "value" : 2009
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-partial.json
new file mode 100644
index 0000000..296fe32
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v2d0-partial.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v3d0.json
new file mode 100644
index 0000000..296fe32
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/property-v3d0.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v2d0-partial.json
new file mode 100644
index 0000000..afa3826
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v2d0-partial.json
@@ -0,0 +1,10 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "within",
+ "value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v3d0.json
new file mode 100644
index 0000000..83f99cc
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithin-v3d0.json
@@ -0,0 +1,13 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "within",
+ "value" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v2d0-partial.json
new file mode 100644
index 0000000..8c2291b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v2d0-partial.json
@@ -0,0 +1,13 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "without",
+ "value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }, {
+ "@type" : "g:Int32",
+ "@value" : 2
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v3d0.json
new file mode 100644
index 0000000..9a16890
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/pwithout-v3d0.json
@@ -0,0 +1,16 @@
+{
+ "@type" : "g:P",
+ "@value" : {
+ "predicate" : "without",
+ "value" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }, {
+ "@type" : "g:Int32",
+ "@value" : 2
+ } ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v2d0-partial.json
new file mode 100644
index 0000000..4a74af0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Scope",
+ "@value" : "local"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v3d0.json
new file mode 100644
index 0000000..4a74af0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/scope-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Scope",
+ "@value" : "local"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v1d0.json
new file mode 100644
index 0000000..ac825e8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v1d0.json
@@ -0,0 +1,8 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "close",
+ "processor" : "session",
+ "args" : {
+ "session" : "unique-session-identifier"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-no-types.json
new file mode 100644
index 0000000..ac825e8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-no-types.json
@@ -0,0 +1,8 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "close",
+ "processor" : "session",
+ "args" : {
+ "session" : "unique-session-identifier"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-partial.json
new file mode 100644
index 0000000..ac825e8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v2d0-partial.json
@@ -0,0 +1,8 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "close",
+ "processor" : "session",
+ "args" : {
+ "session" : "unique-session-identifier"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v3d0.json
new file mode 100644
index 0000000..4be1ccd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionclose-v3d0.json
@@ -0,0 +1,9 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "close",
+ "processor" : "session",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "session", "unique-session-identifier" ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v1d0.json
new file mode 100644
index 0000000..8bce82f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v1d0.json
@@ -0,0 +1,13 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-no-types.json
new file mode 100644
index 0000000..8bce82f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-no-types.json
@@ -0,0 +1,13 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-partial.json
new file mode 100644
index 0000000..8ff8b96
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v2d0-partial.json
@@ -0,0 +1,16 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v3d0.json
new file mode 100644
index 0000000..301c393
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessioneval-v3d0.json
@@ -0,0 +1,15 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "gremlin", "g.V(x)", "language", "gremlin-groovy", "session", "unique-session-identifier", "bindings", {
+ "@type" : "g:Map",
+ "@value" : [ "x", {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v1d0.json
new file mode 100644
index 0000000..5f4ef46
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v1d0.json
@@ -0,0 +1,16 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-no-types.json
new file mode 100644
index 0000000..5f4ef46
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-no-types.json
@@ -0,0 +1,16 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-partial.json
new file mode 100644
index 0000000..394e5d3
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v2d0-partial.json
@@ -0,0 +1,19 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "session" : "unique-session-identifier",
+ "bindings" : {
+ "x" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v3d0.json
new file mode 100644
index 0000000..7448160
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionevalaliased-v3d0.json
@@ -0,0 +1,18 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "session",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "gremlin", "social.V(x)", "language", "gremlin-groovy", "aliases", {
+ "@type" : "g:Map",
+ "@value" : [ "g", "social" ]
+ }, "session", "unique-session-identifier", "bindings", {
+ "@type" : "g:Map",
+ "@value" : [ "x", {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v1d0.json
new file mode 100644
index 0000000..8c9a807
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v1d0.json
@@ -0,0 +1,12 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-no-types.json
new file mode 100644
index 0000000..8c9a807
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-no-types.json
@@ -0,0 +1,12 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-partial.json
new file mode 100644
index 0000000..81e2f6c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v2d0-partial.json
@@ -0,0 +1,15 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "g.V(x)",
+ "language" : "gremlin-groovy",
+ "bindings" : {
+ "x" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v3d0.json
new file mode 100644
index 0000000..dc8c8e6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlesseval-v3d0.json
@@ -0,0 +1,15 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "gremlin", "g.V(x)", "language", "gremlin-groovy", "bindings", {
+ "@type" : "g:Map",
+ "@value" : [ "x", {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v1d0.json
new file mode 100644
index 0000000..59f0c6c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v1d0.json
@@ -0,0 +1,15 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-no-types.json
new file mode 100644
index 0000000..59f0c6c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-no-types.json
@@ -0,0 +1,15 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "bindings" : {
+ "x" : 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-partial.json
new file mode 100644
index 0000000..0f6a54e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v2d0-partial.json
@@ -0,0 +1,18 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "gremlin" : "social.V(x)",
+ "language" : "gremlin-groovy",
+ "aliases" : {
+ "g" : "social"
+ },
+ "bindings" : {
+ "x" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v3d0.json
new file mode 100644
index 0000000..fc03a37
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/sessionlessevalaliased-v3d0.json
@@ -0,0 +1,18 @@
+{
+ "requestId" : "cb682578-9d92-4499-9ebc-5c6aa73c5397",
+ "op" : "eval",
+ "processor" : "",
+ "args" : {
+ "@type" : "g:Map",
+ "@value" : [ "gremlin", "social.V(x)", "language", "gremlin-groovy", "aliases", {
+ "@type" : "g:Map",
+ "@value" : [ "g", "social" ]
+ }, "bindings", {
+ "@type" : "g:Map",
+ "@value" : [ "x", {
+ "@type" : "g:Int32",
+ "@value" : 1
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/set-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/set-v3d0.json
new file mode 100644
index 0000000..32deea2
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/set-v3d0.json
@@ -0,0 +1,7 @@
+{
+ "@type" : "g:Set",
+ "@value" : [ {
+ "@type" : "g:Int32",
+ "@value" : 1
+ }, "person", true ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v2d0-partial.json
new file mode 100644
index 0000000..c68f5cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Int16",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v3d0.json
new file mode 100644
index 0000000..c68f5cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/short-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Int16",
+ "@value" : 100
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v1d0.json
new file mode 100644
index 0000000..9b93727
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v1d0.json
@@ -0,0 +1,50 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 200,
+ "attributes" : { }
+ },
+ "result" : {
+ "data" : [ {
+ "id" : 1,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+ } ],
+ "meta" : { }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v2d0-partial.json
new file mode 100644
index 0000000..857c6db
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v2d0-partial.json
@@ -0,0 +1,111 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 200,
+ "attributes" : { }
+ },
+ "result" : {
+ "data" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ } ],
+ "meta" : { }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v3d0.json
new file mode 100644
index 0000000..dfca400
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/standardresult-v3d0.json
@@ -0,0 +1,120 @@
+{
+ "requestId" : "41d2e28a-20a4-4ab0-b379-d810dede3786",
+ "status" : {
+ "message" : "",
+ "code" : 200,
+ "attributes" : {
+ "@type" : "g:Map",
+ "@value" : [ ]
+ }
+ },
+ "result" : {
+ "data" : {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ } ]
+ },
+ "meta" : {
+ "@type" : "g:Map",
+ "@value" : [ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v2d0-partial.json
new file mode 100644
index 0000000..9693983
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:T",
+ "@value" : "label"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v3d0.json
new file mode 100644
index 0000000..9693983
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/t-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:T",
+ "@value" : "label"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v2d0-partial.json
new file mode 100644
index 0000000..2820989
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v2d0-partial.json
@@ -0,0 +1,7 @@
+{
+ "@type" : "g:TextP",
+ "@value" : {
+ "predicate" : "containing",
+ "value" : "ark"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v3d0.json
new file mode 100644
index 0000000..2820989
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/textp-v3d0.json
@@ -0,0 +1,7 @@
+{
+ "@type" : "g:TextP",
+ "@value" : {
+ "predicate" : "containing",
+ "value" : "ark"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v2d0-partial.json
new file mode 100644
index 0000000..1ca0e17
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Timestamp",
+ "@value" : 1481750076295
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v3d0.json
new file mode 100644
index 0000000..1ca0e17
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/timestamp-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:Timestamp",
+ "@value" : 1481750076295
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v1d0.json
new file mode 100644
index 0000000..13719f6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v1d0.json
@@ -0,0 +1,313 @@
+{
+ "vertices" : [ {
+ "id" : 1,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+ }, {
+ "id" : 7,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 1,
+ "value" : "stephen"
+ } ],
+ "location" : [ {
+ "id" : 10,
+ "value" : "centreville",
+ "properties" : {
+ "startTime" : 1990,
+ "endTime" : 2000
+ }
+ }, {
+ "id" : 11,
+ "value" : "dulles",
+ "properties" : {
+ "startTime" : 2000,
+ "endTime" : 2006
+ }
+ }, {
+ "id" : 12,
+ "value" : "purcellville",
+ "properties" : {
+ "startTime" : 2006
+ }
+ } ]
+ }
+ }, {
+ "id" : 8,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 2,
+ "value" : "matthias"
+ } ],
+ "location" : [ {
+ "id" : 13,
+ "value" : "bremen",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2007
+ }
+ }, {
+ "id" : 14,
+ "value" : "baltimore",
+ "properties" : {
+ "startTime" : 2007,
+ "endTime" : 2011
+ }
+ }, {
+ "id" : 15,
+ "value" : "oakland",
+ "properties" : {
+ "startTime" : 2011,
+ "endTime" : 2014
+ }
+ }, {
+ "id" : 16,
+ "value" : "seattle",
+ "properties" : {
+ "startTime" : 2014
+ }
+ } ]
+ }
+ }, {
+ "id" : 9,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 3,
+ "value" : "daniel"
+ } ],
+ "location" : [ {
+ "id" : 17,
+ "value" : "spremberg",
+ "properties" : {
+ "startTime" : 1982,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 18,
+ "value" : "kaiserslautern",
+ "properties" : {
+ "startTime" : 2005,
+ "endTime" : 2009
+ }
+ }, {
+ "id" : 19,
+ "value" : "aachen",
+ "properties" : {
+ "startTime" : 2009
+ }
+ } ]
+ }
+ }, {
+ "id" : 10,
+ "label" : "software",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 4,
+ "value" : "gremlin"
+ } ]
+ }
+ }, {
+ "id" : 11,
+ "label" : "software",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 5,
+ "value" : "tinkergraph"
+ } ]
+ }
+ } ],
+ "edges" : [ {
+ "id" : 13,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "since" : 2009
+ }
+ }, {
+ "id" : 14,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 1,
+ "properties" : {
+ "since" : 2010
+ }
+ }, {
+ "id" : 15,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "skill" : 4
+ }
+ }, {
+ "id" : 16,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 1,
+ "properties" : {
+ "skill" : 5
+ }
+ }, {
+ "id" : 17,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 7,
+ "properties" : {
+ "since" : 2010
+ }
+ }, {
+ "id" : 18,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 7,
+ "properties" : {
+ "since" : 2011
+ }
+ }, {
+ "id" : 19,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 7,
+ "properties" : {
+ "skill" : 5
+ }
+ }, {
+ "id" : 20,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 7,
+ "properties" : {
+ "skill" : 4
+ }
+ }, {
+ "id" : 21,
+ "label" : "develops",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 8,
+ "properties" : {
+ "since" : 2012
+ }
+ }, {
+ "id" : 22,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 8,
+ "properties" : {
+ "skill" : 3
+ }
+ }, {
+ "id" : 23,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 8,
+ "properties" : {
+ "skill" : 3
+ }
+ }, {
+ "id" : 24,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 9,
+ "properties" : {
+ "skill" : 5
+ }
+ }, {
+ "id" : 25,
+ "label" : "uses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 9,
+ "properties" : {
+ "skill" : 3
+ }
+ }, {
+ "id" : 26,
+ "label" : "traverses",
+ "type" : "edge",
+ "inVLabel" : "software",
+ "outVLabel" : "software",
+ "inV" : 11,
+ "outV" : 10
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-no-types.json
new file mode 100644
index 0000000..94ad061
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-no-types.json
@@ -0,0 +1,352 @@
+{
+ "vertices" : [ {
+ "id" : 1,
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko",
+ "label" : "name"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+ }, {
+ "id" : 7,
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "id" : 1,
+ "value" : "stephen",
+ "label" : "name"
+ } ],
+ "location" : [ {
+ "id" : 10,
+ "value" : "centreville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 1990,
+ "endTime" : 2000
+ }
+ }, {
+ "id" : 11,
+ "value" : "dulles",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2000,
+ "endTime" : 2006
+ }
+ }, {
+ "id" : 12,
+ "value" : "purcellville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2006
+ }
+ } ]
+ }
+ }, {
+ "id" : 8,
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "id" : 2,
+ "value" : "matthias",
+ "label" : "name"
+ } ],
+ "location" : [ {
+ "id" : 13,
+ "value" : "bremen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2007
+ }
+ }, {
+ "id" : 14,
+ "value" : "baltimore",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2007,
+ "endTime" : 2011
+ }
+ }, {
+ "id" : 15,
+ "value" : "oakland",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2011,
+ "endTime" : 2014
+ }
+ }, {
+ "id" : 16,
+ "value" : "seattle",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2014
+ }
+ } ]
+ }
+ }, {
+ "id" : 9,
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "id" : 3,
+ "value" : "daniel",
+ "label" : "name"
+ } ],
+ "location" : [ {
+ "id" : 17,
+ "value" : "spremberg",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 1982,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 18,
+ "value" : "kaiserslautern",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2005,
+ "endTime" : 2009
+ }
+ }, {
+ "id" : 19,
+ "value" : "aachen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2009
+ }
+ } ]
+ }
+ }, {
+ "id" : 10,
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "id" : 4,
+ "value" : "gremlin",
+ "label" : "name"
+ } ]
+ }
+ }, {
+ "id" : 11,
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "id" : 5,
+ "value" : "tinkergraph",
+ "label" : "name"
+ } ]
+ }
+ } ],
+ "edges" : [ {
+ "id" : 13,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2009
+ }
+ }
+ }, {
+ "id" : 14,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 1,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2010
+ }
+ }
+ }, {
+ "id" : 15,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 1,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 4
+ }
+ }
+ }, {
+ "id" : 16,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 1,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 5
+ }
+ }
+ }, {
+ "id" : 17,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 7,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2010
+ }
+ }
+ }, {
+ "id" : 18,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 7,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2011
+ }
+ }
+ }, {
+ "id" : 19,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 7,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 5
+ }
+ }
+ }, {
+ "id" : 20,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 7,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 4
+ }
+ }
+ }, {
+ "id" : 21,
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 8,
+ "properties" : {
+ "since" : {
+ "key" : "since",
+ "value" : 2012
+ }
+ }
+ }, {
+ "id" : 22,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 8,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 3
+ }
+ }
+ }, {
+ "id" : 23,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 8,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 3
+ }
+ }
+ }, {
+ "id" : 24,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 10,
+ "outV" : 9,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 5
+ }
+ }
+ }, {
+ "id" : 25,
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : 11,
+ "outV" : 9,
+ "properties" : {
+ "skill" : {
+ "key" : "skill",
+ "value" : 3
+ }
+ }
+ }, {
+ "id" : 26,
+ "label" : "traverses",
+ "inVLabel" : "software",
+ "outVLabel" : "software",
+ "inV" : 11,
+ "outV" : 10
+ } ]
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-partial.json
new file mode 100644
index 0000000..24e95ed
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v2d0-partial.json
@@ -0,0 +1,829 @@
+{
+ "@type" : "tinker:graph",
+ "@value" : {
+ "vertices" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ },
+ "value" : "stephen",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 10
+ },
+ "value" : "centreville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1990
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2000
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 11
+ },
+ "value" : "dulles",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2000
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2006
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 12
+ },
+ "value" : "purcellville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2006
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 2
+ },
+ "value" : "matthias",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 13
+ },
+ "value" : "bremen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2007
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 14
+ },
+ "value" : "baltimore",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2007
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 15
+ },
+ "value" : "oakland",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2014
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 16
+ },
+ "value" : "seattle",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2014
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 3
+ },
+ "value" : "daniel",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 17
+ },
+ "value" : "spremberg",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1982
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 18
+ },
+ "value" : "kaiserslautern",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 19
+ },
+ "value" : "aachen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ },
+ "value" : "gremlin",
+ "label" : "name"
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 5
+ },
+ "value" : "tinkergraph",
+ "label" : "name"
+ }
+ } ]
+ }
+ }
+ } ],
+ "edges" : [ {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 13
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 14
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2010
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 15
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 4
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 16
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 17
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2010
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 18
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 19
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 20
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 4
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 21
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2012
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 22
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 23
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 24
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 25
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 26
+ },
+ "label" : "traverses",
+ "inVLabel" : "software",
+ "outVLabel" : "software",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ }
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v3d0.json
new file mode 100644
index 0000000..24e95ed
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/tinkergraph-v3d0.json
@@ -0,0 +1,829 @@
+{
+ "@type" : "tinker:graph",
+ "@value" : {
+ "vertices" : [ {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ },
+ "value" : "stephen",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 10
+ },
+ "value" : "centreville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1990
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2000
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 11
+ },
+ "value" : "dulles",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2000
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2006
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 12
+ },
+ "value" : "purcellville",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2006
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 2
+ },
+ "value" : "matthias",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 13
+ },
+ "value" : "bremen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2007
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 14
+ },
+ "value" : "baltimore",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2007
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 15
+ },
+ "value" : "oakland",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2014
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 16
+ },
+ "value" : "seattle",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2014
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 3
+ },
+ "value" : "daniel",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 17
+ },
+ "value" : "spremberg",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1982
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 18
+ },
+ "value" : "kaiserslautern",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 19
+ },
+ "value" : "aachen",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ },
+ "value" : "gremlin",
+ "label" : "name"
+ }
+ } ]
+ }
+ }
+ }, {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "label" : "software",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 5
+ },
+ "value" : "tinkergraph",
+ "label" : "name"
+ }
+ } ]
+ }
+ }
+ } ],
+ "edges" : [ {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 13
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2009
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 14
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2010
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 15
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 4
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 16
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 17
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2010
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 18
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2011
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 19
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 20
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 7
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 4
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 21
+ },
+ "label" : "develops",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "since" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "since",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 2012
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 22
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 23
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 8
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 24
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 5
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 25
+ },
+ "label" : "uses",
+ "inVLabel" : "software",
+ "outVLabel" : "person",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 9
+ },
+ "properties" : {
+ "skill" : {
+ "@type" : "g:Property",
+ "@value" : {
+ "key" : "skill",
+ "value" : {
+ "@type" : "g:Int32",
+ "@value" : 3
+ }
+ }
+ }
+ }
+ }
+ }, {
+ "@type" : "g:Edge",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 26
+ },
+ "label" : "traverses",
+ "inVLabel" : "software",
+ "outVLabel" : "software",
+ "inV" : {
+ "@type" : "g:Int32",
+ "@value" : 11
+ },
+ "outV" : {
+ "@type" : "g:Int32",
+ "@value" : 10
+ }
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v2d0-partial.json
new file mode 100644
index 0000000..fdd18a4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v2d0-partial.json
@@ -0,0 +1,114 @@
+{
+ "@type" : "g:TraversalMetrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 0.004
+ },
+ "metrics" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 4
+ }
+ },
+ "name" : "TinkerGraphStep(vertex,[~label.eq(person)])",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "7.0.0()"
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 13
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 13
+ }
+ },
+ "name" : "VertexStep(OUT,vertex)",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "2.0.0()"
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }
+ },
+ "name" : "VertexStep(OUT,vertex)",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "3.0.0()"
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "dur" : {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ },
+ "counts" : {
+ "traverserCount" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ },
+ "elementCount" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ }
+ },
+ "name" : "TreeStep",
+ "annotations" : {
+ "percentDur" : {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ }
+ },
+ "id" : "4.0.0()"
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v3d0.json
new file mode 100644
index 0000000..46f7636
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traversalmetrics-v3d0.json
@@ -0,0 +1,109 @@
+{
+ "@type" : "g:TraversalMetrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 0.004
+ }, "metrics", {
+ "@type" : "g:List",
+ "@value" : [ {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 4
+ } ]
+ }, "name", "TinkerGraphStep(vertex,[~label.eq(person)])", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "7.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 13
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 13
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "2.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 7
+ } ]
+ }, "name", "VertexStep(OUT,vertex)", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "3.0.0()" ]
+ }
+ }, {
+ "@type" : "g:Metrics",
+ "@value" : {
+ "@type" : "g:Map",
+ "@value" : [ "dur", {
+ "@type" : "g:Double",
+ "@value" : 100.0
+ }, "counts", {
+ "@type" : "g:Map",
+ "@value" : [ "traverserCount", {
+ "@type" : "g:Int64",
+ "@value" : 1
+ }, "elementCount", {
+ "@type" : "g:Int64",
+ "@value" : 1
+ } ]
+ }, "name", "TreeStep", "annotations", {
+ "@type" : "g:Map",
+ "@value" : [ "percentDur", {
+ "@type" : "g:Double",
+ "@value" : 25.0
+ } ]
+ }, "id", "4.0.0()" ]
+ }
+ } ]
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v2d0-partial.json
new file mode 100644
index 0000000..a59a29e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v2d0-partial.json
@@ -0,0 +1,109 @@
+{
+ "@type" : "g:Traverser",
+ "@value" : {
+ "bulk" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ },
+ "value" : {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v3d0.json
new file mode 100644
index 0000000..a59a29e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/traverser-v3d0.json
@@ -0,0 +1,109 @@
+{
+ "@type" : "g:Traverser",
+ "@value" : {
+ "bulk" : {
+ "@type" : "g:Int64",
+ "@value" : 1
+ },
+ "value" : {
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-no-types.json
new file mode 100644
index 0000000..b36ff96
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-no-types.json
@@ -0,0 +1 @@
+"41d2e28a-20a4-4ab0-b379-d810dede3786"
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-partial.json
new file mode 100644
index 0000000..1cf09f0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:UUID",
+ "@value" : "41d2e28a-20a4-4ab0-b379-d810dede3786"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v3d0.json
new file mode 100644
index 0000000..1cf09f0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/uuid-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "g:UUID",
+ "@value" : "41d2e28a-20a4-4ab0-b379-d810dede3786"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v1d0.json
new file mode 100644
index 0000000..a885f58
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v1d0.json
@@ -0,0 +1,39 @@
+{
+ "id" : 1,
+ "label" : "person",
+ "type" : "vertex",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-no-types.json
new file mode 100644
index 0000000..8e6155f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-no-types.json
@@ -0,0 +1,43 @@
+{
+ "id" : 1,
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "id" : 0,
+ "value" : "marko",
+ "label" : "name"
+ } ],
+ "location" : [ {
+ "id" : 6,
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 1997,
+ "endTime" : 2001
+ }
+ }, {
+ "id" : 7,
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2001,
+ "endTime" : 2004
+ }
+ }, {
+ "id" : 8,
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2004,
+ "endTime" : 2005
+ }
+ }, {
+ "id" : 9,
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : 2005
+ }
+ } ]
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-partial.json
new file mode 100644
index 0000000..f102230
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v2d0-partial.json
@@ -0,0 +1,100 @@
+{
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v3d0.json
new file mode 100644
index 0000000..f102230
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertex-v3d0.json
@@ -0,0 +1,100 @@
+{
+ "@type" : "g:Vertex",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int32",
+ "@value" : 1
+ },
+ "label" : "person",
+ "properties" : {
+ "name" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+ } ],
+ "location" : [ {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 6
+ },
+ "value" : "san diego",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 1997
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 7
+ },
+ "value" : "santa cruz",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2001
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 8
+ },
+ "value" : "brussels",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2004
+ },
+ "endTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ }, {
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 9
+ },
+ "value" : "santa fe",
+ "label" : "location",
+ "properties" : {
+ "startTime" : {
+ "@type" : "g:Int32",
+ "@value" : 2005
+ }
+ }
+ }
+ } ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v1d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v1d0.json
new file mode 100644
index 0000000..74025a8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v1d0.json
@@ -0,0 +1,5 @@
+{
+ "id" : 0,
+ "value" : "marko",
+ "label" : "name"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-no-types.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-no-types.json
new file mode 100644
index 0000000..74025a8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-no-types.json
@@ -0,0 +1,5 @@
+{
+ "id" : 0,
+ "value" : "marko",
+ "label" : "name"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-partial.json
new file mode 100644
index 0000000..af184b1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v2d0-partial.json
@@ -0,0 +1,11 @@
+{
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v3d0.json
new file mode 100644
index 0000000..af184b1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/vertexproperty-v3d0.json
@@ -0,0 +1,11 @@
+{
+ "@type" : "g:VertexProperty",
+ "@value" : {
+ "id" : {
+ "@type" : "g:Int64",
+ "@value" : 0
+ },
+ "value" : "marko",
+ "label" : "name"
+ }
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v2d0-partial.json
new file mode 100644
index 0000000..ff420bc
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Year",
+ "@value" : "2016"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v3d0.json
new file mode 100644
index 0000000..ff420bc
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/year-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:Year",
+ "@value" : "2016"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v2d0-partial.json
new file mode 100644
index 0000000..98a5e27
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:YearMonth",
+ "@value" : "2016-06"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v3d0.json
new file mode 100644
index 0000000..98a5e27
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/yearmonth-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:YearMonth",
+ "@value" : "2016-06"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v2d0-partial.json
new file mode 100644
index 0000000..367fc47
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ZonedDateTime",
+ "@value" : "2016-12-23T12:12:24.000000036+02:00[GMT+02:00]"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v3d0.json
new file mode 100644
index 0000000..367fc47
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneddatetime-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ZonedDateTime",
+ "@value" : "2016-12-23T12:12:24.000000036+02:00[GMT+02:00]"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v2d0-partial.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v2d0-partial.json
new file mode 100644
index 0000000..8591794
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v2d0-partial.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ZoneOffset",
+ "@value" : "+03:06:09"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v3d0.json b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v3d0.json
new file mode 100644
index 0000000..8591794
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/_3_4_9/zoneoffset-v3d0.json
@@ -0,0 +1,4 @@
+{
+ "@type" : "gx:ZoneOffset",
+ "@value" : "+03:06:09"
+}
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationchallenge-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationchallenge-v3d0.kryo
new file mode 100644
index 0000000..baf91ac
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationchallenge-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationresponse-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationresponse-v3d0.kryo
new file mode 100644
index 0000000..1f99f2a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/authenticationresponse-v3d0.kryo
@@ -0,0 +1 @@
+Ëh%xD¼\j§<SauthenticatioîsaslMechanisíPLAIÎsasìAHN0ZXBocGhlbgBwYXNzd29yZA=½
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/barrier-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v1d0.kryo
new file mode 100644
index 0000000..d4f40e0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v3d0.kryo
new file mode 100644
index 0000000..d4f40e0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bigdecimal-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v1d0.kryo
new file mode 100644
index 0000000..f424ac6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v1d0.kryo
@@ -0,0 +1 @@
+ÆãÂýÑZÏ}Dvú±
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v3d0.kryo
new file mode 100644
index 0000000..f424ac6
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/biginteger-v3d0.kryo
@@ -0,0 +1 @@
+ÆãÂýÑZÏ}Dvú±
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v1d0.kryo
new file mode 100644
index 0000000..103143b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v1d0.kryo
@@ -0,0 +1 @@
+x
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v3d0.kryo
new file mode 100644
index 0000000..103143b
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/binding-v3d0.kryo
@@ -0,0 +1 @@
+x
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v1d0.kryo
new file mode 100644
index 0000000..5fda27a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v1d0.kryo
@@ -0,0 +1 @@
+markïjosè
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v3d0.kryo
new file mode 100644
index 0000000..5fda27a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bulkset-v3d0.kryo
@@ -0,0 +1 @@
+markïjosè
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v1d0.kryo
new file mode 100644
index 0000000..6b2aaa7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v3d0.kryo
new file mode 100644
index 0000000..6b2aaa7
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/byte-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v1d0.kryo
new file mode 100644
index 0000000..ba94b5d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v3d0.kryo
new file mode 100644
index 0000000..ba94b5d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytebuffer-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v1d0.kryo
new file mode 100644
index 0000000..edf8dd4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v3d0.kryo
new file mode 100644
index 0000000..edf8dd4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/bytecode-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v1d0.kryo
new file mode 100644
index 0000000..71bd63e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v3d0.kryo
new file mode 100644
index 0000000..71bd63e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/cardinality-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v1d0.kryo
new file mode 100644
index 0000000..718882c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v3d0.kryo
new file mode 100644
index 0000000..718882c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/char-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v1d0.kryo
new file mode 100644
index 0000000..e8b65af
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v1d0.kryo
@@ -0,0 +1 @@
+java.io.Filå
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v3d0.kryo
new file mode 100644
index 0000000..e8b65af
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/class-v3d0.kryo
@@ -0,0 +1 @@
+java.io.Filå
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/column-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v1d0.kryo
new file mode 100644
index 0000000..a86f98f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v1d0.kryo
@@ -0,0 +1 @@
+·¿ù+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v3d0.kryo
new file mode 100644
index 0000000..a86f98f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/date-v3d0.kryo
@@ -0,0 +1 @@
+·¿ù+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/direction-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v1d0.kryo
new file mode 100644
index 0000000..36506ac
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v3d0.kryo
new file mode 100644
index 0000000..36506ac
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/double-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v1d0.kryo
new file mode 100644
index 0000000..d640ae0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v3d0.kryo
new file mode 100644
index 0000000..d640ae0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/duration-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v1d0.kryo
new file mode 100644
index 0000000..d2a2492
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v3d0.kryo
new file mode 100644
index 0000000..6dfbefb
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/edge-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v1d0.kryo
new file mode 100644
index 0000000..19a8865
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v3d0.kryo
new file mode 100644
index 0000000..19a8865
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/float-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v1d0.kryo
new file mode 100644
index 0000000..af797a5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v1d0.kryo
@@ -0,0 +1 @@
+localhosô
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v3d0.kryo
new file mode 100644
index 0000000..af797a5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/inetaddress-v3d0.kryo
@@ -0,0 +1 @@
+localhosô
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v1d0.kryo
new file mode 100644
index 0000000..d9466cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v3d0.kryo
new file mode 100644
index 0000000..d9466cd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/instant-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v1d0.kryo
new file mode 100644
index 0000000..ff28336
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v1d0.kryo
@@ -0,0 +1 @@
+È
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v3d0.kryo
new file mode 100644
index 0000000..ff28336
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/integer-v3d0.kryo
@@ -0,0 +1 @@
+È
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v1d0.kryo
new file mode 100644
index 0000000..463661d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v3d0.kryo
new file mode 100644
index 0000000..463661d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/lambda-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v1d0.kryo
new file mode 100644
index 0000000..f82dd16
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v3d0.kryo
new file mode 100644
index 0000000..f82dd16
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdate-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v1d0.kryo
new file mode 100644
index 0000000..97eae64
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v3d0.kryo
new file mode 100644
index 0000000..97eae64
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localdatetime-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v1d0.kryo
new file mode 100644
index 0000000..1b5bfa4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v3d0.kryo
new file mode 100644
index 0000000..1b5bfa4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/localtime-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v1d0.kryo
new file mode 100644
index 0000000..ff28336
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v1d0.kryo
@@ -0,0 +1 @@
+È
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v3d0.kryo
new file mode 100644
index 0000000..ff28336
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/long-v3d0.kryo
@@ -0,0 +1 @@
+È
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v1d0.kryo
new file mode 100644
index 0000000..d94cd24
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v3d0.kryo
new file mode 100644
index 0000000..f65dd63
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/metrics-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v1d0.kryo
new file mode 100644
index 0000000..5acab8f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v3d0.kryo
new file mode 100644
index 0000000..5acab8f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/monthday-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v1d0.kryo
new file mode 100644
index 0000000..6bb92d0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v3d0.kryo
new file mode 100644
index 0000000..6bb92d0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsetdatetime-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v1d0.kryo
new file mode 100644
index 0000000..d1621aa
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v3d0.kryo
new file mode 100644
index 0000000..d1621aa
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/offsettime-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/operator-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v1d0.kryo
new file mode 100644
index 0000000..c8c7811
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v3d0.kryo
new file mode 100644
index 0000000..c8c7811
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/order-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v1d0.kryo
new file mode 100644
index 0000000..3c676a8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v3d0.kryo
new file mode 100644
index 0000000..3c676a8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/p-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v1d0.kryo
new file mode 100644
index 0000000..5477e40
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v3d0.kryo
new file mode 100644
index 0000000..5477e40
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pand-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v1d0.kryo
new file mode 100644
index 0000000..bac203d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v3d0.kryo
new file mode 100644
index 0000000..bac203d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/path-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v1d0.kryo
new file mode 100644
index 0000000..f04e9c8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v3d0.kryo
new file mode 100644
index 0000000..f04e9c8
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/period-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pick-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v1d0.kryo
new file mode 100644
index 0000000..c8c7811
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v3d0.kryo
new file mode 100644
index 0000000..c8c7811
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pop-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v1d0.kryo
new file mode 100644
index 0000000..8b8ebb4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v3d0.kryo
new file mode 100644
index 0000000..8b8ebb4
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/por-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v1d0.kryo
new file mode 100644
index 0000000..133ac6f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v1d0.kryo
@@ -0,0 +1 @@
+sincå²
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v3d0.kryo
new file mode 100644
index 0000000..a7d9c27
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/property-v3d0.kryo
@@ -0,0 +1 @@
+sincå²developó
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v1d0.kryo
new file mode 100644
index 0000000..35dfe21
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v3d0.kryo
new file mode 100644
index 0000000..35dfe21
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithin-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v1d0.kryo
new file mode 100644
index 0000000..50f14cf
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v3d0.kryo
new file mode 100644
index 0000000..50f14cf
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/pwithout-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v1d0.kryo
new file mode 100644
index 0000000..71bd63e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v3d0.kryo
new file mode 100644
index 0000000..71bd63e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/scope-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionclose-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionclose-v3d0.kryo
new file mode 100644
index 0000000..1bad6a1
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionclose-v3d0.kryo
@@ -0,0 +1 @@
+Ëh%xD¼\j§<Ssessioîclosåsessioîunique-session-identifieò
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessioneval-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessioneval-v3d0.kryo
new file mode 100644
index 0000000..f551b96
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessioneval-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionevalaliased-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionevalaliased-v3d0.kryo
new file mode 100644
index 0000000..8bb5889
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionevalaliased-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlesseval-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlesseval-v3d0.kryo
new file mode 100644
index 0000000..fd84e20
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlesseval-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlessevalaliased-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlessevalaliased-v3d0.kryo
new file mode 100644
index 0000000..d3745be
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/sessionlessevalaliased-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v1d0.kryo
new file mode 100644
index 0000000..6060b89
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v3d0.kryo
new file mode 100644
index 0000000..6060b89
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/short-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/standardresult-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/standardresult-v3d0.kryo
new file mode 100644
index 0000000..06c5d8a
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/standardresult-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v1d0.kryo
new file mode 100644
index 0000000..9947842
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v3d0.kryo
new file mode 100644
index 0000000..9947842
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/stargraph-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v1d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v1d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v3d0.kryo
new file mode 100644
index 0000000..40fdece
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/t-v3d0.kryo
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v1d0.kryo
new file mode 100644
index 0000000..d71eb0f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v1d0.kryo
@@ -0,0 +1 @@
+containinçarë
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v3d0.kryo
new file mode 100644
index 0000000..d71eb0f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/textp-v3d0.kryo
@@ -0,0 +1 @@
+containinçarë
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v1d0.kryo
new file mode 100644
index 0000000..a86f98f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v1d0.kryo
@@ -0,0 +1 @@
+·¿ù+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v3d0.kryo
new file mode 100644
index 0000000..a86f98f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/timestamp-v3d0.kryo
@@ -0,0 +1 @@
+·¿ù+
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v1d0.kryo
new file mode 100644
index 0000000..5789986
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v3d0.kryo
new file mode 100644
index 0000000..5789986
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tinkergraph-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v1d0.kryo
new file mode 100644
index 0000000..eef8b5f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v3d0.kryo
new file mode 100644
index 0000000..5ec44fd
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traversalmetrics-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v1d0.kryo
new file mode 100644
index 0000000..cc019f0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v3d0.kryo
new file mode 100644
index 0000000..7c1fb0d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/traverser-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v1d0.kryo
new file mode 100644
index 0000000..682529f
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v3d0.kryo
new file mode 100644
index 0000000..d5a9dd9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/tree-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v1d0.kryo
new file mode 100644
index 0000000..34fc35d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v1d0.kryo
@@ -0,0 +1 @@
+AÒâ ¤J°³yØÞÞ7
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v3d0.kryo
new file mode 100644
index 0000000..34fc35d
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/uuid-v3d0.kryo
@@ -0,0 +1 @@
+AÒâ ¤J°³yØÞÞ7
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v1d0.kryo
new file mode 100644
index 0000000..c58ac46
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v3d0.kryo
new file mode 100644
index 0000000..4464039
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertex-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v1d0.kryo
new file mode 100644
index 0000000..3b74daa
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v3d0.kryo
new file mode 100644
index 0000000..95f8be0
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/vertexproperty-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v1d0.kryo
new file mode 100644
index 0000000..2ec2ef9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v3d0.kryo
new file mode 100644
index 0000000..2ec2ef9
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/year-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v1d0.kryo
new file mode 100644
index 0000000..47e3a3e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v3d0.kryo
new file mode 100644
index 0000000..47e3a3e
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/yearmonth-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v1d0.kryo
new file mode 100644
index 0000000..3ebbce5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v1d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v3d0.kryo
new file mode 100644
index 0000000..3ebbce5
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneddatetime-v3d0.kryo
Binary files differ
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v1d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v1d0.kryo
new file mode 100644
index 0000000..4d34f9c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v1d0.kryo
@@ -0,0 +1 @@
++03:06:0¹
\ No newline at end of file
diff --git a/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v3d0.kryo b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v3d0.kryo
new file mode 100644
index 0000000..4d34f9c
--- /dev/null
+++ b/gremlin-tools/gremlin-io-test/src/test/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/_3_4_9/zoneoffset-v3d0.kryo
@@ -0,0 +1 @@
++03:06:0¹
\ No newline at end of file