Я все еще считаю, что это плохой дизайн, и производительность здесь будет плохой.
g.V().hasLabel('employee').as('e').
project('name', 'department name').
by('name').
by(V().hasLabel('department').
has('_id', select('e').
values('departmentId')).values('name'))
пример: https://gremlify.com/kudcz61i5j
Может быть, это будет лучшая производительность:
g.V().hasLabel('department', 'employee').
group().by(coalesce(
hasLabel('department').values('_id'),
hasLabel('employee').values('departmentId')
)).
by(fold().as('group').unfold().
hasLabel('employee').
project('name', 'department name').
by('name').
by(select('group').unfold().
hasLabel('department').values('name')).
fold())
пример: https://gremlify.com/nndmumlshmo