[
https://issues.apache.org/jira/browse/TINKERPOP-2481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17260730#comment-17260730
]
ASF GitHub Bot commented on TINKERPOP-2481:
-------------------------------------------
spmallette opened a new pull request #1378:
URL: https://github.com/apache/tinkerpop/pull/1378
https://issues.apache.org/jira/browse/TINKERPOP-2481
https://issues.apache.org/jira/browse/TINKERPOP-2499
Before:
```text
gremlin> g.V().match(__.as("a").out("knows").as("b"))
==>[a:v[1],b:v[2]]
==>[a:v[1],b:v[4]]
gremlin> g.V().match(__.as("a").out("knows").as("b")).unfold()
gremlin> g.V().match(__.as("a").out("knows").as("b")).identity()
==>[]
==>[]
```
After:
```text
gremlin> g.V().match(__.as("a").out("knows").as("b"))
==>[a:v[1],b:v[2]]
==>[a:v[1],b:v[4]]
gremlin> g.V().match(__.as("a").out("knows").as("b")).identity()
==>[a:v[1],b:v[2]]
==>[a:v[1],b:v[4]]
gremlin> g.V().match(__.as("a").out("knows").as("b")).unfold()
==>a=v[1]
==>b=v[2]
==>a=v[1]
==>b=v[4]
```
This change goes for consistency of output over optimization avoiding a
situation where the addition of a step alters its behavior in some unexpected
way. This is effectively a breaking change as it modifies the output of
traversal output.
All tests pass with `docker/build.sh -t -n -i`
VOTE +1
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> IdentityRemovalStrategy not installed
> -------------------------------------
>
> Key: TINKERPOP-2481
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2481
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.4.8
> Reporter: Stephen Mallette
> Priority: Minor
>
> I'm not sure why but {{IdentityRemovalStrategy}} is not in play and almost
> looks like it never has been, yet I fairly certain we've gone about life
> thinking it was one of our standard strategies. Perhaps this issue title will
> shift once this is given more thought but I came to [notice this
> issue|https://groups.google.com/g/gremlin-users/c/HVtldzV0Xk8/m/saCBYsEQBgAJ]
> with this example:
> {code}
> gremlin> g.V().match(__.as("a").out("knows").as("b")).identity()
> ==>[]
> ==>[]
> gremlin>
> g.withStrategies(IdentityRemovalStrategy.instance()).V().match(__.as("a").out("knows").as("b")).identity()
> ==>[a:v[1],b:v[2]]
> ==>[a:v[1],b:v[4]]
> {code}
> So if the strategy had been in play, {{PathRetractionStrategy}} wouldn't have
> trimmed the history. Or, perhaps {{PathRetractionStrategy}} should have been
> smarter....
--
This message was sent by Atlassian Jira
(v8.3.4#803005)