[ 
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)

Reply via email to