chapter four
                    This chapter covers
- Reviewing common issues that arise when building GraphQL API applications
 - Introducing database integrations for GraphQL that aim to address these common problems, including the Neo4j GraphQL library
 - Building a GraphQL endpoint backed by Neo4j, taking advantage of the features of the Neo4j GraphQL library, such as generated query and mutation types, filtering, and temporal and spatial data types
 - Extending the functionality of our autogenerated GraphQL API with custom logic
 - Introspecting a GraphQL schema from an existing Neo4j database
 
GraphQL backend implementations commonly run into a set of issues that negatively impact performance and developer productivity. We’ve identified some of these problems previously (e.g., the n + 1 query problem), and in this chapter, we take a deeper look at these common issues and discuss how they can be mitigated, using database integrations for GraphQL that make it easier to build efficient GraphQL APIs backed by databases.