Tutorial: Consultar a API do Gremlin do Azure Cosmos DB usando o GremlinTutorial: Query Azure Cosmos DB Gremlin API by using Gremlin

A API do Gremlin do Azure Cosmos DB também é compatível com consultas do Gremlin.The Azure Cosmos DB Gremlin API supports Gremlin queries. Este artigo fornece exemplos de documentos e consultas para você começar.This article provides sample documents and queries to get you started. Uma referência detalhada do Gremlin é fornecida no artigo Suporte a Gremlin.A detailed Gremlin reference is provided in the Gremlin support article.

Este artigo aborda as seguintes tarefas:This article covers the following tasks:

  • Consultar dados com o GremlinQuerying data with Gremlin

Pré-requisitosPrerequisites

Para essas consultas funcionarem, você deve ter uma conta do Azure Cosmos DB e ter dados de grafo no contêiner.For these queries to work, you must have an Azure Cosmos DB account and have graph data in the container. Não tenho nenhum deles?Don't have any of those? Complete o Guia de início rápido de cinco minutos ou o tutorial de desenvolvedor para criar uma conta e preencher seu banco de dados.Complete the 5-minute quickstart or the developer tutorial to create an account and populate your database. Você pode executar as seguintes consultas usando o console Gremlin ou o seu driver favorito do Gremlin.You can run the following queries using the Gremlin console, or your favorite Gremlin driver.

Contagem de vértices no grafoCount vertices in the graph

O snippet a seguir mostra como contar o número de vértices no grafo:The following snippet shows how to count the number of vertices in the graph:

g.V().count()

FiltrosFilters

Execute filtros usando as etapas has e hasLabel do Gremlin e combine-as usando and, or e not para compilar filtros mais complexos.You can perform filters using Gremlin's has and hasLabel steps, and combine them using and, or, and not to build more complex filters. O Azure Cosmos DB fornece indexação independente do esquema de todas as propriedades em seus vértices e graus para consultas rápidas:Azure Cosmos DB provides schema-agnostic indexing of all properties within your vertices and degrees for fast queries:

g.V().hasLabel('person').has('age', gt(40))

ProjeçãoProjection

Você pode projetar certas propriedades nos resultados da consulta usando a etapa values:You can project certain properties in the query results using the values step:

g.V().hasLabel('person').values('firstName')

Até agora, só vimos operadores de consulta que funcionam em qualquer banco de dados.So far, we've only seen query operators that work in any database. Os grafo são rápidos e eficientes para operações de passagem quando você precisa navegar até os vértices e bordas relacionadas.Graphs are fast and efficient for traversal operations when you need to navigate to related edges and vertices. Vamos encontrar todos os amigos de Thomas.Let's find all friends of Thomas. Fazemos isso usando a etapa outE do Gremlin para localizar todos as bordas externas de Thomas, depois passamos para os vértices internos dessas bordas usando a etapa inV do Gremlin:We do this by using Gremlin's outE step to find all the out-edges from Thomas, then traversing to the in-vertices from those edges using Gremlin's inV step:

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

A próxima consulta executa dois saltos para localizar todos os "amigos dos amigos" de Thomas, chamando outE e inV duas vezes.The next query performs two hops to find all of Thomas' "friends of friends", by calling outE and inV two times.

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

Você pode criar consultas mais complexas e implementar uma lógica avançada de passagem de grafo usando o Gremlin, incluindo a combinação de expressões de filtro, executando o loop usando a etapa loop e implementando a navegação condicional usando a etapa choose.You can build more complex queries and implement powerful graph traversal logic using Gremlin, including mixing filter expressions, performing looping using the loop step, and implementing conditional navigation using the choose step. Saiba mais sobre o que você pode fazer com o Suporte do Gremlin!Learn more about what you can do with Gremlin support!

Próximas etapasNext steps

Neste tutorial, você fez o seguinte:In this tutorial, you've done the following:

  • Aprendeu a consultar usando o GraphLearned how to query using Graph

Agora você pode seguir para a seção Conceitos para obter mais informações sobre o Cosmos DB.You can now proceed to the Concepts section for more information about Cosmos DB.