Что такое GQL и при чем здесь Cypher: новый стандарт языка запросов к графам

графы примеры курсы обучение, обработка графовых данных в NoSQL, язык запросов к графам, стандарт SQL для графовых баз данных, NoSQL графы примеры курсы обучение, обучение большим данным курсы, GQL для инженеров данных и и разработчиков, графовые алгоритмы, Школа Больших Данных Учебный центр Коммерсант

Кто и зачем создает аналог SQL для запросов к графовым базам данных, когда выйдет официальная версия стандарт и при чем здесь Cypher из Neo4j.

Что такое GQL и кто его разрабатывает

В рамках продвижения нашего курса по графовым алгоритмам в бизнес-приложениях мы часто рассказываем про инструменты хранения и анализа графовых данных. В частности, здесь рассматривали 5 языков запросов к графам, используемыми в популярных NoSQL-СУБД этой категории. Многообразие графовых баз данных привело к появлению множества языков запросов, каждый из которых используется внутри конкретного решения. Подобная ситуация когда-то наблюдалась и в области реляционных СУБД, пока в 1986 году не вышла первая официальная версия стандарта ANSI SQL, который сегодня используется во всех реляционных и многих NoSQL-базах.

В начале 2017 года началась работа по созданию GQL (Graph Query Language)  — международного стандартного языка для запросов графов. Работа ведется под эгидой ISO SC32/WG3 и отражена в манифесте GQL от мая 2018 года. GQL позиционируется как надежный язык декларативных графовых запросов, основанный на SQL и объединяющий проверенные идеи существующих языков openCypher, PGQL, GSQL и G-CORE, включая запросы на поиск путей, компоновку графа (включение представлений) и поддержку схемы. Публикацию стандарта планируется завершить в апреле 2024 года и выпустить под названием ISO/IEC 39075 Информационные технологии. Языки баз данных. GQL.

Ожидается, что стандарт GQL будет состоять из нескольких частей, которые включают:

  • спецификации из SQL/Framework и SQL/Foundation (ISO/IEC JTC1 9075:2016, части 1 и 2), в т.ч. некоторые скалярные типы данных, а также операции, функции и предикаты для них, модель транзакции (уровень изоляции, COMMIT, ROLLBACK и пр.), модель безопасности, модель клиента и модель сеанса;
  • шаблоны сопоставления графов (Graph Pattern Matching, GPM) c Property Graph Queries в SQL (SQL/PGQ:2023);
  • специальные возможности GQL, включая типы данных только для графов (вершина, ребро, путь);
  • графовые операции, не включенные в SQL:/PGQ:2023 (создание графа, вставка вершины/ребра, обновление и удаление), запросы;
  • графовый аналог SQL/Schemata.

SQL/PGQ содержит две основные возможности:

  • Синтаксис для создания графового представления свойств поверх существующих таблиц SQL;
  • Синтаксис для включения запроса графа свойств (GPM) в функцию GRAPH_TABLE в предложении SQL FROM.

Проект стандарта GQL основан на языке графовых шаблонов сопоставления и представляет собой полноценный язык БД, включая поддержку вариантов с фиксированной и гибкой схемой, а также

  • DML-запросы на создание, чтение, обновление и удаление вершин/ребер графа;
  • DDL-запросы на создание типа графа и самого графа.

Помимо SQL/PGQ в основе GQL лежит openCypher – реализация языка Cypher, который разработан в популярной графовой СУБД Neo4j. В 2015 году был открыт исходный код Cypher, который затем трансформировался язык openCypher для включения возможностей обработки графов в различноые приложения и базы данных. Хотя Cypher был изначально разработан в Neo4j, сегодня этот язык и его реализация в виде openCypher используется более чем в 10 продуктах (ArcadeDB, AnzoGraph DB, Katana Graph, Memgraph) и востребован десятками тысяч разработчиков, а также специалистами по Data Science и аналитиками данных. Подобно SQL, Cypher и openCypher являются декларативными языками, позволяя пользователям просто указать, какие данные нужно получить, без объявления деталей реализации.

GQL openCypher
Развитие языков запросов к графам

Узнайте больше про использование графовых алгоритмов и средств работы с ними для практического применения в реальных проектах аналитики больших данных на специализированных курсах нашего лицензированного учебного центра обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. http://opencypher.org/
  2. https://www.gqlstandards.org/
Поиск по сайту