@Q: FOR v,e,p IN 1..3 OUTBOUND 'circles/A' GRAPH 'traversalGraph' FILTER p.edges[0].label == 'right_foo' RETURN v._key @R Query String: FOR v,e,p IN 1..3 OUTBOUND 'circles/A' GRAPH 'traversalGraph' FILTER p.edges[0].label == 'right_foo' RETURN v._key Execution plan: Id NodeType Est. Comment 1 SingletonNode 1 * ROOT 2 TraversalNode 1 - FOR v /* vertex */ IN 1..3 /* min..maxPathDepth */ OUTBOUND 'circles/A' /* startnode */ GRAPH 'traversalGraph' 5 CalculationNode 1 - LET #7 = v.`_key` /* attribute expression */ 6 ReturnNode 1 - RETURN #7 Indexes used: By Type Collection Unique Sparse Selectivity Fields Ranges 2 edge edges false false n/a [ `_from`, `_to` ] base OUTBOUND 2 edge edges false false n/a [ `_from`, `_to` ] level 0 OUTBOUND Traversals on graphs: Id Depth Vertex collections Edge collections Options Filter / Prune Conditions 2 1..3 circles edges uniqueVertices: none, uniqueEdges: path FILTER (p.`edges`[0].`label` == "right_foo") Optimization rules applied: Id RuleName 1 move-calculations-up 2 move-filters-up 3 move-calculations-up-2 4 move-filters-up-2 5 optimize-traversals 6 remove-filter-covered-by-traversal 7 remove-unnecessary-calculations-2 8 remove-redundant-path-var