[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15628858#comment-15628858 ] ASF GitHub Bot commented on TINKERPOP-1508: --- Github user asfgit closed the pull request at: https://github.com/apache/tinkerpop/pull/472 > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15628811#comment-15628811 ] ASF GitHub Bot commented on TINKERPOP-1508: --- Github user PommeVerte commented on the issue: https://github.com/apache/tinkerpop/pull/472 VOTE +1 > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15624090#comment-15624090 ] ASF GitHub Bot commented on TINKERPOP-1508: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/472 VOTE: +1 > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623946#comment-15623946 ] ASF GitHub Bot commented on TINKERPOP-1508: --- Github user okram commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/472#discussion_r85862272 --- Diff: gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseStepTest.java --- @@ -38,7 +42,10 @@ return Arrays.asList( __.choose(values("name")).option("marko", out()).option(none, in()), __.choose(values("name")).option("marko", in()).option(none, out()), -__.choose(values("name")).option("josh", out()).option(none, in()) +__.choose(values("name")).option("josh", out()).option(none, in()), +__.choose(out("knows").is(P.gt(0)), out("knows"), out("knows")), +__.choose(out("knows").is(P.gt(0)), out("knows"), out("created")), +__.choose(out("knows").is(P.gt(0)), out("knows")) --- End diff -- Yea, I meant `count()`. I can add it before merge. > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623873#comment-15623873 ] ASF GitHub Bot commented on TINKERPOP-1508: --- Github user dkuppitz commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/472#discussion_r85858468 --- Diff: gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseStepTest.java --- @@ -38,7 +42,10 @@ return Arrays.asList( __.choose(values("name")).option("marko", out()).option(none, in()), __.choose(values("name")).option("marko", in()).option(none, out()), -__.choose(values("name")).option("josh", out()).option(none, in()) +__.choose(values("name")).option("josh", out()).option(none, in()), +__.choose(out("knows").is(P.gt(0)), out("knows"), out("knows")), +__.choose(out("knows").is(P.gt(0)), out("knows"), out("created")), +__.choose(out("knows").is(P.gt(0)), out("knows")) --- End diff -- It's pretty irrelevant for these tests, but `out("knows").is(gt(0))` makes no sense at all. Was it meant to be `out("knows").count().is(gt(0))`? > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TINKERPOP-1508) Add choose(predicate,trueTraversal)
[ https://issues.apache.org/jira/browse/TINKERPOP-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623095#comment-15623095 ] ASF GitHub Bot commented on TINKERPOP-1508: --- GitHub user okram opened a pull request: https://github.com/apache/tinkerpop/pull/472 TINKERPOP-1508: Add choose(predicate,trueTraversal) https://issues.apache.org/jira/browse/TINKERPOP-1508 Added `GraphTraversal.choose(predicate,traversal)` and `GraphTraversal.choose(traversal,traversal)`. These are implemented as `choose(traversal,identity())`. Up to this point, `choose()` has been if/then/else-semantics and now with addition, we have if/then-semantics. VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1508 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/472.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #472 commit 659865bdb1a5e2db9e01847eb641101cab3d090a Author: Marko A. Rodriguez Date: 2016-10-31T19:23:42Z added choose(predicate,traversal) which is a map to choose(predicate,traversal,identity()) and gives us if/then-semantics instead of always requiring if/then/else-semantics. > Add choose(predicate,trueTraversal) > --- > > Key: TINKERPOP-1508 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1508 > Project: TinkerPop > Issue Type: Improvement > Components: process >Affects Versions: 3.2.2 >Reporter: Marko A. Rodriguez > > {{choose()}} supports > {{choose(predicateTraversal,trueTraversal,falseTraversal)}}. > I have lots of code that does this: > {code} > choose(blah(), bloop(), identity()) > {code} > That is, if the predicate traversal doesn't hold, I simply want the incoming > traverser to be emitted -- {{identity()}}. This is sort of like > {{optional()}}, but the predicate is something different from the branch. It > would be nice to be able to simply say: > {code} > choose(blah(),bloop()) > {code} > ...where its understood that a "false" means {{identity()}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)