(2) представляется правильным запросом
Я не понимаю часть (3) вашего вопроса. (2) нельзя сравнивать с логическим значением, поскольку он возвращает набор результатов. Если вы хотите получить логический результат, вам нужно использовать запрос ASK. Если запрос ASK возвращает true, это означает, что в запросе данных есть решения для запроса, поэтому он не будет пустым результатом.