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

Marko A. Rodriguez commented on TINKERPOP-1280:
-----------------------------------------------

Hmm. {{TraversalVertexProgram}} is the only {{VertexProgram}} that uses 
traversers and {{TraversalVertexProgramStep}} has:

{code}
    @Override
    public Set<TraverserRequirement> getRequirements() {
        return 
TraversalParent.super.getSelfAndChildRequirements(TraverserRequirement.BULK);
    }

{code}

Ah... Are you using traversers in {{program()}}? If so, can you give an example 
of your usage so I can better understand how you leverage 
{{ProgramVertexProgramStep}}. The problem is that {{ProgramVertexProgramStep}} 
current doesn't implement {{getRequirements()}} as how would it introspect?! 
... As ghetto solution, you know you can always do:

{code}
RequirementsStrategy.addRequirements(g.getStrategies(), 
TraverserRequirement.BLAH, TraverserRequirement.BLOOP);
g.V()
g.V()..
g....
{code}

> VertexPrograms should declare traverser requirements
> ----------------------------------------------------
>
>                 Key: TINKERPOP-1280
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1280
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.0-incubating
>            Reporter: Daniel Kuppitz
>
> VertexPrograms should declare their {{TraverserRequirement}} which can then 
> be propagated by the {{program()}} step. Most VPs (at least the ones I have 
> written so far) rely on (labeled) path information and thus will fail if the 
> actual traversal doesn't use any other steps with the same traverser 
> requirements. I keep running into this issue whenever I write a new VP.



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

Reply via email to