Project Number Date
cypher-for-gremlin 1.0.4 05 Nov 2019, 16:13

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
ReturnAcceptance2 146 2 0 0 0 148 29 2 31 0.000 Failed
Feature ReturnAcceptance2
0.000
Given an empty graph 0.000

16:12:12.696 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({p: 0})

16:12:12.696 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({p: 0})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.697 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({p: 0}) 16:12:12.698 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'p', 0).barrier().limit(0)

When executing query: 0.000
MATCH (n)
DELETE n
RETURN n.p

16:12:12.718 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) DELETE n RETURN n.p}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.718 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) DELETE n RETURN n.p 16:12:12.722 [gremlin-server-worker-1] WARN o.a.t.g.s.h.OpExecutorHandler - Deleted entity property access Variable(n) org.opencypher.gremlin.translation.exception.EntityNotFound: Deleted entity property access Variable(n) at org.opencypher.gremlin.translation.walker.StatementWalker.$anonfun$returnDependsOnDelete$6(StatementWalker.scala:156) at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240) at scala.collection.immutable.List.foreach(List.scala:388) at scala.collection.TraversableLike.flatMap(TraversableLike.scala:240) at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237) at scala.collection.immutable.List.flatMap(List.scala:351) at org.opencypher.gremlin.translation.walker.StatementWalker.returnDependsOnDelete(StatementWalker.scala:151) at org.opencypher.gremlin.translation.walker.StatementWalker.rewriteClauses(StatementWalker.scala:89) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:84) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:45) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:32) at org.opencypher.gremlin.translation.CypherAst.translate(CypherAst.scala:98) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:119) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:67) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:77) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:211) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.lang.Thread.run(Thread.java:748)

Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000
Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000

16:12:12.723 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.723 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.726 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.727 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.727 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.729 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.731 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.731 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:12.733 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:12.736 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.737 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:12.742 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (:A)

16:12:12.743 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (:A)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.743 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A) 16:12:12.744 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').barrier().limit(0)

When executing query: 0.000
MATCH (n)
DELETE n
RETURN labels(n)

16:12:12.765 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) DELETE n RETURN labels(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.765 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) DELETE n RETURN labels(n) 16:12:12.767 [gremlin-server-worker-1] WARN o.a.t.g.s.h.OpExecutorHandler - Deleted entity label access Vector(Variable(n)) org.opencypher.gremlin.translation.exception.EntityNotFound: Deleted entity label access Vector(Variable(n)) at org.opencypher.gremlin.translation.walker.StatementWalker.$anonfun$returnDependsOnDelete$6(StatementWalker.scala:154) at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240) at scala.collection.immutable.List.foreach(List.scala:388) at scala.collection.TraversableLike.flatMap(TraversableLike.scala:240) at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237) at scala.collection.immutable.List.flatMap(List.scala:351) at org.opencypher.gremlin.translation.walker.StatementWalker.returnDependsOnDelete(StatementWalker.scala:151) at org.opencypher.gremlin.translation.walker.StatementWalker.rewriteClauses(StatementWalker.scala:89) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:84) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:45) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:32) at org.opencypher.gremlin.translation.CypherAst.translate(CypherAst.scala:98) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:119) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:67) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:77) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:211) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.lang.Thread.run(Thread.java:748)

Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000
Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000

16:12:12.768 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.768 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.772 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.772 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.772 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.775 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.778 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.778 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:12.780 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:12.780 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.786 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:12.793 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ()-[:T {p: 0}]->()

16:12:12.794 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ()-[:T {p: 0}]->()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.794 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ()-[:T {p: 0}]->() 16:12:12.796 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED24').addE('T').from(' UNNAMED8').to(' UNNAMED24').property('p', 0).barrier().limit(0)

When executing query: 0.000
MATCH ()-[r]->()
DELETE r
RETURN r.p

16:12:12.821 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() DELETE r RETURN r.p}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.821 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() DELETE r RETURN r.p 16:12:12.824 [gremlin-server-worker-1] WARN o.a.t.g.s.h.OpExecutorHandler - Deleted entity property access Variable(r) org.opencypher.gremlin.translation.exception.EntityNotFound: Deleted entity property access Variable(r) at org.opencypher.gremlin.translation.walker.StatementWalker.$anonfun$returnDependsOnDelete$6(StatementWalker.scala:156) at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240) at scala.collection.immutable.List.foreach(List.scala:388) at scala.collection.TraversableLike.flatMap(TraversableLike.scala:240) at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237) at scala.collection.immutable.List.flatMap(List.scala:351) at org.opencypher.gremlin.translation.walker.StatementWalker.returnDependsOnDelete(StatementWalker.scala:151) at org.opencypher.gremlin.translation.walker.StatementWalker.rewriteClauses(StatementWalker.scala:89) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:84) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:45) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:32) at org.opencypher.gremlin.translation.CypherAst.translate(CypherAst.scala:98) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:119) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:67) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:77) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:211) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.lang.Thread.run(Thread.java:748)

Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000
Then a EntityNotFound should be raised at runtime: DeletedEntityAccess 0.000

16:12:12.825 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.826 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.828 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.828 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.828 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.830 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.831 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.831 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:12.833 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:12.837 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.845 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:12.846 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ()-[:T]->()

16:12:12.847 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ()-[:T]->()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.847 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ()-[:T]->() 16:12:12.849 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED17').addE('T').from(' UNNAMED8').to(' UNNAMED17').barrier().limit(0)

When executing query: 0.000
MATCH ()-[r]->()
DELETE r
RETURN type(r)

16:12:12.872 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() DELETE r RETURN type(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.872 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() DELETE r RETURN type(r) 16:12:12.876 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().outE().as('r').inV().barrier().sideEffect(__.select('r').aggregate(' cypher.delete.detach')).select('r').project('type(r)').by(__.label().is(neq('vertex'))).sideEffect(__.limit(0).aggregate(' cypher.delete.once')).barrier().sideEffect(__.coalesce(__.cap(' cypher.delete.once').unfold(), __.constant(true).aggregate(' cypher.delete.once').cap(' cypher.delete.detach').unfold().dedup().is(neq(' cypher.null')).drop()))

Then the result should be: 0.000
type(r)
'T'
And the side effects should be: 0.000
-relationships 1

16:12:12.877 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.877 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.879 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.880 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.880 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.882 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.884 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.884 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:12.888 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:12.891 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.894 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 1 +relationships: 0

0.000
Given any graph 0.000

16:12:12.898 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.899 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); }} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.899 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 16:12:12.915 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'name', 'a').addV('X').as('b1').property(single, 'name', 'b1').addV('X').as('b2').property(single, 'name', 'b2').addV('X').as('b3').property(single, 'name', 'b3').addV('X').as('b4').property(single, 'name', 'b4').addV('X').as('c11').property(single, 'name', 'c11').addV('X').as('c12').property(single, 'name', 'c12').addV('X').as('c21').property(single, 'name', 'c21').addV('X').as('c22').property(single, 'name', 'c22').addV('X').as('c31').property(single, 'name', 'c31').addV('X').as('c32').property(single, 'name', 'c32').addV('X').as('c41').property(single, 'name', 'c41').addV('X').as('c42').property(single, 'name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.000
RETURN '\u01FF' AS a

16:12:12.941 [Test worker] DEBUG o.a.t.g.driver.Client - RETURN '\u01FF' AS a}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.941 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: RETURN '\u01FF' AS a 16:12:12.943 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project('a').by(__.constant('ǿ'))

Then the result should be: 0.000
a
'ǿ'
And no side effects 0.000

16:12:12.944 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.944 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.946 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.946 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.946 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.948 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.949 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.949 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:12.951 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:12.951 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.953 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:12.959 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (), (), ()

16:12:12.961 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (), (), ()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.961 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (), (), () 16:12:12.962 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().addV().addV().barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN n
  LIMIT 0

16:12:12.984 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN n LIMIT 0}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.985 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN n LIMIT 0 16:12:12.988 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').project('n').by(__.identity()).limit(0).project('n').by(__.select('n').valueMap().with('~tinkerpop.valueMap.tokens'))

Then the result should be: 0.000
n
And no side effects 0.000

16:12:12.991 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.991 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:12.993 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:12.994 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.994 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:12.996 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:12.998 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:12.998 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.000 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.004 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.009 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Scenario Fail when sorting on variable removed by DISTINCT
Steps
Given an empty graph 0.000

16:12:13.013 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({name: 'A', age: 13}), ({name: 'B', age: 12}), ({name: 'C', age: 11})

16:12:13.014 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({name: 'A', age: 13}), ({name: 'B', age: 12}), ({name: 'C', age: 11})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.014 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({name: 'A', age: 13}), ({name: 'B', age: 12}), ({name: 'C', age: 11}) 16:12:13.016 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'name', 'A').property(single, 'age', 13).addV().property(single, 'name', 'B').property(single, 'age', 12).addV().property(single, 'name', 'C').property(single, 'age', 11).barrier().limit(0)

When executing query: 0.000
MATCH (a)
RETURN DISTINCT a.name
  ORDER BY a.age

16:12:13.038 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) RETURN DISTINCT a.name ORDER BY a.age}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.038 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) RETURN DISTINCT a.name ORDER BY a.age 16:12:13.040 [gremlin-server-worker-1] WARN o.a.t.g.s.h.OpExecutorHandler - In a WITH/RETURN with DISTINCT or an aggregation, it is not possible to access variables declared before the WITH/RETURN: a (line 3, column 12 (offset: 44)) org.opencypher.v9_0.util.SyntaxException: In a WITH/RETURN with DISTINCT or an aggregation, it is not possible to access variables declared before the WITH/RETURN: a (line 3, column 12 (offset: 44)) at org.opencypher.gremlin.translation.EmptyParserContext.$anonfun$exceptionCreator$1(EmptyParserContext.scala:30) at org.opencypher.gremlin.translation.EmptyParserContext.$anonfun$errorHandler$2(EmptyParserContext.scala:36) at scala.collection.Iterator.foreach(Iterator.scala:937) at scala.collection.Iterator.foreach$(Iterator.scala:937) at scala.collection.AbstractIterator.foreach(Iterator.scala:1425) at scala.collection.IterableLike.foreach(IterableLike.scala:70) at scala.collection.IterableLike.foreach$(IterableLike.scala:69) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at org.opencypher.gremlin.translation.EmptyParserContext.$anonfun$errorHandler$1(EmptyParserContext.scala:36) at org.opencypher.gremlin.translation.EmptyParserContext.$anonfun$errorHandler$1$adapted(EmptyParserContext.scala:36) at org.opencypher.v9_0.frontend.phases.SemanticAnalysis.process(SemanticAnalysis.scala:37) at org.opencypher.v9_0.frontend.phases.SemanticAnalysis.process(SemanticAnalysis.scala:23) at org.opencypher.v9_0.frontend.phases.Phase.$anonfun$transform$1(Phase.scala:35) at org.opencypher.v9_0.frontend.helpers.package$.$anonfun$closing$1(package.scala:23) at org.opencypher.v9_0.frontend.helpers.package$.using(package.scala:31) at org.opencypher.v9_0.frontend.helpers.package$.closing(package.scala:23) at org.opencypher.v9_0.frontend.phases.Phase.transform(Phase.scala:34) at org.opencypher.v9_0.frontend.phases.Phase.transform$(Phase.scala:33) at org.opencypher.v9_0.frontend.phases.SemanticAnalysis.transform(SemanticAnalysis.scala:23) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:59) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:63) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:59) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:59) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:59) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:59) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:240) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:225) at org.opencypher.gremlin.translation.CypherAst.parse(CypherAst.scala) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:107) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:67) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:77) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:211) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.lang.Thread.run(Thread.java:748)

Then a SyntaxError should be raised at compile time: UndefinedVariable 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "ReturnAcceptance2": Scenario "Fail when sorting on variable removed by DISTINCT" failed with message: Wrong error detail: expected UndefinedVariable, got In a WITH/RETURN with DISTINCT or an aggregation, it is not possible to access variables declared before the WITH/RETURN: a (line 3, column 12 (offset: 44))
	at org.opencypher.tools.tck.api.Scenario.$anonfun$executeOnGraph$1(Scenario.scala:115)
	at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:122)
	at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:118)
	at scala.collection.immutable.List.foldLeft(List.scala:85)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: In a WITH/RETURN with DISTINCT or an aggregation, it is not possible to access variables declared before the WITH/RETURN: a (line 3, column 12 (offset: 44))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:259)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:198)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:124)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:68)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:89)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	... 1 more
0.000
Given an empty graph 0.000

16:12:13.042 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({name: 'nisse'})

16:12:13.043 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({name: 'nisse'})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.043 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({name: 'nisse'}) 16:12:13.045 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'name', 'nisse').barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN n.name, count(*) AS foo
  ORDER BY n.name

16:12:13.065 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN n.name, count(*) AS foo ORDER BY n.name}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.065 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN n.name, count(*) AS foo ORDER BY n.name 16:12:13.067 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().group().by(__.choose(__.values('name'), __.values('name'), __.constant(' cypher.null'))).by(__.fold().project('n.name', 'foo').by(__.unfold().choose(neq(' cypher.null'), __.choose(__.values('name'), __.values('name'), __.constant(' cypher.null')))).by(__.unfold().count())).unfold().select(values).order().by(__.select('n.name'), asc)

Then the result should be: 0.000
n.name foo
'nisse' 1
And no side effects 0.000

16:12:13.072 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.072 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.075 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.075 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.076 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.078 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.080 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.080 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.082 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.084 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.086 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.092 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({name: 'Florescu'}), (), ()

16:12:13.093 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({name: 'Florescu'}), (), ()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.093 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({name: 'Florescu'}), (), () 16:12:13.095 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'name', 'Florescu').addV().addV().barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN DISTINCT n.name

16:12:13.116 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN DISTINCT n.name}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.116 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN DISTINCT n.name 16:12:13.118 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('n.name').by(__.choose(__.values('name'), __.values('name'), __.constant(' cypher.null'))).dedup()

Then the result should be: 0.000
n.name
'Florescu'
null
And no side effects 0.000

16:12:13.118 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.119 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.122 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.123 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.123 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.126 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.129 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.129 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.131 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.133 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.134 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.139 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (:Start)-[:T]->()

16:12:13.140 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (:Start)-[:T]->()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.140 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:Start)-[:T]->() 16:12:13.142 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('Start').as(' UNNAMED8').addV().as(' UNNAMED23').addE('T').from(' UNNAMED8').to(' UNNAMED23').barrier().limit(0)

When executing query: 0.000
MATCH p = (a:Start)-->(b)
RETURN *

16:12:13.161 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH p = (a:Start)-->(b) RETURN *}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.161 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH p = (a:Start)-->(b) RETURN * 16:12:13.164 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('Start').outE().aggregate(' cypher.path.edge.p').inV().as('b').path().from('a').as('p').select('a', 'b', 'p').project('a', 'b', 'p').by(__.select('a').valueMap().with('~tinkerpop.valueMap.tokens')).by(__.select('b').valueMap().with('~tinkerpop.valueMap.tokens')).by(__.select('p').is(neq(' cypher.unused')).project(' cypher.relationship', ' cypher.element').by(__.select(' cypher.path.edge.p').unfold().project(' cypher.id', ' cypher.inv', ' cypher.outv').by(__.id()).by(__.inV().id()).by(__.outV().id()).fold()).by(__.unfold().is(neq(' cypher.start')).valueMap().with('~tinkerpop.valueMap.tokens').fold()))

Then the result should be: 0.000
a b p
(:Start) () <(:Start)-[:T]->()>
And no side effects 0.000

16:12:13.165 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.166 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.167 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.168 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.168 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.171 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.172 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.172 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.175 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.176 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.179 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given any graph 0.000

16:12:13.183 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.183 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); }} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.184 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 16:12:13.200 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'name', 'a').addV('X').as('b1').property(single, 'name', 'b1').addV('X').as('b2').property(single, 'name', 'b2').addV('X').as('b3').property(single, 'name', 'b3').addV('X').as('b4').property(single, 'name', 'b4').addV('X').as('c11').property(single, 'name', 'c11').addV('X').as('c12').property(single, 'name', 'c12').addV('X').as('c21').property(single, 'name', 'c21').addV('X').as('c22').property(single, 'name', 'c22').addV('X').as('c31').property(single, 'name', 'c31').addV('X').as('c32').property(single, 'name', 'c32').addV('X').as('c41').property(single, 'name', 'c41').addV('X').as('c42').property(single, 'name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.000
RETURN sqrt(12.96)

16:12:13.229 [Test worker] DEBUG o.a.t.g.driver.Client - RETURN sqrt(12.96)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.229 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: RETURN sqrt(12.96) 16:12:13.231 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project('sqrt(12.96)').by(__.constant(12.96d).math('sqrt(_)'))

Then the result should be: 0.000
sqrt(12.96)
3.6
And no side effects 0.000

16:12:13.232 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.232 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.234 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.234 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.234 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.238 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.239 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.239 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.242 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.243 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.245 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Scenario Arithmetic expressions inside aggregation
Steps
Given an empty graph 0.000

16:12:13.249 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (andres {name: 'Andres'}),
       (michael {name: 'Michael'}),
       (peter {name: 'Peter'}),
       (bread {type: 'Bread'}),
       (veggies {type: 'Veggies'}),
       (meat {type: 'Meat'})
CREATE (andres)-[:ATE {times: 10}]->(bread),
       (andres)-[:ATE {times: 8}]->(veggies),
       (michael)-[:ATE {times: 4}]->(veggies),
       (michael)-[:ATE {times: 6}]->(bread),
       (michael)-[:ATE {times: 9}]->(meat),
       (peter)-[:ATE {times: 7}]->(veggies),
       (peter)-[:ATE {times: 7}]->(bread),
       (peter)-[:ATE {times: 4}]->(meat)

16:12:13.250 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (andres {name: 'Andres'}), (michael {name: 'Michael'}), (peter {name: 'Peter'}), (bread {type: 'Bread'}), (veggies {type: 'Veggies'}), (meat {type: 'Meat'}) CREATE (andres)-[:ATE {times: 10}]->(bread), (andres)-[:ATE {times: 8}]->(veggies), (michael)-[:ATE {times: 4}]->(veggies), (michael)-[:ATE {times: 6}]->(bread), (michael)-[:ATE {times: 9}]->(meat), (peter)-[:ATE {times: 7}]->(veggies), (peter)-[:ATE {times: 7}]->(bread), (peter)-[:ATE {times: 4}]->(meat)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.250 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (andres {name: 'Andres'}), (michael {name: 'Michael'}), (peter {name: 'Peter'}), (bread {type: 'Bread'}), (veggies {type: 'Veggies'}), (meat {type: 'Meat'}) CREATE (andres)-[:ATE {times: 10}]->(bread), (andres)-[:ATE {times: 8}]->(veggies), (michael)-[:ATE {times: 4}]->(veggies), (michael)-[:ATE {times: 6}]->(bread), (michael)-[:ATE {times: 9}]->(meat), (peter)-[:ATE {times: 7}]->(veggies), (peter)-[:ATE {times: 7}]->(bread), (peter)-[:ATE {times: 4}]->(meat) 16:12:13.259 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().as('andres').property(single, 'name', 'Andres').addV().as('michael').property(single, 'name', 'Michael').addV().as('peter').property(single, 'name', 'Peter').addV().as('bread').property(single, 'type', 'Bread').addV().as('veggies').property(single, 'type', 'Veggies').addV().as('meat').property(single, 'type', 'Meat').addE('ATE').from('andres').to('bread').property('times', 10).addE('ATE').from('andres').to('veggies').property('times', 8).addE('ATE').from('michael').to('veggies').property('times', 4).addE('ATE').from('michael').to('bread').property('times', 6).addE('ATE').from('michael').to('meat').property('times', 9).addE('ATE').from('peter').to('veggies').property('times', 7).addE('ATE').from('peter').to('bread').property('times', 7).addE('ATE').from('peter').to('meat').property('times', 4).barrier().limit(0)

When executing query: 0.000
MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you)
WHERE me.name = 'Michael'
WITH me, count(DISTINCT r1) AS H1, count(DISTINCT r2) AS H2, you
MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you)
RETURN me, you, sum((1 - abs(r1.times / H1 - r2.times / H2)) * (r1.times + r2.times) / (H1 + H2)) AS sum

16:12:13.280 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you) WHERE me.name = 'Michael' WITH me, count(DISTINCT r1) AS H1, count(DISTINCT r2) AS H2, you MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you) RETURN me, you, sum((1 - abs(r1.times / H1 - r2.times / H2)) * (r1.times + r2.times) / (H1 + H2)) AS sum}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.280 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you) WHERE me.name = 'Michael' WITH me, count(DISTINCT r1) AS H1, count(DISTINCT r2) AS H2, you MATCH (me)-[r1:ATE]->()<-[r2:ATE]-(you) RETURN me, you, sum((1 - abs(r1.times / H1 - r2.times / H2)) * (r1.times + r2.times) / (H1 + H2)) AS sum 16:12:13.299 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('me').has('name', eq('Michael')).outE('ATE').as('r1').inV().inE('ATE').as('r2').outV().as('you').where(__.select('r1').where(neq('r2'))).select('me', 'r1', 'r2', 'you').group().by(__.project('me', 'you').by(__.select('me')).by(__.select('you'))).by(__.fold().project('me', 'H1', 'H2', 'you').by(__.unfold().select('me')).by(__.unfold().select('r1').dedup().is(neq(' cypher.null')).count()).by(__.unfold().select('r2').dedup().is(neq(' cypher.null')).count()).by(__.unfold().select('you'))).unfold().select(values).as(' GENERATED3').select('me').as('me').has('name', eq('Michael')).select(' GENERATED3').select('H1').as('H1').select(' GENERATED3').select('H2').as('H2').select(' GENERATED3').select('you').as('you').select('me').outE('ATE').as('r1').inV().inE('ATE').as('r2').outV().as(' GENERATED7').where(__.select(' GENERATED7').where(eq('you'))).where(__.select('r1').where(neq('r2'))).select('me', 'you', 'r1', 'H1', 'r2', 'H2').group().by(__.project('me', 'you').by(__.select('me')).by(__.select('you'))).by(__.fold().project('me', 'you', 'sum').by(__.unfold().select('me')).by(__.unfold().select('you')).by(__.unfold().select('H2').as('__GENERATED16').select('H1').choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED16').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ + __GENERATED16')).as('__GENERATED8').project(' GENERATED14', ' GENERATED15').by(__.select('r1').choose(neq(' cypher.null'), __.choose(__.values('times'), __.values('times'), __.constant(' cypher.null')))).by(__.select('r2').choose(neq(' cypher.null'), __.choose(__.values('times'), __.values('times'), __.constant(' cypher.null')))).select(values).map(cypherPlus()).as('__GENERATED9').select('H2').as('__GENERATED13').select('r2').choose(neq(' cypher.null'), __.choose(__.values('times'), __.values('times'), __.constant(' cypher.null'))).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED13').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ / __GENERATED13')).as('__GENERATED11').select('H1').as('__GENERATED12').select('r1').choose(neq(' cypher.null'), __.choose(__.values('times'), __.values('times'), __.constant(' cypher.null'))).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED12').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ / __GENERATED12')).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED11').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ - __GENERATED11')).math('abs(_)').as('__GENERATED10').constant(1).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED10').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ - __GENERATED10')).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED9').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ * __GENERATED9')).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED8').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ / __GENERATED8')).is(neq(' cypher.null')).fold().coalesce(__.sum(local), __.constant(' cypher.null')))).unfold().select(values).project('me', 'you', 'sum').by(__.select('me').choose(neq(' cypher.null'), __.valueMap().with('~tinkerpop.valueMap.tokens'))).by(__.select('you').choose(neq(' cypher.null'), __.valueMap().with('~tinkerpop.valueMap.tokens'))).by(__.select('sum').identity())

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "ReturnAcceptance2": Scenario "Arithmetic expressions inside aggregation" failed with message: 
Expected (in any order of rows):
| me | you | sum |
| ({name: 'Michael'}) | ({name: 'Andres'}) | -7 |
| ({name: 'Michael'}) | ({name: 'Peter'}) | 0 |
Actual:
| me | you | sum |
| ({name: 'Michael'}) | ({name: 'Peter'}) | null |
| ({name: 'Michael'}) | ({name: 'Andres'}) | null |
	at org.opencypher.tools.tck.api.Scenario.$anonfun$executeOnGraph$1(Scenario.scala:90)
	at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:122)
	at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:118)
	at scala.collection.immutable.List.foldLeft(List.scala:85)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
me you sum
({name: 'Michael'}) ({name: 'Andres'}) -7
({name: 'Michael'}) ({name: 'Peter'}) 0
0.000
Given an empty graph 0.000

16:12:13.306 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (andres {name: 'Andres'}),
       (michael {name: 'Michael'}),
       (peter {name: 'Peter'}),
       (bread {type: 'Bread'}),
       (veggies {type: 'Veggies'}),
       (meat {type: 'Meat'})
CREATE (andres)-[:ATE {times: 10}]->(bread),
       (andres)-[:ATE {times: 8}]->(veggies),
       (michael)-[:ATE {times: 4}]->(veggies),
       (michael)-[:ATE {times: 6}]->(bread),
       (michael)-[:ATE {times: 9}]->(meat),
       (peter)-[:ATE {times: 7}]->(veggies),
       (peter)-[:ATE {times: 7}]->(bread),
       (peter)-[:ATE {times: 4}]->(meat)

16:12:13.308 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (andres {name: 'Andres'}), (michael {name: 'Michael'}), (peter {name: 'Peter'}), (bread {type: 'Bread'}), (veggies {type: 'Veggies'}), (meat {type: 'Meat'}) CREATE (andres)-[:ATE {times: 10}]->(bread), (andres)-[:ATE {times: 8}]->(veggies), (michael)-[:ATE {times: 4}]->(veggies), (michael)-[:ATE {times: 6}]->(bread), (michael)-[:ATE {times: 9}]->(meat), (peter)-[:ATE {times: 7}]->(veggies), (peter)-[:ATE {times: 7}]->(bread), (peter)-[:ATE {times: 4}]->(meat)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.308 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (andres {name: 'Andres'}), (michael {name: 'Michael'}), (peter {name: 'Peter'}), (bread {type: 'Bread'}), (veggies {type: 'Veggies'}), (meat {type: 'Meat'}) CREATE (andres)-[:ATE {times: 10}]->(bread), (andres)-[:ATE {times: 8}]->(veggies), (michael)-[:ATE {times: 4}]->(veggies), (michael)-[:ATE {times: 6}]->(bread), (michael)-[:ATE {times: 9}]->(meat), (peter)-[:ATE {times: 7}]->(veggies), (peter)-[:ATE {times: 7}]->(bread), (peter)-[:ATE {times: 4}]->(meat) 16:12:13.321 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().as('andres').property(single, 'name', 'Andres').addV().as('michael').property(single, 'name', 'Michael').addV().as('peter').property(single, 'name', 'Peter').addV().as('bread').property(single, 'type', 'Bread').addV().as('veggies').property(single, 'type', 'Veggies').addV().as('meat').property(single, 'type', 'Meat').addE('ATE').from('andres').to('bread').property('times', 10).addE('ATE').from('andres').to('veggies').property('times', 8).addE('ATE').from('michael').to('veggies').property('times', 4).addE('ATE').from('michael').to('bread').property('times', 6).addE('ATE').from('michael').to('meat').property('times', 9).addE('ATE').from('peter').to('veggies').property('times', 7).addE('ATE').from('peter').to('bread').property('times', 7).addE('ATE').from('peter').to('meat').property('times', 4).barrier().limit(0)

When executing query: 0.000
MATCH ()-->()
WITH 1 AS x
MATCH ()-[r1]->()<--()
RETURN sum(r1.times)

16:12:13.345 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-->() WITH 1 AS x MATCH ()-[r1]->()<--() RETURN sum(r1.times)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.345 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-->() WITH 1 AS x MATCH ()-[r1]->()<--() RETURN sum(r1.times) 16:12:13.350 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().outE().inV().map(__.constant(1)).V().outE().as('r1').inV().inE().as(' UNNAMED44').outV().where(__.select(' UNNAMED44').where(neq('r1'))).select('r1').choose(__.values('times'), __.values('times'), __.constant(' cypher.null')).is(neq(' cypher.null')).fold().coalesce(__.sum(local), __.constant(' cypher.null')).project('sum(r1.times)').by(__.identity())

Then the result should be: 0.000
sum(r1.times)
776
And no side effects 0.000

16:12:13.352 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.353 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.356 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.357 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.357 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.360 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.360 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.361 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.363 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.365 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.366 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.367 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({foo: [1, 2, 3]})

16:12:13.368 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({foo: [1, 2, 3]})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.368 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({foo: [1, 2, 3]}) 16:12:13.372 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'foo', __.project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN n

16:12:13.398 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN n}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.399 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN n 16:12:13.400 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('n').by(__.valueMap().with('~tinkerpop.valueMap.tokens'))

Then the result should be: 0.000
n
({foo: [1, 2, 3]})
And no side effects 0.000

16:12:13.401 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.401 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.405 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.405 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.405 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.408 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.411 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.411 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.413 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.415 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.416 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.421 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({foo: [1, 2, 3]})

16:12:13.422 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({foo: [1, 2, 3]})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.422 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({foo: [1, 2, 3]}) 16:12:13.424 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'foo', __.project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values)).barrier().limit(0)

When executing query: 0.000
RETURN {a: 1, b: 'foo'}

16:12:13.447 [Test worker] DEBUG o.a.t.g.driver.Client - RETURN {a: 1, b: 'foo'}}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.447 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: RETURN {a: 1, b: 'foo'} 16:12:13.449 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project('{a: 1, b: \'foo\'}').by(__.project('a', 'b').by(__.constant(1)).by(__.constant('foo')))

Then the result should be: 0.000
{a: 1, b: 'foo'}
{a: 1, b: 'foo'}
And no side effects 0.000

16:12:13.449 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.449 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.451 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.451 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.452 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.456 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.459 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.459 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.461 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.463 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.464 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.467 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ()

16:12:13.468 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.468 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE () 16:12:13.470 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.000
MATCH (a)
RETURN exists(a.id), a IS NOT NULL

16:12:13.498 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) RETURN exists(a.id), a IS NOT NULL}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.498 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) RETURN exists(a.id), a IS NOT NULL 16:12:13.501 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('exists(a.id)', 'a IS NOT NULL').by(__.choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))).choose(__.is(neq(' cypher.null')), __.constant(true), __.constant(false))).by(__.choose(__.is(neq(' cypher.null')), __.constant(true), __.constant(false)))

Then the result should be: 0.000
exists(a.id) a IS NOT NULL
false true
And no side effects 0.000

16:12:13.501 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.501 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.505 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.505 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.505 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.508 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.511 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.511 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.513 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.515 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.519 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.525 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
UNWIND range(0, 15) AS i
CREATE ({count: i})

16:12:13.526 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND range(0, 15) AS i CREATE ({count: i})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.526 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND range(0, 15) AS i CREATE ({count: i}) 16:12:13.528 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').repeat(__.sideEffect(__.loops().aggregate(' GENERATED1'))).until(__.loops().is(gt(15))).select(' GENERATED1').unfold().as('i').addV().property(single, 'count', __.select('i')).barrier().limit(0)

When executing query: 0.000
MATCH (a)
RETURN a.count
  ORDER BY a.count
  SKIP 10
  LIMIT 10

16:12:13.548 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) RETURN a.count ORDER BY a.count SKIP 10 LIMIT 10}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.549 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) RETURN a.count ORDER BY a.count SKIP 10 LIMIT 10 16:12:13.551 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('a.count').by(__.choose(__.values('count'), __.values('count'), __.constant(' cypher.null'))).order().by(__.select('a.count'), asc).skip(10).limit(10)

Then the result should be, in order: 0.000
a.count
10
11
12
13
14
15
And no side effects 0.000

16:12:13.552 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.552 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.555 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.556 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.556 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.559 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.561 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.562 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.563 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.566 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.568 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given any graph 0.000

16:12:13.575 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.576 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); }} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.576 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 16:12:13.591 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'name', 'a').addV('X').as('b1').property(single, 'name', 'b1').addV('X').as('b2').property(single, 'name', 'b2').addV('X').as('b3').property(single, 'name', 'b3').addV('X').as('b4').property(single, 'name', 'b4').addV('X').as('c11').property(single, 'name', 'c11').addV('X').as('c12').property(single, 'name', 'c12').addV('X').as('c21').property(single, 'name', 'c21').addV('X').as('c22').property(single, 'name', 'c22').addV('X').as('c31').property(single, 'name', 'c31').addV('X').as('c32').property(single, 'name', 'c32').addV('X').as('c41').property(single, 'name', 'c41').addV('X').as('c42').property(single, 'name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.000
RETURN substring('0123456789', 1) AS s

16:12:13.618 [Test worker] DEBUG o.a.t.g.driver.Client - RETURN substring('0123456789', 1) AS s}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.618 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: RETURN substring('0123456789', 1) AS s 16:12:13.623 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project('s').by(__.project(' GENERATED1', ' GENERATED2').by(__.constant('0123456789')).by(__.constant(1)).select(values).map(cypherSubstring()))

Then the result should be: 0.000
s
'123456789'
And no side effects 0.000

16:12:13.623 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.624 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.626 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.627 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.627 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.629 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.629 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.629 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.631 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.632 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.633 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.638 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({id: 1}), ({id: 10})

16:12:13.641 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({id: 1}), ({id: 10})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.641 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({id: 1}), ({id: 10}) 16:12:13.643 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'id', 1).addV().property(single, 'id', 10).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN *
  ORDER BY n.id

16:12:13.664 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN * ORDER BY n.id}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.664 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN * ORDER BY n.id 16:12:13.666 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').project('n').by(__.identity()).order().by(__.select('n').choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))), asc).project('n').by(__.select('n').choose(neq(' cypher.null'), __.valueMap().with('~tinkerpop.valueMap.tokens')))

Then the result should be, in order: 0.000
n
({id: 1})
({id: 10})
And no side effects 0.000

16:12:13.667 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.667 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.670 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.670 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.671 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.674 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.677 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.677 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.679 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.681 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.682 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.686 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({id: 1}), ({id: 10})

16:12:13.688 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({id: 1}), ({id: 10})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.689 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({id: 1}), ({id: 10}) 16:12:13.691 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'id', 1).addV().property(single, 'id', 10).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN DISTINCT n.id AS id
  ORDER BY id DESC

16:12:13.712 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN DISTINCT n.id AS id ORDER BY id DESC}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.712 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN DISTINCT n.id AS id ORDER BY id DESC 16:12:13.714 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id').by(__.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))).dedup().order().by(__.select('id'), desc)

Then the result should be, in order: 0.000
id
10
1
And no side effects 0.000

16:12:13.715 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.715 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.717 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.718 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.718 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.722 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.725 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.725 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.727 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.730 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.730 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.734 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({id: 1}), ({id: 10})

16:12:13.735 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({id: 1}), ({id: 10})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.735 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({id: 1}), ({id: 10}) 16:12:13.737 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'id', 1).addV().property(single, 'id', 10).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN DISTINCT n
  ORDER BY n.id

16:12:13.759 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN DISTINCT n ORDER BY n.id}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.760 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN DISTINCT n ORDER BY n.id 16:12:13.762 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').project('n').by(__.identity()).dedup().order().by(__.select('n').choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))), asc).project('n').by(__.select('n').choose(neq(' cypher.null'), __.valueMap().with('~tinkerpop.valueMap.tokens')))

Then the result should be, in order: 0.000
n
({id: 1})
({id: 10})
And no side effects 0.000

16:12:13.763 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.763 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.765 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.766 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.766 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.768 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.772 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.772 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.775 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.777 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.778 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given any graph 0.000

16:12:13.782 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.783 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); }} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.783 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 16:12:13.798 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'name', 'a').addV('X').as('b1').property(single, 'name', 'b1').addV('X').as('b2').property(single, 'name', 'b2').addV('X').as('b3').property(single, 'name', 'b3').addV('X').as('b4').property(single, 'name', 'b4').addV('X').as('c11').property(single, 'name', 'c11').addV('X').as('c12').property(single, 'name', 'c12').addV('X').as('c21').property(single, 'name', 'c21').addV('X').as('c22').property(single, 'name', 'c22').addV('X').as('c31').property(single, 'name', 'c31').addV('X').as('c32').property(single, 'name', 'c32').addV('X').as('c41').property(single, 'name', 'c41').addV('X').as('c42').property(single, 'name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.000
RETURN 1 + (2 - (3 * (4 / (5 ^ (6 % null))))) AS a

16:12:13.826 [Test worker] DEBUG o.a.t.g.driver.Client - RETURN 1 + (2 - (3 * (4 / (5 ^ (6 % null))))) AS a}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.827 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: RETURN 1 + (2 - (3 * (4 / (5 ^ (6 % null))))) AS a 16:12:13.832 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project('a').by(__.project(' GENERATED1', ' GENERATED2').by(__.constant(1)).by(__.constant(3).as('__GENERATED4').constant(' cypher.null').as('__GENERATED7').constant(6).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED7').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ % __GENERATED7')).as('__GENERATED6').constant(5).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED6').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ ^ __GENERATED6')).as('__GENERATED5').constant(4).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED5').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ / __GENERATED5')).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED4').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ * __GENERATED4')).as('__GENERATED3').constant(2).choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED3').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ - __GENERATED3'))).select(values).map(cypherPlus()))

Then the result should be: 0.000
a
null
And no side effects 0.000

16:12:13.834 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.834 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.837 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.838 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.838 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.841 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.841 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.841 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.845 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.846 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.847 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.852 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({id: 42})

16:12:13.855 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({id: 42})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.856 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({id: 42}) 16:12:13.858 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'id', 42).barrier().limit(0)

When executing query: 0.000
MATCH (a)
RETURN a.id AS a, a.id

16:12:13.884 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) RETURN a.id AS a, a.id}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.884 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) RETURN a.id AS a, a.id 16:12:13.887 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('a', 'a.id').by(__.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))).by(__.choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))))

Then the result should be: 0.000
a a.id
42 42
And no side effects 0.000

16:12:13.889 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.889 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.892 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.893 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.894 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.896 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.899 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.899 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.901 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.905 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.907 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:13.912 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({id: 42})

16:12:13.913 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({id: 42})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.913 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({id: 42}) 16:12:13.914 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'id', 42).barrier().limit(0)

When executing query: 0.000
MATCH (a)
RETURN a, count(a) + 3

16:12:13.944 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) RETURN a, count(a) + 3}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.944 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) RETURN a, count(a) + 3 16:12:13.950 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').group().by(__.identity()).by(__.fold().project(' AGGREGATION17', ' AGGREGATION20').by(__.unfold()).by(__.unfold().is(neq(' cypher.null')).count())).unfold().select(values).as(' GENERATED1').select(' AGGREGATION17').as(' AGGREGATION17').select(' GENERATED1').select(' AGGREGATION20').as(' AGGREGATION20').select(' AGGREGATION17', ' AGGREGATION20').project('a', 'count(a) + 3').by(__.select(' AGGREGATION17')).by(__.constant(3).as('__GENERATED2').select(' AGGREGATION20').choose(__.or(__.is(eq(' cypher.null')), __.select('__GENERATED2').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.math('_ + __GENERATED2'))).project('a', 'count(a) + 3').by(__.select('a').choose(neq(' cypher.null'), __.valueMap().with('~tinkerpop.valueMap.tokens'))).by(__.select('count(a) + 3').identity())

Then the result should be: 0.000
a count(a) + 3
({id: 42}) 4
And no side effects 0.000

16:12:13.952 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.955 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:13.959 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:13.959 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.960 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:13.963 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:13.966 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.966 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:13.969 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:13.973 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.975 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given any graph 0.000

16:12:13.980 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.981 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); }} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:13.981 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 16:12:14.001 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'name', 'a').addV('X').as('b1').property(single, 'name', 'b1').addV('X').as('b2').property(single, 'name', 'b2').addV('X').as('b3').property(single, 'name', 'b3').addV('X').as('b4').property(single, 'name', 'b4').addV('X').as('c11').property(single, 'name', 'c11').addV('X').as('c12').property(single, 'name', 'c12').addV('X').as('c21').property(single, 'name', 'c21').addV('X').as('c22').property(single, 'name', 'c22').addV('X').as('c31').property(single, 'name', 'c31').addV('X').as('c32').property(single, 'name', 'c32').addV('X').as('c41').property(single, 'name', 'c41').addV('X').as('c42').property(single, 'name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.000
CREATE (m {id: 0})
WITH {first: m.id} AS m
WITH {second: m.first} AS m
RETURN m.second

16:12:14.032 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (m {id: 0}) WITH {first: m.id} AS m WITH {second: m.first} AS m RETURN m.second}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.032 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (m {id: 0}) WITH {first: m.id} AS m WITH {second: m.first} AS m RETURN m.second 16:12:14.035 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().as('m').property(single, 'id', 0).select('m').map(__.project('first').by(__.choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))))).as('m').map(__.project('second').by(__.choose(neq(' cypher.null'), __.choose(__.select('first'), __.select('first'), __.constant(' cypher.null'))))).as('m').project('m.second').by(__.choose(neq(' cypher.null'), __.choose(__.select('second'), __.select('second'), __.constant(' cypher.null'))))

Then the result should be: 0.000
m.second
0
And the side effects should be: 0.000
+nodes 1
+properties 1

16:12:14.037 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.037 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.040 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.041 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.041 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.044 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.044 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.044 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.046 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.047 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.048 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 1 -nodes: 0 -properties: 0 +properties: 1 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.051 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({a: [1, 2, 3]}), ({a: [1, 2, 3]})

16:12:14.056 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({a: [1, 2, 3]}), ({a: [1, 2, 3]})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.056 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({a: [1, 2, 3]}), ({a: [1, 2, 3]}) 16:12:14.060 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'a', __.project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values)).addV().property(single, 'a', __.project(' GENERATED4', ' GENERATED5', ' GENERATED6').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (a)
WITH a.a AS a, count(*) AS count
RETURN count

16:12:14.081 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a) WITH a.a AS a, count(*) AS count RETURN count}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.081 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a) WITH a.a AS a, count(*) AS count RETURN count 16:12:14.084 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').group().by(__.choose(__.values('a'), __.values('a'), __.constant(' cypher.null'))).by(__.fold().project('a', 'count').by(__.unfold().choose(neq(' cypher.null'), __.choose(__.values('a'), __.values('a'), __.constant(' cypher.null')))).by(__.unfold().count())).unfold().select(values).as(' GENERATED1').select('a').as('a').select(' GENERATED1').select('count').as('count').project('count').by(__.identity())

Then the result should be: 0.000
count
2
And no side effects 0.000

16:12:14.085 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.085 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.088 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.089 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.089 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.092 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.094 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.095 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.097 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.099 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.100 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.105 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE (a:Person), (b:Person), (m:Message {id: 10})
CREATE (a)-[:LIKE {creationDate: 20160614}]->(m)-[:POSTED_BY]->(b)

16:12:14.106 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:Person), (b:Person), (m:Message {id: 10}) CREATE (a)-[:LIKE {creationDate: 20160614}]->(m)-[:POSTED_BY]->(b)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.106 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:Person), (b:Person), (m:Message {id: 10}) CREATE (a)-[:LIKE {creationDate: 20160614}]->(m)-[:POSTED_BY]->(b) 16:12:14.110 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('Person').as('a').addV('Person').as('b').addV('Message').as('m').property(single, 'id', 10).addE('LIKE').from('a').to('m').property('creationDate', 20160614).addE('POSTED_BY').from('m').to('b').barrier().limit(0)

When executing query: 0.000
MATCH (person:Person)<--(message)<-[like]-(:Person)
WITH like.creationDate AS likeTime, person AS person
  ORDER BY likeTime, message.id
WITH head(collect({likeTime: likeTime})) AS latestLike, person AS person
RETURN latestLike.likeTime AS likeTime
  ORDER BY likeTime

16:12:14.123 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (person:Person)<--(message)<-[like]-(:Person) WITH like.creationDate AS likeTime, person AS person ORDER BY likeTime, message.id WITH head(collect({likeTime: likeTime})) AS latestLike, person AS person RETURN latestLike.likeTime AS likeTime ORDER BY likeTime}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.123 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (person:Person)<--(message)<-[like]-(:Person) WITH like.creationDate AS likeTime, person AS person ORDER BY likeTime, message.id WITH head(collect({likeTime: likeTime})) AS latestLike, person AS person RETURN latestLike.likeTime AS likeTime ORDER BY likeTime 16:12:14.132 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('person').hasLabel('Person').inE().as(' UNNAMED22').outV().as('message').inE().as('like').outV().hasLabel('Person').where(__.select(' UNNAMED22').where(neq('like'))).select('like', 'person').project('likeTime', 'person').by(__.select('like').choose(__.values('creationDate'), __.values('creationDate'), __.constant(' cypher.null'))).by(__.select('person')).order().by(__.select('likeTime'), asc).by(__.select('message').choose(neq(' cypher.null'), __.choose(__.values('id'), __.values('id'), __.constant(' cypher.null'))), asc).as(' GENERATED3').select('likeTime').as('likeTime').select(' GENERATED3').select('person').as('person').select('person', 'likeTime').group().by(__.select('person')).by(__.fold().project(' AGGREGATION193', ' AGGREGATION147').by(__.unfold().select('person')).by(__.unfold().project('likeTime').by(__.select('likeTime')).is(neq(' cypher.null')).fold())).unfold().select(values).as(' GENERATED4').select(' AGGREGATION193').as(' AGGREGATION193').select(' GENERATED4').select(' AGGREGATION147').as(' AGGREGATION147').select(' AGGREGATION147', ' AGGREGATION193').project('latestLike', 'person').by(__.select(' AGGREGATION147').choose(__.limit(local, 1), __.limit(local, 1), __.constant(' cypher.null'))).by(__.select(' AGGREGATION193')).as(' GENERATED5').select('latestLike').as('latestLike').select(' GENERATED5').select('person').as('person').select('latestLike').project('likeTime').by(__.choose(neq(' cypher.null'), __.choose(__.select('likeTime'), __.select('likeTime'), __.constant(' cypher.null')))).order().by(__.select('likeTime'), asc)

Then the result should be, in order: 0.000
likeTime
20160614
And no side effects 0.000

16:12:14.134 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.134 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.136 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.137 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.138 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.144 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.145 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.145 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.148 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.149 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.149 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.150 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})

16:12:14.151 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.151 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']}) 16:12:14.157 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'list', __.project(' GENERATED1', ' GENERATED2').by(__.constant('A')).by(__.constant('B')).select(values)).addV().property(single, 'list', __.project(' GENERATED3', ' GENERATED4').by(__.constant('A')).by(__.constant('B')).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN count(DISTINCT {foo: n.list}) AS count

16:12:14.184 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN count(DISTINCT {foo: n.list}) AS count}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.185 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN count(DISTINCT {foo: n.list}) AS count 16:12:14.189 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('foo').by(__.choose(__.values('list'), __.values('list'), __.constant(' cypher.null'))).dedup().is(neq(' cypher.null')).count().project('count').by(__.identity())

Then the result should be: 0.000
count
1
And no side effects 0.000

16:12:14.190 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.190 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.192 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.193 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.193 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.196 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.198 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.199 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.201 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.204 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.206 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.214 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})

16:12:14.215 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.215 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']}) 16:12:14.217 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'list', __.project(' GENERATED1', ' GENERATED2').by(__.constant('A')).by(__.constant('B')).select(values)).addV().property(single, 'list', __.project(' GENERATED3', ' GENERATED4').by(__.constant('A')).by(__.constant('B')).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (n)
WITH DISTINCT {foo: n.list} AS map
RETURN count(*)

16:12:14.246 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WITH DISTINCT {foo: n.list} AS map RETURN count(*)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.246 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WITH DISTINCT {foo: n.list} AS map RETURN count(*) 16:12:14.249 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('map').by(__.project('foo').by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null'))))).dedup().select('map').as('map').count().project('count(*)').by(__.identity())

Then the result should be: 0.000
count(*)
1
And no side effects 0.000

16:12:14.250 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.250 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.252 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.252 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.253 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.256 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.260 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.260 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.263 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.266 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.267 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.275 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})

16:12:14.277 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.277 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']}) 16:12:14.279 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'list', __.project(' GENERATED1', ' GENERATED2').by(__.constant('A')).by(__.constant('B')).select(values)).addV().property(single, 'list', __.project(' GENERATED3', ' GENERATED4').by(__.constant('A')).by(__.constant('B')).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN count(DISTINCT {foo: [[n.list, n.list], [n.list, n.list]]}) AS count

16:12:14.306 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN count(DISTINCT {foo: [[n.list, n.list], [n.list, n.list]]}) AS count}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.306 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN count(DISTINCT {foo: [[n.list, n.list], [n.list, n.list]]}) AS count 16:12:14.312 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('foo').by(__.project(' GENERATED1', ' GENERATED2').by(__.project(' GENERATED3', ' GENERATED4').by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null')))).by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null')))).select(values)).by(__.project(' GENERATED5', ' GENERATED6').by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null')))).by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null')))).select(values)).select(values)).dedup().is(neq(' cypher.null')).count().project('count').by(__.identity())

Then the result should be: 0.000
count
1
And no side effects 0.000

16:12:14.314 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.314 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.316 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.317 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.317 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.321 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.326 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.326 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.330 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.333 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.333 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.000
Given an empty graph 0.000

16:12:14.339 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().drop()}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}}

And having executed: 0.000
CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})

16:12:14.342 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']})}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.343 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({list: ['A', 'B']}), ({list: ['A', 'B']}) 16:12:14.346 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'list', __.project(' GENERATED1', ' GENERATED2').by(__.constant('A')).by(__.constant('B')).select(values)).addV().property(single, 'list', __.project(' GENERATED3', ' GENERATED4').by(__.constant('A')).by(__.constant('B')).select(values)).barrier().limit(0)

When executing query: 0.000
MATCH (n)
RETURN count(DISTINCT {foo: [{bar: n.list}, {baz: {apa: n.list}}]}) AS count

16:12:14.376 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN count(DISTINCT {foo: [{bar: n.list}, {baz: {apa: n.list}}]}) AS count}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.376 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN count(DISTINCT {foo: [{bar: n.list}, {baz: {apa: n.list}}]}) AS count 16:12:14.379 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('foo').by(__.project(' GENERATED1', ' GENERATED2').by(__.project('bar').by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null'))))).by(__.project('baz').by(__.project('apa').by(__.choose(neq(' cypher.null'), __.choose(__.values('list'), __.values('list'), __.constant(' cypher.null')))))).select(values)).dedup().is(neq(' cypher.null')).count().project('count').by(__.identity())

Then the result should be: 0.000
count
1
And no side effects 0.000

16:12:14.381 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.381 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:12:14.383 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:12:14.384 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.384 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:12:14.388 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:12:14.392 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.392 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:12:14.395 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().map(__.label().is(neq('vertex')).fold()).unfold().project('label').by(__.identity()).dedup() 16:12:14.398 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().as('V').properties().project('nodeId', 'key', 'value').by(__.select('V').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:14.399 [Test worker] DEBUG o.a.t.g.driver.Client - g.V().outE().as('E').properties().project('relId', 'key', 'value').by(__.select('E').id()).by(__.key()).by(__.value())}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0