Description
The following triggers the failure assuming "example" isn't present on a vertex:
g.withStrategies(new SubgraphStrategy(vertexProperties: constant(true))). V().project("example").by("example")
Note that values('example") will work on 3.6.2, but not 3.5.5 which probably has something to do with differences in by() handling and ProductiveByStrategy.
gremlin> g.withStrategies(new SubgraphStrategy(vertexProperties: constant(true))). ......1> withoutStrategies(ProductiveByStrategy). ......2> V().project("example").by(values("example")) The provided traverser does not map to a value: v[1][TinkerVertex]->[PropertiesStep([example],property), OrStep([[ClassFilterStep(VertexProperty)], [TraversalFilterStep([ConstantStep(true)])]]), PropertyValueStep][DefaultGraphTraversal] parent[[TinkerGraphStep(vertex,[]), ProjectStep([example],[[PropertiesStep([example],property), OrStep([[ClassFilterStep(VertexProperty)], [TraversalFilterStep([ConstantStep(true)])]]), PropertyValueStep]])]] Type ':help' or ':h' for help. Display stack trace? [yN] ......1> V().project("example").by("example") The provided traverser does not map to a value: v[1][TinkerVertex]->[PropertiesStep([example],property), TraversalFilterStep([ConstantStep(true)]), OrStep([[ClassFilterStep(VertexProperty)], [TraversalFilterStep([ConstantStep(true)])]]), PropertyValueStep][DefaultTraversal] parent[[CoalesceStep([value([PropertiesStep([example],property), TraversalFilterStep([ConstantStep(true)]), OrStep([[ClassFilterStep(VertexProperty)], [TraversalFilterStep([ConstantStep(true)])]]), PropertyValueStep]), (null)])]] Type ':help' or ':h' for help. Display stack trace? [yN]