Learn GQL (Graph Query Language) with Python

Course

Databases underpin much of the modern world and many people are familiar with relational databases (RDB) which model data as a collection of tables of columns and rows - as used by technologies such as Oracle Database, MySQL, Microsoft SQL Server and PostgreSQL. Most relational databases use Structured Query Language (SQL) to query and update data.

Relational databases are great where your data fits nicely into the tabular model, but some modern datasets are structured more around networks and relationships (for example social networks, fraud data, cyber security data). In these cases, we can use a graph database (DGB) which models data as nodes and the edges (or relationships) between them. For the right data, modeling and storing it as a graph can both increase efficiency as well as simplifying queries for users.

In April 2024, the International Organization for Standardization published the first edition of the Graph Query Language (GQL) International Standard which 'provides capabilities for creating, accessing, querying, maintaining, and controlling property graphs and the data they comprise.' GQL is the graph equivalent of SQL and provides an intuitive and powerful language for interacting with modern graph databases. Note that Graph Query Language (GQL) is different to GraphQL for APIs - although they can be implemented together.

Although some databases come with a graphical interface for querying and manipulating the data, as part of a Graph Database Management System (GDBMS), we often want to interact with the database programmatically - for example as part of a wider system such as a website, or to perform data analysis. To do this, we need an appropriate 'driver' in the language we want to use. Many modern graph databases support multiple languages such as Java, Python or Go. In this course, we'll focus on Python.


Course Content

This course is made up of the following lessons.

What is Graph Query Language (GQL)?

lesson

View