Gavin, awesome work!
I was on a similar quest a while ago, and went “full circle" on SQL :-)… I was feeling like I am re-implementing SQL with another syntax… a syntax that very few people will be familiar with… unlike with SQL… But everyone will have their own use cases and tradeoffs. Here is a demo of how I went ahead to use SQL together with REST-ful resources: https://github.com/zolyfarkas/jaxrs-spf4j-demo/wiki/AvroCalciteRest <https://github.com/zolyfarkas/jaxrs-spf4j-demo/wiki/AvroCalciteRest> cheers. —Z > On Jan 24, 2022, at 9:51 AM, Gavin Ray <[email protected]> wrote: > > Thank you Stamatis and Walaa! > I believe it's only been possible because of the great community around > Calcite =) > > And actually, Walaa was of much help when I was researching the idea. > He talked with me a bit on the Coral slack and pointed me towards some good > resources + shared experiences. > > Coral is one of the projects I took inspiration from, along with > Dremio/Trino cited in the readme. > > On this topic -- could it make sense to form a Calcite "Special Interest > Group" for GraphQL-on-Calcite, open to whoever is interested? > It could be good to share ideas and try to prevent doing the same > work/making mistakes that others have already learned from. > > For instance, I have designed the GraphQL layer I am building to be > customizable/extendable via "Conventions" > A "Convention" allows you to configure the naming of the API operators and > to register which operations you support. > > This way, I can call my operations IE "_and", "_or", but someone else may > want to call them "AND" and "OR" > Or perhaps someone wants to support other binary operators/special > operators that aren't part of the most common ones. Then they can extend > the base operators and add their own. > > > > On Sun, Jan 23, 2022 at 10:53 PM Walaa Eldin Moustafa <[email protected]> > wrote: > >> Nice article indeed. In Coral [1], we have simplified this process to the >> end user where those steps can be done through implementing a small number >> of abstract methods, listed here [2]. >> >> [1] https://github.com/linkedin/coral >> [2] >> >> https://github.com/linkedin/coral/blob/master/coral-common/src/main/java/com/linkedin/coral/common/ToRelConverter.java >> >> On Sun, Jan 23, 2022 at 12:59 PM Stamatis Zampetakis <[email protected]> >> wrote: >> >>> Thanks for sharing this Gavin, very nice article! >>> >>> On Sun, Jan 23, 2022 at 7:00 PM Gavin Ray <[email protected]> wrote: >>> >>>> I thought that someone else might find it useful, since there was no >>>> existing guide covering building new frontends. >>>> It looks best on Jetbrains Datalore, but you can also view it using the >>>> ".ipynb" in the Github repo: >>>> >>>> https://datalore.jetbrains.com/view/notebook/JYTVfn90xYSmv6U5f2NIQR >>>> >>>> >>> >> https://github.com/GavinRay97/calcite-new-frontend-tutorial/blob/master/Calcite%20Frontend%20Guide.ipynb >>>> >>> >>
