GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data.
Source: http://graphql.org/learn/
So GraphQL allows a server to implement a HTTP-endpoint that accepts queries which are only constrained by the type system defined by the server. So in some way, it can be compared to SQL. However, it does not allow nearly as complex queries as SQL does.
What I am interested in is, if the idea of having a generic endpoint that executes client-defiend queries is backed by some well known concept in computer science?
I suppose this could go in the direction of how distributed systems can communicate / exchange data but at the moment, I am having a hard time to find actual research that deals with this problem in a similar way.
So in short: Is GraphQL genuinely something new or is there some well known concept / theory behind it?
Edit: I am very well familiar with REST. My question explicitly targets the fact, if this idea of exposing data in a generic way is new or well known.