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
ListComprehension 15 0 0 0 0 15 3 0 3 0.000 Passed
Feature ListComprehension
0.000
Given an empty graph 0.000

16:11:58.753 [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:A)
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

16:11:58.754 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.754 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C) 16:11:58.757 [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.000
MATCH p = (n)-->()
RETURN [x IN collect(p) | head(nodes(x))] AS p

16:11:58.781 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.781 [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 16:11:58.787 [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().with('~tinkerpop.valueMap.tokens')).fold())))

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

16:11:58.788 [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:11:58.789 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:11:58.793 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:11:58.793 [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:11:58.793 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:11:58.797 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:11:58.798 [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:11:58.798 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:11:58.800 [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:11:58.801 [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:11:58.805 [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: 0

0.000
Given an empty graph 0.000

16:11:58.812 [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:A)
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

16:11:58.814 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.814 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A) CREATE (a)-[:T]->(:B), (a)-[:T]->(:C) 16:11:58.817 [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.000
MATCH p = (n:A)-->()
WITH [x IN collect(p) | head(nodes(x))] AS p, count(n) AS c
RETURN p, c

16:11:58.839 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.840 [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 16:11:58.848 [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().with('~tinkerpop.valueMap.tokens')).fold()))).by(__.select('c').identity())

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

16:11:58.854 [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:11:58.856 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:11:58.859 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:11:58.860 [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:11:58.860 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:11:58.863 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:11:58.881 [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:11:58.883 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:11:58.890 [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:11:58.892 [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:11:58.899 [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: 0

0.000
Given an empty graph 0.000

16:11:58.904 [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:A {prop: 'c'})
CREATE (a)-[:T]->(:B),
       (a)-[:T]->(:C)

16:11:58.905 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.905 [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) 16:11:58.909 [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.000
MATCH (n)-->(b)
WHERE n.prop IN [x IN labels(b) | lower(x)]
RETURN b

16:11:58.935 [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:34669, hostUri=ws://localhost:34669/gremlin}} 16:11:58.935 [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 16:11:58.949 [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().with('~tinkerpop.valueMap.tokens')))

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

16:11:58.964 [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:11:58.966 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 16:11:58.972 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 16:11:58.973 [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:11:58.973 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 16:11:58.979 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 16:11:58.979 [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:11:58.980 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 16:11:58.987 [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:11:58.988 [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:11:58.994 [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: 0