joerg84/demo-graphql
Example Foxx Service using GraphQL
GraphQL Demo Foxx Service
This is a GraphQL demo service for ArangoDB 3.1 and higher
using the graphql-sync wrapper for graphql-js
and the Foxx GraphQL extensions for ArangoDB.
This service implements two API endpoints:
POST /graphql
and
GET /graphql
The endpoint accepts well-formed GraphQL queries based on the
GraphQL Star Wars data set, e.g.:
{
hero(episode: "NewHope") {
name
friends(species: DROID) {
name
}
}
}returns:
{
"data": {
"hero": {
"name": "Luke Skywalker",
"friends": [
{
"name": "C-3PO"
},
{
"name": "R2-D2"
}
]
}
}
}The request body can also be a JSON object with a query attribute.
Open the endpoint in the browser to explore the data set and schema using the GraphiQL explorer.
To learn more about GraphQL see the official GraphQL spec and the official introductory blog post.
Check the file schema.js to see how GraphQL schemas can be given access to
ArangoDB collections. Check the files in the test folder to see examples of
GraphQL queries and their results.
License
This demo service is licensed under the Apache 2.0 license.
The demo data set and test cases are based on the test fixtures and test suites
of the graphql-js project and used under
the BSD license and Facebook patent grant.