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
VarLengthAcceptance 160 1 0 0 0 161 30 1 31 1.782 Failed
Feature VarLengthAcceptance
0.027
Given an empty graph 0.000
And having executed: 0.027
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.630 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:27.642 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.023
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*]->(c)
RETURN c.name

12:03:27.672 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*]->(c) RETURN c.name 12:03:27.675 [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').repeat(__.outE('LIKES').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.017

12:03:27.678 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:27.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:27.680 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:27.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:27.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:27.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.027
Given an empty graph 0.000
And having executed: 0.027
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.696 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:27.710 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.026
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*..]->(c)
RETURN c.name

12:03:27.742 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*..]->(c) RETURN c.name 12:03:27.745 [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').repeat(__.outE('LIKES').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.020

12:03:27.749 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:27.753 [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:27.755 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:27.757 [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:27.758 [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:27.761 [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.032
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.769 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:27.782 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.030
When executing query: 0.009
MATCH (a:A)
MATCH (a)-[:LIKES..]->(c)
RETURN c.name

12:03:27.831 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES..]->(c) RETURN c.name 12:03:27.835 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Invalid input '.': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 2, column 18 (offset: 29)) org.opencypher.v9_0.util.SyntaxException: Invalid input '.': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 2, column 18 (offset: 29)) at org.opencypher.v9_0.parser.Base$$anonfun$parseOrThrow$1.apply(Base.scala:139) at org.opencypher.v9_0.parser.Base$$anonfun$parseOrThrow$1.apply(Base.scala:127) at scala.collection.immutable.List.map(List.scala:284) at org.opencypher.v9_0.parser.Base$class.parseOrThrow(Base.scala:127) at org.opencypher.v9_0.parser.CypherParser.parseOrThrow(CypherParser.scala:22) at org.opencypher.v9_0.parser.CypherParser.parse(CypherParser.scala:29) at org.opencypher.v9_0.frontend.phases.Parsing$.process(Parsing.scala:26) at org.opencypher.v9_0.frontend.phases.Parsing$.process(Parsing.scala:22) at org.opencypher.v9_0.frontend.phases.Phase$$anonfun$transform$1.apply(Phase.scala:35) at org.opencypher.v9_0.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:23) at org.opencypher.v9_0.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:23) at org.opencypher.v9_0.frontend.helpers.package$.using(package.scala:31) at org.opencypher.v9_0.frontend.helpers.package$.closing(package.scala:23) at org.opencypher.v9_0.frontend.phases.Phase$class.transform(Phase.scala:34) at org.opencypher.v9_0.frontend.phases.Parsing$.transform(Parsing.scala:22) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:144) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:133) at org.opencypher.gremlin.translation.CypherAst.parse(CypherAst.scala) at org.opencypher.gremlin.translation.CypherAstWrapper.parse(CypherAstWrapper.java:54) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:97) 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 SyntaxError should be raised at compile time: InvalidRelationshipPattern 0.000
Then a SyntaxError should be raised at compile time: InvalidRelationshipPattern 0.020

12:03:27.841 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:27.844 [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:27.846 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:27.849 [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:27.850 [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:27.853 [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.029
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.862 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:27.878 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.019
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*0]->(c)
RETURN c.name

12:03:27.906 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*0]->(c) RETURN c.name 12:03:27.910 [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(0).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

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

12:03:27.912 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:27.914 [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:27.914 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:27.917 [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:27.917 [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:27.920 [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.031
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.931 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:27.942 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.019
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*1]->(c)
RETURN c.name

12:03:27.978 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1]->(c) RETURN c.name 12:03:27.981 [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(1).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
And no side effects 0.014

12:03:27.983 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:27.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:27.986 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:27.988 [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:27.989 [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:27.991 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:27.998 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.009 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.018
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*2]->(c)
RETURN c.name

12:03:28.035 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*2]->(c) RETURN c.name 12:03:28.038 [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('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n000'
'n001'
'n010'
'n011'
And no side effects 0.013

12:03:28.039 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.041 [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:28.041 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.044 [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:28.045 [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:28.047 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.054 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.065 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.018
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*0..2]->(c)
RETURN c.name

12:03:28.091 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*0..2]->(c) RETURN c.name 12:03:28.094 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(5))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(between(0, 6))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n0'
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
And no side effects 0.013

12:03:28.096 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.097 [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:28.098 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.100 [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:28.101 [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:28.104 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.110 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.121 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.018
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*1..2]->(c)
RETURN c.name

12:03:28.147 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1..2]->(c) RETURN c.name 12:03:28.150 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(5))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(between(3, 6))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
And no side effects 0.014

12:03:28.151 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.153 [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:28.154 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.156 [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:28.157 [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:28.160 [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.026
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.166 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.178 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.017
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*0..0]->(c)
RETURN c.name

12:03:28.206 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*0..0]->(c) RETURN c.name 12:03:28.210 [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(0).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n0'
And no side effects 0.013

12:03:28.211 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.213 [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:28.214 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.216 [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:28.217 [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:28.219 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.225 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.236 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.021
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*1..1]->(c)
RETURN c.name

12:03:28.269 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1..1]->(c) RETURN c.name 12:03:28.272 [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(1).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
And no side effects 0.016

12:03:28.273 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.275 [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:28.276 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.280 [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:28.281 [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:28.283 [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.032
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.291 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.309 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.024
When executing query: 0.006
MATCH (a:A)
MATCH (a)-[:LIKES*2..2]->(c)
RETURN c.name

12:03:28.346 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*2..2]->(c) RETURN c.name 12:03:28.349 [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('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n000'
'n001'
'n010'
'n011'
And no side effects 0.018

12:03:28.352 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.355 [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:28.356 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.359 [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:28.360 [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:28.363 [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.052
Given an empty graph 0.000
And having executed: 0.052
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.372 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.398 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.033
When executing query: 0.003
MATCH (a:A)
MATCH (a)-[:LIKES*-2]->(c)
RETURN c.name

12:03:28.452 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*-2]->(c) RETURN c.name 12:03:28.453 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Invalid input '-': expected whitespace, RangeLiteral, a property map or ']' (line 2, column 19 (offset: 30)) org.opencypher.v9_0.util.SyntaxException: Invalid input '-': expected whitespace, RangeLiteral, a property map or ']' (line 2, column 19 (offset: 30)) at org.opencypher.v9_0.parser.Base$$anonfun$parseOrThrow$1.apply(Base.scala:139) at org.opencypher.v9_0.parser.Base$$anonfun$parseOrThrow$1.apply(Base.scala:127) at scala.collection.immutable.List.map(List.scala:284) at org.opencypher.v9_0.parser.Base$class.parseOrThrow(Base.scala:127) at org.opencypher.v9_0.parser.CypherParser.parseOrThrow(CypherParser.scala:22) at org.opencypher.v9_0.parser.CypherParser.parse(CypherParser.scala:29) at org.opencypher.v9_0.frontend.phases.Parsing$.process(Parsing.scala:26) at org.opencypher.v9_0.frontend.phases.Parsing$.process(Parsing.scala:22) at org.opencypher.v9_0.frontend.phases.Phase$$anonfun$transform$1.apply(Phase.scala:35) at org.opencypher.v9_0.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:23) at org.opencypher.v9_0.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:23) at org.opencypher.v9_0.frontend.helpers.package$.using(package.scala:31) at org.opencypher.v9_0.frontend.helpers.package$.closing(package.scala:23) at org.opencypher.v9_0.frontend.phases.Phase$class.transform(Phase.scala:34) at org.opencypher.v9_0.frontend.phases.Parsing$.transform(Parsing.scala:22) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.v9_0.frontend.phases.PipeLine.transform(Transformer.scala:43) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:144) at org.opencypher.gremlin.translation.CypherAst$.parse(CypherAst.scala:133) at org.opencypher.gremlin.translation.CypherAst.parse(CypherAst.scala) at org.opencypher.gremlin.translation.CypherAstWrapper.parse(CypherAstWrapper.java:54) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:97) 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 SyntaxError should be raised at compile time: InvalidRelationshipPattern 0.000
Then a SyntaxError should be raised at compile time: InvalidRelationshipPattern 0.030

12:03:28.455 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.458 [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:28.460 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.465 [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:28.469 [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:28.472 [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.043
Given an empty graph 0.000
And having executed: 0.043
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.488 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.509 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.031
When executing query: 0.013
MATCH (a:A)
MATCH (a)-[:LIKES*2..1]->(c)
RETURN c.name

12:03:28.552 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*2..1]->(c) RETURN c.name 12:03:28.556 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(3))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(between(5, 4))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

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

12:03:28.565 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.567 [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:28.568 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.571 [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:28.572 [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:28.574 [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.044
Given an empty graph 0.000
And having executed: 0.044
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.585 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.603 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.038
When executing query: 0.009
MATCH (a:A)
MATCH (a)-[:LIKES*1..0]->(c)
RETURN c.name

12:03:28.662 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1..0]->(c) RETURN c.name 12:03:28.666 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(0))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(between(3, 1))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
And no side effects 0.028

12:03:28.671 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.674 [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:28.675 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.681 [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:28.684 [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:28.690 [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.033
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.700 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.718 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.022
When executing query: 0.007
MATCH (a:A)
MATCH (a)-[:LIKES*..0]->(c)
RETURN c.name

12:03:28.750 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*..0]->(c) RETURN c.name 12:03:28.754 [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').repeat(__.outE('LIKES').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(0))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(lte(0))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
And no side effects 0.015

12:03:28.758 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.760 [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:28.761 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.763 [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:28.764 [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:28.766 [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.032
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.774 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.792 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.028
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*..1]->(c)
RETURN c.name

12:03:28.824 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*..1]->(c) RETURN c.name 12:03:28.827 [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').repeat(__.outE('LIKES').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(3))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(lte(3))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
And no side effects 0.022

12:03:28.829 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.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:28.832 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.834 [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:28.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:28.839 [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.026
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.853 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.866 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.025
When executing query: 0.008
MATCH (a:A)
MATCH (a)-[:LIKES*..2]->(c)
RETURN c.name

12:03:28.900 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*..2]->(c) RETURN c.name 12:03:28.903 [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').repeat(__.outE('LIKES').inV()).emit().until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(5))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(lte(5))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
And no side effects 0.016

12:03:28.905 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.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:28.909 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.912 [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:28.913 [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:28.916 [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.027
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:28.923 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:28.935 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.033
When executing query: 0.010
MATCH (a:A)
MATCH (a)-[:LIKES*0..]->(c)
RETURN c.name

12:03:28.967 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*0..]->(c) RETURN c.name 12:03:28.970 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(0))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n0'
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.022

12:03:28.978 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:28.981 [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:28.982 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:28.986 [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:28.987 [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:28.991 [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.031
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.002 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.014 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.022
When executing query: 0.006
MATCH (a:A)
MATCH (a)-[:LIKES*1..]->(c)
RETURN c.name

12:03:29.048 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1..]->(c) RETURN c.name 12:03:29.052 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(3))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
'n000'
'n001'
'n010'
'n011'
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.016

12:03:29.054 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.057 [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:29.058 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.060 [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:29.061 [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:29.063 [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.040
Given an empty graph 0.000
And having executed: 0.040
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.071 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.085 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.035
When executing query: 0.013
MATCH (a:A)
MATCH (a)-[:LIKES*2..]->(c)
RETURN c.name

12:03:29.131 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*2..]->(c) RETURN c.name 12:03:29.136 [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').emit().repeat(__.outE('LIKES').inV()).until(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(21))).where(__.path().from(' cypher.path.start.GENERATED2').count(local).is(gte(5))).simplePath().from(' cypher.path.start.GENERATED2').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n000'
'n001'
'n010'
'n011'
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.021

12:03:29.145 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.148 [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:29.150 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.154 [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:29.155 [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:29.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.032
Given an empty graph 0.000
And having executed: 0.032
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.167 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.184 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.020
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*0]->()-[:LIKES]->(c)
RETURN c.name

12:03:29.214 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*0]->()-[:LIKES]->(c) RETURN c.name 12:03:29.218 [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(0).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').as(' cypher.path.start.GENERATED3').outE('LIKES').inV().project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
And no side effects 0.015

12:03:29.220 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.222 [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:29.222 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.226 [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:29.227 [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:29.229 [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.029
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.237 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.252 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.020
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES]->()-[:LIKES*0]->(c)
RETURN c.name

12:03:29.282 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES]->()-[:LIKES*0]->(c) RETURN c.name 12:03:29.286 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').outE('LIKES').inV().as(' cypher.path.start.GENERATED3').times(0).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00'
'n01'
And no side effects 0.015

12:03:29.287 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.289 [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:29.290 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.293 [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:29.294 [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:29.297 [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.030
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.304 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.316 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.019
When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES*1]->()-[:LIKES]->(c)
RETURN c.name

12:03:29.348 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*1]->()-[:LIKES]->(c) RETURN c.name 12:03:29.352 [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(1).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').as(' cypher.path.start.GENERATED3').outE('LIKES').inV().project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n000'
'n001'
'n010'
'n011'
And no side effects 0.013

12:03:29.354 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.355 [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:29.356 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.358 [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:29.359 [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:29.361 [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.031
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.368 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.387 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.018
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES]->()-[:LIKES*1]->(c)
RETURN c.name

12:03:29.413 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES]->()-[:LIKES*1]->(c) RETURN c.name 12:03:29.416 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').outE('LIKES').inV().as(' cypher.path.start.GENERATED3').times(1).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n000'
'n001'
'n010'
'n011'
And no side effects 0.013

12:03:29.418 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.420 [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:29.421 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.423 [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:29.424 [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:29.426 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.432 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.443 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.017
When executing query: 0.004
MATCH (a:A)
MATCH (a)-[:LIKES*2]->()-[:LIKES]->(c)
RETURN c.name

12:03:29.468 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES*2]->()-[:LIKES]->(c) RETURN c.name 12:03:29.472 [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('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').as(' cypher.path.start.GENERATED3').outE('LIKES').inV().project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.012

12:03:29.473 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.475 [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:29.476 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.478 [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:29.479 [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:29.480 [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.024
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.487 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.499 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.026
When executing query: 0.006
MATCH (a:A)
MATCH (a)-[:LIKES]->()-[:LIKES*2]->(c)
RETURN c.name

12:03:29.526 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES]->()-[:LIKES*2]->(c) RETURN c.name 12:03:29.531 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').outE('LIKES').inV().as(' cypher.path.start.GENERATED3').times(2).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n0000'
'n0001'
'n0010'
'n0011'
'n0100'
'n0101'
'n0110'
'n0111'
And no side effects 0.019

12:03:29.533 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.536 [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:29.537 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.540 [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:29.542 [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:29.545 [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.041
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.557 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.577 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.037
And having executed: 0.016
MATCH (d:D)
CREATE (e1:E {name: d.name + '0'}),
       (e2:E {name: d.name + '1'})
CREATE (d)-[:LIKES]->(e1),
       (d)-[:LIKES]->(e2)

12:03:29.599 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (d:D) CREATE (e1:E {name: d.name + '0'}), (e2:E {name: d.name + '1'}) CREATE (d)-[:LIKES]->(e1), (d)-[:LIKES]->(e2) 12:03:29.606 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('d').hasLabel('D').addV('E').as('e1').property('name', __.project(' GENERATED1', ' GENERATED2').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('0')).select(values).map(plus())).addV('E').as('e2').property('name', __.project(' GENERATED3', ' GENERATED4').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('1')).select(values).map(plus())).addE('LIKES').from('d').to('e1').addE('LIKES').from('d').to('e2').barrier().limit(0)

When executing query: 0.005
MATCH (a:A)
MATCH (a)-[:LIKES]->()-[:LIKES*3]->(c)
RETURN c.name

12:03:29.637 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES]->()-[:LIKES*3]->(c) RETURN c.name 12:03:29.641 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').outE('LIKES').inV().as(' cypher.path.start.GENERATED3').times(3).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00000'
'n00001'
'n00010'
'n00011'
'n00100'
'n00101'
'n00110'
'n00111'
'n01000'
'n01001'
'n01010'
'n01011'
'n01100'
'n01101'
'n01110'
'n01111'
And no side effects 0.014

12:03:29.643 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.645 [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:29.646 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.649 [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:29.649 [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:29.651 [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.023
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.659 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.670 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.040
And having executed: 0.006
MATCH (a:A)-[r]->(b)
DELETE r
CREATE (b)-[:LIKES]->(a)

12:03:29.683 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A)-[r]->(b) DELETE r CREATE (b)-[:LIKES]->(a) 12:03:29.686 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').outE().as('r').inV().as('b').barrier().sideEffect(__.project(' GENERATED2').by(__.select('r')).select(values).unfold().unfold().is(neq(' cypher.null')).drop()).addE('LIKES').from('b').to('a').barrier().limit(0)

And having executed: 0.012
MATCH (d:D)
CREATE (e1:E {name: d.name + '0'}),
       (e2:E {name: d.name + '1'})
CREATE (d)-[:LIKES]->(e1),
       (d)-[:LIKES]->(e2)

12:03:29.689 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (d:D) CREATE (e1:E {name: d.name + '0'}), (e2:E {name: d.name + '1'}) CREATE (d)-[:LIKES]->(e1), (d)-[:LIKES]->(e2) 12:03:29.695 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('d').hasLabel('D').addV('E').as('e1').property('name', __.project(' GENERATED1', ' GENERATED2').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('0')).select(values).map(plus())).addV('E').as('e2').property('name', __.project(' GENERATED3', ' GENERATED4').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('1')).select(values).map(plus())).addE('LIKES').from('d').to('e1').addE('LIKES').from('d').to('e2').barrier().limit(0)

When executing query: 0.006
MATCH (a:A)
MATCH (a)<-[:LIKES]-()-[:LIKES*3]->(c)
RETURN c.name

12:03:29.716 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)<-[:LIKES]-()-[:LIKES*3]->(c) RETURN c.name 12:03:29.720 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').inE('LIKES').outV().as(' cypher.path.start.GENERATED3').times(3).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00000'
'n00001'
'n00010'
'n00011'
'n00100'
'n00101'
'n00110'
'n00111'
'n01000'
'n01001'
'n01010'
'n01011'
'n01100'
'n01101'
'n01110'
'n01111'
And no side effects 0.014

12:03:29.723 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.725 [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:29.726 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.729 [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:29.730 [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:29.732 [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.024
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.739 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.751 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.028
Scenario Handling mixed relationship patterns and directions 2
Steps
And having executed: 0.007
MATCH (a)-[r]->(b)
WHERE NOT a:A
DELETE r
CREATE (b)-[:LIKES]->(a)

12:03:29.764 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[r]->(b) WHERE NOT a:A DELETE r CREATE (b)-[:LIKES]->(a) 12:03:29.767 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE().as('r').inV().as('b').where(__.not(__.select('a').hasLabel('A'))).barrier().sideEffect(__.project(' GENERATED2').by(__.select('r')).select(values).unfold().unfold().is(neq(' cypher.null')).drop()).addE('LIKES').from('b').to('a').barrier().limit(0)

And having executed: 0.010
MATCH (d:D)
CREATE (e1:E {name: d.name + '0'}),
       (e2:E {name: d.name + '1'})
CREATE (d)-[:LIKES]->(e1),
       (d)-[:LIKES]->(e2)

12:03:29.771 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (d:D) CREATE (e1:E {name: d.name + '0'}), (e2:E {name: d.name + '1'}) CREATE (d)-[:LIKES]->(e1), (d)-[:LIKES]->(e2) 12:03:29.776 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('d').hasLabel('D').addV('E').as('e1').property('name', __.project(' GENERATED1', ' GENERATED2').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('0')).select(values).map(plus())).addV('E').as('e2').property('name', __.project(' GENERATED3', ' GENERATED4').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('1')).select(values).map(plus())).addE('LIKES').from('d').to('e1').addE('LIKES').from('d').to('e2').barrier().limit(0)

When executing query: 0.009
MATCH (a:A)
MATCH (a)-[:LIKES]->()<-[:LIKES*3]->(c)
RETURN c.name

12:03:29.810 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (a)-[:LIKES]->()<-[:LIKES*3]->(c) RETURN c.name 12:03:29.815 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').select('a').outE('LIKES').as(' UNNAMED22').inV().as(' UNNAMED33').as(' cypher.path.start.GENERATED3').times(3).repeat(__.bothE('LIKES').as(' UNNAMED35').otherV()).simplePath().from(' cypher.path.start.GENERATED3').as('c').dedup('a', ' UNNAMED22', ' UNNAMED33', ' UNNAMED35', 'c').select('c').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "VarLengthAcceptance": Scenario "Handling mixed relationship patterns and directions 2" failed with message: 
Expected (in any order of rows):
| c.name |
| 'n00000' |
| 'n00001' |
| 'n00010' |
| 'n00011' |
| 'n00100' |
| 'n00101' |
| 'n00110' |
| 'n00111' |
| 'n01000' |
| 'n01001' |
| 'n01010' |
| 'n01011' |
| 'n01100' |
| 'n01101' |
| 'n01110' |
| 'n01111' |
Actual:
| c.name |
| 'n00000' |
| 'n00001' |
| 'n00010' |
| 'n00011' |
| 'n00100' |
| 'n00101' |
| 'n00110' |
| 'n00111' |
| 'n010' |
| 'n011' |
| 'n01000' |
| 'n01001' |
| 'n01010' |
| 'n01011' |
| 'n000' |
| 'n001' |
| 'n01100' |
| 'n01101' |
| 'n01110' |
| 'n01111' |
	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)
c.name
'n00000'
'n00001'
'n00010'
'n00011'
'n00100'
'n00101'
'n00110'
'n00111'
'n01000'
'n01001'
'n01010'
'n01011'
'n01100'
'n01101'
'n01110'
'n01111'
0.038
Given an empty graph 0.000
And having executed: 0.038
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.823 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.844 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.042
And having executed: 0.011
MATCH (d:D)
CREATE (e1:E {name: d.name + '0'}),
       (e2:E {name: d.name + '1'})
CREATE (d)-[:LIKES]->(e1),
       (d)-[:LIKES]->(e2)

12:03:29.860 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (d:D) CREATE (e1:E {name: d.name + '0'}), (e2:E {name: d.name + '1'}) CREATE (d)-[:LIKES]->(e1), (d)-[:LIKES]->(e2) 12:03:29.865 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('d').hasLabel('D').addV('E').as('e1').property('name', __.project(' GENERATED1', ' GENERATED2').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('0')).select(values).map(plus())).addV('E').as('e2').property('name', __.project(' GENERATED3', ' GENERATED4').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('1')).select(values).map(plus())).addE('LIKES').from('d').to('e1').addE('LIKES').from('d').to('e2').barrier().limit(0)

When executing query: 0.012
MATCH (a:A)
MATCH (p)-[:LIKES*1]->()-[:LIKES]->()-[r:LIKES*2]->(c)
RETURN c.name

12:03:29.888 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (p)-[:LIKES*1]->()-[:LIKES]->()-[r:LIKES*2]->(c) RETURN c.name 12:03:29.897 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('A').V().as(' cypher.path.start.GENERATED1').times(1).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED1').as(' cypher.path.start.GENERATED2').outE('LIKES').inV().as(' cypher.path.start.GENERATED3').times(2).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED3').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00000'
'n00001'
'n00010'
'n00011'
'n00100'
'n00101'
'n00110'
'n00111'
'n01000'
'n01001'
'n01010'
'n01011'
'n01100'
'n01101'
'n01110'
'n01111'
And no side effects 0.018

12:03:29.901 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.903 [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:29.904 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.909 [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:29.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:29.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.031
Given an empty graph 0.000
And having executed: 0.031
CREATE (n0:A {name: 'n0'}),
       (n00:B {name: 'n00'}),
       (n01:B {name: 'n01'}),
       (n000:C {name: 'n000'}),
       (n001:C {name: 'n001'}),
       (n010:C {name: 'n010'}),
       (n011:C {name: 'n011'}),
       (n0000:D {name: 'n0000'}),
       (n0001:D {name: 'n0001'}),
       (n0010:D {name: 'n0010'}),
       (n0011:D {name: 'n0011'}),
       (n0100:D {name: 'n0100'}),
       (n0101:D {name: 'n0101'}),
       (n0110:D {name: 'n0110'}),
       (n0111:D {name: 'n0111'})
CREATE (n0)-[:LIKES]->(n00),
       (n0)-[:LIKES]->(n01),
       (n00)-[:LIKES]->(n000),
       (n00)-[:LIKES]->(n001),
       (n01)-[:LIKES]->(n010),
       (n01)-[:LIKES]->(n011),
       (n000)-[:LIKES]->(n0000),
       (n000)-[:LIKES]->(n0001),
       (n001)-[:LIKES]->(n0010),
       (n001)-[:LIKES]->(n0011),
       (n010)-[:LIKES]->(n0100),
       (n010)-[:LIKES]->(n0101),
       (n011)-[:LIKES]->(n0110),
       (n011)-[:LIKES]->(n0111)

12:03:29.921 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (n0:A {name: 'n0'}), (n00:B {name: 'n00'}), (n01:B {name: 'n01'}), (n000:C {name: 'n000'}), (n001:C {name: 'n001'}), (n010:C {name: 'n010'}), (n011:C {name: 'n011'}), (n0000:D {name: 'n0000'}), (n0001:D {name: 'n0001'}), (n0010:D {name: 'n0010'}), (n0011:D {name: 'n0011'}), (n0100:D {name: 'n0100'}), (n0101:D {name: 'n0101'}), (n0110:D {name: 'n0110'}), (n0111:D {name: 'n0111'}) CREATE (n0)-[:LIKES]->(n00), (n0)-[:LIKES]->(n01), (n00)-[:LIKES]->(n000), (n00)-[:LIKES]->(n001), (n01)-[:LIKES]->(n010), (n01)-[:LIKES]->(n011), (n000)-[:LIKES]->(n0000), (n000)-[:LIKES]->(n0001), (n001)-[:LIKES]->(n0010), (n001)-[:LIKES]->(n0011), (n010)-[:LIKES]->(n0100), (n010)-[:LIKES]->(n0101), (n011)-[:LIKES]->(n0110), (n011)-[:LIKES]->(n0111) 12:03:29.936 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('n0').property('name', 'n0').addV('B').as('n00').property('name', 'n00').addV('B').as('n01').property('name', 'n01').addV('C').as('n000').property('name', 'n000').addV('C').as('n001').property('name', 'n001').addV('C').as('n010').property('name', 'n010').addV('C').as('n011').property('name', 'n011').addV('D').as('n0000').property('name', 'n0000').addV('D').as('n0001').property('name', 'n0001').addV('D').as('n0010').property('name', 'n0010').addV('D').as('n0011').property('name', 'n0011').addV('D').as('n0100').property('name', 'n0100').addV('D').as('n0101').property('name', 'n0101').addV('D').as('n0110').property('name', 'n0110').addV('D').as('n0111').property('name', 'n0111').addE('LIKES').from('n0').to('n00').addE('LIKES').from('n0').to('n01').addE('LIKES').from('n00').to('n000').addE('LIKES').from('n00').to('n001').addE('LIKES').from('n01').to('n010').addE('LIKES').from('n01').to('n011').addE('LIKES').from('n000').to('n0000').addE('LIKES').from('n000').to('n0001').addE('LIKES').from('n001').to('n0010').addE('LIKES').from('n001').to('n0011').addE('LIKES').from('n010').to('n0100').addE('LIKES').from('n010').to('n0101').addE('LIKES').from('n011').to('n0110').addE('LIKES').from('n011').to('n0111').barrier().limit(0)

0.034
And having executed: 0.012
MATCH (d:D)
CREATE (e1:E {name: d.name + '0'}),
       (e2:E {name: d.name + '1'})
CREATE (d)-[:LIKES]->(e1),
       (d)-[:LIKES]->(e2)

12:03:29.952 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (d:D) CREATE (e1:E {name: d.name + '0'}), (e2:E {name: d.name + '1'}) CREATE (d)-[:LIKES]->(e1), (d)-[:LIKES]->(e2) 12:03:29.957 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('d').hasLabel('D').addV('E').as('e1').property('name', __.project(' GENERATED1', ' GENERATED2').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('0')).select(values).map(plus())).addV('E').as('e2').property('name', __.project(' GENERATED3', ' GENERATED4').by(__.select('d').choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.constant('1')).select(values).map(plus())).addE('LIKES').from('d').to('e1').addE('LIKES').from('d').to('e2').barrier().limit(0)

When executing query: 0.006
MATCH (a:A)
MATCH (p)-[:LIKES]->()-[:LIKES*2]->()-[r:LIKES]->(c)
RETURN c.name

12:03:29.980 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A) MATCH (p)-[:LIKES]->()-[:LIKES*2]->()-[r:LIKES]->(c) RETURN c.name 12:03:29.985 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().hasLabel('A').V().as(' cypher.path.start.GENERATED1').outE('LIKES').as(' UNNAMED22').inV().as(' cypher.path.start.GENERATED2').times(2).repeat(__.outE('LIKES').inV()).simplePath().from(' cypher.path.start.GENERATED2').as(' cypher.path.start.GENERATED3').outE('LIKES').as('r').inV().as('c').where(__.select(' UNNAMED22').where(neq('r'))).select('c').project('c.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
c.name
'n00000'
'n00001'
'n00010'
'n00011'
'n00100'
'n00101'
'n00110'
'n00111'
'n01000'
'n01001'
'n01010'
'n01011'
'n01100'
'n01101'
'n01110'
'n01111'
And no side effects 0.015

12:03:29.987 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:03:29.988 [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:29.989 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:03:29.991 [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:29.992 [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:29.995 [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