Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is RQL still a valid choice in 2022? #85

Open
luckv opened this issue Jan 11, 2022 · 4 comments
Open

Is RQL still a valid choice in 2022? #85

luckv opened this issue Jan 11, 2022 · 4 comments

Comments

@luckv
Copy link

luckv commented Jan 11, 2022

No description provided.

@bademux
Copy link

bademux commented Jun 28, 2023

NO.
no libraries.
no one uses it, as it is not readable and not flexible.

@luckv
Copy link
Author

luckv commented Jun 29, 2023

Thank you, having a standard way to encode a complex query in a url, could have been great. Anyway...
But could you help me and point me to some good alternatives? What is the industrial standard to query a database behind a rest api?

@bademux
Copy link

bademux commented Jun 29, 2023

IMHO, one should not expose DB as rest. DB is not a microservice itself, but a part of microservice.
For complex requests I would use POST + domain specific json.

@thjaeckle
Copy link

thjaeckle commented Jun 29, 2023

I love the simplicity and the possibility to add RQL queries to a URL.
The Eclipse Ditto project, which I am contributing to, makes heavy use of (a subset) of the RQL expressions defined by this project in order to:

  • formulate "search" queries (mapping to MongoDB)
  • defining "conditions" (e.g. to conditionally retrieve/update "digital twins")
  • defining "filters" (e.g. to subscribe to changes of "digital twins" matching a certain RQL based query)
  • ...

Of course it would be nicer if RQL would be a standard, but we can live without it being one.
The Ditto project built its own RQL (subset) parser in Java/Scala:

And we added 2 more predicates not defined in the original RQL:

  • like (for searching with wildcards)
  • ilike (for case insensitive searching with wildcards)

So my suggestion would be to make your own conclusions whether or not RQL is useful for you.

Here is yet another adoption of RQL I found "in the wild": https://connect.cloudblue.com/community/developers/api/rql/
They even provide a JS library: https://github.com/cloudblue/javascript-rql

So it is definitely used, however more tooling/libraries and a more "official" standard would of course be great to have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants