Project Number Date
cypher-for-gremlin 1.0.2 10 Jun 2019, 13:01

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

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

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

13:01:01.305 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.316 [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) 13:01:01.316 [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:44141, hostUri=ws://localhost:44141/gremlin}}

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'

13:01:01.400 [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' 13:01:01.407 [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) 13:01:01.408 [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:44141, hostUri=ws://localhost:44141/gremlin}}

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

13:01:01.422 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.425 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.426 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.429 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.429 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.441 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.441 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.444 [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() 13:01:01.447 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.450 [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:44141, hostUri=ws://localhost:44141/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

13:01:01.451 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.451 [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 13:01:01.463 [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

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

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

13:01:01.473 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.474 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.478 [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

13:01:01.552 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.552 [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 13:01:01.567 [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

13:01:01.576 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.582 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.605 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.605 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.608 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.617 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.617 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.618 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.623 [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() 13:01:01.625 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.626 [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:44141, hostUri=ws://localhost:44141/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

13:01:01.633 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.634 [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 13:01:01.643 [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

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

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

13:01:01.649 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.649 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.652 [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

13:01:01.690 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.691 [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 13:01:01.708 [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

13:01:01.717 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.718 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.726 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.728 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.737 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.747 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.750 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.750 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.753 [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() 13:01:01.759 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.763 [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:44141, hostUri=ws://localhost:44141/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

13:01:01.768 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.771 [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 13:01:01.779 [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

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

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

13:01:01.788 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.788 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.791 [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)

13:01:01.794 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.794 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b) 13:01:01.799 [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

13:01:01.820 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.821 [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 13:01:01.827 [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

13:01:01.862 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.863 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.867 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.867 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.867 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.871 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.871 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.872 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.875 [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() 13:01:01.876 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.876 [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:44141, hostUri=ws://localhost:44141/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

13:01:01.877 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.877 [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 13:01:01.883 [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

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

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

13:01:01.885 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.885 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.888 [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'}

13:01:01.911 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.912 [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'} 13:01:01.920 [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

13:01:01.924 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.924 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.927 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.927 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.928 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.930 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.930 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.930 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.932 [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() 13:01:01.933 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.933 [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:44141, hostUri=ws://localhost:44141/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

13:01:01.934 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.934 [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 13:01:01.938 [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

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

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

13:01:01.940 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.940 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (:A {name: 'A'}), (:B {name: 'B'}) 13:01:01.942 [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)

13:01:01.945 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.945 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (a:A), (b:B) CREATE (a)-[:TYPE {foo: 'bar'}]->(b) 13:01:01.949 [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'}

13:01:01.966 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.967 [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'} 13:01:01.972 [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

13:01:01.976 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.979 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 13:01:01.982 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 13:01:01.983 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.983 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 13:01:01.990 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 13:01:01.990 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.990 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 13:01:01.993 [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() 13:01:01.994 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:01.998 [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:44141, hostUri=ws://localhost:44141/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

13:01:02.000 [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:44141, hostUri=ws://localhost:44141/gremlin}} 13:01:02.000 [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 13:01:02.010 [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']