Session: Putting The Graph In GraphQL With The Neo4j GraphQL Library

GraphQL exposes application data as a graph which can introduce challenges if your backend isn’t graph-ready (think slow JOINs as a result of nested GraphQL queries and the dreaded n+1 query problem). The open source Neo4j GraphQL library enables developers to build GraphQL APIs backed by a native graph database using only GraphQL type definitions. In this talk we’ll see how to build a GraphQL API without writing any resolvers, add custom logic, and deploy to the cloud.

This talk will introduce the reader to the open-source Neo4j GraphQL Library as a way to build GraphQL APIs. After this talk the attendee will have an understanding of how GraphQL APIs are built in general, common challenges that arise when building GraphQL APIs, and the features and benefits of using the Neo4j GraphQL Library.

Outline:

  • What is GraphQL and why it is relevant for full-stack developers.
  • How GraphQL APIs are typically built
  • Schema + resolver functions
  • Common challenges when building GraphQL APIs
  • N+1 query problem
  • Boilerplate code in resolvers
  • The Neo4j GraphQL Library
  • What is a graph database
  • What is the Neo4j GraphQL Library and how it addresses common challenges
  • Generates GraphQL schema from type definitions
  • Generates database queries at query time
  • No n+1 problem and queries are optimized by using a graph database
  • Adding custom logic with the Cypher query language
  • The @cypher GraphQL schema directive
  • Authorization with the @auth GraphQL schema directive
  • Reinforce the “graph thinking” inherent in GraphQL
  • Modeling and querying application data as a graph

This talk will include sample code and screenshots of a demo JavaScript GraphQL application that demonstrates the above features and concepts.

Presenters:

This track proudly sponsored by