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
MergeRelationshipAcceptance 139 4 0 0 0 143 27 4 31 1.270 Failed
Feature MergeRelationshipAcceptance
0.056
Given an empty graph 0.000
And having executed: 0.005
CREATE (:A), (:B)

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

When executing query: 0.012
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
RETURN count(*)

12:02:56.636 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) RETURN count(*) 12:02:56.646 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').fold().project('count(*)').by(__.unfold().count())

Then the result should be: 0.000
count(*)
1
And the side effects should be: 0.037
+relationships 1

12:02:56.649 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:56.653 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:02:56.656 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:56.661 [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:02:56.663 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:56.668 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 1

0.058
Given an empty graph 0.000
And having executed: 0.011
CREATE (a:A), (b:B)
CREATE (a)-[:TYPE]->(b)

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

When executing query: 0.012
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
RETURN count(r)

12:02:56.742 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) RETURN count(r) 12:02:56.751 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

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

12:02:56.754 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:56.759 [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:02:56.760 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:56.764 [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:02:56.766 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:56.769 [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.050
Given an empty graph 0.000
And having executed: 0.010
CREATE (a:A), (b:B)
CREATE (a)-[:TYPE]->(b)
CREATE (a)-[:TYPE]->(b)

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

When executing query: 0.008
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
RETURN count(r)

12:02:56.863 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) RETURN count(r) 12:02:56.869 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(r)
2
And no side effects 0.031

12:02:56.871 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:56.875 [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:02:56.877 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:56.881 [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:02:56.882 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:56.886 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.047
Given an empty graph 0.000
And having executed: 0.010
CREATE (a:A), (b:B)
CREATE (a)-[:TYPE {name: 'r1'}]->(b)
CREATE (a)-[:TYPE {name: 'r2'}]->(b)

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

When executing query: 0.011
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE {name: 'r2'}]->(b)
RETURN count(r)

12:02:56.942 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE {name: 'r2'}]->(b) RETURN count(r) 12:02:56.950 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').has('name', eq('r2')).inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').property('name', 'r2').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

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

12:02:56.954 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:56.957 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:02:56.959 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:56.963 [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:02:56.965 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:56.968 [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.008
CREATE (a:A), (b:B)
CREATE (a)-[:TYPE {name: 'r1'}]->(b)

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

When executing query: 0.010
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE {name: 'r2'}]->(b)
RETURN count(r)

12:02:57.012 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE {name: 'r2'}]->(b) RETURN count(r) 12:02:57.019 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').has('name', eq('r2')).inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').property('name', 'r2').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(r)
1
And the side effects should be: 0.022
+relationships 1
+properties 1

12:02:57.023 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.026 [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:02:57.027 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.031 [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:02:57.032 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.036 [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: 1 -relationships: 0 +relationships: 1

0.040
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A), (b:B)
CREATE (b)-[:TYPE]->(a)
CREATE (a)-[:TYPE]->(b)

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

When executing query: 0.008
MATCH (a:A), (b:B)
MERGE (a)<-[r:TYPE]-(b)
RETURN count(r)

12:02:57.085 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)<-[r:TYPE]-(b) RETURN count(r) 12:02:57.091 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').inE('TYPE').as('r').outV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('b').to('a').as('r').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

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

12:02:57.095 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.098 [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:02:57.099 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.102 [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:02:57.103 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.106 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000
And having executed: 0.006
CREATE (a:A), (b:B)

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

When executing query: 0.007
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE {name: 'Lola'}]->(b)
RETURN count(r)

12:02:57.149 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE {name: 'Lola'}]->(b) RETURN count(r) 12:02:57.153 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').has('name', eq('Lola')).inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').property('name', 'Lola').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

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

12:02:57.156 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.158 [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:02:57.159 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.164 [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:02:57.165 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.168 [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: 1 -relationships: 0 +relationships: 1

0.045
Given an empty graph 0.000
And having executed: 0.005
CREATE (:A), (:B)

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

When executing query: 0.017
MATCH (a:A), (b:B)
MERGE (a)-[:KNOWS]->(b)
  ON CREATE SET b.created = 1

12:02:57.214 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[:KNOWS]->(b) ON CREATE SET b.created = 1 12:02:57.222 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('KNOWS').as(' UNNAMED29').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', ' UNNAMED29', 'b'), __.identity().addE('KNOWS').from('a').to('b').as(' UNNAMED29').select('b').choose(neq(' cypher.null'), __.property('created', 1), __.constant(' cypher.null')).select('a', ' UNNAMED29', 'b')).select(' UNNAMED29').as(' UNNAMED29').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.022
+relationships 1
+properties 1

12:02:57.232 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.235 [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:02:57.236 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.240 [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:02:57.241 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.244 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 1 -relationships: 0 +relationships: 1

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

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

When executing query: 0.007
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r.name = 'Lola'
RETURN count(r)

12:02:57.284 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = 'Lola' RETURN count(r) 12:02:57.289 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').choose(neq(' cypher.null'), __.property('name', 'Lola'), __.constant(' cypher.null')).select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(r)
1
And the side effects should be: 0.022
+relationships 1
+properties 1

12:02:57.296 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.298 [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:02:57.300 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.303 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:02:57.305 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.307 [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: 1 -relationships: 0 +relationships: 1

0.042
Given an empty graph 0.000
And having executed: 0.006
CREATE (:A), (:B)

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

When executing query: 0.010
MATCH (a:A), (b:B)
MERGE (a)-[:KNOWS]->(b)
  ON MATCH SET b.created = 1

12:02:57.355 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[:KNOWS]->(b) ON MATCH SET b.created = 1 12:02:57.360 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('KNOWS').as(' UNNAMED29').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('b').choose(neq(' cypher.null'), __.property('created', 1), __.constant(' cypher.null')).select('a', ' UNNAMED29', 'b'), __.identity().addE('KNOWS').from('a').to('b').as(' UNNAMED29').select('a', ' UNNAMED29', 'b')).select(' UNNAMED29').as(' UNNAMED29').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.025
+relationships 1

12:02:57.366 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.369 [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:02:57.370 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.373 [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:02:57.374 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.377 [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: 1

0.040
Given an empty graph 0.000
And having executed: 0.006
CREATE (:A), (:B)

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

When executing query: 0.010
MATCH (a:A), (b:B)
MERGE (a)-[r:KNOWS]->(b)
  ON MATCH SET r.created = 1

12:02:57.428 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:KNOWS]->(b) ON MATCH SET r.created = 1 12:02:57.433 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('KNOWS').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('r').choose(neq(' cypher.null'), __.property('created', 1), __.constant(' cypher.null')).select('a', 'r', 'b'), __.identity().addE('KNOWS').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.022
+relationships 1

12:02:57.439 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.442 [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:02:57.443 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.446 [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:02:57.447 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.450 [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: 1

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

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

When executing query: 0.007
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
  ON MATCH SET r.name = 'Lola'
RETURN count(r)

12:02:57.493 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) ON MATCH SET r.name = 'Lola' RETURN count(r) 12:02:57.499 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('r').choose(neq(' cypher.null'), __.property('name', 'Lola'), __.constant(' cypher.null')).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(r)
1
And the side effects should be: 0.016
+properties 1

12:02:57.501 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.503 [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:02:57.504 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.507 [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:02:57.508 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.511 [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: 1 -relationships: 0 +relationships: 0

0.032
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A {id: 1}), (b:B {id: 2})
CREATE (a)-[:TYPE]->(b)
CREATE (:A {id: 3}), (:B {id: 4})

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

When executing query: 0.007
MATCH (a:A), (b:B)
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r.name = 'Lola'
  ON MATCH SET r.name = 'RUN'
RETURN count(r)

12:02:57.546 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = 'Lola' ON MATCH SET r.name = 'RUN' RETURN count(r) 12:02:57.551 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('r').choose(neq(' cypher.null'), __.property('name', 'RUN'), __.constant(' cypher.null')).select('a', 'r', 'b'), __.identity().addE('TYPE').from('a').to('b').as('r').choose(neq(' cypher.null'), __.property('name', 'Lola'), __.constant(' cypher.null')).select('a', 'r', 'b')).select('r').as('r').fold().project('count(r)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(r)
4
And the side effects should be: 0.015
+relationships 3
+properties 4

12:02:57.554 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.556 [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:02:57.558 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.562 [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:02:57.563 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.566 [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: 4 -relationships: 0 +relationships: 3

0.046
Given an empty graph 0.000
And having executed: 0.005
CREATE (a:A), (b:B)

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

When executing query: 0.010
MERGE (a:A)
MERGE (b:B)
MERGE (a)-[:FOO]->(b)

12:02:57.614 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MERGE (a:A) MERGE (b:B) MERGE (a)-[:FOO]->(b) 12:02:57.618 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').coalesce(__.V().as('a').hasLabel('A'), __.identity().addV('A').as('a')).as('a').coalesce(__.V().as('b').hasLabel('B'), __.identity().addV('B').as('b')).as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('FOO').as(' UNNAMED34').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', ' UNNAMED34', 'b'), __.identity().addE('FOO').from('a').to('b').as(' UNNAMED34').select('a', ' UNNAMED34', 'b')).select(' UNNAMED34').as(' UNNAMED34').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.030
+relationships 1

12:02:57.626 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.631 [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:02:57.632 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.636 [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:02:57.637 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.640 [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: 1

0.037
Given an empty graph 0.000
When executing query: 0.007
CREATE (a:A), (b:B)
MERGE (a)-[:KNOWS]->(b)
CREATE (b)-[:KNOWS]->(c:C)
RETURN count(*)

12:02:57.700 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) MERGE (a)-[:KNOWS]->(b) CREATE (b)-[:KNOWS]->(c:C) RETURN count(*) 12:02:57.705 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('KNOWS').as(' UNNAMED30').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', ' UNNAMED30', 'b'), __.identity().addE('KNOWS').from('a').to('b').as(' UNNAMED30').select('a', ' UNNAMED30', 'b')).select(' UNNAMED30').as(' UNNAMED30').addV('C').as('c').addE('KNOWS').from('b').to('c').fold().project('count(*)').by(__.unfold().count())

Then the result should be: 0.000
count(*)
1
And the side effects should be: 0.029
+nodes 3
+relationships 2
+labels 3

12:02:57.707 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.710 [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:02:57.712 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.715 [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:02:57.717 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.720 [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: 3 +nodes: 3 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 2

0.006
Scenario Introduce named paths 1
Steps
Given an empty graph 0.000
When executing query: 0.005
MERGE (a {x: 1})
MERGE (b {x: 2})
MERGE p = (a)-[:R]->(b)
RETURN p

12:02:57.764 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MERGE (a {x: 1}) MERGE (b {x: 2}) MERGE p = (a)-[:R]->(b) RETURN p 12:02:57.768 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(RelationshipChain(NodePattern(Some(Variable(a)),List(),None),RelationshipPattern(Some(Variable( UNNAMED48)),List(RelTypeName(R)),None,None,OUTGOING,false),NodePattern(Some(Variable(b)),List(),None)))) java.lang.UnsupportedOperationException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(RelationshipChain(NodePattern(Some(Variable(a)),List(),None),RelationshipPattern(Some(Variable( UNNAMED48)),List(RelTypeName(R)),None,None,OUTGOING,false),NodePattern(Some(Variable(b)),List(),None)))) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:49) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:45) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.CreateWalker.walk(CreateWalker.scala:45) at org.opencypher.gremlin.translation.walker.CreateWalker$.walkClause(CreateWalker.scala:35) at org.opencypher.gremlin.translation.walker.MergeWalker.walkMerge(MergeWalker.scala:51) at org.opencypher.gremlin.translation.walker.MergeWalker.walkClause(MergeWalker.scala:39) at org.opencypher.gremlin.translation.walker.MergeWalker$.walkClause(MergeWalker.scala:31) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:99) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MergeRelationshipAcceptance": Scenario "Introduce named paths 1" failed with message: Expected: | p |
| <({x: 1})-[:R {}]->({x: 2})> |, got error ExecutionFailed(UnknownError,runtime,Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(RelationshipChain(NodePattern(Some(Variable(a)),List(),None),RelationshipPattern(Some(Variable(  UNNAMED48)),List(RelTypeName(R)),None,None,OUTGOING,false),NodePattern(Some(Variable(b)),List(),None)))),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(RelationshipChain(NodePattern(Some(Variable(a)),List(),None),RelationshipPattern(Some(Variable(  UNNAMED48)),List(RelTypeName(R)),None,None,OUTGOING,false),NodePattern(Some(Variable(b)),List(),None))))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(RelationshipChain(NodePattern(Some(Variable(a)),List(),None),RelationshipPattern(Some(Variable(  UNNAMED48)),List(RelTypeName(R)),None,None,OUTGOING,false),NodePattern(Some(Variable(b)),List(),None))))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
p
<({x: 1})-[:R]->({x: 2})>
0.007
Scenario Introduce named paths 2
Steps
Given an empty graph 0.000
When executing query: 0.006
MERGE p = (a {x: 1})
RETURN p

12:02:57.815 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MERGE p = (a {x: 1}) RETURN p 12:02:57.817 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(NodePattern(Some(Variable(a)),List(),Some(MapExpression(List((PropertyKeyName(x),SignedDecimalIntegerLiteral(1)))))))) java.lang.UnsupportedOperationException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(NodePattern(Some(Variable(a)),List(),Some(MapExpression(List((PropertyKeyName(x),SignedDecimalIntegerLiteral(1)))))))) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:49) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:45) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.CreateWalker.walk(CreateWalker.scala:45) at org.opencypher.gremlin.translation.walker.CreateWalker$.walkClause(CreateWalker.scala:35) at org.opencypher.gremlin.translation.walker.MergeWalker.walkMerge(MergeWalker.scala:51) at org.opencypher.gremlin.translation.walker.MergeWalker.walkClause(MergeWalker.scala:39) at org.opencypher.gremlin.translation.walker.MergeWalker$.walkClause(MergeWalker.scala:31) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:99) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.001
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MergeRelationshipAcceptance": Scenario "Introduce named paths 2" failed with message: Expected: | p |
| <({x: 1})> |, got error ExecutionFailed(UnknownError,runtime,Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(NodePattern(Some(Variable(a)),List(),Some(MapExpression(List((PropertyKeyName(x),SignedDecimalIntegerLiteral(1)))))))),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(NodePattern(Some(Variable(a)),List(),Some(MapExpression(List((PropertyKeyName(x),SignedDecimalIntegerLiteral(1))))))))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported create pattern: NamedPatternPart(Variable(p),EveryPath(NodePattern(Some(Variable(a)),List(),Some(MapExpression(List((PropertyKeyName(x),SignedDecimalIntegerLiteral(1))))))))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
p
<({x: 1})>
0.013
Scenario Use outgoing direction when unspecified
Steps
Given an empty graph 0.000
When executing query: 0.013
CREATE (a {id: 2}), (b {id: 1})
MERGE (a)-[r:KNOWS]-(b)
RETURN startNode(r).id AS s, endNode(r).id AS e

12:02:57.919 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {id: 2}), (b {id: 1}) MERGE (a)-[r:KNOWS]-(b) RETURN startNode(r).id AS s, endNode(r).id AS e 12:02:57.929 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unsupported expression: Property(FunctionInvocation(Namespace(List()),FunctionName(startNode),false,Vector(Variable(r))),PropertyKeyName(id)) java.lang.UnsupportedOperationException: Unsupported expression: Property(FunctionInvocation(Namespace(List()),FunctionName(startNode),false,Vector(Variable(r))),PropertyKeyName(id)) at org.opencypher.gremlin.translation.context.StatementContext.unsupported(StatementContext.scala:68) at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$aggregation(ProjectionWalker.scala:368) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:263) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:261) at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:216) at scala.util.Try$.apply(Try.scala:192) at scala.util.Failure.recover(Try.scala:216) at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot(ProjectionWalker.scala:261) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:107) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:104) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.ProjectionWalker.returnSubTraversals(ProjectionWalker.scala:104) at org.opencypher.gremlin.translation.walker.ProjectionWalker.walk(ProjectionWalker.scala:75) at org.opencypher.gremlin.translation.walker.ProjectionWalker$.walk(ProjectionWalker.scala:42) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:105) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MergeRelationshipAcceptance": Scenario "Use outgoing direction when unspecified" failed with message: Expected: | s | e |
| 2 | 1 |, got error ExecutionFailed(UnknownError,runtime,Unsupported expression: Property(FunctionInvocation(Namespace(List()),FunctionName(startNode),false,Vector(Variable(r))),PropertyKeyName(id)),Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported expression: Property(FunctionInvocation(Namespace(List()),FunctionName(startNode),false,Vector(Variable(r))),PropertyKeyName(id))))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unsupported expression: Property(FunctionInvocation(Namespace(List()),FunctionName(startNode),false,Vector(Variable(r))),PropertyKeyName(id))
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
s e
2 1
0.084
Given an empty graph 0.000
And having executed: 0.013
CREATE (a {id: 1}), (b {id: 2})
CREATE (a)-[:KNOWS]->(b)

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

When executing query: 0.019
MATCH (a {id: 2}), (b {id: 1})
MERGE (a)-[r:KNOWS]-(b)
RETURN r

12:02:58.021 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {id: 2}), (b {id: 1}) MERGE (a)-[r:KNOWS]-(b) RETURN r 12:02:58.035 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('id', eq(2)).V().as('b').has('id', eq(1)).coalesce(__.select('a').bothE('KNOWS').as('r').otherV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).dedup('a', 'r', 'b').select('a', 'r', 'b'), __.identity().addE('KNOWS').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').project('r').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
r
[:KNOWS]
And no side effects 0.051

12:02:58.040 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.045 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:02:58.049 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.053 [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:02:58.057 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.062 [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.060
Given an empty graph 0.000
And having executed: 0.029
CREATE (a {id: 2}), (b {id: 1}), (c {id: 1}), (d {id: 2})
CREATE (a)-[:KNOWS {name: 'ab'}]->(b)
CREATE (c)-[:KNOWS {name: 'cd'}]->(d)

12:02:58.104 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a {id: 2}), (b {id: 1}), (c {id: 1}), (d {id: 2}) CREATE (a)-[:KNOWS {name: 'ab'}]->(b) CREATE (c)-[:KNOWS {name: 'cd'}]->(d) 12:02:58.115 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').property('id', 2).addV().as('b').property('id', 1).addV().as('c').property('id', 1).addV().as('d').property('id', 2).addE('KNOWS').from('a').to('b').property('name', 'ab').addE('KNOWS').from('c').to('d').property('name', 'cd').barrier().limit(0)

When executing query: 0.009
MATCH (a {id: 2})--(b {id: 1})
MERGE (a)-[r:KNOWS]-(b)
RETURN r

12:02:58.160 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a {id: 2})--(b {id: 1}) MERGE (a)-[r:KNOWS]-(b) RETURN r 12:02:58.166 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').has('id', eq(2)).bothE().as(' UNNAMED18').otherV().as('b').has('id', eq(1)).dedup('a', ' UNNAMED18', 'b').coalesce(__.select('a').bothE('KNOWS').as('r').otherV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).dedup('a', 'r', 'b').select('a', 'r', 'b'), __.identity().addE('KNOWS').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').project('r').by(__.choose(neq(' cypher.null'), __.project(' cypher.element', ' cypher.inv', ' cypher.outv').by(__.valueMap(true)).by(__.inV().id()).by(__.outV().id()), __.constant(' cypher.null')))

Then the result should be: 0.000
r
[:KNOWS {name: 'ab'}]
[:KNOWS {name: 'cd'}]
And no side effects 0.020

12:02:58.170 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.173 [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:02:58.175 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.178 [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:02:58.180 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.184 [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.056
Given any graph 0.031

12:02:58.192 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A {name: 'a'}), (b1:X {name: 'b1'}), (b2:X {name: 'b2'}), (b3:X {name: 'b3'}), (b4:X {name: 'b4'}), (c11:X {name: 'c11'}), (c12:X {name: 'c12'}), (c21:X {name: 'c21'}), (c22:X {name: 'c22'}), (c31:X {name: 'c31'}), (c32:X {name: 'c32'}), (c41:X {name: 'c41'}), (c42:X {name: 'c42'}) CREATE (a)-[:KNOWS]->(b1), (a)-[:KNOWS]->(b2), (a)-[:FOLLOWS]->(b3), (a)-[:FOLLOWS]->(b4) CREATE (b1)-[:FRIEND]->(c11), (b1)-[:FRIEND]->(c12), (b2)-[:FRIEND]->(c21), (b2)-[:FRIEND]->(c22), (b3)-[:FRIEND]->(c31), (b3)-[:FRIEND]->(c32), (b4)-[:FRIEND]->(c41), (b4)-[:FRIEND]->(c42) CREATE (b1)-[:FRIEND]->(b2), (b2)-[:FRIEND]->(b3), (b3)-[:FRIEND]->(b4), (b4)-[:FRIEND]->(b1); 12:02:58.206 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').property('name', 'a').addV('X').as('b1').property('name', 'b1').addV('X').as('b2').property('name', 'b2').addV('X').as('b3').property('name', 'b3').addV('X').as('b4').property('name', 'b4').addV('X').as('c11').property('name', 'c11').addV('X').as('c12').property('name', 'c12').addV('X').as('c21').property('name', 'c21').addV('X').as('c22').property('name', 'c22').addV('X').as('c31').property('name', 'c31').addV('X').as('c32').property('name', 'c32').addV('X').as('c41').property('name', 'c41').addV('X').as('c42').property('name', 'c42').addE('KNOWS').from('a').to('b1').addE('KNOWS').from('a').to('b2').addE('FOLLOWS').from('a').to('b3').addE('FOLLOWS').from('a').to('b4').addE('FRIEND').from('b1').to('c11').addE('FRIEND').from('b1').to('c12').addE('FRIEND').from('b2').to('c21').addE('FRIEND').from('b2').to('c22').addE('FRIEND').from('b3').to('c31').addE('FRIEND').from('b3').to('c32').addE('FRIEND').from('b4').to('c41').addE('FRIEND').from('b4').to('c42').addE('FRIEND').from('b1').to('b2').addE('FRIEND').from('b2').to('b3').addE('FRIEND').from('b3').to('b4').addE('FRIEND').from('b4').to('b1').barrier().limit(0)

When executing query: 0.004
CREATE (a:Foo)
MERGE (a)-[r:KNOWS]->(a:Bar)

12:02:58.244 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Foo) MERGE (a)-[r:KNOWS]->(a:Bar) 12:02:58.246 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Can't create node 'a' with labels or properties here. The variable is already declared in this context org.opencypher.gremlin.translation.exception.SyntaxException: Can't create node 'a' with labels or properties here. The variable is already declared in this context at org.opencypher.gremlin.translation.walker.CreateWalker.validateDeclaredNode(CreateWalker.scala:160) at org.opencypher.gremlin.translation.walker.CreateWalker.org$opencypher$gremlin$translation$walker$CreateWalker$$walkNodePattern(CreateWalker.scala:75) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$org$opencypher$gremlin$translation$walker$CreateWalker$$walkPattern$1.apply(CreateWalker.scala:60) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$org$opencypher$gremlin$translation$walker$CreateWalker$$walkPattern$1.apply(CreateWalker.scala:58) at scala.collection.Iterator$class.foreach(Iterator.scala:891) at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at org.opencypher.gremlin.translation.walker.CreateWalker.org$opencypher$gremlin$translation$walker$CreateWalker$$walkPattern(CreateWalker.scala:58) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:47) at org.opencypher.gremlin.translation.walker.CreateWalker$$anonfun$walk$1.apply(CreateWalker.scala:45) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.CreateWalker.walk(CreateWalker.scala:45) at org.opencypher.gremlin.translation.walker.CreateWalker$.walkClause(CreateWalker.scala:35) at org.opencypher.gremlin.translation.walker.MergeWalker.walkMerge(MergeWalker.scala:51) at org.opencypher.gremlin.translation.walker.MergeWalker.walkClause(MergeWalker.scala:39) at org.opencypher.gremlin.translation.walker.MergeWalker$.walkClause(MergeWalker.scala:31) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:99) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then a SyntaxError should be raised at compile time: VariableAlreadyBound 0.000
Then a SyntaxError should be raised at compile time: VariableAlreadyBound 0.020

12:02:58.248 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.251 [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:02:58.252 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.256 [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:02:58.258 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.261 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.008
Scenario Using list properties via variable
Steps
Given an empty graph 0.000
When executing query: 0.007
CREATE (a:Foo), (b:Bar)
WITH a, b
UNWIND ['a,b', 'a,b'] AS str
WITH a, b, split(str, ',') AS roles
MERGE (a)-[r:FB {foobar: roles}]->(b)
RETURN count(*)

12:02:58.302 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:Foo), (b:Bar) WITH a, b UNWIND ['a,b', 'a,b'] AS str WITH a, b, split(str, ',') AS roles MERGE (a)-[r:FB {foobar: roles}]->(b) RETURN count(*) 12:02:58.308 [gremlin-server-worker-1] WARN o.a.t.g.s.handler.OpExecutorHandler - Unknown function 'split' org.opencypher.gremlin.translation.exception.SyntaxException: Unknown function 'split' at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$aggregation(ProjectionWalker.scala:361) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:263) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot$1.applyOrElse(ProjectionWalker.scala:261) at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:216) at scala.util.Try$.apply(Try.scala:192) at scala.util.Failure.recover(Try.scala:216) at org.opencypher.gremlin.translation.walker.ProjectionWalker.org$opencypher$gremlin$translation$walker$ProjectionWalker$$pivot(ProjectionWalker.scala:261) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:107) at org.opencypher.gremlin.translation.walker.ProjectionWalker$$anonfun$returnSubTraversals$1.apply(ProjectionWalker.scala:104) at scala.collection.Iterator$class.foreach(Iterator.scala:891) at scala.collection.AbstractIterator.foreach(Iterator.scala:1334) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at org.opencypher.gremlin.translation.walker.ProjectionWalker.returnSubTraversals(ProjectionWalker.scala:104) at org.opencypher.gremlin.translation.walker.ProjectionWalker.walk(ProjectionWalker.scala:75) at org.opencypher.gremlin.translation.walker.ProjectionWalker.walkIntermediate(ProjectionWalker.scala:89) at org.opencypher.gremlin.translation.walker.ProjectionWalker$.walk(ProjectionWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker.org$opencypher$gremlin$translation$walker$StatementWalker$$walkClause(StatementWalker.scala:105) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker$$anonfun$walkSingle$1.apply(StatementWalker.scala:82) at scala.collection.immutable.List.foreach(List.scala:392) at org.opencypher.gremlin.translation.walker.StatementWalker.walkSingle(StatementWalker.scala:82) at org.opencypher.gremlin.translation.walker.StatementWalker.walk(StatementWalker.scala:44) at org.opencypher.gremlin.translation.walker.StatementWalker$.walk(StatementWalker.scala:31) at org.opencypher.gremlin.translation.CypherAst.buildTranslation(CypherAst.scala:72) at org.opencypher.gremlin.translation.CypherAstWrapper.buildTranslation(CypherAstWrapper.java:67) at org.opencypher.gremlin.server.op.cypher.CypherOpProcessor.evalCypher(CypherOpProcessor.java:105) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:68) at org.apache.tinkerpop.gremlin.server.handler.OpExecutorHandler.channelRead0(OpExecutorHandler.java:43) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler$1.channelRead(WebSocketServerProtocolHandler.java:159) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748)

Then the result should be: 0.000
org.opencypher.tools.tck.api.Scenario$ScenarioFailedException: Feature "MergeRelationshipAcceptance": Scenario "Using list properties via variable" failed with message: Expected: | count(*) |
| 2 |, got error ExecutionFailed(SyntaxError,compile time,UnknownFunction,Some(org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unknown function 'split'))
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:95)
	at org.opencypher.tools.tck.api.Scenario$$anonfun$executeOnGraph$1.apply(Scenario.scala:60)
	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
	at scala.collection.immutable.List.foldLeft(List.scala:84)
	at org.opencypher.tools.tck.api.Scenario.executeOnGraph(Scenario.scala:60)
	at org.opencypher.tools.tck.api.Scenario$$anon$1.execute(Scenario.scala:54)
	at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:145)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:46)
	at org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.execute(DynamicTestTestDescriptor.java:24)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$0(HierarchicalTestExecutor.java:85)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.lambda$invokeTestMethod$1(TestFactoryTestDescriptor.java:80)
	at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
	at org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invokeTestMethod(TestFactoryTestDescriptor.java:68)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
	at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:92)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$100(JUnitPlatformTestClassProcessor.java:77)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:73)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy1.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Unknown function 'split'
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:246)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:197)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:123)
	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinSaslAuthenticationHandler.channelRead0(Handler.java:67)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at org.apache.tinkerpop.gremlin.driver.handler.WebSocketClientHandler.channelRead0(WebSocketClientHandler.java:94)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	... 1 more
count(*)
2
0.039
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A), (b:B)
CREATE (a)-[:T {prop: [42, 43]}]->(b)

12:02:58.316 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A), (b:B) CREATE (a)-[:T {prop: [42, 43]}]->(b) 12:02:58.319 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b').addE('T').from('a').to('b').property('prop', __.project(' GENERATED3', ' GENERATED4').by(__.constant(42)).by(__.constant(43)).select(values)).barrier().limit(0)

When executing query: 0.008
MATCH (a:A), (b:B)
MERGE (a)-[r:T {prop: [42, 43]}]->(b)
RETURN count(*)

12:02:58.346 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) MERGE (a)-[r:T {prop: [42, 43]}]->(b) RETURN count(*) 12:02:58.351 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').coalesce(__.select('a').outE('T').as('r').where(__.project(' GENERATED3', ' GENERATED4').by(__.constant(42)).by(__.constant(43)).select(values).is(neq(' cypher.null')).as(' GENERATED2').select('r').values('prop').where(eq(' GENERATED2'))).inV().as(' GENERATED6').where(__.select(' GENERATED6').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('T').from('a').to('b').as('r').property('prop', __.project(' GENERATED9', ' GENERATED10').by(__.constant(42)).by(__.constant(43)).select(values)).select('a', 'r', 'b')).select('r').as('r').fold().project('count(*)').by(__.unfold().count())

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

12:02:58.355 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.357 [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:02:58.358 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.362 [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:02:58.363 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.366 [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
When executing query: 0.007
CREATE (a), (b)
MERGE (a)-[:X]->(b)
RETURN count(a)

12:02:58.410 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a), (b) MERGE (a)-[:X]->(b) RETURN count(a) 12:02:58.415 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().as('a').addV().as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('X').as(' UNNAMED26').inV().as(' GENERATED3').where(__.select(' GENERATED3').where(eq('b'))).select('a', ' UNNAMED26', 'b'), __.identity().addE('X').from('a').to('b').as(' UNNAMED26').select('a', ' UNNAMED26', 'b')).select(' UNNAMED26').as(' UNNAMED26').select('a').fold().project('count(a)').by(__.unfold().is(neq(' cypher.null')).count())

Then the result should be: 0.000
count(a)
1
And the side effects should be: 0.026
+nodes 2
+relationships 1

12:02:58.417 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.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:02:58.421 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.425 [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:02:58.426 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.428 [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: 2 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 1

0.036
Given an empty graph 0.000
When executing query: 0.012
UNWIND ['Keanu Reeves', 'Hugo Weaving', 'Carrie-Anne Moss', 'Laurence Fishburne'] AS actor
MERGE (m:Movie {name: 'The Matrix'})
MERGE (p:Person {name: actor})
MERGE (p)-[:ACTED_IN]->(m)

12:02:58.477 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: UNWIND ['Keanu Reeves', 'Hugo Weaving', 'Carrie-Anne Moss', 'Laurence Fishburne'] AS actor MERGE (m:Movie {name: 'The Matrix'}) MERGE (p:Person {name: actor}) MERGE (p)-[:ACTED_IN]->(m) 12:02:58.482 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3', ' GENERATED4').by(__.constant('Keanu Reeves')).by(__.constant('Hugo Weaving')).by(__.constant('Carrie-Anne Moss')).by(__.constant('Laurence Fishburne')).select(values).unfold().as('actor').coalesce(__.V().as('m').has('name', eq('The Matrix')).hasLabel('Movie'), __.identity().addV('Movie').as('m').property('name', 'The Matrix')).as('m').coalesce(__.V().as('p').hasLabel('Person').where(__.select('p').values('name').where(eq('actor'))), __.identity().addV('Person').as('p').property('name', __.select('actor'))).as('p').coalesce(__.select('p').is(neq(' cypher.null')).outE('ACTED_IN').as(' UNNAMED169').inV().as(' GENERATED7').where(__.select(' GENERATED7').where(eq('m'))).select('p', ' UNNAMED169', 'm'), __.identity().addE('ACTED_IN').from('p').to('m').as(' UNNAMED169').select('p', ' UNNAMED169', 'm')).select(' UNNAMED169').as(' UNNAMED169').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.023
+nodes 5
+relationships 4
+labels 2
+properties 5

12:02:58.490 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.493 [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:02:58.494 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.500 [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:02:58.501 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.506 [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: 2 +nodes: 5 -nodes: 0 -properties: 0 +properties: 5 -relationships: 0 +relationships: 4

0.048
Given an empty graph 0.000
And having executed: 0.009
CREATE (a:A)
CREATE (b1:B {value: 0}), (b2:B {value: 1})
CREATE (c1:C), (c2:C)
CREATE (a)-[:REL]->(b1),
       (a)-[:REL]->(b2),
       (b1)-[:REL]->(c1),
       (b2)-[:REL]->(c2)

12:02:58.515 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE (a:A) CREATE (b1:B {value: 0}), (b2:B {value: 1}) CREATE (c1:C), (c2:C) CREATE (a)-[:REL]->(b1), (a)-[:REL]->(b2), (b1)-[:REL]->(c1), (b2)-[:REL]->(c2) 12:02:58.519 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as('b1').property('value', 0).addV('B').as('b2').property('value', 1).addV('C').as('c1').addV('C').as('c2').addE('REL').from('a').to('b1').addE('REL').from('a').to('b2').addE('REL').from('b1').to('c1').addE('REL').from('b2').to('c2').barrier().limit(0)

When executing query: 0.019
MATCH (a:A)-[ab]->(b:B)-[bc]->(c:C)
DELETE ab, bc, b, c
MERGE (newB:B {value: 1})
MERGE (a)-[:REL]->(newB)
MERGE (newC:C)
MERGE (newB)-[:REL]->(newC)

12:02:58.542 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a:A)-[ab]->(b:B)-[bc]->(c:C) DELETE ab, bc, b, c MERGE (newB:B {value: 1}) MERGE (a)-[:REL]->(newB) MERGE (newC:C) MERGE (newB)-[:REL]->(newC) 12:02:58.552 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').outE().as('ab').inV().as('b').hasLabel('B').outE().as('bc').inV().as('c').hasLabel('C').where(__.select('ab').where(neq('bc'))).barrier().sideEffect(__.project(' GENERATED3', ' GENERATED4', ' GENERATED5', ' GENERATED6').by(__.select('ab')).by(__.select('bc')).by(__.select('b')).by(__.select('c')).select(values).unfold().unfold().is(neq(' cypher.null')).drop()).coalesce(__.V().as('newB').has('value', eq(1)).hasLabel('B'), __.identity().addV('B').as('newB').property('value', 1)).as('newB').coalesce(__.select('a').outE('REL').as(' UNNAMED92').inV().as(' GENERATED9').where(__.select(' GENERATED9').where(eq('newB'))).select('a', ' UNNAMED92', 'newB'), __.identity().addE('REL').from('a').to('newB').as(' UNNAMED92').select('a', ' UNNAMED92', 'newB')).select(' UNNAMED92').as(' UNNAMED92').coalesce(__.V().as('newC').hasLabel('C'), __.identity().addV('C').as('newC')).as('newC').coalesce(__.select('newB').is(neq(' cypher.null')).outE('REL').as(' UNNAMED135').inV().as(' GENERATED17').where(__.select(' GENERATED17').where(eq('newC'))).select('newB', ' UNNAMED135', 'newC'), __.identity().addE('REL').from('newB').to('newC').as(' UNNAMED135').select('newB', ' UNNAMED135', 'newC')).select(' UNNAMED135').as(' UNNAMED135').barrier().limit(0)

Then the result should be empty 0.000
And the side effects should be: 0.019
+nodes 2
-nodes 4
+relationships 2
-relationships 4
+properties 1
-properties 2

12:02:58.561 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.564 [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:02:58.565 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.570 [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:02:58.571 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.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: 2 -nodes: 4 -properties: 2 +properties: 1 -relationships: 4 +relationships: 2

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

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

When executing query: 0.011
MATCH (a)-[t:T]->(b)
DELETE t
MERGE (a)-[t2:T {name: 'rel3'}]->(b)
RETURN t2.name

12:02:58.611 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (a)-[t:T]->(b) DELETE t MERGE (a)-[t2:T {name: 'rel3'}]->(b) RETURN t2.name 12:02:58.619 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').outE('T').as('t').inV().as('b').barrier().sideEffect(__.project(' GENERATED2').by(__.select('t')).select(values).unfold().unfold().is(neq(' cypher.null')).drop()).coalesce(__.select('a').outE('T').as('t2').has('name', eq('rel3')).inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).select('a', 't2', 'b'), __.identity().addE('T').from('a').to('b').as('t2').property('name', 'rel3').select('a', 't2', 'b')).select('t2').as('t2').project('t2.name').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('name'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
t2.name
'rel3'
'rel3'
And the side effects should be: 0.024
+relationships 1
-relationships 2
+properties 1
-properties 2

12:02:58.623 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.627 [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:02:58.628 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.632 [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:02:58.634 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.639 [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: 2 +properties: 1 -relationships: 2 +relationships: 1

0.053
Given an empty graph 0.000
And having executed: 0.009
CREATE ({id: 0})

12:02:58.653 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({id: 0}) 12:02:58.657 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('id', 0).barrier().limit(0)

When executing query: 0.011
MATCH (n)
MATCH (m)
WITH n AS a, m AS b
MERGE (a)-[r:T]->(b)
RETURN a.id AS a, b.id AS b

12:02:58.690 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) MATCH (m) WITH n AS a, m AS b MERGE (a)-[r:T]->(b) RETURN a.id AS a, b.id AS b 12:02:58.697 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').V().as('m').select('n', 'm').project('a', 'b').by(__.select('n')).by(__.select('m')).as(' GENERATED1').select('a').as('a').select(' GENERATED1').select('b').as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('T').as('r').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('T').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').select('a', 'b').project('a', 'b').by(__.select('a').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.select('b').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a b
0 0
And the side effects should be: 0.032
+relationships 1

12:02:58.701 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.704 [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:02:58.707 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.711 [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:02:58.712 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.716 [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: 1

0.041
Given an empty graph 0.000
And having executed: 0.007
CREATE ({id: 0})

12:02:58.736 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({id: 0}) 12:02:58.739 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('id', 0).barrier().limit(0)

When executing query: 0.007
MATCH (n)
WITH n AS a, n AS b
MERGE (a)-[r:T]->(b)
RETURN a.id AS a

12:02:58.774 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) WITH n AS a, n AS b MERGE (a)-[r:T]->(b) RETURN a.id AS a 12:02:58.779 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().project('a', 'b').by(__.identity()).by(__.identity()).as(' GENERATED1').select('a').as('a').select(' GENERATED1').select('b').as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('T').as('r').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).select('a', 'r', 'b'), __.identity().addE('T').from('a').to('b').as('r').select('a', 'r', 'b')).select('r').as('r').select('a').project('a').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
a
0
And the side effects should be: 0.025
+relationships 1

12:02:58.781 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.784 [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:02:58.784 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.787 [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:02:58.788 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.793 [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: 1

0.042
Given an empty graph 0.000
And having executed: 0.004
CREATE ({id: 0})

12:02:58.808 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({id: 0}) 12:02:58.810 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('id', 0).barrier().limit(0)

When executing query: 0.011
MATCH (n)
MATCH (m)
WITH n AS a, m AS b
MERGE (a)-[:T]->(b)
WITH a AS x, b AS y
MERGE (a)
MERGE (b)
MERGE (a)-[:T]->(b)
RETURN x.id AS x, y.id AS y

12:02:58.841 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) MATCH (m) WITH n AS a, m AS b MERGE (a)-[:T]->(b) WITH a AS x, b AS y MERGE (a) MERGE (b) MERGE (a)-[:T]->(b) RETURN x.id AS x, y.id AS y 12:02:58.848 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('n').V().as('m').select('n', 'm').project('a', 'b').by(__.select('n')).by(__.select('m')).as(' GENERATED1').select('a').as('a').select(' GENERATED1').select('b').as('b').coalesce(__.select('a').is(neq(' cypher.null')).outE('T').as(' UNNAMED50').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('b'))).select('a', ' UNNAMED50', 'b'), __.identity().addE('T').from('a').to('b').as(' UNNAMED50').select('a', ' UNNAMED50', 'b')).select(' UNNAMED50').as(' UNNAMED50').select('a', 'b').project('x', 'y').by(__.select('a')).by(__.select('b')).as(' GENERATED10').select('x').as('x').select(' GENERATED10').select('y').as('y').coalesce(__.select('a').is(neq(' cypher.null')), __.identity()).coalesce(__.select('b').is(neq(' cypher.null')), __.identity()).coalesce(__.select('a').is(neq(' cypher.null')).outE('T').as(' UNNAMED110').inV().as(' GENERATED19').where(__.select(' GENERATED19').where(eq('b'))).select('a', ' UNNAMED110', 'b'), __.identity().addE('T').from('a').to('b').as(' UNNAMED110').select('a', ' UNNAMED110', 'b')).select(' UNNAMED110').as(' UNNAMED110').select('x', 'y').project('x', 'y').by(__.select('x').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null'))).by(__.select('y').choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
x y
0 0
And the side effects should be: 0.026
+relationships 1

12:02:58.853 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.856 [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:02:58.857 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.861 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as(' cypher.path.start.GENERATED1').outE().as('r').inV().select('r').project('id(r)').by(__.choose(neq(' cypher.null'), __.id(), __.constant(' cypher.null'))) 12:02:58.862 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.866 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 1

0.056
Given an empty graph 0.000
And having executed: 0.005
CREATE ({id: 0})

12:02:58.881 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: CREATE ({id: 0}) 12:02:58.883 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.addV().property('id', 0).barrier().limit(0)

When executing query: 0.011
MATCH (n)
WITH n AS a
MERGE (c)
MERGE (a)-[:T]->(c)
WITH a AS x
MERGE (c)
MERGE (x)-[:T]->(c)
RETURN x.id AS x

12:02:58.918 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) WITH n AS a MERGE (c) MERGE (a)-[:T]->(c) WITH a AS x MERGE (c) MERGE (x)-[:T]->(c) RETURN x.id AS x 12:02:58.926 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Gremlin: g.V().as('a').coalesce(__.V().as('c'), __.identity().addV().as('c')).as('c').coalesce(__.select('a').is(neq(' cypher.null')).outE('T').as(' UNNAMED42').inV().as(' GENERATED4').where(__.select(' GENERATED4').where(eq('c'))).select('a', ' UNNAMED42', 'c'), __.identity().addE('T').from('a').to('c').as(' UNNAMED42').select('a', ' UNNAMED42', 'c')).select(' UNNAMED42').as(' UNNAMED42').select('a').as('x').coalesce(__.select('c').is(neq(' cypher.null')), __.identity()).coalesce(__.select('x').is(neq(' cypher.null')).outE('T').as(' UNNAMED84').inV().as(' GENERATED16').where(__.select(' GENERATED16').where(eq('c'))).select('x', ' UNNAMED84', 'c'), __.identity().addE('T').from('x').to('c').as(' UNNAMED84').select('x', ' UNNAMED84', 'c')).select(' UNNAMED84').as(' UNNAMED84').select('x').project('x').by(__.choose(neq(' cypher.null'), __.coalesce(__.values('id'), __.constant(' cypher.null')), __.constant(' cypher.null')))

Then the result should be: 0.000
x
0
And the side effects should be: 0.038
+relationships 1

12:02:58.930 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:58.933 [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:02:58.934 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:58.938 [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:02:58.939 [gremlin-server-worker-1] INFO o.o.g.s.op.cypher.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:58.942 [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: 1