diff --git a/arangod/VocBase/TraverserOptions.cpp b/arangod/VocBase/TraverserOptions.cpp index 246b13936a..cb707aa1e9 100644 --- a/arangod/VocBase/TraverserOptions.cpp +++ b/arangod/VocBase/TraverserOptions.cpp @@ -480,6 +480,9 @@ bool TraverserOptions::evaluateEdgeExpression(arangodb::velocypack::Slice edge, idNode->stealComputedValue(); idNode->setStringValue(vertexId.data(), vertexId.length()); } + if (edge.isExternal()) { + edge = edge.resolveExternal(); + } return evaluateExpression(expression, edge); } @@ -495,6 +498,9 @@ bool TraverserOptions::evaluateVertexExpression( expression = _baseVertexExpression; } + if (vertex.isExternal()) { + vertex = vertex.resolveExternal(); + } return evaluateExpression(expression, vertex); }