Project Number Date
cypher-for-gremlin 0.9.11 09 Aug 2018, 10:56

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
ComparisonOperatorAcceptance 50 0 0 0 0 50 10 0 10 0.344 Passed
Feature ComparisonOperatorAcceptance
0.047
Given an empty graph 0.002

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

And having executed: 0.007
UNWIND [1, 2, 3] AS i
CREATE ({value: i})

10:55:20.798 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND [1, 2, 3] AS i CREATE ({value: i})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.798 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND [1, 2, 3] AS i CREATE ({value: i}) 10:55:20.802 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values).unfold().as('i').addV().property(single, 'value', __.select('i')).barrier().limit(0)

When executing query: 0.010
MATCH (n)
WHERE 1 < n.value < 3
RETURN n.value

10:55:20.832 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 1 < n.value < 3 RETURN n.value 10:55:20.832 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 1 < n.value < 3 RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.840 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lt(3)).has('value', gt(1)).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
2
And no side effects 0.027

10:55:20.841 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.842 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:20.845 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:20.846 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.846 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:20.850 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:20.854 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.854 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:20.857 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:20.861 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.862 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.032
Given an empty graph 0.000

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

And having executed: 0.006
UNWIND [1, 2, 3] AS i
CREATE ({value: i})

10:55:20.872 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND [1, 2, 3] AS i CREATE ({value: i}) 10:55:20.875 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND [1, 2, 3] AS i CREATE ({value: i})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.875 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values).unfold().as('i').addV().property(single, 'value', __.select('i')).barrier().limit(0)

When executing query: 0.007
MATCH (n)
WHERE 1 < n.value <= 3
RETURN n.value

10:55:20.899 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 1 < n.value <= 3 RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.900 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 1 < n.value <= 3 RETURN n.value 10:55:20.906 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lte(3)).has('value', gt(1)).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
2
3
And no side effects 0.018

10:55:20.907 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.907 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:20.909 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:20.910 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.910 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:20.913 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:20.916 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.916 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:20.918 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:20.920 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.921 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.034
Given an empty graph 0.000

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

And having executed: 0.006
UNWIND [1, 2, 3] AS i
CREATE ({value: i})

10:55:20.927 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND [1, 2, 3] AS i CREATE ({value: i}) 10:55:20.927 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND [1, 2, 3] AS i CREATE ({value: i})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.930 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values).unfold().as('i').addV().property(single, 'value', __.select('i')).barrier().limit(0)

When executing query: 0.006
MATCH (n)
WHERE 1 <= n.value < 3
RETURN n.value

10:55:20.953 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 1 <= n.value < 3 RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.953 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 1 <= n.value < 3 RETURN n.value 10:55:20.959 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lt(3)).has('value', gte(1)).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
1
2
And no side effects 0.020

10:55:20.960 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.960 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:20.962 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:20.963 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.963 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:20.966 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:20.969 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.969 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:20.972 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:20.974 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.975 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000

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

And having executed: 0.007
UNWIND [1, 2, 3] AS i
CREATE ({value: i})

10:55:20.983 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND [1, 2, 3] AS i CREATE ({value: i})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:20.983 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND [1, 2, 3] AS i CREATE ({value: i}) 10:55:20.987 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant(1)).by(__.constant(2)).by(__.constant(3)).select(values).unfold().as('i').addV().property(single, 'value', __.select('i')).barrier().limit(0)

When executing query: 0.005
MATCH (n)
WHERE 1 <= n.value <= 3
RETURN n.value

10:55:21.009 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 1 <= n.value <= 3 RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.009 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 1 <= n.value <= 3 RETURN n.value 10:55:21.014 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lte(3)).has('value', gte(1)).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
1
2
3
And no side effects 0.020

10:55:21.015 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.016 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.018 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.019 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.019 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.022 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.025 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.025 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.027 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.030 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.031 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000

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

And having executed: 0.004
UNWIND ['a', 'b', 'c'] AS c
CREATE ({value: c})

10:55:21.037 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.037 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c}) 10:55:21.039 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant('a')).by(__.constant('b')).by(__.constant('c')).select(values).unfold().as('c').addV().property(single, 'value', __.select('c')).barrier().limit(0)

When executing query: 0.005
MATCH (n)
WHERE 'a' < n.value < 'c'
RETURN n.value

10:55:21.061 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 'a' < n.value < 'c' RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.061 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 'a' < n.value < 'c' RETURN n.value 10:55:21.065 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lt('c')).has('value', gt('a')).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
'b'
And no side effects 0.019

10:55:21.066 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.066 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.069 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.069 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.069 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.072 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.075 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.075 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.077 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.080 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.081 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.033
Given an empty graph 0.000

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

And having executed: 0.007
UNWIND ['a', 'b', 'c'] AS c
CREATE ({value: c})

10:55:21.087 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.087 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c}) 10:55:21.090 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant('a')).by(__.constant('b')).by(__.constant('c')).select(values).unfold().as('c').addV().property(single, 'value', __.select('c')).barrier().limit(0)

When executing query: 0.005
MATCH (n)
WHERE 'a' < n.value <= 'c'
RETURN n.value

10:55:21.114 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 'a' < n.value <= 'c' RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.114 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 'a' < n.value <= 'c' RETURN n.value 10:55:21.118 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lte('c')).has('value', gt('a')).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
'b'
'c'
And no side effects 0.020

10:55:21.119 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.119 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.122 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.122 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.123 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.125 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.128 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.128 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.131 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.134 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.135 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.029
Given an empty graph 0.000

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

And having executed: 0.006
UNWIND ['a', 'b', 'c'] AS c
CREATE ({value: c})

10:55:21.141 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.141 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c}) 10:55:21.143 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant('a')).by(__.constant('b')).by(__.constant('c')).select(values).unfold().as('c').addV().property(single, 'value', __.select('c')).barrier().limit(0)

When executing query: 0.004
MATCH (n)
WHERE 'a' <= n.value < 'c'
RETURN n.value

10:55:21.167 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 'a' <= n.value < 'c' RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.167 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 'a' <= n.value < 'c' RETURN n.value 10:55:21.171 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lt('c')).has('value', gte('a')).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
'a'
'b'
And no side effects 0.017

10:55:21.172 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.172 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.174 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.174 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.175 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.177 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.179 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.179 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.181 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.184 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.185 [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:34849, hostUri=ws://localhost:34849/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

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

And having executed: 0.005
UNWIND ['a', 'b', 'c'] AS c
CREATE ({value: c})

10:55:21.190 [Test worker] DEBUG o.a.t.g.driver.Client - UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.191 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: UNWIND ['a', 'b', 'c'] AS c CREATE ({value: c}) 10:55:21.193 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.inject(' cypher.start').project(' GENERATED1', ' GENERATED2', ' GENERATED3').by(__.constant('a')).by(__.constant('b')).by(__.constant('c')).select(values).unfold().as('c').addV().property(single, 'value', __.select('c')).barrier().limit(0)

When executing query: 0.004
MATCH (n)
WHERE 'a' <= n.value <= 'c'
RETURN n.value

10:55:21.213 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 'a' <= n.value <= 'c' RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.213 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 'a' <= n.value <= 'c' RETURN n.value 10:55:21.216 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', lte('c')).has('value', gte('a')).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
'a'
'b'
'c'
And no side effects 0.019

10:55:21.217 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.217 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.220 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.220 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.220 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.223 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.225 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.226 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.228 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.231 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.231 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.037
Given an empty graph 0.000

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

And having executed: 0.003
CREATE ({value: 3})

10:55:21.237 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE ({value: 3})}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.237 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE ({value: 3}) 10:55:21.239 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV().property(single, 'value', 3).barrier().limit(0)

When executing query: 0.012
MATCH (n)
WHERE 10 < n.value <= 3
RETURN n.value

10:55:21.266 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) WHERE 10 < n.value <= 3 RETURN n.value}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.267 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) WHERE 10 < n.value <= 3 RETURN n.value 10:55:21.272 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().has('value', gt(10)).has('value', lte(3)).project('n.value').by(__.choose(__.values('value'), __.values('value'), __.constant(' cypher.null')))

Then the result should be: 0.000
n.value
And no side effects 0.020

10:55:21.279 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.280 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.283 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.283 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.283 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.287 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.290 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.291 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.293 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.295 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.296 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0

0.038
Given an empty graph 0.000

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

And having executed: 0.009
CREATE (a:A {prop1: 3, prop2: 4})
CREATE (b:B {prop1: 4, prop2: 5})
CREATE (c:C {prop1: 4, prop2: 4})
CREATE (a)-[:R]->(b)
CREATE (b)-[:R]->(c)
CREATE (c)-[:R]->(a)

10:55:21.301 [Test worker] DEBUG o.a.t.g.driver.Client - CREATE (a:A {prop1: 3, prop2: 4}) CREATE (b:B {prop1: 4, prop2: 5}) CREATE (c:C {prop1: 4, prop2: 4}) CREATE (a)-[:R]->(b) CREATE (b)-[:R]->(c) CREATE (c)-[:R]->(a)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.301 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: CREATE (a:A {prop1: 3, prop2: 4}) CREATE (b:B {prop1: 4, prop2: 5}) CREATE (c:C {prop1: 4, prop2: 4}) CREATE (a)-[:R]->(b) CREATE (b)-[:R]->(c) CREATE (c)-[:R]->(a) 10:55:21.305 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.addV('A').as('a').property(single, 'prop1', 3).property(single, 'prop2', 4).addV('B').as('b').property(single, 'prop1', 4).property(single, 'prop2', 5).addV('C').as('c').property(single, 'prop1', 4).property(single, 'prop2', 4).addE('R').from('a').to('b').addE('R').from('b').to('c').addE('R').from('c').to('a').barrier().limit(0)

When executing query: 0.010
MATCH (n)-->(m)
WHERE n.prop1 < m.prop1 = n.prop2 <> m.prop2
RETURN labels(m)

10:55:21.326 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n)-->(m) WHERE n.prop1 < m.prop1 = n.prop2 <> m.prop2 RETURN labels(m)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.326 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n)-->(m) WHERE n.prop1 < m.prop1 = n.prop2 <> m.prop2 RETURN labels(m) 10:55:21.334 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().as('n').outE().inV().as('m').where(__.and(__.select('m').values('prop1').as(' GENERATED2').select('n').values('prop1').where(lt(' GENERATED2')), __.select('n').values('prop2').as(' GENERATED3').select('m').values('prop1').where(eq(' GENERATED3')), __.select('m').values('prop2').as(' GENERATED4').select('n').values('prop2').where(neq(' GENERATED4')))).select('m').project('labels(m)').by(__.label().is(neq('vertex')).fold())

Then the result should be: 0.000
labels(m)
['B']
And no side effects 0.018

10:55:21.336 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH (n) RETURN id(n)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.337 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) RETURN id(n) 10:55:21.340 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().project('id(n)').by(__.id()) 10:55:21.341 [Test worker] DEBUG o.a.t.g.driver.Client - MATCH ()-[r]->() RETURN id(r)}} to - Connection{host=Host{address=localhost/127.0.0.1:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.341 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH ()-[r]->() RETURN id(r) 10:55:21.344 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.E().project('id(r)').by(__.id()) 10:55:21.345 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.345 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Cypher: MATCH (n) UNWIND labels(n) AS label RETURN DISTINCT label 10:55:21.349 [gremlin-server-worker-1] INFO o.o.g.s.o.c.CypherOpProcessor - Gremlin: g.V().label().is(neq('vertex')).project('label').by(__.identity()).dedup() 10:55:21.349 [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:34849, hostUri=ws://localhost:34849/gremlin}} 10:55:21.350 [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:34849, hostUri=ws://localhost:34849/gremlin}} -labels: 0 +labels: 0 +nodes: 0 -nodes: 0 -properties: 0 +properties: 0 -relationships: 0 +relationships: 0