How can we improve Azure Cosmos DB?

Implement a graphql provider

graphql {http://graphql.org/} is becoming increasingly adopted by front end frameworks (including mobile) for querying backend / API data.

Rather than having to translate each graphql query into a DocumentDB client call it would be optimal and very powerful to issue the query directly.

It would also provide enhanced query abilities over the existing REST approach.

285 votes
Vote
Sign in
(thinking…)
Sign in with: oidc
Signed in as (Sign out)
You have left! (?) (thinking…)
Anonymous shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

11 comments

Sign in
(thinking…)
Sign in with: oidc
Signed in as (Sign out)
Submitting...
  • John commented  ·   ·  Flag as inappropriate

    I don't think the Azure Admin who closed this knows what GraphQL is. I also think that the request for a GraphQL provider is largely unrelated to CosmosDB, but is rather a request for a new service on par with AWS AppSync. As such I created a new request for this Azure service here: https://feedback.azure.com/forums/170024-additional-services/suggestions/35390665-graphql-based-api-service

    This new service would be *integrated with* CosmosDB, and would (hopefully) automatically provision CosmosDB resources for the user as needed, but it would exist seperately from CosmosDB and could be used with other Azure services such as Functions, Azure Database for PostgreSQL, etc.

    For those who believe this request really is specific to CosmosDB, I see a new request has been opened here, which might get the attention of a new Azure team member:
    https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/34730410-implement-a-graphql-provider-repost

  • Anonymous commented  ·   ·  Flag as inappropriate

    Clearly this is not completed. As others have stated. Please consider reopening this for debate.

  • Jon commented  ·   ·  Flag as inappropriate

    Just adding my voice to the comments too - it seems strange that the Cosmos team would be so dismissive of GraphQL considering it's rapidly increasing popularity... I don't feel like the Gremlin API is either the same or as popular as GraphQL. This request should not be marked as completed, it isn't at all in any way complete it's like asking for Coke and getting a Dr Pepper and being told they're both soda so job done.

  • Anonymous commented  ·   ·  Flag as inappropriate

    Have a look at AWS AppSync as an example. Hopefully we can do better than that of course. GraphQL is fairly distinct from TinkerPop and other Graph-based APIs. It's more IDL-oriented with subscriptions and flexible tree structures.

    It would be important to make the Azure GraphQL provider composable to support Cosmos, Azure Functions, bring-your-own HTTP service endpoints, Azure Tables, etc. Ideally, you could even allow for integration with AWS Lambda and DynamoDB too.

  • Sam Sperling commented  ·   ·  Flag as inappropriate

    This is not a solution to the feature that's requested here!

    How will Apache TinkerPop graph traversal language help at all when using libraries like Redux or
    Vuex?

  • Grahame Horner commented  ·   ·  Flag as inappropriate

    would this be a good fit for serverless functions? which are is essence a layer above the underlying data store?

  • Graham Hunter commented  ·   ·  Flag as inappropriate

    Perhaps this is a project we could start in a github repository and request oversight from the docdb team?

Feedback and Knowledge Base