How to extend Query.jl with new data source

Introduction · Query.jl says: (emphasis mine)

  • There are three different APIs that package authors can use to make their data sources queryable with this package. The most simple API only requires a data source to provide an iterator. Another API provides a data source with a complete graph representation of the query and the data source can e.g. rewrite that query graph as a SQL statement to execute the query. The final API allows a data source to provide its own data structures that can represent a query graph.

I have a HTTP API where you can select which fields it will return: Universalis Documentation, for example if you GET https://universalis.app/api/v2/Japan/38623 you will get all the data for object ID 38623, but if you GET https://universalis.app/api/v2/Japan/38623?fields=maxPrice it will only send the maxPrice data.

Is there a way/example for a data source that rewrite the Query.jl macros into REST API commands? Or SQL as the documentation says?