다음을 통해 공유

教程:使用 Gremlin 查询 Azure Cosmos DB for Gremlin

适用于: 小鬼

适用于 Gremlin 的 Azure Cosmos DB API 支持 Gremlin 查询。 本文提供示例文档和查询来帮助你入门。 Gremlin 支持文章中提供了详细的 Gremlin 参考。

本文介绍以下任务:

  • 使用 Gremlin 查询数据

先决条件

若要使这些查询正常工作,必须具有 Azure Cosmos DB 帐户并在容器中具有图形数据。 没有这些吗? 完成 5 分钟的快速入门 以创建帐户并填充数据库。 可以使用 Gremlin 控制台或最喜欢的 Gremlin 驱动程序运行以下查询。

对图形中的顶点进行计数

以下代码片段演示如何计算图形中的顶点数:

g.V().count()

过滤 器

可以使用 Gremlin 的has筛选器和hasLabel步骤执行筛选器,并结合orand它们,并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')

下一个查询通过调用 outEinV 两次执行两个跃点来查找托马斯的所有“朋友的朋友”。

g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')

可以使用 Gremlin 生成更复杂的查询并实现功能强大的图形遍历逻辑,包括混合筛选器表达式、使用 loop 步骤执行循环,以及使用 choose 步骤实现条件导航。 详细了解如何使用 Gremlin 支持

后续步骤

在本教程中,你已完成以下作:

  • 了解如何使用 Graph 进行查询

现在可以转到“概念”部分,了解有关 Azure Cosmos DB 的详细信息。