You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Marko Rodriguez <ok...@gmail.com> on 2017/03/16 18:21:32 UTC

Breaking change SimplerPathStep and CyclicPathStep

Hello,

Please see:

	https://github.com/apache/tinkerpop/pull/574 <https://github.com/apache/tinkerpop/pull/574>

SimplePathStep and CyclicPathStep have been generalized to PathFilterStep and now we have to(), from(), and by() modulation support for both simplePath() and cyclicPath(). Minor breaking change that will more than 99% likely not effect any providers and if it does, a simple name change would do the fix.

Heads up,
Marko.

http://markorodriguez.com




Re: Breaking change SimplerPathStep and CyclicPathStep

Posted by Marko Rodriguez <ok...@gmail.com>.
Hey,

Check it out.

gremlin> g.V().as('a').out().as('b’).   // COULD ALWAYS DO
           simplePath().
           path().by('name')
==>[marko,lop]
==>[marko,vadas]
==>[marko,josh]
==>[josh,ripple]
==>[josh,lop]
==>[peter,lop]

gremlin> g.V().as('a').out().as('b’).   // CAN NOW DO
           simplePath().by(label).
           path().by('name')
==>[marko,lop]
==>[josh,ripple]
==>[josh,lop]
==>[peter,lop]

So we added by()-modulation to simplePath() and cyclicPath(). Now, like path().by()-modulation, you can first project the path and then determine whether its a cyclic or simple projection.

Moreover, add that goodness with from().to()-modulation support for path(), simplePath(), and cyclicPath().

gremlin> g.V().as('a').out().as('b').out().as('c’).   // COULD ALWAYS DO
           path().by('name')
==>[marko,josh,ripple]
==>[marko,josh,lop]
gremlin> g.V().as('a').out().as('b').out().as('c’).
           path().by('name').from('a').to('b’)        // CAN NOW DO
==>[marko,josh]
==>[marko,josh]

And drum roll please… <…Billy Jean is a really good song />

gremlin> g.V().as('a').out().as('b').out().as('c’).
            simplePath().by(label).
            path().by('name')
gremlin>
gremlin> g.V().as('a').out().as('b').out().as('c’).
           simplePath().from('b').to('c').by(label).
           path().by('name')
==>[marko,josh,ripple]
==>[marko,josh,lop]

Na na!

*** Kuppitz can show you how do the traversal current in TinkerPop 3.2.4 and below. Its righteous.

Now REO Speedwagon is on Pandora,
Marko.


Well I meant every word I said.
When I said that "I love you" I meant that I’d love you forever.
Cause I’m going to keep on loving you!
Cause its the only thing I want to do!
I don’t want to sleep, I just want to keep on lovin’ you!
<beautiful hold on a Les Paul, draw that string back down oh so smooth guitar solo… glory be the gods! />


http://markorodriguez.com



> On Mar 16, 2017, at 12:21 PM, Marko Rodriguez <ok...@gmail.com> wrote:
> 
> Hello,
> 
> Please see:
> 
> 	https://github.com/apache/tinkerpop/pull/574 <https://github.com/apache/tinkerpop/pull/574>
> 
> SimplePathStep and CyclicPathStep have been generalized to PathFilterStep and now we have to(), from(), and by() modulation support for both simplePath() and cyclicPath(). Minor breaking change that will more than 99% likely not effect any providers and if it does, a simple name change would do the fix.
> 
> Heads up,
> Marko.
> 
> http://markorodriguez.com <http://markorodriguez.com/>
> 
> 
>