You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Daniel C. Weber (Jira)" <ji...@apache.org> on 2021/04/21 22:17:00 UTC

[jira] [Commented] (TINKERPOP-2112) Folding in property() step is not being optimally performed

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

Daniel C. Weber commented on TINKERPOP-2112:
--------------------------------------------

Currently evaluating Neptune, and this still seems to be a thing in the latest engine (1.0.4.1).

> Folding in property() step is not being optimally performed
> -----------------------------------------------------------
>
>                 Key: TINKERPOP-2112
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2112
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.3.4
>            Reporter: Daniel Kuppitz
>            Assignee: Stephen Mallette
>            Priority: Major
>             Fix For: 3.3.7, 3.4.2
>
>
> Somehow we mess up the folding in {{property()}} step when it's used with tokens. I think there's just a missing {{if}} branch, but needs further investigation.
> {noformat}
> gremlin> g = TinkerGraph.open().traversal()
> ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
> gremlin> g.addV().property(T.id , 'id').property(single, 'k', 'v')
> ==>v[id]
> gremlin> g.addV().property(single, 'k', 'v').property(T.id , 'id')
> org.apache.tinkerpop.gremlin.structure.T$2 cannot be cast to java.lang.String
> Type ':help' or ':h' for help.
> Display stack trace? [yN]
> {noformat}
> {noformat}
> gremlin> g = TinkerGraph.open().traversal()
> ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
> gremlin> g.addV().property(T.id , 'id').property(single, 'k', 'v').explain()
> ==>Traversal Explanation
> =========================================================================================================
> Original Traversal                 [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> ConnectiveStrategy           [D]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> MatchPredicateStrategy       [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> FilterRankingStrategy        [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> InlineFilterStrategy         [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> IncidentToAdjacentStrategy   [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> AdjacentToIncidentStrategy   [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> RepeatUnrollStrategy         [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> PathRetractionStrategy       [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> CountStrategy                [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> LazyBarrierStrategy          [O]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> TinkerGraphCountStrategy     [P]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> TinkerGraphStepStrategy      [P]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> ProfileStrategy              [F]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> StandardVerificationStrategy [V]   [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> Final Traversal                    [AddVertexStartStep({id=[id]}), AddPropertyStep({key=[k], value=[v]})]
> gremlin> g.addV().property(single, 'k', 'v').property(T.id , 'id').explain()
> ==>Traversal Explanation
> ===========================================================================================================================================
> Original Traversal                 [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> ConnectiveStrategy           [D]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> MatchPredicateStrategy       [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> FilterRankingStrategy        [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> InlineFilterStrategy         [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> IncidentToAdjacentStrategy   [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> AdjacentToIncidentStrategy   [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> RepeatUnrollStrategy         [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> PathRetractionStrategy       [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> CountStrategy                [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> LazyBarrierStrategy          [O]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> TinkerGraphCountStrategy     [P]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> TinkerGraphStepStrategy      [P]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> ProfileStrategy              [F]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> StandardVerificationStrategy [V]   [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> Final Traversal                    [AddVertexStartStep({}), AddPropertyStep({key=[k], value=[v]}), AddPropertyStep({key=[id], value=[id]})]
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)