Используется для указания условий, которые должны быть выполнены для узлов, включаемых в результат запроса и является надмножеством условий языка SQL. Условия в запросах позволяют вам контролировать, какие данные извлекаются и как они обрабатываются.
Например, вы можете использовать условие для выбора всех узлов, где значение определенного поля равно определенному значению – name = 'ng', или price <= 1000 and status = 'in-stock'.
Для ссылочных полей имена указываются через точку. Например, у нас есть тип «книга», у которого есть поле authors, указывающее на тип author. Если мы хотим выбрать все книги Михаила Булгакова, то условие может быть таким – author.name = 'Михаил Булгаков'. Если у типа author есть поле city, указывающее на город, у которого есть телефонный код, то запрос на выбор всех книг, авторы которых проживают в Москве может быть таким – author.city.code = 495.
Для того, чтобы наложить условие на наличие или отсутствие значений в ссылочном поле необходимо использовать выражение is (not) null. Например author.city is not null вернет книги всех авторов, у которых указан город, а author.city is null те, у которых не указан.
Ну и конечно, ваше условие может быть таким:
status = 'in-stock' and (price <= 1000 or discount = 1) and (name like 'Мастер и%' or author.lastName = 'Булгаков')