You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Ted Wilmes (JIRA)" <ji...@apache.org> on 2016/12/07 23:47:00 UTC

[jira] [Commented] (TINKERPOP-1583) PathRetractionStrategy retracts keys that are actually needed

    [ https://issues.apache.org/jira/browse/TINKERPOP-1583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15730335#comment-15730335 ] 

Ted Wilmes commented on TINKERPOP-1583:
---------------------------------------

Thanks for reporting this [~gereedy].  I'll take a look.

> PathRetractionStrategy retracts keys that are actually needed
> -------------------------------------------------------------
>
>                 Key: TINKERPOP-1583
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1583
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.2.3
>            Reporter: Geoff Reedy
>
> We've seen this specifically for labels used in the until modulator of repeat but I suspect it happens for other modulators as well. Here's a test case:
> {code}
> graph = TinkerGraph.open()
> g = graph.traversal()
> g.addV().as("first").repeat(addE("next").to(addV()).inV()).times(5).addE("next").to(select("first")).iterate()
> g.V().limit(1).as('z').out().repeat(store('seen').out().where(without('seen'))).until(where(eq('z')))
> {code}
> complains there is no z-key
> I tired to fix it myself and submit a pull request but I found the implementation of PathRetractionStrategy confusing.
> One thing I noticed is that it seems the set of labels a step needs present in order to work properly is determined external to the steps and that code includes a lot of type-tests. If that logic were pushed down into the step implementations I think fixing the repeat case would be easier and it would be possible for extension steps to work properly with this strategy (currently it seems they can't because of the closed-world assumption inherent in the type-casing).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)