[
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)