restQL-core
restQL-core | pycon-graphql | |
---|---|---|
1 | 1 | |
131 | 3 | |
- | - | |
0.0 | 0.0 | |
almost 4 years ago | about 2 years ago | |
Clojure | HTML | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
restQL-core
-
GraphQL Is a Trap?
/network/shortestPath?node1=<>&node2=<>
to get a list of all devices but I'm basically just writing custom Cipher code to do that query and the benefits of Neo4J basically go out the door. It still has some interesting Graph features but if all i'm doing is writing a custom endpoint for every use case it's mainly pointless.
You can do a simple POST statement which takes a Neo4J query and execute it with some caching on top of it for sure.
Either ways in order to make Neo4J worth it I need a way to make the queries more dynamic. So right now I'm thinking of:
- restQL http://restql.b2w.io/
pycon-graphql
-
GraphQL Is a Trap?
I just got done doing a talk on GraphQL for PyCon2022 and I do agree with some of the points here. Performance work can be tedious and is not bi-directional in the graph so the number of dataloaders can blow up making debugging hard. Identifying where n+1 queries are in the API can also be difficult, but I used this open source package to help: https://github.com/tatari-tv/query-counter. I think the article failed to mention two of the things that GraphQL does really well: dense queries and built-in pagination. You're able to do the work of many serialized REST queries in one query using the node context of the GraphQL graph structure, which is a huge win if you're hitting performance issues related to requests per second to your API. Also pagination using the cursor, before/after, etc. is very helpful and Flask_Graphene enables some slick caching there to make subsequent queries at that cursor to be extremely performant. I have code with my sample implementation which simple, but shows the power of DataLoaders: https://github.com/lame/pycon-graphql.
What are some alternatives?
Eureka - AWS Service registry for resilient mid-tier load balancing and failover.
edgedb - A graph-relational database with declarative schema, built-in migration system, and a next-generation query language
Apollo - Java libraries for writing composable microservices
join-monster - A GraphQL to SQL query execution layer for query planning and batch data fetching.
rapidpm-microservice
genql - Type safe TypeScript client for any GraphQL API
SnopEE
query-counter - SQLAlchemy model N+1 debugger!
consul-api - Java client for Consul HTTP API
postgrest - REST API for any Postgres database
OpenL Tablets - OpenL Tablets Business Rules Management System
graphql-cached-get