适用于:
小鬼
适用于 Gremlin 的 Azure Cosmos DB API 支持 Gremlin 查询。 本文提供示例文档和查询来帮助你入门。 Gremlin 支持文章中提供了详细的 Gremlin 参考。
本文介绍以下任务:
- 使用 Gremlin 查询数据
先决条件
若要使这些查询正常工作,必须具有 Azure Cosmos DB 帐户并在容器中具有图形数据。 没有这些吗? 完成 5 分钟的快速入门 以创建帐户并填充数据库。 可以使用 Gremlin 控制台或最喜欢的 Gremlin 驱动程序运行以下查询。
对图形中的顶点进行计数
以下代码片段演示如何计算图形中的顶点数:
g.V().count()
过滤 器
可以使用 Gremlin 的has
筛选器和hasLabel
步骤执行筛选器,并结合or
and
它们,并not
生成更复杂的筛选器。 Azure Cosmos DB 为快速查询提供顶点和度内所有属性的架构无关索引:
g.V().hasLabel('person').has('age', gt(40))
投影
可以使用以下步骤在查询结果 values
中投影某些属性:
g.V().hasLabel('person').values('name')
查找相关的边缘和顶点
到目前为止,我们只看到任何数据库中运行的查询运算符。 当你需要导航到相关边缘和顶点时,图形对于遍历作来说快速高效。 让我们找到托马斯的所有朋友。 我们通过使用 Gremlin 的步骤 outE
查找托马斯的所有外边缘,然后使用 Gremlin 的步骤 inV
从这些边缘遍历到顶点:
g.V('thomas').outE('knows').inV().hasLabel('person')
下一个查询通过调用 outE
和 inV
两次执行两个跃点来查找托马斯的所有“朋友的朋友”。
g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')
可以使用 Gremlin 生成更复杂的查询并实现功能强大的图形遍历逻辑,包括混合筛选器表达式、使用 loop
步骤执行循环,以及使用 choose
步骤实现条件导航。 详细了解如何使用 Gremlin 支持!
后续步骤
在本教程中,你已完成以下作:
- 了解如何使用 Graph 进行查询
现在可以转到“概念”部分,了解有关 Azure Cosmos DB 的详细信息。