Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта функция сейчас доступна в общедоступной предварительной версии. Эта предварительная демонстрация предоставляется без соглашения на уровне обслуживания и не рекомендуется для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.
На этом шаге руководства вы запрашиваете граф с помощью GQL (язык запросов Graph) в редакторе кода. GQL предоставляет мощные возможности запросов для сложных шаблонов графов и анализа.
Переключение в режим редактора кода
Выполните следующие действия, чтобы перейти в редактор кода и начать запрос к графу с помощью GQL:
Выполнение базового запроса
Введите запрос GQL в поле ввода. Например, подсчитывать все заказы:
MATCH (n:`Order`) RETURN count(n) AS num_ordersВыберите "Выполнить запрос ", чтобы выполнить запрос.
Этот запрос находит все узлы с Order меткой, подсчитывает их и возвращает общее значение в виде num_orders. Это простой способ подтвердить наличие данных в графике и убедиться, что количество совпадает с числом загруженных строк заказа. На следующем рисунке показан результат запроса:
Восстановите запрос построителя запросов в GQL
На предыдущем шаге руководства вы использовали построитель запросов для поиска продуктов, приобретенных конкретным клиентом. Вот тот же запрос, написанный в GQL:
MATCH (c:Customer)-[:purchases]->(o:`Order`)-[:`contains`]->(p:`Product`)
FILTER c.fullName = 'Carla Adams'
RETURN c.fullName, o, p.productName
Этот запрос:
-
Соответствует шаблону
Customer→ →purchasesOrder→ →containsProduct - Фильтры для клиента с именем Карла Адамс
- Возвращает полное имя клиента, детали заказа и наименования продуктов
На следующем рисунке показан результат запроса (отображается только часть возвращаемых данных).
Выполнение сложного запроса
Можно выполнять более сложные запросы, которые объединяют соответствующие шаблоны графов, фильтрацию, агрегирование, сортировку и ограничение:
MATCH (v:Vendor)-[:produces]->(p:`Product`)->(sc:`ProductSubcategory`)->(c:`ProductCategory`),
(o:`Order`)-[:`contains`]->(p)
FILTER c.categoryName = 'Clothing'
LET vendorName = v.vendorName, subCategoryName = sc.subCategoryName
RETURN vendorName, subCategoryName, count(DISTINCT p) AS num_products, count(o) AS num_orders
GROUP BY vendorName, subCategoryName
ORDER BY num_orders DESC
LIMIT 5
Этот запрос:
- Соответствует шаблону, который подключает поставщиков к продуктам через цепочку поставок и заказы на продукты.
-
Фильтры для продуктов в
Clothingкатегории. - Определяет переменные для имен поставщиков и подкатегорий.
- Возвращает имя поставщика, подкатегорию, отдельное число продуктов и число заказов.
- Группировать результаты по поставщику и подкатегории.
- Результаты заказов по количеству заказов в порядке убывания.
- Ограничивает результаты до 5 лучших.
В сводке показано пять лучших поставщиков, поставляющих продукты в Clothing категории, а также количество продуктов, которые они предоставляют, и сколько заказов у этих продуктов.
Связанный контент
Дополнительные сведения о поддержке языка GQL см. в следующем разделе: