Daniel Kuppitz created TINKERPOP-1522:

             Summary: Order of select() scopes
                 Key: TINKERPOP-1522
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1522
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.2.3
            Reporter: Daniel Kuppitz

As it currently stands, side-effects have the highest priority when a key is 
{{select()}}'ed. I just ran into a problem where this behavior was more than 

gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.withSideEffect("a", ["a": 
"marko"]).inject(1).select("a").select("a") // expected result is "marko", not 

In my use-case the map keys were not predictable, hence it's almost impossible 
to prevent a key name collision. IMO maps (and paths) should take precedence 
over side-effects.

It is still possible to get the nested {{a}} key, but I'm pretty sure that the 
common Gremlin user won't be able to come up with this query:

gremlin> g.withSideEffect("a", ["a": "marko"]).inject(1).select("a").

This message was sent by Atlassian JIRA

Reply via email to