coalesce

Return a value based on the first traversal that has an element.

Synopsis

coalesce(traversal,traversal_1, ...)
Table 1. Legend
Syntax conventions Description
Lowercase and uppercase Literal keyword. Includes ().
Italics Variable value. Replace with a user-defined value.
[] Optional. Square brackets ( [] ) surround optional command arguments. Do not type the square brackets.
{} Group. Braces ( {} ) identify a group to choose from. Do not type the braces.
| Or. A vertical bar ( | ) separates alternative elements. Type any one of the elements. Do not type the vertical bar.
... Repeatable. An ellipsis ( ... ) indicates that you can repeat the syntax element as often as required.

Description

The coalesce() step evaluates the provided traversals in order and returns the first traversal that emits at least one element.

Examples

Create a list of each person and their mean average of stars given for recipe reviews, using coalesce() to either print the mean or print a constant zero value if no reviews are found:
"g.V().hasLabel('person').as('person','starCount').
  select('person','starCount').
    by('name').
    by(coalesce(outE('reviewed').values('stars'),constant(0)).mean()).
  order().by(select('starCount'), decr)"