Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.1.1-incubating
-
None
-
None
Description
graph.vertices(id), g.V(id) and g.V().hasId(id) should all return the same result. However, currently only the latter respects the toString() representation of ids.
gremlin> g.addV().id() ==>12 gremlin> graph.vertices("12") gremlin> g.V("12") gremlin> g.V().hasId("12") ==>v[12]
Inconsistent number comparison with Contains:
gremlin> conf = new BaseConfiguration() ==>org.apache.commons.configuration.BaseConfiguration@7048535f gremlin> conf.setProperty("gremlin.tinkergraph.vertexIdManager","LONG") ==>null gremlin> conf.setProperty("gremlin.tinkergraph.edgeIdManager","LONG") ==>null gremlin> graph = TinkerGraph.open(conf) ==>tinkergraph[vertices:0 edges:0] gremlin> graph.io(gryo()).readGraph('data/tinkerpop-modern.kryo') ==>null gremlin> g = graph.traversal() ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] gremlin> g.V().hasId(within(1..6)).out().hasId(within(1..6)) gremlin> g.V().hasId(within(1..6)).out().hasId(between(0,7)) ==>v[3] ==>v[2] ==>v[4] ==>v[5] ==>v[3] ==>v[3]
`P.within` and `P.without` rely on `Collection.contains()` which ends up doing an Object type comparison during the equality check.
Attachments
Issue Links
- is duplicated by
-
TINKERPOP-1667 Inconsistent number comparison with Contains
- Closed
- is related to
-
TINKERPOP-2863 HasId Step generates incorrect results when given a list of IDs mid-traversal
- Closed
- is required by
-
TINKERPOP-1219 Create a test case that ensures the provider's compilation of g.V(x) and g.V().hasId(x) is identical
- Closed
- relates to
-
TINKERPOP-1484 Bad interaction of long-typed vertex properties with TinkerGraph indexes
- Closed