I've created a lightweight odata query builder based somewhat on MongoDB and js-data's query object syntax you might find helpful: https://github.com/techniq/odata-query
I also built a React component that builds upon this as well, if you're into that - https://github.com/techniq/react-odata
And speaking of OData, is there any good side by side comparison of OData and GraphQL?
I saw this slide deck https://www.slideshare.net/mobile/SumitSarkar10/rest-api-deb...
Microsoft essentially created OData; what do you mean by "lukewarm support"?
Lukewarm relative to the support FB is giving to graphQL. To me opendata felt like a second class project (vs the efforts MS has put around .Net and other code that was open sourced recently).
But it may just my perception.
But the key difference is the community engagement and corporate sponsorship, OData had only a lukewarm support from Microsoft and others like SAP. And aside Apache Olingo there isn't much left in library support. (Trust me I'm sad to have to write this).
GraphQL on the other hand is drawing both community and corporate support including full support from FB. Time will tell if this will diminish, but the support seems to mimick the success with golang.