GraphQL: Connected filter on non-scalar list element fields

I agree with you that this is something that cannot currently be done in a single query with GraphQL. The cascade directive does not solve this use case because you are wanting a AND filter on a child and cascade would only make sure that there is a child not that there are children of each type. A way around this in GraphQL currently would be to use cascade with alias edges. Create an alias for each child that must be included.

However, we currently solve this problem with filtering using deep logic by using DQL (New to DQL?). With DQL, we can create multiple var blocks and then use logic to get resulting nodes by mixing those var blocks.