Negation is the first basic thing that comes to mind. "Piping" filters would be another one.
Agree this is nuanced, delicate and comes with tradeoffs. This isn't an ask, I am trying to open this conversation.
People can call it however they like, but most relay usage is clients treating them as databases (it's not data reconciliation). And thus nostr has a query language (most call it request filters).
More flexible in what sense? I never suggested using SQL. What I'm saying is no matter which tech backs your relay, it already has a more powerful query language. Let's find some common denominator perhaps, and improve the filters so they allow more efficient querying without compromising decentralization.