Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Язык запросов Graph (GQL) позволяет использовать стандартизированное сопоставление шаблонов графа. GQL следует стандарту ISO GQL для запросов к базе данных графа.
Замечание
Поддержка GQL доступна в предварительной версии. Функции и синтаксис могут изменяться на основе отзывов и текущей разработки.
Введение
Язык запросов Graph (GQL) — это новый стандарт ISO для запросов к базам данных графа. GQL позволяет использовать синтаксис, подобный SQL, для сопоставления шаблонов графов, поэтому проще анализировать связи в данных. В этой статье объясняется, как использовать GQL, его преимущества и ключевые функции.
GQL предоставляет стандартизированные возможности сопоставления шаблонов графов для анализа связей в данных с помощью стандартного синтаксиса ISO.
Начало работы
Чтобы использовать GQL, вам потребуется:
- Источник данных графа, который является моделью графа или функцией, возвращающей временный граф, заканчивающийся оператором make-graph (см. шаг 1).
- Задайте определенные свойства запроса клиента (см. шаг 2).
Шаг 1. Создание ссылки на граф
Перед использованием GQL создайте источник данных графа. В этой статье используется оператор make-graph в памяти, но мы рекомендуем использовать моментальный снимок графа для рабочих сценариев.
.create-or-alter function G_doc() {
let nodes = datatable(id:string, lbl:string, name:string, properties:dynamic)
[
"p1","Person","Alice",dynamic({"age": 25}),
"p2","Person","Bob",dynamic({"age": 30}),
"p3","Person","Carol",dynamic({"age": 28}),
"p4","Person","David",dynamic({"age": 35}),
"p5","Person","Emma",dynamic({"age": 26}),
"c1","Company","TechCorp",,
"c2","Company","DataSoft",,
"c3","Company","CloudInc",,
"ct1","City","Seattle",,
"ct2","City","Portland",,
"ct3","City","San Francisco",
];
let edges = datatable(source:string, target:string, lbl:string, since:int)
[
"p1","c1","works_at",2020,
"p2","c1","works_at",2022,
"p3","c2","works_at",2023,
"p4","c3","works_at",2021,
"p5","c1","works_at",2024,
"p1","ct1","located_at",2019,
"p2","ct1","located_at",2021,
"p3","ct2","located_at",2022,
"p4","ct3","located_at",2020,
"p5","ct2","located_at",2023,
"c1","ct1","located_at",2015,
"c2","ct2","located_at",2018,
"c3","ct3","located_at",2017,
"p1","p2","knows",2019,
"p2","p3","knows",2021,
"p3","p4","knows",2022,
"p4","p5","knows",2023,
"p1","p4","likes",2020,
"p4","p1","likes",2020,
"p5","p2","likes",2022
];
edges
| make-graph source --> target with nodes on id
}
Шаг 2. Настройка свойств запроса клиента
Чтобы запустить запросы GQL, задайте три свойства запроса клиента. Задайте эти свойства с помощью пакета SDK, API или непосредственно в обозревателе Kusto или веб-интерфейсе Azure Data Explorer с помощью директив.
Чтобы запустить запросы GQL, задайте три свойства запроса клиента. Задайте эти свойства с помощью пакета SDK, API или непосредственно в обозревателе Kusto или наборе запросов KQL с помощью директив.
Задание свойств запроса клиента
Это важно
Запустите каждую директиву отдельно перед выполнением запроса GQL. Директивы настраивают среду запроса для выполнения GQL.
#crp query_language=gql
#crp query_graph_reference=G_doc()
Чтобы использовать метки в GQL, задайте имя столбца метки:
#crp query_graph_label_name=lbl
Подсказка
Метки являются необязательными в GQL, но они часто используются для фильтрации узлов и ребер по типам. Задайте имя столбца метки для использования меток в запросах GQL.
Установка свойств запроса клиента программным способом
Для программного доступа задайте следующие свойства запроса клиента:
-
query_language: задано значение"gql". -
query_graph_reference: задайте имя функции графа (например,"G_doc()"). -
query_graph_label_name: задайте имя столбца метки (например,"lbl").
Шаг 3. Выполнение запросов GQL
После завершения настройки запустите запросы GQL с помощью стандартного синтаксиса GQL. Используйте приведенные ниже примеры для изучения основных и расширенных функций GQL.
Примеры
Найдите базовые примеры сопоставления шаблонов и меток здесь. Более сложные примеры см. в шаблонах запросов GQL, примерах и распространенных сценариях. Справочная документация, включая основы и сведения о функциях, см. в справочнике по языку запросов Graph (GQL).
Пример запроса GQL для сопоставления базовых шаблонов
MATCH (n)-[e]->(n2)
RETURN COUNT(*) as CNT
Выходные данные
В следующей таблице показан результат запроса.
| CNT |
|---|
| 20 |
Пример запроса GQL с метками
MATCH (p:Person)-[e]->(target)
RETURN p.name, target.name, e.lbl
ORDER BY p.name, target.name
LIMIT 2
Выходные данные
В следующей таблице показан результат запроса.
| p.name | target.name | e.lbl |
|---|---|---|
| Алиса | Боб | Знает |
| Алиса | Давид | Любит |