В настоящее время в операторе MATCH нет опции OR, поэтому необходимо использовать два запроса и unionAll:
select unionAll($a, $b)
LET
$a = (MATCH
{class: user, where:(userid='User1'), as: u},
{as:u}-accessTo->{class: so,where:(projectId='Project1'), as: r},
RETURN r),
$b = (MATCH
{class: user, where:(userid='User1'), as: u},
{as:u}-memberOf->{class: group, where:(projectId='Project1')}-accessTo->
{class: so,as: r}
RETURN r),
)