[
https://issues.apache.org/jira/browse/TINKERPOP-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15821928#comment-15821928
]
Ted Wilmes edited comment on TINKERPOP-1597 at 1/13/17 4:02 PM:
----------------------------------------------------------------
The {{dedup}} step is incorrectly dropping labels because there is a bug
related to child traversals. I'll clean up my quick and dirty test fix and
submit a PR.
was (Author: twilmes):
The {{dedup}} step is incorrectly dropping labels because their is a bug
related to child traversals. I'll clean up my quick and dirty test fix and
submit a PR.
> PathRetractionStrategy messing up certain traversals
> ----------------------------------------------------
>
> Key: TINKERPOP-1597
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1597
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.3.0
> Reporter: Daniel Kuppitz
> Assignee: Ted Wilmes
>
> There are certain types of traversals that do not work when
> {{PathRetractionStrategy}} is included. This ticket discusses one specific
> case that is only reproducible in {{3.3.0-SNAPSHOT}} / current {{master/}}.
> Here's the traversal and the expected result:
> {noformat}
> gremlin>
> g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").select("a","b").,
> project("a").by(select("a")))
> ==>[a:v[2]]
> ==>[a:v[1],b:e[9][1-created->3]]
> ==>[a:v[1],b:e[7][1-knows->2]]
> ==>[a:v[1],b:e[8][1-knows->4]]
> {noformat}
> With {{PathRetractionStrategy}} included we get:
> {noformat}
> gremlin>
> g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"),
> select("a","b"), project("a").by(select("a")))
> ==>[a:v[2]]
> {noformat}
> What's interesting is, that the following 2 traversals compile to the same
> final traversal (according to {{.explain()}}):
> {noformat}
> g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").barrier(2500),
> select("a","b").barrier(2500), project("a").by(select("a").barrier(2500)))
> g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"),
> select("a","b"), project("a").by(select("a")))
> {noformat}
> ...but the one w/ {{PathRetractionStrategy}} still returns the wrong result,
> while the other traversal returns the expected result.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)