MATCH (p:Person)-[:HAS_ROLE]->(:Role{name:"Manager"})
WHERE (p)-[:HAS_ROLE]->(:Role{name:"QA"})
RETURN p
этот запрос может быть использован, если его всего две роли. Но если вы хотите попробовать для многих, то
MATCH (p:Person)-[:HAS_ROLE]->(r:Role)
WITH p, COLLECT(r.name) as roles
WHERE ALL (x IN ["Manager","QA"] WHERE x IN roles)
RETURN p
вы можете обновить ["Manager","QA"]
со всеми ролями, которые вы хотите проверить для человека.