4.1 Common GraphQL problems4.1.1 Poor performance and the n + 1 query problem4.1.2 Boilerplate and developer productivity4.2 Introducing GraphQL database integrations4.3 The Neo4j GraphQL Library4.3.1 Project setup4.3.2 Generated GraphQL schema from type definitions4.4 Basic GraphQL queries4.5 Ordering and pagination4.6 Nested queries4.7 Filtering4.7.1 where argument4.7.2 Nested filter4.7.3 Logical operators: AND, OR4.7.4 Filtering in selections4.8 Working with temporal fields4.8.1 Using a Date type in queries4.8.2 Date and DateTime filters4.9 Working with spatial data4.9.1 The Point type in selections4.9.2 Distance filter4.10 Adding custom logic to our GraphQL API4.10.1 The @cypher GraphQL schema directive4.10.2 Implementing custom resolvers4.11 Introspecting GraphQL schema from an existing database4.12 ExercisesSummary