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

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
MergeIntoAcceptance 44 0 0 0 0 44 6 0 6 0.000 Passed
Feature MergeIntoAcceptance
0.000
Given an empty graph 0.000

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

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

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

0.000
When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r.name = 'foo'

16:12:28.203 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = 'foo'}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.203 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = 'foo' 16:12:28.207 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.select('a').outE('TYPE').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.identity().addE('TYPE').from('a').to('b').choose(neq(' cypher.null'), __.property('name', 'foo'))).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.222 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.222 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.226 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be: 0.000
keyValue
['name->foo']
0.000
Given an empty graph 0.000

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

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

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

0.000
When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r.name = null

16:12:28.247 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = null}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.247 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r.name = null 16:12:28.252 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.select('a').outE('TYPE').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.identity().addE('TYPE').from('a').to('b').choose(neq(' cypher.null'), __.sideEffect(__.properties('name').drop()))).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.277 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.277 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.280 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be: 0.000
keyValue
[]
0.000
Given an empty graph 0.000

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

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

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

0.000
When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r = a

16:12:28.312 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r = a}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.312 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r = a 16:12:28.321 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.identity().addE('TYPE').from('a').to('b').as('r').sideEffect(__.is(neq(' cypher.null')).properties().drop()).select('a').sideEffect(__.properties().as(' GENERATED6').select('r').is(neq(' cypher.null')).property(__.select(' GENERATED6').key(), __.select(' GENERATED6').value()))).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.336 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.337 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.340 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be: 0.000
keyValue
['name->A']
0.000
Given an empty graph 0.000

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

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

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

0.000
And having executed: 0.000
MATCH (a:A), (b:B)
CREATE (a)-[:TYPE {foo: 'bar'}]->(b)

16:12:28.345 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.345 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b) 16:12:28.348 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').addE('TYPE').from('a').to('b').property('foo', 'bar').barrier().limit(0)

When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON MATCH SET r = a

16:12:28.362 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON MATCH SET r = a}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.362 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON MATCH SET r = a 16:12:28.367 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).select('r').sideEffect(__.is(neq(' cypher.null')).properties().drop()).select('a').sideEffect(__.properties().as(' GENERATED6').select('r').is(neq(' cypher.null')).property(__.select(' GENERATED6').key(), __.select(' GENERATED6').value())), __.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).select('r').sideEffect(__.is(neq(' cypher.null')).properties().drop()).select('a').sideEffect(__.properties().as(' GENERATED6').select('r').is(neq(' cypher.null')).property(__.select(' GENERATED6').key(), __.select(' GENERATED6').value())), __.identity().addE('TYPE').from('a').to('b').as('r')).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.388 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.388 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.391 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be: 0.000
keyValue
['name->A']
0.000
Given an empty graph 0.000

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

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

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

0.000
When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON CREATE SET r += {foo: 'bar', bar: 'baz'}

16:12:28.413 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r += {foo: 'bar', bar: 'baz'}}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.413 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON CREATE SET r += {foo: 'bar', bar: 'baz'} 16:12:28.421 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))), __.identity().addE('TYPE').from('a').to('b').as('r').choose(neq(' cypher.null'), __.property('foo', 'bar')).select('r').choose(neq(' cypher.null'), __.property('bar', 'baz'))).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.436 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.436 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.440 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be (ignoring element order for lists): 0.000
keyValue
['foo->bar', 'bar->baz']
0.000
Given an empty graph 0.000

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

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

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

0.000
And having executed: 0.000
MATCH (a:A), (b:B)
CREATE (a)-[:TYPE {foo: 'bar'}]->(b)

16:12:28.445 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b)}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.445 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b) 16:12:28.448 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').hasLabel('A').V().as('b').hasLabel('B').addE('TYPE').from('a').to('b').property('foo', 'bar').barrier().limit(0)

When executing query: 0.000
MATCH (a {name: 'A'}), (b {name: 'B'})
MERGE (a)-[r:TYPE]->(b)
  ON MATCH SET r += {foo: 'baz', bar: 'baz'}

16:12:28.463 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON MATCH SET r += {foo: 'baz', bar: 'baz'}}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.463 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a {name: 'A'}), (b {name: 'B'}) MERGE (a)-[r:TYPE]->(b) ON MATCH SET r += {foo: 'baz', bar: 'baz'} 16:12:28.469 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('a').has('name', eq('A')).V().as('b').has('name', eq('B')).choose(__.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).select('r').choose(neq(' cypher.null'), __.property('foo', 'baz')).select('r').choose(neq(' cypher.null'), __.property('bar', 'baz')), __.select('a').outE('TYPE').as('r').inV().as(' GENERATED5').where(__.select(' GENERATED5').where(eq('b'))).select('r').choose(neq(' cypher.null'), __.property('foo', 'baz')).select('r').choose(neq(' cypher.null'), __.property('bar', 'baz')), __.identity().addE('TYPE').from('a').to('b').as('r')).barrier().limit(0)

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

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

When executing control query: 0.000
MATCH ()-[r:TYPE]->()
RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue

16:12:28.484 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue}} to - Connection{host=Host{address=localhost/127.0.0.1:34669, hostUri=ws://localhost:34669/gremlin}} 16:12:28.484 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r:TYPE]->() RETURN [key IN keys(r) | key + '->' + r[key]] AS keyValue 16:12:28.489 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().as('r').hasLabel('TYPE').project('keyValue').by(__.map(__.properties().key().fold()).map(__.unfold().as('key').project(' GENERATED2', ' GENERATED3').by(__.project(' GENERATED4', ' GENERATED5').by(__.select('key')).by(__.constant('->')).select(values).map(cypherPlus())).by(__.project(' GENERATED6', ' GENERATED7').by(__.select('r')).by(__.select('key')).select(values).map(cypherContainerIndex())).select(values).map(cypherPlus()).fold()))

Then the result should be (ignoring element order for lists): 0.000
keyValue
['foo->baz', 'bar->baz']