Query - некий объект. По сути AST, код делает из него словарь. В некоторых узлах могут быть списки, эти списки могут содержать другие словари, словари со вложенными словарями и списками и т.д. Всё, что в списках должно быть как-то отсортировано, не важно как, потому что порядок элементов в списках не важен, но должен быть всегда одинаковым, не зависимо от того какой порядок в исходном дереве.