*******************************************************
                Neptune Gremlin Profile
*******************************************************

Query String
==================
g.V().has('code','LHR').outE().inV().path().by(valueMap(true)).limit(5)


Original Traversal
==================
[GraphStep(vertex,[]), HasStep([code.eq(LHR)]), VertexStep(OUT,edge), EdgeVertexStep(IN), PathStep([[PropertyMapStep(value)]]), RangeGlobalStep(0,5)]

Optimized Traversal
===================
Neptune steps:
[
    NeptuneGraphQueryStep(Vertex) {
        JoinGroupNode {
            PatternNode[VP(?1, <code>, "LHR", <~>) . project ?1 .], {estimatedCardinality=1, expectedTotalOutput=1, indexTime=0, joinTime=0, numSearches=1, actualTotalOutput=1}
            PatternNode[EL(?1, ?5, ?3, ?6) . project ?1,?6,?3 . IsEdgeIdFilter(?6) .], {estimatedCardinality=INFINITY, expectedTotalInput=1, indexTime=0, joinTime=0, numSearches=1}
        }, finishers=[limit(5)], {path=[Vertex(?1):GraphStep, Edge(?6,?1,?3):VertexStep, Vertex(?3):EdgeVertexStep], joinStats=true, optimizationTime=2, maxVarId=15, executionTime=14}
    },
    NeptunePathStep {
        NeptunePropertyMapStep {
            JoinGroupNode {
                PatternNode[VP(?1, ?8, ?9, <~>) .]
            }, {initialValues={?1=null, ?3=null, ?6=null}}
        },
        NeptunePropertyMapStep {
            JoinGroupNode {
                UnionNode {
                    PatternNode[EP(?6, ?10, ?11, <~>) .], {estimatedCardinality=63580}
                    PatternNode[EL(?, ?12, ?, ?6) .], {estimatedCardinality=INFINITY}
                }
            }, {initialValues={?1=null, ?3=null, ?6=null}}
        },
        NeptunePropertyMapStep {
            JoinGroupNode {
                PatternNode[VP(?3, ?13, ?14, <~>) .]
            }, {initialValues={?1=null, ?3=null, ?6=null}}
        }
    },
    NeptuneTraverserConverterStep
]


Physical Pipeline
=================
NeptuneGraphQueryStep
    |-- StartOp
    |-- JoinGroupOp@2f500db7
        |-- DynamicJoinOp@78b965ae(PipelineJoinOp(PatternNode[VP(?1, <code>, "LHR", <~>) . project ?1 .], {estimatedCardinality=1, expectedTotalOutput=1}))
        |-- SpoolerOp(100, @78b965ae, null)
        |-- DynamicJoinOp@67012ec9(PipelineJoinOp(PatternNode[EL(?1, ?5, ?3, ?6) . project ?1,?6,?3 . IsEdgeIdFilter(?6) .], {estimatedCardinality=INFINITY, expectedTotalInput=1}))
        |-- LimitOp(5)

NeptunePathStep
    |-- BindingSetQueue
    |-- JoinGroupOp@6a996745
        |-- DynamicJoinOp@417c3e4f(PipelineJoinOp(PatternNode[VP(?1, ?8, ?9, <~>) .]))

    |-- BindingSetQueue
    |-- JoinGroupOp@2b0c033
        |-- UnionOp@44764c1
            |-- MultiplexerOp

    |-- BindingSetQueue
    |-- JoinGroupOp@60bf88a9
        |-- DynamicJoinOp@32903d93(PipelineJoinOp(PatternNode[VP(?3, ?13, ?14, <~>) .]))

Runtime (ms)
============
Query Execution: 18.669
Serialization:   15.464

Traversal Metrics
=================
Step                                                               Count  Traversers       Time (ms)    % Dur
-------------------------------------------------------------------------------------------------------------
NeptuneGraphQueryStep(Vertex)                                          5           5           2.152    20.56
NeptunePathStep([[NeptunePropertyMapStep], [Nep...                     5           5           4.317    41.25
NeptuneTraverserConverterStep                                          5           5           3.997    38.19
                                            >TOTAL                     -           -          10.466        -

Predicates
==========
# of predicates: 18

Results
=======
Count: 5
Output: [path[{country=[UK], code=[LHR], longest=[12799], city=[London], lon=[-0.461941003799], type=[airport], label=airport, elev=[83], icao=[EGLL], id=49, runways=[2], region=[GB-ENG], lat=[51.4706001282], desc=[London Heathrow]}, {dist=3533, id=9144, lab...
Response serializer: application/vnd.gremlin-v3.0+json
Response size (bytes): 10162


Index Operations
================
Query execution:
    # of statement index ops: 18
    # of unique statement index ops: 18
    Duplication ratio: 1.0
    # of terms materialized: 0
Serialization:
    # of statement index ops: 18
    # of unique statement index ops: 18
    Duplication ratio: 1.0
    # of terms materialized: 0
