As someone who spent handreds of hours writing (and cursing) SQL queries -it definitely sounds compelling.
Person { country => name }
And it will output the following SQL: -- target: postgres
SELECT country, array_agg(name) AS name FROM Person GROUP BY countrySo you might have a GQL type like:
type User {
name: String
age: Int
}
But you need to implement a query with business logic for fetching this data, and that can be anything (but generally, a DB call).Projects like Hasura kind of blur this line, as it's essentially one big GQL -> SQL JIT compiler in Haskell though.