I want to retrieve name of all movies and their genre. It's ok if information about genre is empty, but if genre is known I want to retrieve it.
"/film/film/genre": [{"id":null,"optional":"optional"}]
But I'm not interested in gay pornography, so I want to exclude all movies with genre "/en/gay_pornography".
"/film/film/genre": [{"id|=":["/en/gay_pornography"],"optional":"forbidden"}]
The problem is, how to combine it in one query? I.e. how to get all movies, even those with no genre and exclude pr0n?
Edit: it's required to exclude multiple genres, e.g. also /en/pornographic_movie
You're basically there: you just need two "genre" clauses. MQL lets you do this by allowing arbitrary prefixes on any clause:
http://tinyurl.com/4449ufg
Use the "but not" operator:
Full example: http://tinyurl.com/3tjdb4j
Edit: This doesn't answer the question. It just prevents that particular id from being listed as a genre of the film but doesn't forbid the film. @phillip-kendal's answer is correct.