Project Number Date
cypher-for-gremlin 0.9.13 01 Mar 2019, 12:03

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
ListComprehension 15 0 0 0 0 15 3 0 3 0.091 Passed
Feature ListComprehension
0.032
Given an empty graph 0.000

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

And having executed: 0.005
CREATE (a:A)
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

12:02:57.466 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.466 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C) 12:02:57.468 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as(' UNNAMED31').addE('T').from('a').to(' UNNAMED31').addV('C').as(' UNNAMED54').addE('T').from('a').to(' UNNAMED54').barrier().limit(0)

When executing query: 0.010
MATCH p = (n)-->()
RETURN [x IN collect(p) | head(nodes(x))] AS p

12:02:57.486 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH p = (n)-->() RETURN [x IN collect(p) | head(nodes(x))] AS p}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.486 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH p = (n)-->() RETURN [x IN collect(p) | head(nodes(x))] AS p 12:02:57.492 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').outE().aggregate(' cypher.path.edge.p').inV().path().from('n').as('p').is(neq(' cypher.null')).fold().project('p').by(__.map(__.unfold().map(__.unfold().is(cypherIsNode()).fold()).choose(__.limit(local, 1), __.limit(local, 1), __.constant(' cypher.null')).fold())).project('p').by(__.select('p').choose(neq(' cypher.null'), __.local(__.unfold().choose(neq(' cypher.null'), __.valueMap(true)).fold())))

Then the result should be: 0.000
p
[(:A), (:A)]
And no side effects 0.015

12:02:57.497 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.497 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.500 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 12:02:57.500 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.500 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.502 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 12:02:57.502 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.503 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.504 [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() 12:02:57.505 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.508 [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:43959, hostUri=ws://localhost:43959/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.028
Given an empty graph 0.000

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

And having executed: 0.006
CREATE (a:A)
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

12:02:57.514 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.514 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C) 12:02:57.517 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').addV('B').as(' UNNAMED31').addE('T').from('a').to(' UNNAMED31').addV('C').as(' UNNAMED54').addE('T').from('a').to(' UNNAMED54').barrier().limit(0)

When executing query: 0.006
MATCH p = (n:A)-->()
WITH [x IN collect(p) | head(nodes(x))] AS p, count(n) AS c
RETURN p, c

12:02:57.538 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH p = (n:A)-->() WITH [x IN collect(p) | head(nodes(x))] AS p, count(n) AS c RETURN p, c}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.538 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH p = (n:A)-->() WITH [x IN collect(p) | head(nodes(x))] AS p, count(n) AS c RETURN p, c 12:02:57.543 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').hasLabel('A').outE().aggregate(' cypher.path.edge.p').inV().path().from('n').as('p').select('n', 'p').fold().project(' AGGREGATION67', ' AGGREGATION32').by(__.unfold().select('n').is(neq(' cypher.null')).count()).by(__.unfold().select('p').is(neq(' cypher.null')).fold()).as(' GENERATED1').select(' AGGREGATION67').as(' AGGREGATION67').select(' GENERATED1').select(' AGGREGATION32').as(' AGGREGATION32').where(__.select(' AGGREGATION32').map(__.unfold().map(__.unfold().is(cypherIsNode()).fold()).choose(__.limit(local, 1), __.limit(local, 1), __.constant(' cypher.null')).fold()).is(neq(' cypher.null'))).select(' AGGREGATION32', ' AGGREGATION67').project('p', 'c').by(__.select(' AGGREGATION32').map(__.unfold().map(__.unfold().is(cypherIsNode()).fold()).choose(__.limit(local, 1), __.limit(local, 1), __.constant(' cypher.null')).fold())).by(__.select(' AGGREGATION67')).as(' GENERATED2').select('p').as('p').select(' GENERATED2').select('c').as('c').select('p', 'c').project('p', 'c').by(__.select('p').choose(neq(' cypher.null'), __.local(__.unfold().choose(neq(' cypher.null'), __.valueMap(true)).fold()))).by(__.select('c').identity())

Then the result should be: 0.000
p c
[(:A), (:A)] 2
And no side effects 0.016

12:02:57.544 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.544 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.547 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 12:02:57.547 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.547 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.550 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 12:02:57.550 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.551 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.553 [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() 12:02:57.554 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.557 [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:43959, hostUri=ws://localhost:43959/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.030
Given an empty graph 0.000

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

And having executed: 0.005
CREATE (a:A {prop: 'c'})
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

12:02:57.561 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {prop: 'c'}) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.561 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {prop: 'c'}) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C) 12:02:57.564 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'prop', 'c').addV('B').as(' UNNAMED43').addE('T').from('a').to(' UNNAMED43').addV('C').as(' UNNAMED66').addE('T').from('a').to(' UNNAMED66').barrier().limit(0)

When executing query: 0.006
MATCH (n)-->(b)
WHERE n.prop IN [x IN labels(b) | lower(x)]
RETURN b

12:02:57.581 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n)-->(b) WHERE n.prop IN [x IN labels(b) | lower(x)] RETURN b}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.581 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n)-->(b) WHERE n.prop IN [x IN labels(b) | lower(x)] RETURN b 12:02:57.587 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').outE().inV().as('b').where(__.select('b').map(__.label().is(neq('vertex')).fold()).map(__.unfold().map(cypherToLower()).fold()).is(neq(' cypher.null')).as(' GENERATED2').select('n').values('prop').where(within(' GENERATED2'))).select('b').project('b').by(__.choose(neq(' cypher.null'), __.valueMap(true)))

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

12:02:57.588 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.588 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 12:02:57.590 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 12:02:57.591 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.591 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 12:02:57.593 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 12:02:57.593 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 12:02:57.593 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.595 [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() 12:02:57.601 [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:43959, hostUri=ws://localhost:43959/gremlin}} 12:02:57.602 [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:43959, hostUri=ws://localhost:43959/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0