Может быть, вы можете попробовать что-то вроде этого:
g.V().has('organizationId', 'b121672e-8049-40cc-9f28-c62dff4cc2d9').
where(or(
out('hasStatus').or(
has('endDate', gte(1587820000)),
has('release', is(false))
),
out('hasStatus').count().is(0)
)).
project(
'EmployeeId',
'FirstName',
'LastName',
'Email',
'PhoneNumber',
'Department',
'Status',
'EndDate'
).by(id).
by('firstName').
by('lastName').by('email').
by('phoneNumber').
by('department').by(coalesce(
out('hasStatus').values('status'),
constant('no status')
)).
by(coalesce(
out('hasStatus').values('endDate'),
constant('no end date')
)).
order().
by(select('Status').
choose(
is('Red'),
constant(1),
choose(
is('Orange'),
constant(2),
choose(
is('Yellow'),
constant(3),
choose(
is('Green'),
constant(4),
constant(0)
)
)
)
))
пример: https://gremlify.com/8t