Project Number Date
cypher-for-gremlin 0.9.9 07 Jun 2018, 12:04

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
MatchAcceptance2 458 13 0 0 0 471 85 13 98 3.185 Failed
Feature MatchAcceptance2
0.039
Given an empty graph 0.000
When executing query: 0.006
MATCH (n)
RETURN n

12:03:33.822 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN n 12:03:33.824 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('n').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

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

12:03:33.828 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:33.831 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.834 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:33.837 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.840 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:33.844 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.038
Given an empty graph 0.000
When executing query: 0.006
MATCH ()-[r]->()
RETURN r

12:03:33.898 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN r 12:03:33.901 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('r').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
r
And no side effects 0.032

12:03:33.904 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:33.907 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.912 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:33.916 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.920 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:33.922 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000
And having executed: 0.006
CREATE (root:Root {name: 'x'}),
       (child1:TextNode {id: 'text'}),
       (child2:IntNode {id: 0})
CREATE (root)-[:T]->(child1),
       (root)-[:T]->(child2)

12:03:33.937 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (root:Root {name: 'x'}), (child1:TextNode {id: 'text'}), (child2:IntNode {id: 0}) CREATE (root)-[:T]->(child1), (root)-[:T]->(child2) 12:03:33.940 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Root').as('root').property('name', 'x').addV('TextNode').as('child1').property('id', 'text').addV('IntNode').as('child2').property('id', 0).addE('T').from('root').to('child1').addE('T').from('root').to('child2').barrier().limit(0)

When executing query: 0.005
MATCH (:Root {name: 'x'})-->(i:TextNode)
WHERE i.id > 'te'
RETURN i

12:03:33.960 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (:Root {name: 'x'})-->(i:TextNode) WHERE i.id > 'te' RETURN i 12:03:33.964 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('Root').has('name', eq('x')).outE().inV().as('i').hasLabel('TextNode').has('id', gt('te')).select('i').project('i').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
i
(:TextNode {id: 'text'})
And no side effects 0.016

12:03:33.965 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:33.967 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.968 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:33.971 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:33.971 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:33.975 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.031
Given an empty graph 0.000
And having executed: 0.005
CREATE (root:Root {name: 'x'}),
       (child1:TextNode {id: 'text'}),
       (child2:IntNode {id: 0})
CREATE (root)-[:T]->(child1),
       (root)-[:T]->(child2)

12:03:33.983 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (root:Root {name: 'x'}), (child1:TextNode {id: 'text'}), (child2:IntNode {id: 0}) CREATE (root)-[:T]->(child1), (root)-[:T]->(child2) 12:03:33.986 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Root').as('root').property('name', 'x').addV('TextNode').as('child1').property('id', 'text').addV('IntNode').as('child2').property('id', 0).addE('T').from('root').to('child1').addE('T').from('root').to('child2').barrier().limit(0)

When executing query: 0.006
MATCH (:Root {name: 'x'})-->(i)
WHERE exists(i.id) OR i.id > 'te'
RETURN i

12:03:34.007 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (:Root {name: 'x'})-->(i) WHERE exists(i.id) OR i.id > 'te' RETURN i 12:03:34.011 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('Root').has('name', eq('x')).outE().inV().as('i').where(__.or(__.project(' GENERATED2', ' GENERATED3').by(__.select('i')).by(__.constant('id')).select(values).map(containerIndex()).choose(__.is(neq(' cypher.null')), __.constant(true), __.constant(false)).is(neq(' cypher.null')).is(eq(true)), __.project(' GENERATED4', ' GENERATED5').by(__.select('i')).by(__.constant('id')).select(values).map(containerIndex()).is(neq(' cypher.null')).is(gt('te')))).select('i').project('i').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
i
(:TextNode {id: 'text'})
(:IntNode {id: 0})
And no side effects 0.018

12:03:34.014 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.018 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.020 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.022 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.023 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.026 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.018
Scenario Aggregation with named paths
Steps
Given an empty graph 0.000
And having executed: 0.009
CREATE (n1 {num: 1}), (n2 {num: 2}),
       (n3 {num: 3}), (n4 {num: 4})
CREATE (n1)-[:T]->(n2),
       (n3)-[:T]->(n4)

12:03:34.033 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n1 {num: 1}), (n2 {num: 2}), (n3 {num: 3}), (n4 {num: 4}) CREATE (n1)-[:T]->(n2), (n3)-[:T]->(n4) 12:03:34.037 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('n1').property('num', 1).addV().as('n2').property('num', 2).addV().as('n3').property('num', 3).addV().as('n4').property('num', 4).addE('T').from('n1').to('n2').addE('T').from('n3').to('n4').barrier().limit(0)

When executing query: 0.008
MATCH p = ()-[*]->()
WITH count(*) AS count, p AS p
WITH nodes(p) AS nodes
RETURN *

12:03:34.060 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ()-[*]->() WITH count(*) AS count, p AS p WITH nodes(p) AS nodes RETURN * 12:03:34.065 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.p').repeat(__.outE().aggregate(' cypher.path.edge.p').inV()).emit().until(__.path().from(' cypher.path.start.p').count(local).is(gte(21))).path().as('p').group().by(__.identity()).by(__.fold().project('count', 'p').by(__.unfold().count()).by(__.unfold())).unfold().select(values).as(' GENERATED1').select('count').as('count').select(' GENERATED1').select('p').as('p').project('nodes').by(__.map(nodes())).select('nodes').as('nodes').project('nodes').by(__.unfold().is(neq(' cypher.null')).valueMap(true).fold()) 12:03:34.067 [gremlin-server-worker-1] ERROR o.o.g.s.op.cypher.CypherOpProcessor - Error during traversal iteration java.lang.ClassCastException: java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element at org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyMapStep.map(PropertyMapStep.java:64) at org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyMapStep.map(PropertyMapStep.java:46) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.hasNext(ExpandableStepIterator.java:42) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ReducingBarrierStep.processAllStarts(ReducingBarrierStep.java:83) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ReducingBarrierStep.processNextStart(ReducingBarrierStep.java:113) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:200) at org.apache.tinkerpop.gremlin.process.traversal.util.TraversalUtil.apply(TraversalUtil.java:43) at org.apache.tinkerpop.gremlin.process.traversal.util.TraversalUtil.applyNullable(TraversalUtil.java:75) at org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectStep.map(ProjectStep.java:55) at org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectStep.map(ProjectStep.java:40) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:36) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:192) at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:89) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.handleIterator(CypherOpProcessor.java:183) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.lambda$evalCypher$0(CypherOpProcessor.java:121) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.inTransaction(CypherOpProcessor.java:129) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:121) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Aggregation with named paths" failed with message: Expected: | nodes |
| [({num: 1}), ({num: 2})] |
| [({num: 3}), ({num: 4})] |, got error ExecutionFailed(TypeError,runtime,InvalidArgumentValue,Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
nodes
[({num: 1}), ({num: 2})]
[({num: 3}), ({num: 4})]
0.058
Given an empty graph 0.000
And having executed: 0.014
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (c {name: 'C'}), ({name: 'D'}),
       ({name: 'E'})
CREATE (a)-[:CONTAINS]->(b),
       (b)-[:FRIEND]->(c)

12:03:34.073 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}), ({name: 'D'}), ({name: 'E'}) CREATE (a)-[:CONTAINS]->(b), (b)-[:FRIEND]->(c) 12:03:34.078 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addV().property('name', 'D').addV().property('name', 'E').addE('CONTAINS').from('a').to('b').addE('FRIEND').from('b').to('c').barrier().limit(0)

When executing query: 0.015
MATCH (a {name: 'A'})-[:CONTAINS*0..1]->(b)-[:FRIEND*0..1]->(c)
RETURN a, b, c

12:03:34.111 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'})-[:CONTAINS*0..1]->(b)-[:FRIEND*0..1]->(c) RETURN a, b, c 12:03:34.118 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).as(' cypher.path.start.GENERATED1').emit().repeat(__.outE('CONTAINS').inV()).until(__.path().from(' cypher.path.start.GENERATED1').count(local).is(gte(3))).where(__.path().from(' cypher.path.start.GENERATED1').count(local).is(between(0, 4))).simplePath().from(' cypher.path.start.GENERATED1').as('b').as(' cypher.path.start.GENERATED2').emit().repeat(__.outE('FRIEND').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(3))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(between(0, 4))).simplePath().from(' cypher.path.start.GENERATED2').as('c').select('a', 'b', 'c').project('a', 'b', 'c').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('c').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a b c
({name: 'A'}) ({name: 'A'}) ({name: 'A'})
({name: 'A'}) ({name: 'B'}) ({name: 'B'})
({name: 'A'}) ({name: 'B'}) ({name: 'C'})
And no side effects 0.027

12:03:34.129 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.133 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.134 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.139 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.140 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.143 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.051
Given an empty graph 0.000
And having executed: 0.013
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (c {name: 'C'}), (d {name: 'D'})
CREATE (a)-[:CONTAINS]->(b),
       (b)-[:CONTAINS]->(c),
       (c)-[:CONTAINS]->(d)

12:03:34.157 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}), (d {name: 'D'}) CREATE (a)-[:CONTAINS]->(b), (b)-[:CONTAINS]->(c), (c)-[:CONTAINS]->(d) 12:03:34.163 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addV().as('d').property('name', 'D').addE('CONTAINS').from('a').to('b').addE('CONTAINS').from('b').to('c').addE('CONTAINS').from('c').to('d').barrier().limit(0)

When executing query: 0.009
MATCH (a {name: 'A'})-[*]->(x)
RETURN x

12:03:34.195 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'})-[*]->(x) RETURN x 12:03:34.200 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('name', eq('A')).as(' cypher.path.start.GENERATED1').repeat(__.outE().inV()).emit().until(__.path().from(' cypher.path.start.GENERATED1').count(local).is(gte(21))).project('x').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
x
({name: 'B'})
({name: 'C'})
({name: 'D'})
And no side effects 0.028

12:03:34.205 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.208 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.209 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.212 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.214 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.216 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.036
Given an empty graph 0.000
And having executed: 0.006
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (c {name: 'C'})
CREATE (a)-[:KNOWS]->(b),
       (b)-[:KNOWS]->(c)

12:03:34.234 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:KNOWS]->(b), (b)-[:KNOWS]->(c) 12:03:34.237 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addE('KNOWS').from('a').to('b').addE('KNOWS').from('b').to('c').barrier().limit(0)

When executing query: 0.006
MATCH p = ({name: 'A'})-[:KNOWS*..2]->()
RETURN p

12:03:34.272 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ({name: 'A'})-[:KNOWS*..2]->() RETURN p 12:03:34.275 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('name', eq('A')).as(' cypher.path.start.p').repeat(__.outE('KNOWS').aggregate(' cypher.path.edge.p').inV()).emit().until(__.path().from(' cypher.path.start.p').count(local).is(gte(5))).where(__.path().from(' cypher.path.start.p').count(local).is(lte(5))).simplePath().from(' cypher.path.start.p').path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<({name: 'A'})-[:KNOWS]->({name: 'B'})>
<({name: 'A'})-[:KNOWS]->({name: 'B'})-[:KNOWS]->({name: 'C'})>
And no side effects 0.024

12:03:34.278 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.280 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.281 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.286 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.289 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.292 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.036
Given an empty graph 0.000
And having executed: 0.011
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (c {name: 'C'})
CREATE (a)-[:KNOWS]->(b),
       (b)-[:KNOWS]->(c)

12:03:34.303 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:KNOWS]->(b), (b)-[:KNOWS]->(c) 12:03:34.306 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addE('KNOWS').from('a').to('b').addE('KNOWS').from('b').to('c').barrier().limit(0)

When executing query: 0.004
MATCH p = ({name: 'A'})-[:KNOWS*..]->()
RETURN p

12:03:34.338 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ({name: 'A'})-[:KNOWS*..]->() RETURN p 12:03:34.340 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('name', eq('A')).as(' cypher.path.start.p').repeat(__.outE('KNOWS').aggregate(' cypher.path.edge.p').inV()).emit().until(__.path().from(' cypher.path.start.p').count(local).is(gte(21))).path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<({name: 'A'})-[:KNOWS]->({name: 'B'})>
<({name: 'A'})-[:KNOWS]->({name: 'B'})-[:KNOWS]->({name: 'C'})>
And no side effects 0.020

12:03:34.342 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.345 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.346 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.349 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.350 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.353 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000
And having executed: 0.006
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (c {name: 'C'})
CREATE (a)-[:KNOWS]->(b)

12:03:34.364 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:KNOWS]->(b) 12:03:34.366 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().property('name', 'C').addE('KNOWS').from('a').to('b').barrier().limit(0)

When executing query: 0.005
MATCH (a {name: 'A'}), (c {name: 'C'})
MATCH (a)-->(b)
RETURN a, b, c

12:03:34.388 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (c {name: 'C'}) MATCH (a)-->(b) RETURN a, b, c 12:03:34.392 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('c').has('name', eq('C')).select('a').outE().inV().as('b').select('a', 'b', 'c').project('a', 'b', 'c').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('c').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a b c
({name: 'A'}) ({name: 'B'}) ({name: 'C'})
And no side effects 0.021

12:03:34.394 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.398 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.399 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.402 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.402 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.405 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000
And having executed: 0.009
CREATE (a {name: 'A'}), (b {name: 'B'}),
       (x1 {name: 'x1'}), (x2 {name: 'x2'})
CREATE (a)-[:KNOWS]->(x1),
       (a)-[:KNOWS]->(x2),
       (b)-[:KNOWS]->(x1),
       (b)-[:KNOWS]->(x2)

12:03:34.416 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (x1 {name: 'x1'}), (x2 {name: 'x2'}) CREATE (a)-[:KNOWS]->(x1), (a)-[:KNOWS]->(x2), (b)-[:KNOWS]->(x1), (b)-[:KNOWS]->(x2) 12:03:34.421 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('x1').property('name', 'x1').addV().as('x2').property('name', 'x2').addE('KNOWS').from('a').to('x1').addE('KNOWS').from('a').to('x2').addE('KNOWS').from('b').to('x1').addE('KNOWS').from('b').to('x2').barrier().limit(0)

When executing query: 0.005
MATCH (a {name: 'A'}), (b {name: 'B'})
MATCH (a)-->(x)<-->(b)
RETURN x

12:03:34.444 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MATCH (a)-->(x)<-->(b) RETURN x 12:03:34.448 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).select('a').outE().as(' UNNAMED49').inV().as('x').bothE().as(' UNNAMED55').otherV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).dedup('a', ' UNNAMED49', 'x', ' UNNAMED55', 'b').where(__.select(' UNNAMED49').where(neq(' UNNAMED55'))).select('x').project('x').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
x
({name: 'x1'})
({name: 'x2'})
And no side effects 0.019

12:03:34.450 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.453 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.454 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.457 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.458 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.460 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.066
Given an empty graph 0.000
And having executed: 0.011
CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}),
       (x1 {name: 'x1'}), (x2 {name: 'x2'})
CREATE (a)-[:KNOWS]->(x1),
       (a)-[:KNOWS]->(x2),
       (b)-[:KNOWS]->(x1),
       (b)-[:KNOWS]->(x2),
       (c)-[:KNOWS]->(x1),
       (c)-[:KNOWS]->(x2)

12:03:34.470 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}), (x1 {name: 'x1'}), (x2 {name: 'x2'}) CREATE (a)-[:KNOWS]->(x1), (a)-[:KNOWS]->(x2), (b)-[:KNOWS]->(x1), (b)-[:KNOWS]->(x2), (c)-[:KNOWS]->(x1), (c)-[:KNOWS]->(x2) 12:03:34.475 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addV().as('x1').property('name', 'x1').addV().as('x2').property('name', 'x2').addE('KNOWS').from('a').to('x1').addE('KNOWS').from('a').to('x2').addE('KNOWS').from('b').to('x1').addE('KNOWS').from('b').to('x2').addE('KNOWS').from('c').to('x1').addE('KNOWS').from('c').to('x2').barrier().limit(0)

When executing query: 0.021
MATCH (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'})
MATCH (a)-->(x), (b)-->(x), (c)-->(x)
RETURN x

12:03:34.508 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) MATCH (a)-->(x), (b)-->(x), (c)-->(x) RETURN x 12:03:34.525 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).V().as('c').has('name', eq('C')).select('a').outE().as(' UNNAMED66').inV().as('x').select('b').outE().as(' UNNAMED77').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('x'))).select('c').outE().as(' UNNAMED88').inV().as(' GENERATED8').where(__.select(' GENERATED8').where(eq('x'))).where(__.and(__.select(' UNNAMED66').where(neq(' UNNAMED77')), __.select(' UNNAMED66').where(neq(' UNNAMED88')), __.select(' UNNAMED77').where(neq(' UNNAMED88')))).select('x').project('x').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
x
({name: 'x1'})
({name: 'x2'})
And no side effects 0.033

12:03:34.529 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.532 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.536 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.543 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.545 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.549 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.065
Given an empty graph 0.000
And having executed: 0.036
CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'}),
       (d {name: 'd'}), (e {name: 'e'}), (f {name: 'f'}),
       (g {name: 'g'}), (h {name: 'h'}), (i {name: 'i'}),
       (j {name: 'j'}), (k {name: 'k'})
CREATE (a)-[:KNOWS]->(d),
       (a)-[:KNOWS]->(e),
       (a)-[:KNOWS]->(f),
       (a)-[:KNOWS]->(g),
       (a)-[:KNOWS]->(i),
       (b)-[:KNOWS]->(d),
       (b)-[:KNOWS]->(e),
       (b)-[:KNOWS]->(f),
       (b)-[:KNOWS]->(h),
       (b)-[:KNOWS]->(k),
       (c)-[:KNOWS]->(d),
       (c)-[:KNOWS]->(e),
       (c)-[:KNOWS]->(h),
       (c)-[:KNOWS]->(g),
       (c)-[:KNOWS]->(j)

12:03:34.564 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'}), (d {name: 'd'}), (e {name: 'e'}), (f {name: 'f'}), (g {name: 'g'}), (h {name: 'h'}), (i {name: 'i'}), (j {name: 'j'}), (k {name: 'k'}) CREATE (a)-[:KNOWS]->(d), (a)-[:KNOWS]->(e), (a)-[:KNOWS]->(f), (a)-[:KNOWS]->(g), (a)-[:KNOWS]->(i), (b)-[:KNOWS]->(d), (b)-[:KNOWS]->(e), (b)-[:KNOWS]->(f), (b)-[:KNOWS]->(h), (b)-[:KNOWS]->(k), (c)-[:KNOWS]->(d), (c)-[:KNOWS]->(e), (c)-[:KNOWS]->(h), (c)-[:KNOWS]->(g), (c)-[:KNOWS]->(j) 12:03:34.584 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'a').addV().as('b').property('name', 'b').addV().as('c').property('name', 'c').addV().as('d').property('name', 'd').addV().as('e').property('name', 'e').addV().as('f').property('name', 'f').addV().as('g').property('name', 'g').addV().as('h').property('name', 'h').addV().as('i').property('name', 'i').addV().as('j').property('name', 'j').addV().as('k').property('name', 'k').addE('KNOWS').from('a').to('d').addE('KNOWS').from('a').to('e').addE('KNOWS').from('a').to('f').addE('KNOWS').from('a').to('g').addE('KNOWS').from('a').to('i').addE('KNOWS').from('b').to('d').addE('KNOWS').from('b').to('e').addE('KNOWS').from('b').to('f').addE('KNOWS').from('b').to('h').addE('KNOWS').from('b').to('k').addE('KNOWS').from('c').to('d').addE('KNOWS').from('c').to('e').addE('KNOWS').from('c').to('h').addE('KNOWS').from('c').to('g').addE('KNOWS').from('c').to('j').barrier().limit(0)

When executing query: 0.009
MATCH (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'})
MATCH (a)-->(x), (b)-->(x), (c)-->(x)
RETURN x

12:03:34.619 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'}) MATCH (a)-->(x), (b)-->(x), (c)-->(x) RETURN x 12:03:34.625 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('a')).V().as('b').has('name', eq('b')).V().as('c').has('name', eq('c')).select('a').outE().as(' UNNAMED66').inV().as('x').select('b').outE().as(' UNNAMED77').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('x'))).select('c').outE().as(' UNNAMED88').inV().as(' GENERATED8').where(__.select(' GENERATED8').where(eq('x'))).where(__.and(__.select(' UNNAMED66').where(neq(' UNNAMED77')), __.select(' UNNAMED66').where(neq(' UNNAMED88')), __.select(' UNNAMED77').where(neq(' UNNAMED88')))).select('x').project('x').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
x
({name: 'd'})
({name: 'e'})
And no side effects 0.019

12:03:34.628 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.630 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.631 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.634 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.635 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.638 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.006
CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'})
CREATE (a)-[:KNOWS]->(b),
       (b)-[:KNOWS]->(c)

12:03:34.648 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:KNOWS]->(b), (b)-[:KNOWS]->(c) 12:03:34.651 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().as('c').property('name', 'C').addE('KNOWS').from('a').to('b').addE('KNOWS').from('b').to('c').barrier().limit(0)

When executing query: 0.005
MATCH (a {name: 'A'})
OPTIONAL MATCH (a)-[:KNOWS]->()-[:KNOWS]->(foo)
RETURN foo

12:03:34.671 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}) OPTIONAL MATCH (a)-[:KNOWS]->()-[:KNOWS]->(foo) RETURN foo 12:03:34.675 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).coalesce(__.select('a').outE('KNOWS').as(' UNNAMED41').inV().as(' UNNAMED52').outE('KNOWS').as(' UNNAMED54').inV().as('foo').where(__.select(' UNNAMED41').where(neq(' UNNAMED54'))).select('a', ' UNNAMED41', ' UNNAMED52', ' UNNAMED54', 'foo'), __.constant(' cypher.null').as(' GENERATED4').as(' UNNAMED41').as(' UNNAMED52').as(' UNNAMED54').as('foo').select(' GENERATED4', ' UNNAMED41', ' UNNAMED52', ' UNNAMED54', 'foo')).as(' GENERATED5').select(' UNNAMED41').as(' UNNAMED41').select(' GENERATED5').select(' UNNAMED52').as(' UNNAMED52').select(' GENERATED5').select(' UNNAMED54').as(' UNNAMED54').select(' GENERATED5').select('foo').as('foo').project('foo').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
foo
({name: 'C'})
And no side effects 0.014

12:03:34.677 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.679 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.680 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.682 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.683 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.685 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.030
Given an empty graph 0.000
And having executed: 0.005
CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'})
CREATE (a)-[:X]->(b)

12:03:34.693 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:X]->(b) 12:03:34.695 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().property('name', 'C').addE('X').from('a').to('b').barrier().limit(0)

When executing query: 0.008
MATCH (a {name: 'A'}), (x)
WHERE x.name IN ['B', 'C']
OPTIONAL MATCH p = (a)-->(x)
RETURN x, p

12:03:34.713 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (x) WHERE x.name IN ['B', 'C'] OPTIONAL MATCH p = (a)-->(x) RETURN x, p 12:03:34.719 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('x').where(__.project(' GENERATED2', ' GENERATED3').by(__.constant('B')).by(__.constant('C')).select(values).is(neq(' cypher.null')).as(' GENERATED1').select('x').values('name').where(within(' GENERATED1'))).coalesce(__.select('a').outE().as(' UNNAMED77').aggregate(' cypher.path.edge.p').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('x'))).path().as('p').select('a', ' UNNAMED77', 'x', 'p'), __.constant(' cypher.null').as(' GENERATED6').as(' UNNAMED77').as(' GENERATED7').as('p').select(' GENERATED6', ' UNNAMED77', ' GENERATED7', 'p')).as(' GENERATED8').select(' UNNAMED77').as(' UNNAMED77').select(' GENERATED8').select('p').as('p').select('x', 'p').project('x', 'p').by(__.select('x').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('p').choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
x p
({name: 'B'}) <({name: 'A'})-[:X]->({name: 'B'})>
({name: 'C'}) null
And no side effects 0.016

12:03:34.722 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.724 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.725 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.727 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.728 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.730 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.039
Given an empty graph 0.000
And having executed: 0.005
CREATE (a {name: 'A'}), (b {name: 'B'})
CREATE (a)-[:X]->(b)

12:03:34.739 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}) CREATE (a)-[:X]->(b) 12:03:34.741 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addE('X').from('a').to('b').barrier().limit(0)

When executing query: 0.010
MATCH (a {name: 'A'})
OPTIONAL MATCH p = (a)-->(b)-[*]->(c)
RETURN p

12:03:34.767 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}) OPTIONAL MATCH p = (a)-->(b)-[*]->(c) RETURN p 12:03:34.773 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).coalesce(__.select('a').as(' cypher.path.start.p').outE().as(' UNNAMED45').aggregate(' cypher.path.edge.p').inV().as('b').as(' cypher.path.start.p').repeat(__.outE().as(' UNNAMED51').aggregate(' cypher.path.edge.p').inV()).emit().until(__.path().from(' cypher.path.start.p').count(local).is(gte(21))).as('c').path().as('p').select('a', ' UNNAMED45', 'b', ' UNNAMED51', 'c', 'p'), __.constant(' cypher.null').as(' GENERATED2').as(' UNNAMED45').as('b').as(' UNNAMED51').as('c').as('p').select(' GENERATED2', ' UNNAMED45', 'b', ' UNNAMED51', 'c', 'p')).as(' GENERATED3').select(' UNNAMED45').as(' UNNAMED45').select(' GENERATED3').select('b').as('b').select(' GENERATED3').select(' UNNAMED51').as(' UNNAMED51').select(' GENERATED3').select('c').as('c').select(' GENERATED3').select('p').as('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

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

12:03:34.777 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.780 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.781 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.784 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.785 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.788 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.045
Given an empty graph 0.000
And having executed: 0.006
CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'})
CREATE (a)-[:X]->(b)

12:03:34.803 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b {name: 'B'}), (c {name: 'C'}) CREATE (a)-[:X]->(b) 12:03:34.805 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV().as('b').property('name', 'B').addV().property('name', 'C').addE('X').from('a').to('b').barrier().limit(0)

When executing query: 0.014
MATCH (a {name: 'A'}), (x)
WHERE x.name IN ['B', 'C']
OPTIONAL MATCH p = (a)-[r*]->(x)
RETURN r, x, p

12:03:34.840 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (x) WHERE x.name IN ['B', 'C'] OPTIONAL MATCH p = (a)-[r*]->(x) RETURN r, x, p 12:03:34.848 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('x').where(__.project(' GENERATED2', ' GENERATED3').by(__.constant('B')).by(__.constant('C')).select(values).is(neq(' cypher.null')).as(' GENERATED1').select('x').values('name').where(within(' GENERATED1'))).coalesce(__.select('a').as(' cypher.path.start.p').repeat(__.outE().as('r').aggregate(' cypher.path.edge.p').inV()).emit().until(__.path().from(' cypher.path.start.p').count(local).is(gte(21))).as(' GENERATED5').where(__.select(' GENERATED5').where(eq('x'))).path().as('p').select('a', 'r', 'x', 'p'), __.constant(' cypher.null').as(' GENERATED6').as('r').as(' GENERATED7').as('p').select(' GENERATED6', 'r', ' GENERATED7', 'p')).as(' GENERATED8').select('r').as('r').select(' GENERATED8').select('p').as('p').select('r', 'x', 'p').project('r', 'x', 'p').by(__.select('r').choose(neq(' cypher.null'), __.unfold().project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()).fold(), __.constant(' cypher.null'))).by(__.select('x').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('p').choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
r x p
[[:X]] ({name: 'B'}) <({name: 'A'})-[:X]->({name: 'B'})>
null ({name: 'C'}) null
And no side effects 0.024

12:03:34.854 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.857 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.858 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.861 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.862 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.866 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.019
Scenario Matching variable length patterns from a bound node
Steps
Given an empty graph 0.000
And having executed: 0.008
CREATE (a:A), (b), (c)
CREATE (a)-[:X]->(b),
       (b)-[:Y]->(c)

12:03:34.880 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b), (c) CREATE (a)-[:X]->(b), (b)-[:Y]->(c) 12:03:34.884 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV().as('b').addV().as('c').addE('X').from('a').to('b').addE('Y').from('b').to('c').barrier().limit(0)

When executing query: 0.010
MATCH (a:A)
MATCH (a)-[r*2]->()
RETURN r

12:03:34.918 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[r*2]->() RETURN r 12:03:34.927 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').as(' cypher.path.start.GENERATED2').times(2).repeat(__.outE().as('r').inV()).simplePath().from(' cypher.path.start.GENERATED2').select('r').project('r').by(__.choose(neq(' cypher.null'), __.unfold().project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()).fold(), __.constant(' cypher.null')))

Then the result should be (ignoring element order for lists): 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching variable length patterns from a bound node" failed with message: 
Expected (in any order of rows):
| r |
| [[:X {}], [:Y {}]] |
Actual:
| r |
| [[:Y {}]] |
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
r
[[:X], [:Y]]
0.049
Given an empty graph 0.000
And having executed: 0.010
CREATE (a:A), (b:B {id: 1}), (:B {id: 2})
CREATE (a)-[:T]->(b)

12:03:34.932 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B {id: 1}), (:B {id: 2}) CREATE (a)-[:T]->(b) 12:03:34.936 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').property('id', 1).addV('B').property('id', 2).addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.018
MATCH (a:A), (other:B)
OPTIONAL MATCH (a)-[r]->(other)
WITH other WHERE r IS NULL
RETURN other

12:03:34.963 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (other:B) OPTIONAL MATCH (a)-[r]->(other) WITH other WHERE r IS NULL RETURN other 12:03:34.978 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('other').hasLabel('B').coalesce(__.select('a').outE().as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('other'))).select('a', 'r', 'other'), __.constant(' cypher.null').as(' GENERATED4').as('r').as(' GENERATED5').select(' GENERATED4', 'r', ' GENERATED5')).select('r').as('r').select('r', 'other').project('r', 'other').by(__.select('r')).by(__.select('other')).as(' GENERATED9').select('r').as('r').select(' GENERATED9').select('other').as('other').where(__.select('r').is(eq(' cypher.null'))).select('other', 'r').project('other', ' FRESHID74').by(__.select('other')).by(__.select('r').choose(__.is(eq(' cypher.null')), __.constant(true), __.constant(false))).as(' GENERATED12').select('other').as('other').select(' GENERATED12').select(' FRESHID74').as(' FRESHID74').select('other', ' FRESHID74').project('other', ' FRESHID74').by(__.select('other')).by(__.select(' FRESHID74')).as(' GENERATED14').select('other').as('other').select(' GENERATED14').select(' FRESHID74').as(' FRESHID74').select('other').as('other').project('other').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
other
(:B {id: 2})
And no side effects 0.021

12:03:34.981 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:34.985 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.986 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:34.989 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:34.990 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:34.994 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.026
Given an empty graph 0.000
And having executed: 0.005
CREATE (a), (b {name: 'Mark'})
CREATE (a)-[:T]->(b)

12:03:35.003 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b {name: 'Mark'}) CREATE (a)-[:T]->(b) 12:03:35.006 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV().as('b').property('name', 'Mark').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.006
MATCH (n)-->(x0)
OPTIONAL MATCH (x0)-->(x1)
WHERE x1.foo = 'bar'
RETURN x0.name

12:03:35.025 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n)-->(x0) OPTIONAL MATCH (x0)-->(x1) WHERE x1.foo = 'bar' RETURN x0.name 12:03:35.030 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().inV().as('x0').coalesce(__.select('x0').is(neq(' cypher.null')).outE().as(' UNNAMED37').inV().as('x1').has('foo', eq('bar')).select('x0', ' UNNAMED37', 'x1'), __.constant(' cypher.null').as(' GENERATED4').as(' UNNAMED37').as('x1').select(' GENERATED4', ' UNNAMED37', 'x1')).as(' GENERATED5').select(' UNNAMED37').as(' UNNAMED37').select(' GENERATED5').select('x1').as('x1').select('x0').project('x0.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
x0.name
'Mark'
And no side effects 0.014

12:03:35.032 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.034 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.034 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.036 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.037 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.039 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
And having executed: 0.005
CREATE (a {name: 'A'}), (b:B {name: 'B'}), (c:C {name: 'C'})
CREATE (a)-[:T]->(b),
       (a)-[:T]->(c)

12:03:35.047 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'A'}), (b:B {name: 'B'}), (c:C {name: 'C'}) CREATE (a)-[:T]->(b), (a)-[:T]->(c) 12:03:35.050 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'A').addV('B').as('b').property('name', 'B').addV('C').as('c').property('name', 'C').addE('T').from('a').to('b').addE('T').from('a').to('c').barrier().limit(0)

When executing query: 0.004
MATCH (a)-->(b)
WHERE b:B
OPTIONAL MATCH (a)-->(c)
WHERE c:C
RETURN a.name

12:03:35.067 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-->(b) WHERE b:B OPTIONAL MATCH (a)-->(c) WHERE c:C RETURN a.name 12:03:35.070 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().inV().hasLabel('B').coalesce(__.select('a').outE().as(' UNNAMED45').inV().as('c').hasLabel('C').select('a', ' UNNAMED45', 'c'), __.constant(' cypher.null').as(' GENERATED4').as(' UNNAMED45').as('c').select(' GENERATED4', ' UNNAMED45', 'c')).as(' GENERATED5').select(' UNNAMED45').as(' UNNAMED45').select(' GENERATED5').select('c').as('c').select('a').project('a.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.name
'A'
And no side effects 0.013

12:03:35.071 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.073 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.074 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.076 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.077 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.079 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.020
Given an empty graph 0.000
And having executed: 0.004
CREATE (:A {id: 0})-[:ADMIN]->(:B {id: 1})

12:03:35.085 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A {id: 0})-[:ADMIN]->(:B {id: 1}) 12:03:35.087 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').property('id', 0).addV('B').as(' UNNAMED31').property('id', 1).addE('ADMIN').from(' UNNAMED8').to(' UNNAMED31').barrier().limit(0)

When executing query: 0.003
MATCH (a)-[:ADMIN]-(b)
WHERE a:A
RETURN a.id, b.id

12:03:35.102 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[:ADMIN]-(b) WHERE a:A RETURN a.id, b.id 12:03:35.104 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').bothE('ADMIN').as(' UNNAMED10').otherV().as('b').dedup('a', ' UNNAMED10', 'b').select('a', 'b').project('a.id', 'b.id').by(__.select('a').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.id b.id
0 1
And no side effects 0.012

12:03:35.106 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.107 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.108 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.110 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.111 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.113 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
And having executed: 0.002
CREATE (:A), (:B)

12:03:35.119 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A), (:B) 12:03:35.120 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').addV('B').barrier().limit(0)

When executing query: 0.002
MATCH (n)
RETURN n

12:03:35.141 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN n 12:03:35.143 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('n').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
n
(:A)
(:B)
And no side effects 0.018

12:03:35.144 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.146 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.146 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.148 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.152 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.154 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.024
Given an empty graph 0.000
And having executed: 0.002
CREATE (:A), (:B)

12:03:35.162 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A), (:B) 12:03:35.163 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').addV('B').barrier().limit(0)

When executing query: 0.004
MATCH (a), (b)
WHERE a <> b
RETURN a, b

12:03:35.183 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a), (b) WHERE a <> b RETURN a, b 12:03:35.185 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').V().as('b').where(__.select('a').where(neq('b'))).select('a', 'b').project('a', 'b').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a b
(:A) (:B)
(:B) (:A)
And no side effects 0.017

12:03:35.187 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.189 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.190 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.192 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.194 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.196 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.030
Given an empty graph 0.000
And having executed: 0.004
CREATE (a), (b), (c)
CREATE (a)-[:T]->(b),
       (b)-[:T]->(c)

12:03:35.206 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b), (c) CREATE (a)-[:T]->(b), (b)-[:T]->(c) 12:03:35.208 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV().as('b').addV().as('c').addE('T').from('a').to('b').addE('T').from('b').to('c').barrier().limit(0)

When executing query: 0.006
MATCH (a)-->(b), (b)-->(b)
RETURN b

12:03:35.229 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-->(b), (b)-->(b) RETURN b 12:03:35.232 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as(' UNNAMED10').inV().as('b').is(neq(' cypher.null')).outE().as(' UNNAMED21').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).where(__.select(' UNNAMED10').where(neq(' UNNAMED21'))).select('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
And no side effects 0.018

12:03:35.235 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.238 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.239 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.241 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.242 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.244 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000
And having executed: 0.003
CREATE (:A), (:B)

12:03:35.255 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A), (:B) 12:03:35.256 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').addV('B').barrier().limit(0)

When executing query: 0.006
MATCH (a:A), (b:B)
OPTIONAL MATCH (a)-[r*]-(b)
WHERE r IS NULL
  AND a <> b
RETURN b

12:03:35.276 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) OPTIONAL MATCH (a)-[r*]-(b) WHERE r IS NULL AND a <> b RETURN b 12:03:35.280 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').as(' cypher.path.start.GENERATED2').repeat(__.bothE().as('r').otherV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).dedup('a', 'r', 'b').where(__.and(__.select('r').is(eq(' cypher.null')), __.select('a').where(neq('b')))).select('a', 'r', 'b'), __.constant(' cypher.null').as(' GENERATED4').as('r').as(' GENERATED5').select(' GENERATED4', 'r', ' GENERATED5')).select('r').as('r').select('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
(:B)
And no side effects 0.018

12:03:35.282 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.284 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.285 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.287 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.290 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.292 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
And having executed: 0.004
CREATE (a:A), (b:B)
CREATE (a)-[:T]->(b)

12:03:35.301 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T]->(b) 12:03:35.303 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.002
MATCH (a)-[:T|:T]->(b)
RETURN b

12:03:35.322 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[:T|:T]->(b) RETURN b 12:03:35.324 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE('T').inV().project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
(:B)
And no side effects 0.015

12:03:35.325 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.327 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.328 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.330 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.331 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.332 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.007
CREATE (a:A), (n1 {x: 1}), (n2 {x: 2}),
       (m1), (m2)
CREATE (a)-[:T]->(n1),
       (n1)-[:T]->(m1),
       (a)-[:T]->(n2),
       (n2)-[:T]->(m2)

12:03:35.345 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (n1 {x: 1}), (n2 {x: 2}), (m1), (m2) CREATE (a)-[:T]->(n1), (n1)-[:T]->(m1), (a)-[:T]->(n2), (n2)-[:T]->(m2) 12:03:35.348 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV().as('n1').property('x', 1).addV().as('n2').property('x', 2).addV().as('m1').addV().as('m2').addE('T').from('a').to('n1').addE('T').from('n1').to('m1').addE('T').from('a').to('n2').addE('T').from('n2').to('m2').barrier().limit(0)

When executing query: 0.007
MATCH (a:A)-->(n)-->(m)
RETURN n.x, count(*)
  ORDER BY n.x
  LIMIT 1000

12:03:35.365 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A)-->(n)-->(m) RETURN n.x, count(*) ORDER BY n.x LIMIT 1000 12:03:35.369 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('A').outE().as(' UNNAMED12').inV().as('n').outE().as(' UNNAMED18').inV().where(__.select(' UNNAMED12').where(neq(' UNNAMED18'))).select('n').group().by(__.choose(neq(' cypher.null'), __.coalesce(__.values('x'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.fold().project(' FRESHID33', ' FRESHID36').by(__.unfold().choose(neq(' cypher.null'), __.coalesce(__.values('x'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.unfold().count())).unfold().select(values).as(' GENERATED3').select(' FRESHID33').as(' FRESHID33').select(' GENERATED3').select(' FRESHID36').as(' FRESHID36').select(' FRESHID33', ' FRESHID36').project(' FRESHID33', ' FRESHID36').by(__.select(' FRESHID33')).by(__.select(' FRESHID36')).order().by(__.select(' FRESHID33'), incr).limit(1000).as(' GENERATED4').select(' FRESHID33').as(' FRESHID33').select(' GENERATED4').select(' FRESHID36').as(' FRESHID36').select(' FRESHID33', ' FRESHID36').project('n.x', 'count(*)').by(__.select(' FRESHID33')).by(__.select(' FRESHID36'))

Then the result should be, in order: 0.000
n.x count(*)
1 1
2 1
And no side effects 0.012

12:03:35.372 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.374 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.374 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.376 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.377 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.380 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000
And having executed: 0.002
CREATE ({foo: 'bar'})

12:03:35.386 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({foo: 'bar'}) 12:03:35.388 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('foo', 'bar').barrier().limit(0)

When executing query: 0.003
MATCH (n)
WHERE n.foo = 'bar'
RETURN n

12:03:35.406 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) WHERE n.foo = 'bar' RETURN n 12:03:35.408 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').has('foo', eq('bar')).select('n').project('n').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
n
({foo: 'bar'})
And no side effects 0.022

12:03:35.409 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.411 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.412 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.414 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.418 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.421 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.025
Given an empty graph 0.000
And having executed: 0.004
CREATE (a:A)-[:T]->(b:B)

12:03:35.433 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A)-[:T]->(b:B) 12:03:35.435 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.003
MATCH p = (b)<--(a)
RETURN p

12:03:35.454 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (b)<--(a) RETURN p 12:03:35.456 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.p').inE().aggregate(' cypher.path.edge.p').outV().path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<(:B)<-[:T]-(:A)>
And no side effects 0.017

12:03:35.457 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.459 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.460 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.463 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.463 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.466 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
When executing query: 0.002
OPTIONAL MATCH (n)
RETURN n

12:03:35.509 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: OPTIONAL MATCH (n) RETURN n 12:03:35.510 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V(), __.constant(' cypher.null')).project('n').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

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

12:03:35.511 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.513 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.515 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.517 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.520 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.522 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.026
Given an empty graph 0.000
And having executed: 0.002
CREATE ()

12:03:35.533 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE () 12:03:35.535 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.003
MATCH (n)
OPTIONAL MATCH (n)-[:NOT_EXIST]->(x)
RETURN n, x

12:03:35.556 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) OPTIONAL MATCH (n)-[:NOT_EXIST]->(x) RETURN n, x 12:03:35.558 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').coalesce(__.select('n').outE('NOT_EXIST').as(' UNNAMED29').inV().as('x').select('n', ' UNNAMED29', 'x'), __.constant(' cypher.null').as(' GENERATED3').as(' UNNAMED29').as('x').select(' GENERATED3', ' UNNAMED29', 'x')).as(' GENERATED4').select(' UNNAMED29').as(' UNNAMED29').select(' GENERATED4').select('x').as('x').select('n', 'x').project('n', 'x').by(__.select('n').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('x').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
n x
() null
And no side effects 0.020

12:03:35.559 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.562 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.562 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.564 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.567 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.569 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.026
Given an empty graph 0.000
And having executed: 0.002
CREATE ()

12:03:35.581 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE () 12:03:35.582 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.004
MATCH (n)
OPTIONAL MATCH (n)-[:NOT_EXIST]->(x)
RETURN n, collect(x)

12:03:35.604 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) OPTIONAL MATCH (n)-[:NOT_EXIST]->(x) RETURN n, collect(x) 12:03:35.606 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').coalesce(__.select('n').outE('NOT_EXIST').as(' UNNAMED29').inV().as('x').select('n', ' UNNAMED29', 'x'), __.constant(' cypher.null').as(' GENERATED3').as(' UNNAMED29').as('x').select(' GENERATED3', ' UNNAMED29', 'x')).as(' GENERATED4').select(' UNNAMED29').as(' UNNAMED29').select(' GENERATED4').select('x').as('x').select('n', 'x').group().by(__.select('n').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.fold().project('n', 'collect(x)').by(__.unfold().select('n').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.unfold().select('x').is(neq(' cypher.null')).is(neq(' cypher.null')).valueMap(true).fold())).unfold().select(values)

Then the result should be: 0.000
n collect(x)
() []
And no side effects 0.019

12:03:35.608 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.610 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.611 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.613 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.615 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.617 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000
And having executed: 0.003
CREATE (:A)

12:03:35.629 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A) 12:03:35.630 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').barrier().limit(0)

When executing query: 0.009
MATCH (a)<--()<--(b)-->()-->(c)
WHERE a:A
RETURN c

12:03:35.649 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)<--()<--(b)-->()-->(c) WHERE a:A RETURN c 12:03:35.653 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('A').inE().as(' UNNAMED10').outV().as(' cypher.path.start.GENERATED2').inE().as(' UNNAMED15').outV().as(' cypher.path.start.GENERATED3').outE().as(' UNNAMED21').inV().as(' cypher.path.start.GENERATED4').outE().as(' UNNAMED26').inV().as('c').where(__.and(__.select(' UNNAMED10').where(neq(' UNNAMED21')), __.select(' UNNAMED10').where(neq(' UNNAMED15')), __.select(' UNNAMED15').where(neq(' UNNAMED26')), __.select(' UNNAMED15').where(neq(' UNNAMED21')), __.select(' UNNAMED10').where(neq(' UNNAMED26')), __.select(' UNNAMED21').where(neq(' UNNAMED26')))).select('c').project('c').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
c
And no side effects 0.017

12:03:35.659 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.661 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.661 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.663 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.666 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.668 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
And having executed: 0.005
CREATE (a), (b1:Foo), (b2)
CREATE (a)-[:T]->(b1),
       (a)-[:T]->(b2)

12:03:35.677 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b1:Foo), (b2) CREATE (a)-[:T]->(b1), (a)-[:T]->(b2) 12:03:35.680 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV('Foo').as('b1').addV().as('b2').addE('T').from('a').to('b1').addE('T').from('a').to('b2').barrier().limit(0)

When executing query: 0.002
MATCH (a)-->(b:Foo)
RETURN b

12:03:35.698 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-->(b:Foo) RETURN b 12:03:35.700 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().inV().as('b').hasLabel('Foo').select('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
(:Foo)
And no side effects 0.015

12:03:35.701 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.702 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.703 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.705 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.706 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.708 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.024
Given an empty graph 0.000
And having executed: 0.005
CREATE (:A)-[:T1]->(:B),
       (:B)-[:T2]->(:A),
       (:B)-[:T3]->(:B),
       (:A)-[:T4]->(:A)

12:03:35.717 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T1]->(:B), (:B)-[:T2]->(:A), (:B)-[:T3]->(:B), (:A)-[:T4]->(:A) 12:03:35.719 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED20').addE('T1').from(' UNNAMED8').to(' UNNAMED20').addV('B').as(' UNNAMED33').addV('A').as(' UNNAMED45').addE('T2').from(' UNNAMED33').to(' UNNAMED45').addV('B').as(' UNNAMED58').addV('B').as(' UNNAMED70').addE('T3').from(' UNNAMED58').to(' UNNAMED70').addV('A').as(' UNNAMED83').addV('A').as(' UNNAMED95').addE('T4').from(' UNNAMED83').to(' UNNAMED95').barrier().limit(0)

When executing query: 0.003
MATCH (:A)-[r]->(:B)
RETURN r

12:03:35.738 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (:A)-[r]->(:B) RETURN r 12:03:35.741 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('A').outE().as('r').inV().hasLabel('B').select('r').project('r').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
r
[:T1]
And no side effects 0.015

12:03:35.742 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.743 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.744 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.746 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.747 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.749 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.008
Scenario Matching nodes using multiple labels
Steps
Given an empty graph 0.000
And having executed: 0.004
CREATE (:A:B:C), (:A:B), (:A:C), (:B:C),
       (:A), (:B), (:C)

12:03:35.758 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A:B:C), (:A:B), (:A:C), (:B:C), (:A), (:B), (:C) 12:03:35.760 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').addV('A').addV('A').addV('B').addV('A').addV('B').addV('C').barrier().limit(0)

When executing query: 0.003
MATCH (a:A:B:C)
RETURN a

12:03:35.780 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A:B:C) RETURN a 12:03:35.783 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported value expression: HasLabels(Variable(a),List(LabelName(A), LabelName(B), LabelName(C))) java.lang.UnsupportedOperationException: Unsupported value expression: HasLabels(Variable(a),List(LabelName(A), LabelName(B), LabelName(C))) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.NodeUtils$.traversalValueToJava(NodeUtils.scala:74) at org.opencypher.gremlin.translation.walker.NodeUtils$.expressionValue(NodeUtils.scala:31) at org.opencypher.gremlin.translation.walker.ExpressionWalker.org$opencypher$gremlin$translation$walker$ExpressionWalker$$walkLocal(ExpressionWalker.scala:277) at org.opencypher.gremlin.translation.walker.ExpressionWalker$.walkLocal(ExpressionWalker.scala:43) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression(WhereWalker.scala:159) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkBooleanExpression(WhereWalker.scala:76) at org.opencypher.gremlin.translation.walker.WhereWalker.walk(WhereWalker.scala:67) at org.opencypher.gremlin.translation.walker.WhereWalker$.walk(WhereWalker.scala:42) at org.opencypher.gremlin.translation.walker.WhereWalker.walk(WhereWalker.scala:62) at org.opencypher.gremlin.translation.walker.WhereWalker$.walk(WhereWalker.scala:38) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at scala.Option.foreach(Option.scala:257) at org.opencypher.gremlin.translation.walker.MatchWalker.walkPatternParts(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker.walkClause(MatchWalker.scala:47) at org.opencypher.gremlin.translation.walker.MatchWalker$.walkClause(MatchWalker.scala:28) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:93) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching nodes using multiple labels" failed with message: Expected: | a |
| (:A:B:C) |, got error ExecutionFailed(UnknownError,runtime,Unsupported value expression: HasLabels(Variable(a),List(LabelName(A), LabelName(B), LabelName(C))),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported value expression: HasLabels(Variable(a),List(LabelName(A), LabelName(B), LabelName(C)))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: Unsupported value expression: HasLabels(Variable(a),List(LabelName(A), LabelName(B), LabelName(C)))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
a
(:A:B:C)
0.027
Given an empty graph 0.000
And having executed: 0.003
CREATE (), (:Foo)

12:03:35.785 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (), (:Foo) 12:03:35.786 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().addV('Foo').barrier().limit(0)

When executing query: 0.002
MATCH (n)
RETURN (n:Foo)

12:03:35.807 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN (n:Foo) 12:03:35.809 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('(n:Foo)').by(__.choose(neq(' cypher.null'), __.choose(__.hasLabel('Foo'), __.constant(true), __.constant(false)), __.constant(' cypher.null')))

Then the result should be: 0.000
(n:Foo)
true
false
And no side effects 0.021

12:03:35.810 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.812 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.813 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.815 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.819 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.821 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.031
Given an empty graph 0.000
And having executed: 0.009
CREATE (advertiser {name: 'advertiser1', id: 0}),
       (thing {name: 'Color', id: 1}),
       (red {name: 'red'}),
       (p1 {name: 'product1'}),
       (p2 {name: 'product4'})
CREATE (advertiser)-[:ADV_HAS_PRODUCT]->(p1),
       (advertiser)-[:ADV_HAS_PRODUCT]->(p2),
       (thing)-[:AA_HAS_VALUE]->(red),
       (p1)-[:AP_HAS_VALUE]->(red),
       (p2)-[:AP_HAS_VALUE]->(red)

12:03:35.832 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (advertiser {name: 'advertiser1', id: 0}), (thing {name: 'Color', id: 1}), (red {name: 'red'}), (p1 {name: 'product1'}), (p2 {name: 'product4'}) CREATE (advertiser)-[:ADV_HAS_PRODUCT]->(p1), (advertiser)-[:ADV_HAS_PRODUCT]->(p2), (thing)-[:AA_HAS_VALUE]->(red), (p1)-[:AP_HAS_VALUE]->(red), (p2)-[:AP_HAS_VALUE]->(red) 12:03:35.837 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('advertiser').property('name', 'advertiser1').property('id', 0).addV().as('thing').property('name', 'Color').property('id', 1).addV().as('red').property('name', 'red').addV().as('p1').property('name', 'product1').addV().as('p2').property('name', 'product4').addE('ADV_HAS_PRODUCT').from('advertiser').to('p1').addE('ADV_HAS_PRODUCT').from('advertiser').to('p2').addE('AA_HAS_VALUE').from('thing').to('red').addE('AP_HAS_VALUE').from('p1').to('red').addE('AP_HAS_VALUE').from('p2').to('red').barrier().limit(0)

And parameters are: 0.000
1 0
2 1
When executing query: 0.006
MATCH (advertiser)-[:ADV_HAS_PRODUCT]->(out)-[:AP_HAS_VALUE]->(red)<-[:AA_HAS_VALUE]-(a)
WHERE advertiser.id = $1
  AND a.id = $2
  AND red.name = 'red'
  AND out.name = 'product1'
RETURN out.name

12:03:35.857 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (advertiser)-[:ADV_HAS_PRODUCT]->(out)-[:AP_HAS_VALUE]->(red)<-[:AA_HAS_VALUE]-(a) WHERE advertiser.id = $1 AND a.id = $2 AND red.name = 'red' AND out.name = 'product1' RETURN out.name 12:03:35.862 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('advertiser').outE('ADV_HAS_PRODUCT').inV().as('out').has('name', eq('product1')).outE('AP_HAS_VALUE').inV().has('name', eq('red')).inE('AA_HAS_VALUE').outV().as('a').where(__.and(__.coalesce(__.constant(0), __.constant(' cypher.null')).is(neq(' cypher.null')).as(' GENERATED4').select('advertiser').values('id').where(eq(' GENERATED4')), __.coalesce(__.constant(1), __.constant(' cypher.null')).is(neq(' cypher.null')).as(' GENERATED5').select('a').values('id').where(eq(' GENERATED5')))).select('out').project('out.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
out.name
'product1'
And no side effects 0.014

12:03:35.863 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.865 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.866 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.868 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.869 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.871 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.025
Given an empty graph 0.000
And having executed: 0.007
CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'}),
       (c), (d)
CREATE (a)-[:T]->(c),
       (b)-[:T]->(d)

12:03:35.879 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'}), (c), (d) CREATE (a)-[:T]->(c), (b)-[:T]->(d) 12:03:35.882 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Person').as('a').property('name', 'Alice').addV('Person').as('b').property('name', 'Bob').addV().as('c').addV().as('d').addE('T').from('a').to('c').addE('T').from('b').to('d').barrier().limit(0)

When executing query: 0.003
MATCH (n:Person)-->()
WHERE n.name = 'Bob'
RETURN n

12:03:35.902 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n:Person)-->() WHERE n.name = 'Bob' RETURN n 12:03:35.904 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').hasLabel('Person').has('name', eq('Bob')).outE().inV().select('n').project('n').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
n
(:Person {name: 'Bob'})
And no side effects 0.013

12:03:35.906 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.907 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.908 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.910 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.911 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.913 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B), (c:C)
CREATE (a)-[:T]->(b),
       (a)-[:T]->(c)

12:03:35.920 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C) CREATE (a)-[:T]->(b), (a)-[:T]->(c) 12:03:35.923 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addE('T').from('a').to('b').addE('T').from('a').to('c').barrier().limit(0)

When executing query: 0.004
MATCH (a)-->(b)
MATCH (c)-->(d)
RETURN a, b, c, d

12:03:35.942 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-->(b) MATCH (c)-->(d) RETURN a, b, c, d 12:03:35.945 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().inV().as('b').V().as('c').outE().inV().as('d').select('a', 'b', 'c', 'd').project('a', 'b', 'c', 'd').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('c').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('d').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a b c d
(:A) (:B) (:A) (:B)
(:A) (:B) (:A) (:C)
(:A) (:C) (:A) (:B)
(:A) (:C) (:A) (:C)
And no side effects 0.017

12:03:35.947 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:35.949 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.950 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:35.952 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:35.953 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:35.955 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.038
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A), (b:B {id: 1}), (c:C {id: 2}), (d:D)
CREATE (a)-[:T]->(b),
       (a)-[:T]->(c),
       (a)-[:T]->(d),
       (b)-[:T]->(c),
       (b)-[:T]->(d),
       (c)-[:T]->(d)

12:03:35.964 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B {id: 1}), (c:C {id: 2}), (d:D) CREATE (a)-[:T]->(b), (a)-[:T]->(c), (a)-[:T]->(d), (b)-[:T]->(c), (b)-[:T]->(d), (c)-[:T]->(d) 12:03:35.969 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').property('id', 1).addV('C').as('c').property('id', 2).addV('D').as('d').addE('T').from('a').to('b').addE('T').from('a').to('c').addE('T').from('a').to('d').addE('T').from('b').to('c').addE('T').from('b').to('d').addE('T').from('c').to('d').barrier().limit(0)

When executing query: 0.010
MATCH (a)--(b)--(c)--(d)--(a), (b)--(d)
WHERE a.id = 1
  AND c.id = 2
RETURN d

12:03:35.987 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)--(b)--(c)--(d)--(a), (b)--(d) WHERE a.id = 1 AND c.id = 2 RETURN d 12:03:35.993 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('id', eq(1)).bothE().as(' UNNAMED10').otherV().as('b').bothE().as(' UNNAMED15').otherV().as('c').has('id', eq(2)).bothE().as(' UNNAMED20').otherV().as('d').bothE().as(' UNNAMED25').otherV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('a'))).dedup('a', ' UNNAMED10', 'b', ' UNNAMED15', 'c', ' UNNAMED20', 'd', ' UNNAMED25', 'a').select('b').is(neq(' cypher.null')).bothE().as(' UNNAMED35').otherV().as(' GENERATED8').where(__.select(' GENERATED8').where(eq('d'))).dedup('b', ' UNNAMED35', 'd').where(__.and(__.select(' UNNAMED20').where(neq(' UNNAMED25')), __.select(' UNNAMED15').where(neq(' UNNAMED25')), __.select(' UNNAMED10').where(neq(' UNNAMED35')), __.select(' UNNAMED15').where(neq(' UNNAMED20')), __.select(' UNNAMED10').where(neq(' UNNAMED20')), __.select(' UNNAMED10').where(neq(' UNNAMED15')), __.select(' UNNAMED15').where(neq(' UNNAMED35')), __.select(' UNNAMED20').where(neq(' UNNAMED35')), __.select(' UNNAMED25').where(neq(' UNNAMED35')), __.select(' UNNAMED10').where(neq(' UNNAMED25')))).select('d').project('d').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
d
(:A)
(:D)
And no side effects 0.018

12:03:35.998 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.000 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.002 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.005 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.006 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.009 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.025
Given an empty graph 0.000
And having executed: 0.007
CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'})
CREATE (a)-[:A]->(b),
       (b)-[:B]->(a),
       (b)-[:B]->(c)

12:03:36.017 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'}) CREATE (a)-[:A]->(b), (b)-[:B]->(a), (b)-[:B]->(c) 12:03:36.020 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'a').addV().as('b').property('name', 'b').addV().as('c').property('name', 'c').addE('A').from('a').to('b').addE('B').from('b').to('a').addE('B').from('b').to('c').barrier().limit(0)

When executing query: 0.003
MATCH (a)-[:A]->()-[:B]->(a)
RETURN a.name

12:03:36.040 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[:A]->()-[:B]->(a) RETURN a.name 12:03:36.042 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE('A').inV().as(' cypher.path.start.GENERATED2').outE('B').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('a'))).select('a').project('a.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.name
'a'
And no side effects 0.014

12:03:36.043 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.045 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.046 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.048 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.049 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.050 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.025
Given an empty graph 0.000
And having executed: 0.006
CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'})
CREATE (a)-[:A]->(b),
       (b)-[:B]->(a),
       (b)-[:B]->(c)

12:03:36.059 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {name: 'a'}), (b {name: 'b'}), (c {name: 'c'}) CREATE (a)-[:A]->(b), (b)-[:B]->(a), (b)-[:B]->(c) 12:03:36.062 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('name', 'a').addV().as('b').property('name', 'b').addV().as('c').property('name', 'c').addE('A').from('a').to('b').addE('B').from('b').to('a').addE('B').from('b').to('c').barrier().limit(0)

When executing query: 0.004
MATCH (a)-[:A]->(b), (b)-[:B]->(a)
RETURN a.name

12:03:36.080 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[:A]->(b), (b)-[:B]->(a) RETURN a.name 12:03:36.083 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE('A').inV().is(neq(' cypher.null')).outE('B').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('a'))).select('a').project('a.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.name
'a'
And no side effects 0.014

12:03:36.084 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.086 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.086 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.088 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.089 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.091 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000
And having executed: 0.007
CREATE ()-[:T]->()

12:03:36.099 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T]->() 12:03:36.101 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED17').addE('T').from(' UNNAMED8').to(' UNNAMED17').barrier().limit(0)

When executing query: 0.003
MATCH (a)-[r*1..1]->(b)
RETURN r

12:03:36.125 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r*1..1]->(b) RETURN r 12:03:36.128 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').times(1).repeat(__.outE().as('r').inV()).simplePath().from(' cypher.path.start.GENERATED1').select('r').project('r').by(__.choose(neq(' cypher.null'), __.unfold().project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()).fold(), __.constant(' cypher.null')))

Then the result should be: 0.000
r
[[:T]]
And no side effects 0.017

12:03:36.129 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.130 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.131 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.133 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.134 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.136 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
When executing query: 0.006
OPTIONAL MATCH (a)
WITH a
MATCH (a)-->(b)
RETURN b

12:03:36.169 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: OPTIONAL MATCH (a) WITH a MATCH (a)-->(b) RETURN b 12:03:36.172 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V().as('a'), __.constant(' cypher.null')).as('a').is(neq(' cypher.null')).outE().inV().project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
And no side effects 0.021

12:03:36.175 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.177 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.179 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.181 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.184 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.186 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000
And having executed: 0.003
CREATE ()-[:T]->()

12:03:36.197 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T]->() 12:03:36.199 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED17').addE('T').from(' UNNAMED8').to(' UNNAMED17').barrier().limit(0)

When executing query: 0.006
OPTIONAL MATCH (a:Label)
WITH a
MATCH (a)-->(b)
RETURN b

12:03:36.219 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: OPTIONAL MATCH (a:Label) WITH a MATCH (a)-->(b) RETURN b 12:03:36.222 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V().as('a').hasLabel('Label'), __.constant(' cypher.null')).as('a').is(neq(' cypher.null')).outE().inV().project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
b
And no side effects 0.017

12:03:36.225 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.227 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.228 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.230 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.231 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.233 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.032
Given an empty graph 0.000
When executing query: 0.004
OPTIONAL MATCH (a)
WITH a
OPTIONAL MATCH (a)-->(b)
RETURN b

12:03:36.265 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: OPTIONAL MATCH (a) WITH a OPTIONAL MATCH (a)-->(b) RETURN b 12:03:36.268 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V().as('a'), __.constant(' cypher.null')).as('a').coalesce(__.select('a').is(neq(' cypher.null')).outE().as(' UNNAMED45').inV().as('b').select('a', ' UNNAMED45', 'b'), __.constant(' cypher.null').as(' GENERATED5').as(' UNNAMED45').as('b').select(' GENERATED5', ' UNNAMED45', 'b')).as(' GENERATED6').select(' UNNAMED45').as(' UNNAMED45').select(' GENERATED6').select('b').as('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

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

12:03:36.270 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.273 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.276 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.279 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.283 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.286 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.026
Given an empty graph 0.000
When executing query: 0.003
OPTIONAL MATCH (a)
RETURN a

12:03:36.322 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: OPTIONAL MATCH (a) RETURN a 12:03:36.324 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V(), __.constant(' cypher.null')).project('a').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

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

12:03:36.325 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.328 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.330 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.332 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.335 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.337 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.031
Given an empty graph 0.000
And having executed: 0.002
CREATE ()

12:03:36.349 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE () 12:03:36.350 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.003
MATCH p = (a)
RETURN p

12:03:36.376 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (a) RETURN p 12:03:36.379 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<()>
And no side effects 0.024

12:03:36.380 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.383 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.384 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.387 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.390 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.392 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.003
CREATE ()

12:03:36.407 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE () 12:03:36.408 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.003
MATCH p = ()-[*0..]->()
RETURN p

12:03:36.429 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ()-[*0..]->() RETURN p 12:03:36.432 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.p').emit().repeat(__.outE().aggregate(' cypher.path.edge.p').inV()).until(__.path().from(' cypher.path.start.p').count(local).is(gte(21))).where(__.path().from(' cypher.path.start.p').count(local).is(gte(0))).simplePath().from(' cypher.path.start.p').path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<()>
And no side effects 0.019

12:03:36.433 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.435 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.436 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.438 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.440 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.442 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.022
Given an empty graph 0.000
And having executed: 0.002
CREATE ({prop: 42})

12:03:36.454 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({prop: 42}) 12:03:36.455 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('prop', 42).barrier().limit(0)

When executing query: 0.003
MATCH (n)
RETURN n.prop AS n, count(n) AS count

12:03:36.473 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN n.prop AS n, count(n) AS count 12:03:36.475 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().group().by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.fold().project('n', 'count').by(__.unfold().choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.unfold().is(neq(' cypher.null')).count())).unfold().select(values)

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

12:03:36.476 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.478 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.478 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.480 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.483 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.485 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.025
Given an empty graph 0.000
And having executed: 0.003
CREATE ()-[:T1]->(),
       ()-[:T2]->()

12:03:36.493 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T1]->(), ()-[:T2]->() 12:03:36.495 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED18').addE('T1').from(' UNNAMED8').to(' UNNAMED18').addV().as(' UNNAMED29').addV().as(' UNNAMED39').addE('T2').from(' UNNAMED29').to(' UNNAMED39').barrier().limit(0)

When executing query: 0.004
MATCH ()-[r1]->()
WITH r1 AS r2
MATCH ()-[r2]->()
RETURN r2 AS rel

12:03:36.514 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r1]->() WITH r1 AS r2 MATCH ()-[r2]->() RETURN r2 AS rel 12:03:36.517 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r1').inV().select('r1').as('r2').V().as(' cypher.path.start.GENERATED4').outE().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('r2'))).inV().select('r2').project('rel').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
rel
[:T1]
[:T2]
And no side effects 0.017

12:03:36.519 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.520 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.521 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.523 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.524 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.526 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.004
CREATE ()-[:T1]->(),
       ()-[:T2]->()

12:03:36.537 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T1]->(), ()-[:T2]->() 12:03:36.539 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED18').addE('T1').from(' UNNAMED8').to(' UNNAMED18').addV().as(' UNNAMED29').addV().as(' UNNAMED39').addE('T2').from(' UNNAMED29').to(' UNNAMED39').barrier().limit(0)

When executing query: 0.006
MATCH ()-[r1]->()
WITH r1 AS r2, count(*) AS c
  ORDER BY c
MATCH ()-[r2]->()
RETURN r2 AS rel

12:03:36.558 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r1]->() WITH r1 AS r2, count(*) AS c ORDER BY c MATCH ()-[r2]->() RETURN r2 AS rel 12:03:36.562 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r1').inV().select('r1').group().by(__.identity()).by(__.fold().project('r2', 'c').by(__.unfold()).by(__.unfold().count())).unfold().select(values).as(' GENERATED2').select('r2').as('r2').select(' GENERATED2').select('c').as('c').select('r2', 'c').project('r2', 'c').by(__.select('r2')).by(__.select('c')).order().by(__.select('c'), incr).as(' GENERATED3').select('r2').as('r2').select(' GENERATED3').select('c').as('c').V().as(' cypher.path.start.GENERATED7').outE().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r2'))).inV().select('r2').project('rel').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
rel
[:T1]
[:T2]
And no side effects 0.017

12:03:36.564 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.566 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.567 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.569 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.569 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.571 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000
And having executed: 0.004
CREATE ()-[:T1 {id: 0}]->(),
       ()-[:T2 {id: 1}]->()

12:03:36.582 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T1 {id: 0}]->(), ()-[:T2 {id: 1}]->() 12:03:36.584 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED26').addE('T1').from(' UNNAMED8').to(' UNNAMED26').property('id', 0).addV().as(' UNNAMED37').addV().as(' UNNAMED55').addE('T2').from(' UNNAMED37').to(' UNNAMED55').property('id', 1).barrier().limit(0)

When executing query: 0.010
MATCH (a)-[r]->(b)
WITH a, r, b, count(*) AS c
  ORDER BY c
MATCH (a)-[r]->(b)
RETURN r AS rel
  ORDER BY rel.id

12:03:36.601 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r]->(b) WITH a, r, b, count(*) AS c ORDER BY c MATCH (a)-[r]->(b) RETURN r AS rel ORDER BY rel.id 12:03:36.608 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().as('r').inV().as('b').select('a', 'r', 'b').group().by(__.project('a', 'r', 'b').by(__.select('a')).by(__.select('r')).by(__.select('b'))).by(__.fold().project('a', 'r', 'b', 'c').by(__.unfold().select('a')).by(__.unfold().select('r')).by(__.unfold().select('b')).by(__.unfold().count())).unfold().select(values).as(' GENERATED2').select('a').as('a').select(' GENERATED2').select('r').as('r').select(' GENERATED2').select('b').as('b').select(' GENERATED2').select('c').as('c').select('a', 'r', 'b', 'c').project('a', 'r', 'b', 'c').by(__.select('a')).by(__.select('r')).by(__.select('b')).by(__.select('c')).order().by(__.select('c'), incr).as(' GENERATED6').select('a').as('a').select(' GENERATED6').select('r').as('r').select(' GENERATED6').select('b').as('b').select(' GENERATED6').select('c').as('c').select('a').is(neq(' cypher.null')).outE().as(' GENERATED12').where(__.select(' GENERATED12').where(eq('r'))).inV().as(' GENERATED14').where(__.select(' GENERATED14').where(eq('b'))).select('r').as(' FRESHID86').project(' FRESHID86', ' FRESHID110').by(__.identity()).by(__.choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null'))).as(' GENERATED16').select(' FRESHID86').as(' FRESHID86').select(' GENERATED16').select(' FRESHID110').as(' FRESHID110').select(' FRESHID86', ' FRESHID110').project(' FRESHID86', ' FRESHID110').by(__.select(' FRESHID86')).by(__.select(' FRESHID110')).order().by(__.select(' FRESHID110'), incr).as(' GENERATED18').select(' FRESHID86').as(' FRESHID86').select(' GENERATED18').select(' FRESHID110').as(' FRESHID110').select(' FRESHID86').as(' FRESHID86').project('rel').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be, in order: 0.000
rel
[:T1 {id: 0}]
[:T2 {id: 1}]
And no side effects 0.014

12:03:36.612 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.614 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.614 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.616 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.617 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.619 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.024
Given an empty graph 0.000
And having executed: 0.003
CREATE (:A)-[:T]->(:B)

12:03:36.627 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T]->(:B) 12:03:36.629 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED19').addE('T').from(' UNNAMED8').to(' UNNAMED19').barrier().limit(0)

When executing query: 0.004
MATCH ()-[r]->()
WITH r
  LIMIT 1
OPTIONAL MATCH (a2)-[r]->(b2)
RETURN a2, r, b2

12:03:36.647 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() WITH r LIMIT 1 OPTIONAL MATCH (a2)-[r]->(b2) RETURN a2, r, b2 12:03:36.650 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('r').by(__.identity()).limit(1).select('r').as('r').coalesce(__.V().as('a2').outE().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('r'))).inV().as('b2').select('a2', 'r', 'b2'), __.constant(' cypher.null').as('a2').as(' GENERATED6').as('b2').select('a2', ' GENERATED6', 'b2')).as(' GENERATED7').select('a2').as('a2').select(' GENERATED7').select('b2').as('b2').select('a2', 'r', 'b2').project('a2', 'r', 'b2').by(__.select('a2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a2 r b2
(:A) [:T] (:B)
And no side effects 0.015

12:03:36.652 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.653 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.654 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.656 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.657 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.659 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.023
Given an empty graph 0.000
And having executed: 0.003
CREATE (:A)-[:T]->(:B)

12:03:36.668 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T]->(:B) 12:03:36.669 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED19').addE('T').from(' UNNAMED8').to(' UNNAMED19').barrier().limit(0)

When executing query: 0.005
MATCH (a1)-[r]->()
WITH r, a1
  LIMIT 1
OPTIONAL MATCH (a1)-[r]->(b2)
RETURN a1, r, b2

12:03:36.687 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r]->() WITH r, a1 LIMIT 1 OPTIONAL MATCH (a1)-[r]->(b2) RETURN a1, r, b2 12:03:36.690 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE().as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').coalesce(__.select('a1').is(neq(' cypher.null')).outE().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r'))).inV().as('b2').select('a1', 'r', 'b2'), __.constant(' cypher.null').as(' GENERATED8').as(' GENERATED9').as('b2').select(' GENERATED8', ' GENERATED9', 'b2')).select('b2').as('b2').select('a1', 'r', 'b2').project('a1', 'r', 'b2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2
(:A) [:T] (:B)
And no side effects 0.015

12:03:36.692 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.694 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.695 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.697 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.697 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.700 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000
And having executed: 0.003
CREATE ()-[:T]->()

12:03:36.708 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T]->() 12:03:36.710 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED17').addE('T').from(' UNNAMED8').to(' UNNAMED17').barrier().limit(0)

When executing query: 0.008
MATCH (a1)-[r]->()
WITH r, a1
  LIMIT 1
MATCH (a1:X)-[r]->(b2)
RETURN a1, r, b2

12:03:36.729 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r]->() WITH r, a1 LIMIT 1 MATCH (a1:X)-[r]->(b2) RETURN a1, r, b2 12:03:36.733 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE().as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').hasLabel('X').select('a1').is(neq(' cypher.null')).outE().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r'))).inV().as('b2').select('a1', 'r', 'b2').project('a1', 'r', 'b2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2
And no side effects 0.017

12:03:36.738 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.740 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.740 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.742 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.743 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.745 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.008
Scenario Matching with LIMIT and predicates, then matching again using a relationship and node that are both already bound along with a duplicate predicate
Steps
Given an empty graph 0.000
And having executed: 0.003
CREATE (:X:Y)-[:T]->()

12:03:36.758 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:X:Y)-[:T]->() 12:03:36.759 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('X').as(' UNNAMED8').addV().as(' UNNAMED21').addE('T').from(' UNNAMED8').to(' UNNAMED21').barrier().limit(0)

When executing query: 0.004
MATCH (a1:X:Y)-[r]->()
WITH r, a1
  LIMIT 1
MATCH (a1:Y)-[r]->(b2)
RETURN a1, r, b2

12:03:36.777 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1:X:Y)-[r]->() WITH r, a1 LIMIT 1 MATCH (a1:Y)-[r]->(b2) RETURN a1, r, b2 12:03:36.781 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported value expression: HasLabels(Variable(a1),List(LabelName(X), LabelName(Y))) java.lang.UnsupportedOperationException: Unsupported value expression: HasLabels(Variable(a1),List(LabelName(X), LabelName(Y))) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.NodeUtils$.traversalValueToJava(NodeUtils.scala:74) at org.opencypher.gremlin.translation.walker.NodeUtils$.expressionValue(NodeUtils.scala:31) at org.opencypher.gremlin.translation.walker.ExpressionWalker.org$opencypher$gremlin$translation$walker$ExpressionWalker$$walkLocal(ExpressionWalker.scala:277) at org.opencypher.gremlin.translation.walker.ExpressionWalker$.walkLocal(ExpressionWalker.scala:43) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression(WhereWalker.scala:159) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkBooleanExpression(WhereWalker.scala:76) at org.opencypher.gremlin.translation.walker.WhereWalker.walk(WhereWalker.scala:67) at org.opencypher.gremlin.translation.walker.WhereWalker$.walk(WhereWalker.scala:42) at org.opencypher.gremlin.translation.walker.WhereWalker.walk(WhereWalker.scala:62) at org.opencypher.gremlin.translation.walker.WhereWalker$.walk(WhereWalker.scala:38) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at scala.Option.foreach(Option.scala:257) at org.opencypher.gremlin.translation.walker.MatchWalker.walkPatternParts(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker.walkClause(MatchWalker.scala:47) at org.opencypher.gremlin.translation.walker.MatchWalker$.walkClause(MatchWalker.scala:28) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:93) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching with LIMIT and predicates, then matching again using a relationship and node that are both already bound along with a duplicate predicate" failed with message: Expected: | a1 | r | b2 |
| (:X:Y) | [:T {}] | () |, got error ExecutionFailed(UnknownError,runtime,Unsupported value expression: HasLabels(Variable(a1),List(LabelName(X), LabelName(Y))),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported value expression: HasLabels(Variable(a1),List(LabelName(X), LabelName(Y)))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: Unsupported value expression: HasLabels(Variable(a1),List(LabelName(X), LabelName(Y)))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
a1 r b2
(:X:Y) [:T] ()
0.035
Given an empty graph 0.000
And having executed: 0.004
CREATE ()-[:T]->()

12:03:36.783 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T]->() 12:03:36.786 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED17').addE('T').from(' UNNAMED8').to(' UNNAMED17').barrier().limit(0)

When executing query: 0.009
MATCH (a1)-[r:T]->()
WITH r, a1
  LIMIT 1
MATCH (a1)-[r:Y]->(b2)
RETURN a1, r, b2

12:03:36.807 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r:T]->() WITH r, a1 LIMIT 1 MATCH (a1)-[r:Y]->(b2) RETURN a1, r, b2 12:03:36.810 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE('T').as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').is(neq(' cypher.null')).outE('Y').as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r'))).inV().as('b2').select('a1', 'r', 'b2').project('a1', 'r', 'b2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2
And no side effects 0.021

12:03:36.816 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.818 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.819 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.822 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.823 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.825 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.027
Given an empty graph 0.000
And having executed: 0.004
CREATE (:A)-[:T]->(:B)

12:03:36.838 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T]->(:B) 12:03:36.840 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED19').addE('T').from(' UNNAMED8').to(' UNNAMED19').barrier().limit(0)

When executing query: 0.005
MATCH (a1)-[r:T]->() WITH r, a1
LIMIT 1
MATCH (a1)-[r:T]->(b2)
RETURN a1, r, b2

12:03:36.860 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r:T]->() WITH r, a1 LIMIT 1 MATCH (a1)-[r:T]->(b2) RETURN a1, r, b2 12:03:36.863 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE('T').as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').is(neq(' cypher.null')).outE('T').as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r'))).inV().as('b2').select('a1', 'r', 'b2').project('a1', 'r', 'b2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2
(:A) [:T] (:B)
And no side effects 0.017

12:03:36.865 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:36.867 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.868 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:36.870 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:36.870 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:36.872 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.016
Scenario Matching relationships into a list and matching variable length using the list
Steps
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B), (c:C)
CREATE (a)-[:Y]->(b),
       (b)-[:Y]->(c)

12:03:36.883 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C) CREATE (a)-[:Y]->(b), (b)-[:Y]->(c) 12:03:36.886 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addE('Y').from('a').to('b').addE('Y').from('b').to('c').barrier().limit(0)

When executing query: 0.010
MATCH ()-[r1]->()-[r2]->()
WITH [r1, r2] AS rs
  LIMIT 1
MATCH (first)-[rs*]->(second)
RETURN first, second

12:03:36.906 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r1]->()-[r2]->() WITH [r1, r2] AS rs LIMIT 1 MATCH (first)-[rs*]->(second) RETURN first, second 12:03:36.911 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r1').inV().as(' cypher.path.start.GENERATED2').outE().as('r2').inV().where(__.select('r1').where(neq('r2'))).select('r1', 'r2').project('rs').by(__.project(' GENERATED3', ' GENERATED4').by(__.select('r1')).by(__.select('r2')).select(values)).limit(1).select('rs').as('rs').V().as('first').as(' cypher.path.start.GENERATED7').repeat(__.outE().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('rs'))).inV()).emit().until(__.path().from(' cypher.path.start.GENERATED7').count(local).is(gte(21))).as('second').select('first', 'second').project('first', 'second').by(__.select('first').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('second').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching relationships into a list and matching variable length using the list" failed with message: 
Expected (in any order of rows):
| first | second |
| (:A) | (:C) |
Actual:
| first | second |

	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
first second
(:A) (:C)
0.034
Scenario Matching relationships into a list and matching variable length using the list, with bound nodes
Steps
Given an empty graph 0.000
And having executed: 0.015
CREATE (a:A), (b:B), (c:C)
CREATE (a)-[:Y]->(b),
       (b)-[:Y]->(c)

12:03:36.921 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C) CREATE (a)-[:Y]->(b), (b)-[:Y]->(c) 12:03:36.925 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addE('Y').from('a').to('b').addE('Y').from('b').to('c').barrier().limit(0)

When executing query: 0.018
MATCH (a)-[r1]->()-[r2]->(b)
WITH [r1, r2] AS rs, a AS first, b AS second
  LIMIT 1
MATCH (first)-[rs*]->(second)
RETURN first, second

12:03:36.977 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r1]->()-[r2]->(b) WITH [r1, r2] AS rs, a AS first, b AS second LIMIT 1 MATCH (first)-[rs*]->(second) RETURN first, second 12:03:36.985 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().as('r1').inV().as(' cypher.path.start.GENERATED2').outE().as('r2').inV().as('b').where(__.select('r1').where(neq('r2'))).select('r1', 'r2', 'a', 'b').project('rs', 'first', 'second').by(__.project(' GENERATED3', ' GENERATED4').by(__.select('r1')).by(__.select('r2')).select(values)).by(__.select('a')).by(__.select('b')).limit(1).as(' GENERATED5').select('rs').as('rs').select(' GENERATED5').select('first').as('first').select(' GENERATED5').select('second').as('second').select('first').is(neq(' cypher.null')).as(' cypher.path.start.GENERATED8').repeat(__.outE().as(' GENERATED7').where(__.select(' GENERATED7').where(eq('rs'))).inV()).emit().until(__.path().from(' cypher.path.start.GENERATED8').count(local).is(gte(21))).as(' GENERATED9').where(__.select(' GENERATED9').where(eq('second'))).select('first', 'second').project('first', 'second').by(__.select('first').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('second').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching relationships into a list and matching variable length using the list, with bound nodes" failed with message: 
Expected (in any order of rows):
| first | second |
| (:A) | (:C) |
Actual:
| first | second |

	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
first second
(:A) (:C)
0.055
Given an empty graph 0.000
And having executed: 0.011
CREATE (a:A), (b:B), (c:C)
CREATE (a)-[:Y]->(b),
       (b)-[:Y]->(c)

12:03:36.997 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C) CREATE (a)-[:Y]->(b), (b)-[:Y]->(c) 12:03:37.001 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addE('Y').from('a').to('b').addE('Y').from('b').to('c').barrier().limit(0)

When executing query: 0.018
MATCH (a)-[r1]->()-[r2]->(b)
WITH [r1, r2] AS rs, a AS second, b AS first
  LIMIT 1
MATCH (first)-[rs*]->(second)
RETURN first, second

12:03:37.038 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r1]->()-[r2]->(b) WITH [r1, r2] AS rs, a AS second, b AS first LIMIT 1 MATCH (first)-[rs*]->(second) RETURN first, second 12:03:37.047 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().as('r1').inV().as(' cypher.path.start.GENERATED2').outE().as('r2').inV().as('b').where(__.select('r1').where(neq('r2'))).select('r1', 'r2', 'a', 'b').project('rs', 'second', 'first').by(__.project(' GENERATED3', ' GENERATED4').by(__.select('r1')).by(__.select('r2')).select(values)).by(__.select('a')).by(__.select('b')).limit(1).as(' GENERATED5').select('rs').as('rs').select(' GENERATED5').select('second').as('second').select(' GENERATED5').select('first').as('first').is(neq(' cypher.null')).as(' cypher.path.start.GENERATED8').repeat(__.outE().as(' GENERATED7').where(__.select(' GENERATED7').where(eq('rs'))).inV()).emit().until(__.path().from(' cypher.path.start.GENERATED8').count(local).is(gte(21))).as(' GENERATED9').where(__.select(' GENERATED9').where(eq('second'))).select('first', 'second').project('first', 'second').by(__.select('first').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('second').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
first second
And no side effects 0.025

12:03:37.056 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.060 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.061 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.063 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.064 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.067 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.036
Given an empty graph 0.000
And having executed: 0.004
CREATE (:A)-[:T]->(:B)

12:03:37.084 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T]->(:B) 12:03:37.087 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED19').addE('T').from(' UNNAMED8').to(' UNNAMED19').barrier().limit(0)

When executing query: 0.007
MATCH (a1)-[r]->()
WITH r, a1
  LIMIT 1
OPTIONAL MATCH (a1)<-[r]-(b2)
RETURN a1, r, b2

12:03:37.113 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r]->() WITH r, a1 LIMIT 1 OPTIONAL MATCH (a1)<-[r]-(b2) RETURN a1, r, b2 12:03:37.118 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE().as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').coalesce(__.select('a1').is(neq(' cypher.null')).inE().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('r'))).outV().as('b2').select('a1', 'r', 'b2'), __.constant(' cypher.null').as(' GENERATED8').as(' GENERATED9').as('b2').select(' GENERATED8', ' GENERATED9', 'b2')).select('b2').as('b2').select('a1', 'r', 'b2').project('a1', 'r', 'b2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2
(:A) [:T] null
And no side effects 0.024

12:03:37.121 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.123 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.124 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.127 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.128 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.133 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.045
Given an empty graph 0.000
And having executed: 0.007
CREATE (:A)-[:T]->(:B)

12:03:37.146 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (:A)-[:T]->(:B) 12:03:37.151 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as(' UNNAMED8').addV('B').as(' UNNAMED19').addE('T').from(' UNNAMED8').to(' UNNAMED19').barrier().limit(0)

When executing query: 0.008
MATCH (a1)-[r]->()
WITH r, a1
  LIMIT 1
OPTIONAL MATCH (a2)<-[r]-(b2)
WHERE a1 = a2
RETURN a1, r, b2, a2

12:03:37.189 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a1)-[r]->() WITH r, a1 LIMIT 1 OPTIONAL MATCH (a2)<-[r]-(b2) WHERE a1 = a2 RETURN a1, r, b2, a2 12:03:37.195 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a1').outE().as('r').inV().select('r', 'a1').project('r', 'a1').by(__.select('r')).by(__.select('a1')).limit(1).as(' GENERATED2').select('r').as('r').select(' GENERATED2').select('a1').as('a1').coalesce(__.V().as('a2').inE().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('r'))).outV().as('b2').where(__.select('a1').where(eq('a2'))).select('a2', 'r', 'b2'), __.constant(' cypher.null').as('a2').as(' GENERATED7').as('b2').select('a2', ' GENERATED7', 'b2')).as(' GENERATED8').select('a2').as('a2').select(' GENERATED8').select('b2').as('b2').select('a1', 'r', 'b2', 'a2').project('a1', 'r', 'b2', 'a2').by(__.select('a1').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null'))).by(__.select('b2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('a2').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a1 r b2 a2
(:A) [:T] null null
And no side effects 0.028

12:03:37.198 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.201 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.203 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.208 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.210 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.213 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.047
Given an empty graph 0.000
And having executed: 0.007
CREATE ({prop: 42})

12:03:37.228 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({prop: 42}) 12:03:37.233 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('prop', 42).barrier().limit(0)

When executing query: 0.010
MATCH (n)
WITH n.prop AS n2
RETURN n2.prop

12:03:37.262 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) WITH n.prop AS n2 RETURN n2.prop 12:03:37.267 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('n2').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null'))).select('n2').as('n2').project('n2.prop').by(__.project(' GENERATED2', ' GENERATED3').by(__.identity()).by(__.constant('prop')).select(values).map(containerIndex())) 12:03:37.268 [gremlin-server-worker-1] ERROR o.o.g.s.op.cypher.CypherOpProcessor - Error during traversal iteration java.lang.IllegalArgumentException: Invalid property access of java.lang.Long at org.opencypher.gremlin.traversal.CustomFunction.lambda$containerIndex$12(CustomFunction.java:259) at org.opencypher.gremlin.traversal.CustomFunction.apply(CustomFunction.java:72) at org.opencypher.gremlin.traversal.CustomFunction.apply(CustomFunction.java:48) at org.apache.tinkerpop.gremlin.process.traversal.step.map.LambdaMapStep.map(LambdaMapStep.java:42) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:200) at org.apache.tinkerpop.gremlin.process.traversal.util.TraversalUtil.apply(TraversalUtil.java:43) at org.apache.tinkerpop.gremlin.process.traversal.util.TraversalUtil.applyNullable(TraversalUtil.java:75) at org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectStep.map(ProjectStep.java:55) at org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectStep.map(ProjectStep.java:40) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:36) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:192) at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:89) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.handleIterator(CypherOpProcessor.java:183) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.lambda$evalCypher$0(CypherOpProcessor.java:121) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.inTransaction(CypherOpProcessor.java:129) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:121) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then a TypeError should be raised at runtime: PropertyAccessOnNonMap 0.000
Then a TypeError should be raised at runtime: PropertyAccessOnNonMap 0.028

12:03:37.273 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.276 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.276 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.278 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.282 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.285 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.041
Given an empty graph 0.000
And having executed: 0.006
CREATE ({bar: 1}), ({bar: 3}), ({bar: 2})

12:03:37.301 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({bar: 1}), ({bar: 3}), ({bar: 2}) 12:03:37.304 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('bar', 1).addV().property('bar', 3).addV().property('bar', 2).barrier().limit(0)

When executing query: 0.007
MATCH (foo)
RETURN foo.bar AS x
  ORDER BY x DESC
  LIMIT 4

12:03:37.343 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (foo) RETURN foo.bar AS x ORDER BY x DESC LIMIT 4 12:03:37.349 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project(' FRESHID23').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('bar'), __.constant(' cypher.null')), __.constant(' cypher.null'))).select(' FRESHID23').as(' FRESHID23').project(' FRESHID23').by(__.identity()).order().by(__.select(' FRESHID23'), decr).limit(4).select(' FRESHID23').as(' FRESHID23').project('x').by(__.identity())

Then the result should be, in order: 0.000
x
3
2
1
And no side effects 0.027

12:03:37.350 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.353 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.354 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.357 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.362 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.365 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.047
Given an empty graph 0.000
When executing query: 0.011
MATCH (a)
RETURN count(a) > 0

12:03:37.413 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN count(a) > 0 12:03:37.422 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().fold().project(' AGGREGATION17').by(__.unfold().is(neq(' cypher.null')).count()).select(' AGGREGATION17').as(' AGGREGATION17').project('count(a) > 0').by(__.constant(0).as(' GENERATED2').select(' AGGREGATION17').choose(__.or(__.is(eq(' cypher.null')), __.select(' GENERATED2').is(eq(' cypher.null'))), __.constant(' cypher.null'), __.choose(__.where(gt(' GENERATED2')), __.constant(true), __.constant(false))))

Then the result should be: 0.000
count(a) > 0
false
And no side effects 0.035

12:03:37.425 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.428 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.435 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.438 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.442 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.445 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.024
Scenario Matching variable length pattern with property predicate
Steps
Given an empty graph 0.000
And having executed: 0.012
CREATE (a:Artist:A), (b:Artist:B), (c:Artist:C)
CREATE (a)-[:WORKED_WITH {year: 1987}]->(b),
       (b)-[:WORKED_WITH {year: 1988}]->(c)

12:03:37.461 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Artist:A), (b:Artist:B), (c:Artist:C) CREATE (a)-[:WORKED_WITH {year: 1987}]->(b), (b)-[:WORKED_WITH {year: 1988}]->(c) 12:03:37.466 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Artist').as('a').addV('Artist').as('b').addV('Artist').as('c').addE('WORKED_WITH').from('a').to('b').property('year', 1987).addE('WORKED_WITH').from('b').to('c').property('year', 1988).barrier().limit(0)

When executing query: 0.011
MATCH (a:Artist)-[:WORKED_WITH* {year: 1988}]->(b:Artist)
RETURN *

12:03:37.491 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:Artist)-[:WORKED_WITH* {year: 1988}]->(b:Artist) RETURN * 12:03:37.500 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('Artist').as(' cypher.path.start.GENERATED1').repeat(__.outE('WORKED_WITH').has('year', eq(1988)).inV()).emit().until(__.path().from(' cypher.path.start.GENERATED1').count(local).is(gte(21))).as('b').hasLabel('Artist').select('a', 'b').project('a', 'b').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching variable length pattern with property predicate" failed with message: 
Expected (in any order of rows):
| a | b |
| (:Artist:B) | (:Artist:C) |
Actual:
| a | b |
| (:Artist) | (:Artist) |
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
a b
(:Artist:B) (:Artist:C)
0.050
Given an empty graph 0.000
And having executed: 0.008
CREATE (a:Label {id: 0}), (b:Label {id: 1}), (c:Label {id: 2})
CREATE (a)-[:T]->(b),
       (b)-[:T]->(c)

12:03:37.505 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Label {id: 0}), (b:Label {id: 1}), (c:Label {id: 2}) CREATE (a)-[:T]->(b), (b)-[:T]->(c) 12:03:37.509 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Label').as('a').property('id', 0).addV('Label').as('b').property('id', 1).addV('Label').as('c').property('id', 2).addE('T').from('a').to('b').addE('T').from('b').to('c').barrier().limit(0)

When executing query: 0.009
MATCH (a), (b)
WHERE a.id = 0
  AND (a)-[:T]->(b:Label)
  OR (a)-[:T*]->(b:MissingLabel)
RETURN DISTINCT b

12:03:37.537 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a), (b) WHERE a.id = 0 AND (a)-[:T]->(b:Label) OR (a)-[:T*]->(b:MissingLabel) RETURN DISTINCT b 12:03:37.543 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').V().as('b').where(__.or(__.and(__.project(' GENERATED1', ' GENERATED2').by(__.select('a')).by(__.constant('id')).select(values).map(containerIndex()).is(neq(' cypher.null')).is(eq(0)), __.select('a').outE('T').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).hasLabel('Label')), __.select('a').as(' cypher.path.start.GENERATED7').repeat(__.outE('T').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED7').count(local).is(gte(21))).as(' GENERATED8').where(__.select(' GENERATED8').where(eq('b'))).hasLabel('MissingLabel'))).select('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).dedup()

Then the result should be: 0.000
b
(:Label {id: 1})
And no side effects 0.032

12:03:37.550 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.553 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.554 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.559 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.561 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.564 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.032
Given an empty graph 0.000
And having executed: 0.008
CREATE (a:Blue), (b:Red), (c:Green), (d:Yellow)
CREATE (a)-[:T]->(b),
       (b)-[:T]->(c),
       (b)-[:T]->(d)

12:03:37.580 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Blue), (b:Red), (c:Green), (d:Yellow) CREATE (a)-[:T]->(b), (b)-[:T]->(c), (b)-[:T]->(d) 12:03:37.584 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Blue').as('a').addV('Red').as('b').addV('Green').as('c').addV('Yellow').as('d').addE('T').from('a').to('b').addE('T').from('b').to('c').addE('T').from('b').to('d').barrier().limit(0)

When executing query: 0.004
MATCH (a:Blue)-[r*]->(b:Green)
RETURN count(r)

12:03:37.608 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:Blue)-[r*]->(b:Green) RETURN count(r) 12:03:37.612 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('Blue').as(' cypher.path.start.GENERATED1').repeat(__.outE().as('r').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED1').count(local).is(gte(21))).hasLabel('Green').select('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

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

12:03:37.613 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.615 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.615 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.618 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.618 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.621 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:Movie), (b)
CREATE (b)-[:T]->(a)

12:03:37.634 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Movie), (b) CREATE (b)-[:T]->(a) 12:03:37.636 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Movie').as('a').addV().as('b').addE('T').from('b').to('a').barrier().limit(0)

When executing query: 0.005
MATCH p = (n:Movie)--(m)
RETURN p
  LIMIT 1

12:03:37.660 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (n:Movie)--(m) RETURN p LIMIT 1 12:03:37.664 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').hasLabel('Movie').bothE().as(' UNNAMED20').aggregate(' cypher.path.edge.p').otherV().as('m').dedup('n', ' UNNAMED20', 'm').path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null'))).limit(1)

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

12:03:37.666 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.668 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.669 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.672 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.673 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.675 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.046
Given an empty graph 0.000
And having executed: 0.002
CREATE ()

12:03:37.685 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE () 12:03:37.686 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().barrier().limit(0)

When executing query: 0.003
MATCH p = (a)
WITH p
RETURN p

12:03:37.715 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (a) WITH p RETURN p 12:03:37.718 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().path().as('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<()>
And no side effects 0.040

12:03:37.719 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.724 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.725 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.730 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.735 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.739 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.074
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A), (b:B), (c:C)
CREATE (b)-[:T]->(a),
       (c)-[:T]->(b)

12:03:37.760 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C) CREATE (b)-[:T]->(a), (c)-[:T]->(b) 12:03:37.763 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addE('T').from('b').to('a').addE('T').from('c').to('b').barrier().limit(0)

When executing query: 0.011
MATCH p = (n)-->(m)--(o)
RETURN p

12:03:37.799 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (n)-->(m)--(o) RETURN p 12:03:37.803 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').outE().as(' UNNAMED14').aggregate(' cypher.path.edge.p').inV().as('m').bothE().as(' UNNAMED20').aggregate(' cypher.path.edge.p').otherV().as('o').dedup('n', ' UNNAMED14', 'm', ' UNNAMED20', 'o').path().as('p').where(__.select(' UNNAMED14').where(neq(' UNNAMED20'))).select('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<(:C)-[:T]->(:B)-[:T]->(:A)>
And no side effects 0.053

12:03:37.813 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.816 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.822 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.833 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.835 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.848 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.087
Given an empty graph 0.000
And having executed: 0.014
CREATE (a:A), (b:B), (c:C), (d:D)
CREATE (b)-[:T]->(a),
       (c)-[:T]->(b),
       (d)-[:T]->(c)

12:03:37.870 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B), (c:C), (d:D) CREATE (b)-[:T]->(a), (c)-[:T]->(b), (d)-[:T]->(c) 12:03:37.876 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addV('C').as('c').addV('D').as('d').addE('T').from('b').to('a').addE('T').from('c').to('b').addE('T').from('d').to('c').barrier().limit(0)

When executing query: 0.019
MATCH path = (n)-->(m)--(o)--(p)
RETURN path

12:03:37.940 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH path = (n)-->(m)--(o)--(p) RETURN path 12:03:37.948 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').outE().as(' UNNAMED17').aggregate(' cypher.path.edge.path').inV().as('m').bothE().as(' UNNAMED23').aggregate(' cypher.path.edge.path').otherV().as('o').bothE().as(' UNNAMED28').aggregate(' cypher.path.edge.path').otherV().as('p').dedup('n', ' UNNAMED17', 'm', ' UNNAMED23', 'o', ' UNNAMED28', 'p').path().as('path').where(__.and(__.select(' UNNAMED23').where(neq(' UNNAMED28')), __.select(' UNNAMED17').where(neq(' UNNAMED28')), __.select(' UNNAMED17').where(neq(' UNNAMED23')))).select('path').project('path').by(__.choose(neq(' cypher.null'), __.project(' cypher.relationship', ' cypher.element').by(__.select(' cypher.path.edge.path').unfold().project(' cypher.id', ' cypher.inv', ' cypher.outv').by(__.id()).by(__.inV().id()).by(__.outV().id()).fold()).by(__.unfold().is(neq(' cypher.start')).valueMap(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
path
<(:D)-[:T]->(:C)-[:T]->(:B)-[:T]->(:A)>
And no side effects 0.052

12:03:37.961 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:37.964 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.965 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:37.973 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:37.975 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:37.983 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.039
Scenario Named path with undirected fixed variable length pattern
Steps
Given an empty graph 0.000
And having executed: 0.015
CREATE (db1:Start), (db2:End), (mid), (other)
CREATE (mid)-[:CONNECTED_TO]->(db1),
       (mid)-[:CONNECTED_TO]->(db2),
       (mid)-[:CONNECTED_TO]->(db2),
       (mid)-[:CONNECTED_TO]->(other),
       (mid)-[:CONNECTED_TO]->(other)

12:03:38.023 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (db1:Start), (db2:End), (mid), (other) CREATE (mid)-[:CONNECTED_TO]->(db1), (mid)-[:CONNECTED_TO]->(db2), (mid)-[:CONNECTED_TO]->(db2), (mid)-[:CONNECTED_TO]->(other), (mid)-[:CONNECTED_TO]->(other) 12:03:38.030 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('Start').as('db1').addV('End').as('db2').addV().as('mid').addV().as('other').addE('CONNECTED_TO').from('mid').to('db1').addE('CONNECTED_TO').from('mid').to('db2').addE('CONNECTED_TO').from('mid').to('db2').addE('CONNECTED_TO').from('mid').to('other').addE('CONNECTED_TO').from('mid').to('other').barrier().limit(0)

When executing query: 0.023
MATCH topRoute = (:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO*3..3]-(:End)
RETURN topRoute

12:03:38.091 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH topRoute = (:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO*3..3]-(:End) RETURN topRoute 12:03:38.104 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' UNNAMED18').hasLabel('Start').as(' cypher.path.start.topRoute').inE('CONNECTED_TO').as(' UNNAMED26').aggregate(' cypher.path.edge.topRoute').outV().as(' UNNAMED44').as(' cypher.path.start.topRoute').times(3).repeat(__.bothE('CONNECTED_TO').as(' UNNAMED46').aggregate(' cypher.path.edge.topRoute').otherV()).simplePath().from(' cypher.path.start.topRoute').as(' UNNAMED68').hasLabel('End').dedup(' UNNAMED18', ' UNNAMED26', ' UNNAMED44', ' UNNAMED46', ' UNNAMED68').path().project('topRoute').by(__.choose(neq(' cypher.null'), __.project(' cypher.relationship', ' cypher.element').by(__.select(' cypher.path.edge.topRoute').unfold().project(' cypher.id', ' cypher.inv', ' cypher.outv').by(__.id()).by(__.inV().id()).by(__.outV().id()).fold()).by(__.unfold().is(neq(' cypher.start')).valueMap(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Named path with undirected fixed variable length pattern" failed with message: 
Expected (in any order of rows):
| topRoute |
| <(:Start)<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->()<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->(:End)> |
| <(:Start)<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->()<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->(:End)> |
| <(:Start)<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->()<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->(:End)> |
| <(:Start)<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->()<-[:CONNECTED_TO {}]-()-[:CONNECTED_TO {}]->(:End)> |
Actual:
| topRoute |

	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
topRoute
<(:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->()<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->(:End)>
<(:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->()<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->(:End)>
<(:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->()<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->(:End)>
<(:Start)<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->()<-[:CONNECTED_TO]-()-[:CONNECTED_TO]->(:End)>
0.029
Given an empty graph 0.000
And having executed: 0.004
CREATE ({prop: 1})

12:03:38.117 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({prop: 1}) 12:03:38.119 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('prop', 1).barrier().limit(0)

When executing query: 0.003
MATCH (a)
RETURN a.prop

12:03:38.144 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN a.prop 12:03:38.147 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('a.prop').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.prop
1
And no side effects 0.021

12:03:38.148 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.150 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.151 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.153 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.156 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.158 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.037
Given an empty graph 0.000
And having executed: 0.004
CREATE ()-[:T {prop: 1}]->()

12:03:38.170 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T {prop: 1}]->() 12:03:38.172 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED27').addE('T').from(' UNNAMED8').to(' UNNAMED27').property('prop', 1).barrier().limit(0)

When executing query: 0.005
MATCH ()-[r]->()
RETURN r.prop

12:03:38.209 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN r.prop 12:03:38.213 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('r.prop').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
r.prop
1
And no side effects 0.027

12:03:38.215 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.217 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.218 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.221 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.223 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.227 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.049
Given an empty graph 0.000
And having executed: 0.007
CREATE (a:A), (b:B)
CREATE (a)-[:T]->(b)

12:03:38.243 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T]->(b) 12:03:38.246 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.005
MATCH (a)-[r]->()
RETURN a AS foo, r AS bar

12:03:38.283 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r]->() RETURN a AS foo, r AS bar 12:03:38.287 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().as('r').inV().select('a', 'r').project('foo', 'bar').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('r').choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
foo bar
(:A) [:T]
And no side effects 0.036

12:03:38.289 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.292 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.296 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.303 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.304 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.306 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.041
Given an empty graph 0.000
And having executed: 0.003
CREATE ({foo: 1})

12:03:38.326 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({foo: 1}) 12:03:38.327 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('foo', 1).barrier().limit(0)

When executing query: 0.008
MATCH (a)
RETURN a.bar

12:03:38.364 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN a.bar 12:03:38.371 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('a.bar').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('bar'), __.constant(' cypher.null')), __.constant(' cypher.null')))

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

12:03:38.376 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.379 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.379 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.381 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.384 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.386 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.035
Given an empty graph 0.000
And having executed: 0.006
CREATE ()-[:T {foo: 1}]->()

12:03:38.403 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ()-[:T {foo: 1}]->() 12:03:38.405 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as(' UNNAMED8').addV().as(' UNNAMED26').addE('T').from(' UNNAMED8').to(' UNNAMED26').property('foo', 1).barrier().limit(0)

When executing query: 0.004
MATCH ()-[r]->()
RETURN r.bar

12:03:38.430 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN r.bar 12:03:38.433 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('r.bar').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('bar'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
r.bar
null
And no side effects 0.024

12:03:38.435 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.439 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.440 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.442 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.443 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.445 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.032
Given an empty graph 0.000
And having executed: 0.007
CREATE ({name: 'Philip J. Fry', age: 2046, seasons: [1, 2, 3, 4, 5, 6, 7]})

12:03:38.460 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({name: 'Philip J. Fry', age: 2046, seasons: [1, 2, 3, 4, 5, 6, 7]}) 12:03:38.464 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('name', 'Philip J. Fry').property('age', 2046).property('seasons', __.project(' GENERATED1', ' GENERATED2', ' GENERATED3', ' GENERATED4', ' GENERATED5', ' GENERATED6', ' GENERATED7').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).by(__.constant(4)).by(__.constant(5)).by(__.constant(6)).by(__.constant(7)).select(values)).barrier().limit(0)

When executing query: 0.004
MATCH (a)
RETURN a.name, a.age, a.seasons

12:03:38.506 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN a.name, a.age, a.seasons 12:03:38.509 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('a.name', 'a.age', 'a.seasons').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.choose(neq(' cypher.null'), __.coalesce(__.values('age'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.choose(neq(' cypher.null'), __.coalesce(__.values('seasons'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a.name a.age a.seasons
'Philip J. Fry' 2046 [1, 2, 3, 4, 5, 6, 7]
And no side effects 0.019

12:03:38.511 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.513 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.514 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.516 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.519 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.521 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.022
Given an empty graph 0.000
And having executed: 0.002
CREATE ({prop: 1})

12:03:38.531 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({prop: 1}) 12:03:38.532 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('prop', 1).barrier().limit(0)

When executing query: 0.003
MATCH (a)
RETURN a.prop + 1 AS foo

12:03:38.550 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN a.prop + 1 AS foo 12:03:38.553 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('foo').by(__.project(' GENERATED1', ' GENERATED2').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant(1)).select(values).map(plus()))

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

12:03:38.553 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.555 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.556 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.558 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.561 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.562 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.034
Given an empty graph 0.000
And having executed: 0.004
CREATE ({prop1: [1, 2, 3], prop2: [4, 5]})

12:03:38.570 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({prop1: [1, 2, 3], prop2: [4, 5]}) 12:03:38.572 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('prop1', __.project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values)).property('prop2', __.project(' GENERATED4', ' GENERATED5').by(__.constant(4)).by(__.constant(5)).select(values)).barrier().limit(0)

When executing query: 0.004
MATCH (a)
RETURN a.prop2 + a.prop1 AS foo

12:03:38.592 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) RETURN a.prop2 + a.prop1 AS foo 12:03:38.595 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('foo').by(__.project(' GENERATED1', ' GENERATED2').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop2'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.choose(neq(' cypher.null'), __.coalesce(__.values('prop1'), __.constant(' cypher.null')), __.constant(' cypher.null'))).select(values).map(plus()))

Then the result should be: 0.000
foo
[4, 5, 1, 2, 3]
And no side effects 0.025

12:03:38.596 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.598 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.598 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.601 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.612 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.614 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.008
Scenario Variable length relationship variables are lists of relationships
Steps
Given an empty graph 0.000
And having executed: 0.003
CREATE (a), (b), (c)
CREATE (a)-[:T]->(b)

12:03:38.623 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b), (c) CREATE (a)-[:T]->(b) 12:03:38.624 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV().as('b').addV().addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.004
MATCH ()-[r*0..1]-()
RETURN last(r) AS l

12:03:38.644 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r*0..1]-() RETURN last(r) AS l 12:03:38.647 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unknown function 'last' org.opencypher.gremlin.translation.exception.SyntaxException: Unknown function 'last' at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$aggregation(ProjectionWalker.scala:361) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:263) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:261) at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:216) at scala.util.Try$.apply(Try.scala:192) at scala.util.Failure.recover(Try.scala:216) at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot(ProjectionWalker.scala:261) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:107) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:104) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.ProjectionWalker.returnSubTraversals(ProjectionWalker.scala:104) at org.opencypher.gremlin.translation.walker.ProjectionWalker.walk(ProjectionWalker.scala:75) at org.opencypher.gremlin.translation.walker.ProjectionWalker$.walk(ProjectionWalker.scala:42) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:105) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Variable length relationship variables are lists of relationships" failed with message: Expected: | l |
| [:T {}] |
| [:T {}] |
| null |
| null |
| null |, got error ExecutionFailed(SyntaxError,compile time,UnknownFunction,Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unknown function 'last'))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: Unknown function 'last'
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
l
[:T]
[:T]
null
null
null
0.027
Given an empty graph 0.000
And having executed: 0.003
CREATE (a:A), (b:B)

12:03:38.650 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) 12:03:38.651 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').addV('B').barrier().limit(0)

When executing query: 0.005
MATCH (a:A)
OPTIONAL MATCH (a)-[:FOO]->(b:B)
OPTIONAL MATCH (b)<-[:BAR*]-(c:B)
RETURN a, b, c

12:03:38.673 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) OPTIONAL MATCH (a)-[:FOO]->(b:B) OPTIONAL MATCH (b)<-[:BAR*]-(c:B) RETURN a, b, c 12:03:38.676 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').coalesce(__.select('a').outE('FOO').as(' UNNAMED31').inV().as('b').hasLabel('B').select('a', ' UNNAMED31', 'b'), __.constant(' cypher.null').as(' GENERATED3').as(' UNNAMED31').as('b').select(' GENERATED3', ' UNNAMED31', 'b')).as(' GENERATED4').select(' UNNAMED31').as(' UNNAMED31').select(' GENERATED4').select('b').as('b').coalesce(__.select('b').is(neq(' cypher.null')).as(' cypher.path.start.GENERATED7').repeat(__.inE('BAR').as(' UNNAMED64').outV()).emit().until(__.path().from(' cypher.path.start.GENERATED7').count(local).is(gte(21))).as('c').hasLabel('B').select('b', ' UNNAMED64', 'c'), __.constant(' cypher.null').as(' GENERATED8').as(' UNNAMED64').as('c').select(' GENERATED8', ' UNNAMED64', 'c')).as(' GENERATED9').select(' UNNAMED64').as(' UNNAMED64').select(' GENERATED9').select('c').as('c').select('a', 'b', 'c').project('a', 'b', 'c').by(__.select('a').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null'))).by(__.select('c').choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
a b c
(:A) null null
And no side effects 0.017

12:03:38.678 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.680 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.681 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.683 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.686 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.688 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.013
Scenario Projecting a list of nodes and relationships
Steps
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B)
CREATE (a)-[:T]->(b)

12:03:38.697 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T]->(b) 12:03:38.699 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.007
MATCH (n)-[r]->(m)
RETURN [n, r, m] AS r

12:03:38.730 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n)-[r]->(m) RETURN [n, r, m] AS r 12:03:38.734 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').outE().as('r').inV().as('m').select('n', 'r', 'm').project('r').by(__.project(' GENERATED2', ' GENERATED3', ' GENERATED4').by(__.select('n')).by(__.select('r')).by(__.select('m')).select(values))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Projecting a list of nodes and relationships" failed with message: Expected: | r |
| [(:A), [:T {}], (:B)] |, got error ExecutionFailed(TypeError,runtime,InvalidArgumentType,Some(java.lang.IllegalArgumentException: Unable to convert result v[22127]))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: java.lang.IllegalArgumentException: Unable to convert result v[22127]
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValue(TckGremlinCypherValueConverter.scala:135)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$7.apply(TckGremlinCypherValueConverter.scala:149)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$7.apply(TckGremlinCypherValueConverter.scala:149)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherList(TckGremlinCypherValueConverter.scala:149)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValue(TckGremlinCypherValueConverter.scala:134)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4$$anonfun$apply$1.apply(TckGremlinCypherValueConverter.scala:85)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4$$anonfun$apply$1.apply(TckGremlinCypherValueConverter.scala:85)
	at scala.collection.MapLike$MappedValues$$anonfun$foreach$3.apply(MapLike.scala:245)
	at scala.collection.MapLike$MappedValues$$anonfun$foreach$3.apply(MapLike.scala:245)
	at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
	at scala.collection.MapLike$MappedValues.foreach(MapLike.scala:245)
	at scala.collection.TraversableOnce$class.toMap(TraversableOnce.scala:316)
	at scala.collection.AbstractTraversable.toMap(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4.apply(TckGremlinCypherValueConverter.scala:85)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4.apply(TckGremlinCypherValueConverter.scala:85)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValueRecords(TckGremlinCypherValueConverter.scala:84)
	at org.opencypher.gremlin.tck.TinkerGraphServerEmbeddedGraph$.cypher(TckTest.scala:54)
	at org.opencypher.tools.tck.api.Graph$class.execute(Graph.scala:62)
	at org.opencypher.gremlin.tck.TinkerGraphServerEmbeddedGraph$.execute(TckTest.scala:33)
	at org.opencypher.tools.tck.api.Scenario$ScenarioExecutionContext.execute(Scenario.scala:168)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:66)
	... 82 more
r
[(:A), [:T], (:B)]
0.010
Scenario Projecting a map of nodes and relationships
Steps
Given an empty graph 0.000
And having executed: 0.007
CREATE (a:A), (b:B)
CREATE (a)-[:T]->(b)

12:03:38.749 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T]->(b) 12:03:38.752 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.003
MATCH (n)-[r]->(m)
RETURN {node1: n, rel: r, node2: m} AS m

12:03:38.775 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n)-[r]->(m) RETURN {node1: n, rel: r, node2: m} AS m 12:03:38.777 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').outE().as('r').inV().as('m').select('n', 'r', 'm').project('m').by(__.project('node1', 'rel', 'node2').by(__.select('n')).by(__.select('r')).by(__.select('m')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Projecting a map of nodes and relationships" failed with message: Expected: | m |
| {node1: (:A), rel: [:T {}], node2: (:B)} |, got error ExecutionFailed(TypeError,runtime,InvalidArgumentType,Some(java.lang.IllegalArgumentException: Unable to convert result v[22130]))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: java.lang.IllegalArgumentException: Unable to convert result v[22130]
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValue(TckGremlinCypherValueConverter.scala:135)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$6.apply(TckGremlinCypherValueConverter.scala:141)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$6.apply(TckGremlinCypherValueConverter.scala:141)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.MapLike$FilteredKeys$$anonfun$foreach$1.apply(MapLike.scala:231)
	at scala.collection.MapLike$FilteredKeys$$anonfun$foreach$1.apply(MapLike.scala:231)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.MapLike$FilteredKeys.foreach(MapLike.scala:231)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherPropertyMap(TckGremlinCypherValueConverter.scala:141)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValue(TckGremlinCypherValueConverter.scala:132)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4$$anonfun$apply$1.apply(TckGremlinCypherValueConverter.scala:85)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4$$anonfun$apply$1.apply(TckGremlinCypherValueConverter.scala:85)
	at scala.collection.MapLike$MappedValues$$anonfun$foreach$3.apply(MapLike.scala:245)
	at scala.collection.MapLike$MappedValues$$anonfun$foreach$3.apply(MapLike.scala:245)
	at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
	at scala.collection.MapLike$MappedValues.foreach(MapLike.scala:245)
	at scala.collection.TraversableOnce$class.toMap(TraversableOnce.scala:316)
	at scala.collection.AbstractTraversable.toMap(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4.apply(TckGremlinCypherValueConverter.scala:85)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$$anonfun$4.apply(TckGremlinCypherValueConverter.scala:85)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.AbstractTraversable.map(Traversable.scala:104)
	at org.opencypher.gremlin.tck.TckGremlinCypherValueConverter$.toCypherValueRecords(TckGremlinCypherValueConverter.scala:84)
	at org.opencypher.gremlin.tck.TinkerGraphServerEmbeddedGraph$.cypher(TckTest.scala:54)
	at org.opencypher.tools.tck.api.Graph$class.execute(Graph.scala:62)
	at org.opencypher.gremlin.tck.TinkerGraphServerEmbeddedGraph$.execute(TckTest.scala:33)
	at org.opencypher.tools.tck.api.Scenario$ScenarioExecutionContext.execute(Scenario.scala:168)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:66)
	... 82 more
m
{node1: (:A), rel: [:T], node2: (:B)}
0.042
Given an empty graph 0.000
And having executed: 0.008
CREATE (a {prop: 'a'}), (b {prop: 'b'})
CREATE (a)-[:T]->(b)

12:03:38.780 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {prop: 'a'}), (b {prop: 'b'}) CREATE (a)-[:T]->(b) 12:03:38.783 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('prop', 'a').addV().as('b').property('prop', 'b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.018
MATCH p = ({prop: 'a'})-->({prop: 'b'})
RETURN p

12:03:38.825 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ({prop: 'a'})-->({prop: 'b'}) RETURN p 12:03:38.828 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('prop', eq('a')).outE().aggregate(' cypher.path.edge.p').inV().has('prop', eq('b')).path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<({prop: 'a'})-[:T]->({prop: 'b'})>
And no side effects 0.015

12:03:38.834 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.836 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.837 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.840 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.841 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.843 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.037
Given an empty graph 0.000
And having executed: 0.005
CREATE (a {prop: 'a'}), (b {prop: 'b'})
CREATE (a)-[:T]->(b)

12:03:38.851 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {prop: 'a'}), (b {prop: 'b'}) CREATE (a)-[:T]->(b) 12:03:38.854 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('prop', 'a').addV().as('b').property('prop', 'b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.007
MATCH p = ({prop: 'a'})<--({prop: 'b'})
RETURN p

12:03:38.874 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = ({prop: 'a'})<--({prop: 'b'}) RETURN p 12:03:38.876 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('prop', eq('a')).inE().aggregate(' cypher.path.edge.p').outV().has('prop', eq('b')).path().project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
And no side effects 0.023

12:03:38.881 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.884 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.884 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.887 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.890 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.893 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.042
Given an empty graph 0.000
And having executed: 0.006
CREATE (a), (b)
CREATE (a)-[:T]->(b),
       (b)-[:T]->(a)

12:03:38.908 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b) CREATE (a)-[:T]->(b), (b)-[:T]->(a) 12:03:38.911 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV().as('b').addE('T').from('a').to('b').addE('T').from('b').to('a').barrier().limit(0)

When executing query: 0.008
MATCH p = (n)-->(k)<--(n)
RETURN p

12:03:38.945 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (n)-->(k)<--(n) RETURN p 12:03:38.949 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').outE().as(' UNNAMED14').aggregate(' cypher.path.edge.p').inV().as(' cypher.path.start.p').inE().as(' UNNAMED20').aggregate(' cypher.path.edge.p').outV().as(' GENERATED1').where(__.select(' GENERATED1').where(eq('n'))).path().as('p').where(__.select(' UNNAMED14').where(neq(' UNNAMED20'))).select('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
And no side effects 0.026

12:03:38.955 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:38.957 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.958 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:38.961 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:38.962 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:38.965 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000
And having executed: 0.006
CREATE (a:A), (b:B)
CREATE (a)-[:T1]->(b),
       (b)-[:T2]->(a)

12:03:38.982 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T1]->(b), (b)-[:T2]->(a) 12:03:38.985 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T1').from('a').to('b').addE('T2').from('b').to('a').barrier().limit(0)

When executing query: 0.007
MATCH p = (n)<-->(k)<--(n)
RETURN p

12:03:39.008 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p = (n)<-->(k)<--(n) RETURN p 12:03:39.012 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').bothE().as(' UNNAMED14').aggregate(' cypher.path.edge.p').otherV().as('k').inE().as(' UNNAMED21').aggregate(' cypher.path.edge.p').outV().as(' GENERATED1').where(__.select(' GENERATED1').where(eq('n'))).dedup('n', ' UNNAMED14', 'k', ' UNNAMED21', 'n').path().as('p').where(__.select(' UNNAMED14').where(neq(' UNNAMED21'))).select('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<(:A)<-[:T2]-(:B)<-[:T1]-(:A)>
<(:B)<-[:T1]-(:A)<-[:T2]-(:B)>
And no side effects 0.018

12:03:39.017 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:39.018 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.019 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:39.021 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.022 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:39.024 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.030
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B)
CREATE (a)-[:T1]->(b),
       (b)-[:T2]->(a)

12:03:39.035 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T1]->(b), (b)-[:T2]->(a) 12:03:39.038 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T1').from('a').to('b').addE('T2').from('b').to('a').barrier().limit(0)

When executing query: 0.006
MATCH p=(n)<-->(k)<-->(n)
RETURN p

12:03:39.057 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH p=(n)<-->(k)<-->(n) RETURN p 12:03:39.061 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').bothE().as(' UNNAMED12').aggregate(' cypher.path.edge.p').otherV().as('k').bothE().as(' UNNAMED19').aggregate(' cypher.path.edge.p').otherV().as(' GENERATED1').where(__.select(' GENERATED1').where(eq('n'))).dedup('n', ' UNNAMED12', 'k', ' UNNAMED19', 'n').path().as('p').where(__.select(' UNNAMED12').where(neq(' UNNAMED19'))).select('p').project('p').by(__.choose(neq(' cypher.null'), __.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(true).fold()), __.constant(' cypher.null')))

Then the result should be: 0.000
p
<(:A)<-[:T2]-(:B)<-[:T1]-(:A)>
<(:A)-[:T1]->(:B)-[:T2]->(:A)>
<(:B)<-[:T1]-(:A)<-[:T2]-(:B)>
<(:B)-[:T2]->(:A)-[:T1]->(:B)>
And no side effects 0.017

12:03:39.064 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:39.067 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.067 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:39.069 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.070 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:39.072 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.010
Scenario Matching nodes with many labels
Steps
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A:B:C:D:E:F:G:H:I:J:K:L:M),
       (b:U:V:W:X:Y:Z)
CREATE (a)-[:T]->(b)

12:03:39.084 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A:B:C:D:E:F:G:H:I:J:K:L:M), (b:U:V:W:X:Y:Z) CREATE (a)-[:T]->(b) 12:03:39.087 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('U').as('b').addE('T').from('a').to('b').barrier().limit(0)

When executing query: 0.004
MATCH (n:A:B:C:D:E:F:G:H:I:J:K:L:M)-[:T]->(m:Z:Y:X:W:V:U)
RETURN n, m

12:03:39.108 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n:A:B:C:D:E:F:G:H:I:J:K:L:M)-[:T]->(m:Z:Y:X:W:V:U) RETURN n, m 12:03:39.112 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported value expression: HasLabels(Variable(n),List(LabelName(A), LabelName(B), LabelName(C), LabelName(D), LabelName(E), LabelName(F), LabelName(G), LabelName(H), LabelName(I), LabelName(J), LabelName(K), LabelName(L), LabelName(M))) java.lang.UnsupportedOperationException: Unsupported value expression: HasLabels(Variable(n),List(LabelName(A), LabelName(B), LabelName(C), LabelName(D), LabelName(E), LabelName(F), LabelName(G), LabelName(H), LabelName(I), LabelName(J), LabelName(K), LabelName(L), LabelName(M))) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.NodeUtils$.traversalValueToJava(NodeUtils.scala:74) at org.opencypher.gremlin.translation.walker.NodeUtils$.expressionValue(NodeUtils.scala:31) at org.opencypher.gremlin.translation.walker.ExpressionWalker.org$opencypher$gremlin$translation$walker$ExpressionWalker$$walkLocal(ExpressionWalker.scala:277) at org.opencypher.gremlin.translation.walker.ExpressionWalker$.walkLocal(ExpressionWalker.scala:43) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression(WhereWalker.scala:159) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkBooleanExpression(WhereWalker.scala:76) at org.opencypher.gremlin.translation.walker.WhereWalker$$anonfun$org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression$15.apply(WhereWalker.scala:146) at org.opencypher.gremlin.translation.walker.WhereWalker$$anonfun$org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression$15.apply(WhereWalker.scala:146) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234) at scala.collection.immutable.Set$Set2.foreach(Set.scala:128) at scala.collection.TraversableLike$class.map(TraversableLike.scala:234) at scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) at scala.collection.SetLike$class.map(SetLike.scala:92) at scala.collection.AbstractSet.map(Set.scala:47) at org.opencypher.gremlin.translation.walker.WhereWalker.org$opencypher$gremlin$translation$walker$WhereWalker$$walkExpression(WhereWalker.scala:146) at org.opencypher.gremlin.translation.walker.WhereWalker.walk(WhereWalker.scala:59) at org.opencypher.gremlin.translation.walker.WhereWalker$.walk(WhereWalker.scala:38) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker$$anonfun$walkPatternParts$2.apply(MatchWalker.scala:87) at scala.Option.foreach(Option.scala:257) at org.opencypher.gremlin.translation.walker.MatchWalker.walkPatternParts(MatchWalker.scala:87) at org.opencypher.gremlin.translation.walker.MatchWalker.walkClause(MatchWalker.scala:47) at org.opencypher.gremlin.translation.walker.MatchWalker$.walkClause(MatchWalker.scala:28) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:93) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching nodes with many labels" failed with message: Expected: | n | m |
| (:E:J:F:A:M:I:G:L:B:C:H:K:D) | (:X:Y:U:V:W:Z) |, got error ExecutionFailed(UnknownError,runtime,Unsupported value expression: HasLabels(Variable(n),List(LabelName(A), LabelName(B), LabelName(C), LabelName(D), LabelName(E), LabelName(F), LabelName(G), LabelName(H), LabelName(I), LabelName(J), LabelName(K), LabelName(L), LabelName(M))),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported value expression: HasLabels(Variable(n),List(LabelName(A), LabelName(B), LabelName(C), LabelName(D), LabelName(E), LabelName(F), LabelName(G), LabelName(H), LabelName(I), LabelName(J), LabelName(K), LabelName(L), LabelName(M)))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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: Unsupported value expression: HasLabels(Variable(n),List(LabelName(A), LabelName(B), LabelName(C), LabelName(D), LabelName(E), LabelName(F), LabelName(G), LabelName(H), LabelName(I), LabelName(J), LabelName(K), LabelName(L), LabelName(M)))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
n m
(:A:B:C:D:E:F:G:H:I:J:K:L:M) (:Z:Y:X:W:V:U)
0.017
Scenario Matching longer variable length paths
Steps
Given an empty graph 0.000
And having executed: 0.010
CREATE (a {prop: 'start'}), (b {prop: 'end'})
WITH *
UNWIND range(1, 20) AS i
CREATE (n {prop: i})
WITH [a] + collect(n) + [b] AS nodeList
UNWIND range(0, size(nodeList) - 2, 1) AS i
WITH nodeList[i] AS n1, nodeList[i+1] AS n2
CREATE (n1)-[:T]->(n2)

12:03:39.115 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {prop: 'start'}), (b {prop: 'end'}) WITH * UNWIND range(1, 20) AS i CREATE (n {prop: i}) WITH [a] + collect(n) + [b] AS nodeList UNWIND range(0, size(nodeList) - 2, 1) AS i WITH nodeList[i] AS n1, nodeList[i+1] AS n2 CREATE (n1)-[:T]->(n2) 12:03:39.123 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Vector(SignedDecimalIntegerLiteral(0), Subtract(FunctionInvocation(Namespace(List()),FunctionName(size),false,Vector(Variable(nodeList))),SignedDecimalIntegerLiteral(2)), SignedDecimalIntegerLiteral(1)) (of class scala.collection.immutable.Vector) scala.MatchError: Vector(SignedDecimalIntegerLiteral(0), Subtract(FunctionInvocation(Namespace(List()),FunctionName(size),false,Vector(Variable(nodeList))),SignedDecimalIntegerLiteral(2)), SignedDecimalIntegerLiteral(1)) (of class scala.collection.immutable.Vector) at org.opencypher.gremlin.translation.walker.ExpressionWalker.range(ExpressionWalker.scala:378) at org.opencypher.gremlin.translation.walker.ExpressionWalker.org$opencypher$gremlin$translation$walker$ExpressionWalker$$walkLocal(ExpressionWalker.scala:218) at org.opencypher.gremlin.translation.walker.ExpressionWalker.walk(ExpressionWalker.scala:57) at org.opencypher.gremlin.translation.walker.ExpressionWalker$.walk(ExpressionWalker.scala:39) at org.opencypher.gremlin.translation.walker.UnwindWalker.walkClause(UnwindWalker.scala:46) at org.opencypher.gremlin.translation.walker.UnwindWalker$.walkClause(UnwindWalker.scala:33) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:95) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) 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:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

When executing query: 0.007
MATCH (n {prop: 'start'})-[:T*]->(m {prop: 'end'})
RETURN m

12:03:39.151 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n {prop: 'start'})-[:T*]->(m {prop: 'end'}) RETURN m 12:03:39.154 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().has('prop', eq('start')).as(' cypher.path.start.GENERATED1').repeat(__.outE('T').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED1').count(local).is(gte(21))).as('m').has('prop', eq('end')).select('m').project('m').by(__.choose(neq(' cypher.null'), __.valueMap(true), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MatchAcceptance2": Scenario "Matching longer variable length paths" failed with message: 
Expected (in any order of rows):
| m |
| ({prop: 'end'}) |
Actual:
| m |

	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:90)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	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)
m
({prop: 'end'})
0.033
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B)
CREATE (a)-[:T1]->(b),
       (b)-[:T2]->(a)

12:03:39.159 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T1]->(b), (b)-[:T2]->(a) 12:03:39.162 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T1').from('a').to('b').addE('T2').from('b').to('a').barrier().limit(0)

When executing query: 0.007
MATCH (a)
MERGE (b)
WITH *
OPTIONAL MATCH (a)--(b)
RETURN count(*)

12:03:39.182 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a) MERGE (b) WITH * OPTIONAL MATCH (a)--(b) RETURN count(*) 12:03:39.187 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').coalesce(__.V().as('b'), __.identity().addV().as('b')).as('b').select('a', 'b').project('a', 'b').by(__.select('a')).by(__.select('b')).as(' GENERATED1').select('a').as('a').select(' GENERATED1').select('b').as('b').coalesce(__.select('a').is(neq(' cypher.null')).bothE().as(' UNNAMED46').otherV().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('b'))).dedup('a', ' UNNAMED46', 'b').select('a', ' UNNAMED46', 'b'), __.constant(' cypher.null').as(' GENERATED7').as(' UNNAMED46').as(' GENERATED8').select(' GENERATED7', ' UNNAMED46', ' GENERATED8')).select(' UNNAMED46').as(' UNNAMED46').fold().project('count(*)').by(__.unfold().count())

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

12:03:39.189 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:39.191 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.192 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:39.194 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.196 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:39.198 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000
And having executed: 0.003
CREATE (a)
CREATE (a)-[:T]->(a)

12:03:39.212 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a) CREATE (a)-[:T]->(a) 12:03:39.213 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addE('T').from('a').to('a').barrier().limit(0)

When executing query: 0.004
MATCH ()-[r]-()
RETURN type(r) AS r

12:03:39.238 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]-() RETURN type(r) AS r 12:03:39.242 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' UNNAMED7').bothE().as('r').otherV().as(' UNNAMED14').dedup(' UNNAMED7', 'r', ' UNNAMED14').select('r').project('r').by(__.choose(neq(' cypher.null'), __.label().is(neq('vertex')), __.constant(' cypher.null')))

Then the result should be: 0.000
r
'T'
And no side effects 0.020

12:03:39.243 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:39.245 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.245 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:39.248 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:03:39.249 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:03:39.251 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0