[ 
https://issues.apache.org/jira/browse/TINKERPOP-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16301277#comment-16301277
 ] 

stephen mallette commented on TINKERPOP-1849:
---------------------------------------------

I'd let this issue simmer a bit during release of 3.2.7/3.3.1 - I guess the 
flag would be the right approach with "all reduction (happening) on the master 
traversal".  As for the "more general problem", perhaps that is an issue of 
convention and documentation? We have no real way to control that, so all we 
can do is tell users that if they write their own lambda there, then they 
better make sure it fits those properties. Does that make sense?

> Provide a way to fold() with an index
> -------------------------------------
>
>                 Key: TINKERPOP-1849
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1849
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.3.0
>            Reporter: stephen mallette
>
> In Groovy you can call {{withIndex()}} to generate output like this:
> {code}
> gremlin> g.V().fold().next().withIndex()
> ==>[v[1],0]
> ==>[v[2],1]
> ==>[v[3],2]
> ==>[v[4],3]
> ==>[v[5],4]
> ==>[v[6],5]
> {code}
> We can currently simulate this with Gremlin via:
> {code}
> gremlin> 
> g.V().project("a","b").by().by(select("x").count(local)).store("x").map(union(select('a'),
>  select('b')).fold()).fold().next()
> ==>[v[1],0]
> ==>[v[2],1]
> ==>[v[3],2]
> ==>[v[4],3]
> ==>[v[5],4]
> ==>[v[6],5]
> {code}
> but it's not easy to follow, efficient, or potentially foolproof. Perhaps we 
> can add an option to {{fold()}} that would take an enum of "fold operators".



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to