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

stephen mallette commented on TINKERPOP-1480:
---------------------------------------------

Sorry, when i read your question, i feel like you could be asking one of two 
things. Gremlin Server definitely returns the {{Traverser}} and its bulk value 
(assuming you send a remote {{Traversal}} and not a gremlin string of course). 
is that what you were asking or something else?



> PathRestractionStrategy shouldn't NoOpBarrierStep if it will be the end step.
> -----------------------------------------------------------------------------
>
>                 Key: TINKERPOP-1480
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1480
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.2
>            Reporter: Marko A. Rodriguez
>
> {code}
> gremlin> 
> g.V().filter(has('name','marko')).match(__.as('a').has('age',32),__.as('a').out('knows').as('b')).where('a',neq('b')).select('a').by('name').explain()
> ==>Traversal Explanation
> ==========================================================================================================================================================================================================================================================================================================================
> Original Traversal                 [GraphStep(vertex,[]), 
> TraversalFilterStep([HasStep([name.eq(marko)])]), 
> MatchStep(AND,[[MatchStartStep(a), HasStep([age.eq(32)]), MatchEndStep], 
> [MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)]]), 
> WherePredicateStep(a,neq(b)), SelectOneStep(a,value(name))]
> ConnectiveStrategy           [D]   [GraphStep(vertex,[]), 
> TraversalFilterStep([HasStep([name.eq(marko)])]), 
> MatchStep(AND,[[MatchStartStep(a), HasStep([age.eq(32)]), MatchEndStep], 
> [MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)]]), 
> WherePredicateStep(a,neq(b)), SelectOneStep(a,value(name))]
> IncidentToAdjacentStrategy   [O]   [GraphStep(vertex,[]), 
> TraversalFilterStep([HasStep([name.eq(marko)])]), 
> MatchStep(AND,[[MatchStartStep(a), HasStep([age.eq(32)]), MatchEndStep], 
> [MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)]]), 
> WherePredicateStep(a,neq(b)), SelectOneStep(a,value(name))]
> AdjacentToIncidentStrategy   [O]   [GraphStep(vertex,[]), 
> TraversalFilterStep([HasStep([name.eq(marko)])]), 
> MatchStep(AND,[[MatchStartStep(a), HasStep([age.eq(32)]), MatchEndStep], 
> [MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)]]), 
> WherePredicateStep(a,neq(b)), SelectOneStep(a,value(name))]
> InlineFilterStrategy         [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)]]), WherePredicateStep(a,neq(b)), 
> SelectOneStep(a,value(name))]
> MatchPredicateStrategy       [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)], [MatchStartStep(a), WherePredicateStep(neq(b)), 
> MatchEndStep]]), SelectOneStep(a,value(name))]
> FilterRankingStrategy        [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)], [MatchStartStep(a), WherePredicateStep(neq(b)), 
> MatchEndStep]]), SelectOneStep(a,value(name))]
> RepeatUnrollStrategy         [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)], [MatchStartStep(a), WherePredicateStep(neq(b)), 
> MatchEndStep]]), SelectOneStep(a,value(name))]
> RangeByIsCountStrategy       [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)], [MatchStartStep(a), WherePredicateStep(neq(b)), 
> MatchEndStep]]), SelectOneStep(a,value(name))]
> PathRetractionStrategy       [O]   [GraphStep(vertex,[]), 
> HasStep([name.eq(marko)])@[a], HasStep([age.eq(32)]), 
> MatchStep(AND,[[MatchStartStep(a), VertexStep(OUT,[knows],vertex), 
> MatchEndStep(b)], [MatchStartStep(a), WherePredicateStep(neq(b)), 
> MatchEndStep]]), SelectOneStep(a,value(name)), NoOpBarrierStep(2500)]
> TinkerGraphStepStrategy      [P]   [TinkerGraphStep(vertex,[name.eq(marko), 
> age.eq(32)])@[a], MatchStep(AND,[[MatchStartStep(a), 
> VertexStep(OUT,[knows],vertex), MatchEndStep(b)], [MatchStartStep(a), 
> WherePredicateStep(neq(b)), MatchEndStep]]), SelectOneStep(a,value(name)), 
> NoOpBarrierStep(2500)]
> ProfileStrategy              [F]   [TinkerGraphStep(vertex,[name.eq(marko), 
> age.eq(32)])@[a], MatchStep(AND,[[MatchStartStep(a), 
> VertexStep(OUT,[knows],vertex), MatchEndStep(b)], [MatchStartStep(a), 
> WherePredicateStep(neq(b)), MatchEndStep]]), SelectOneStep(a,value(name)), 
> NoOpBarrierStep(2500)]
> StandardVerificationStrategy [V]   [TinkerGraphStep(vertex,[name.eq(marko), 
> age.eq(32)])@[a], MatchStep(AND,[[MatchStartStep(a), 
> VertexStep(OUT,[knows],vertex), MatchEndStep(b)], [MatchStartStep(a), 
> WherePredicateStep(neq(b)), MatchEndStep]]), SelectOneStep(a,value(name)), 
> NoOpBarrierStep(2500)]
> Final Traversal                    [TinkerGraphStep(vertex,[name.eq(marko), 
> age.eq(32)])@[a], MatchStep(AND,[[MatchStartStep(a), 
> VertexStep(OUT,[knows],vertex), MatchEndStep(b)], [MatchStartStep(a), 
> WherePredicateStep(neq(b)), MatchEndStep]]), SelectOneStep(a,value(name)), 
> NoOpBarrierStep(2500)]
> {code}
> I don't think we should add the {{NoOpBarrierStep}} at the end. Need to think 
> it through though...
> [~spmallette]: GremlinServer tries to "bulk the stream" before sending back 
> over the wire, right?



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

Reply via email to