This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit a031294e98da7554d641369b68f82c77fdc88211 Author: Stephen Mallette <[email protected]> AuthorDate: Sat Jul 25 20:06:54 2026 +0000 Clarify group() callouts: non-productive key vs value projection differ The two group()-step examples that project 'age' as a key and then as a value were annotated with symmetric callouts, but their runtime behavior is asymmetric. A non-productive key-projection excludes the vertex from the result map entirely (no key is produced), while a non-productive value-projection retains the key with an empty value list. Reword the two callouts to describe each case accurately and contrast them. Assisted-by: Kiro:claude-opus-4.8 --- docs/src/reference/the-traversal.asciidoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc index 2ee333e435..2d0251bd3a 100644 --- a/docs/src/reference/the-traversal.asciidoc +++ b/docs/src/reference/the-traversal.asciidoc @@ -1823,8 +1823,8 @@ g.V().group().by('age').by('name') <1> g.V().group().by('name').by('age') <2> ---- -<1> The "age" property is not <<by-step,productive>> for all vertices and therefore those keys are filtered. -<2> The "age" property is not <<by-step,productive>> for all vertices and therefore those values are filtered. +<1> The "age" property is not <<by-step,productive>> for all vertices, so those vertices are excluded from the result map entirely (no key is produced for them). Compare with the following example, where a non-productive value-projection instead retains the key with an empty list. +<2> The "age" property is not <<by-step,productive>> for all vertices; those vertices still appear as keys (since "name" is productive for all) but their value lists are empty because no age value exists to collect. *Additional References*
