Запросы примерно такие
Вернуть все вершины такие, что (достижимы из (A и (B или C))) и (не достижимы из (D и E)).
Запрос может быть сформирован с любыми булевыми ограничениями на достижимость.
Существуют ли эффективные методы для быстрого выполнения этого запроса? Помимо того, что на самом деле найти набор всех достижимых вершин интересующего элемента, нужно ли объединять, пересекать и устанавливать минус в этих наборах?