注释
此功能目前处于公开预览状态。 此预览版在没有服务级别协议的情况下提供,不建议用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
在本教程步骤中,你将在代码编辑器中使用 GQL(图形查询语言)查询图形。 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
此查询:
- 匹配 "客户→购买→订单→包含→商品" 的模式
- 针对名为“Carla Adams”的客户的过滤条件
- 返回 客户的全名、订单详细信息和产品名称
下图显示了查询的结果(只显示返回的数据的一部分)。
运行复杂查询
可以运行更复杂的查询,这些查询结合了匹配的图形模式、筛选、聚合、排序和限制:
MATCH (v:Vendor)-[:produces]->(p:`Product`)->(sc:`ProductSubcategory`)->(c:`ProductCategory`),
(o:`Order`)-[:`contains`]->(p)
FILTER c.subCategoryName = 'Touring Bikes'
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
此查询:
- 匹配 一种模式,该模式通过供应链将供应商连接到产品,并将订单连接到产品。
- 筛选器用于“旅行车”类别的产品。
- 定义 供应商和子类别名称的变量。
- 返回 供应商名称、子类别名称、不同产品计数和订单计数。
- 按供应商和子类别对结果进行分组。
- 按 订单计数降序排列结果。
- 将结果限制 为前 5 名。
总之,它显示了“旅游自行车”类别中供应产品的前五大供应商,以及他们供应的产品数量以及这些产品拥有的订单数。
相关内容
有关 GQL 语言支持的详细信息,请参阅: