You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Sebastian Estevez (JIRA)" <ji...@apache.org> on 2015/11/18 22:41:11 UTC

[jira] [Updated] (TINKERPOP3-974) Saving headless traversals for reuse (clone Iterator Fun)

     [ https://issues.apache.org/jira/browse/TINKERPOP3-974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastian Estevez updated TINKERPOP3-974:
-----------------------------------------
    Summary: Saving headless traversals for reuse (clone Iterator Fun)  (was: Saving headless traversals (clone Iterator Fun))

> Saving headless traversals for reuse (clone Iterator Fun)
> ---------------------------------------------------------
>
>                 Key: TINKERPOP3-974
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-974
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.0.2-incubating
>            Reporter: Sebastian Estevez
>
> It would be very useful to be able to do something like this:
> {code}
> gremlin> possibleFriends = out('rated').inE('rated').has('stars',5).outV().groupCount().order(local).by(valueDecr).limit(local,1).mapKeys()
> gremlin> g.V('u2590').map(possibleFriends)
> {code}
> Marko suggested the following workaround method using `; null` and `.clone()` 
> {code}
> gremlin> possibleFriends = out('rated').inE('rated').has('stars',5).outV().groupCount().order(local).by(valueDecr).limit(local,1).mapKeys(); null
> ==>null
> gremlin> g.V('u2590').map(possibleFriends.clone())
> ==>v[u4277]
> gremlin> g.V('u2590').map(possibleFriends.clone())
> ==>v[u4277]
> gremlin> g.V('u2590').map(possibleFriends.clone())
> ==>v[u4277]
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends.clone()
> gremlin> possibleFriends
> gremlin> g.V('u2590').map(possibleFriends.clone())
> The traversal strategies are complete and the traversal can no longer be modulated
> Display stack trace? [yN]
> {code}
> https://gist.github.com/okram/9feb6940c749ed9a3058
> Having a nice way of breaking down complex gremlin into functions and using them later would help modularize gremlin queries and improve readability and maintenance.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)