Daniel Kuppitz created TINKERPOP-1629:
-----------------------------------------

             Summary: Allow reducing barriers in repeat()
                 Key: TINKERPOP-1629
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1629
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.3.0
            Reporter: Daniel Kuppitz


The following query transforms the modern graph into layers:

{noformat}
gremlin> 
g.V(1).aggregate("a").fold().store("x").unfold().both().where(without("a")).dedup().
......1>        
aggregate("a").fold().store("x").unfold().both().where(without("a")).dedup().
......2>        
aggregate("a").fold().store("x").unfold().both().where(without("a")).dedup().
......3>        cap("x").next()
==>[v[1]]
==>[v[3],v[2],v[4]]
==>[v[6],v[5]]
{noformat}

The index of each list represents the minimum distance of the vertices it 
contains from {{v\[1]}}.

There's obviously a lot of code duplication, but even worse: the max. depth has 
to be known upfront. {{repeat()}} could solve that, but currently fails if it 
contains a reducing barrier step (in OLTP and OLAP).

{noformat}
gremlin> 
g.V(1).repeat(aggregate("a").fold().store("x").unfold().both().where(without("a")).dedup()).cap("x").next()
The parent of a reducing barrier can not be repeat()-step: FoldStep
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to