Step - discard
discard() filters out every traverser. It is TinkerPop 3.8's name for the step that older
versions (and Graphersal before 0.1.0) called none(); none(P) is now a
list predicate.
g.V().hasLabel("person").discard().to_list() // []
g.V().discard().fold().to_list() // [[]]: fold() still emits its seed
g.V().project("x").by(__.coalesce(__.values("age").is(P.gt(29)), __.discard())).select("x").to_list()
// [32, 35]
The last query uses discard() as the "drop it" branch of coalesce(): a vertex younger than 30
(or without an age) produces nothing, so project()'s by() is unproductive and the vertex is
dropped. discard() is also the usual option(Pick.none, __.discard()) of choose().
Rust: GraphTraversalSource::discard(), __::discard().