@Hannah I didnt say that I was going to use Gatsby as a Graphql server. What I meant is there is a package developed by Ghost here https://github.com/TryGhost/gatsby-source-ghost. This integrates Ghost content API with Gatsby which uses graphql. Its a good starting point.
Also as you keep re-iterating that a graphql server is meant for consuming REST API, yes I agree. However a grapqhql server can have many other datasources, mongoDb, postgres etc…
To help others who are interested in implemented a graphql solution with apollo client for ghost, here is very simplistic/high level architecture:
UI WITH APOLLO CLIENT --> CUSTOM GRAPHQL SERVER PROXY TO GHOST API --> GHOST API --> GHOST DATABASE
My observation is that implementing a graphql solution for Ghost is pointless. In fact it could result in a performance penalty compared with using the Ghost content API directly.
I would like to benefit from the goodness of graphql (get exactly what I need from server) without having to proxy through my own graphql server to get content. As in
UI WITH APOLLO CLIENT --> CMS WITH GRAPHQL API --> DATASOURCE (MONGODB etc…)
I think Ghost has many great features and is gaining maturity but its not for me. Thanks again for your help @Hannah