Compartilhar via


Tutorial: consultar o Azure Cosmos DB for Gremlin usando o Gremlin

APLICA-SE AO: Gremlin

A API do Gremlin do Azure Cosmos DB também é compatível com consultas do Gremlin. Este artigo fornece exemplos de documentos e consultas para você começar. Uma referência detalhada do Gremlin é fornecida no artigo Suporte a Gremlin.

Este artigo aborda as seguintes tarefas:

  • Consultar dados com o Gremlin

Pré-requisitos

Para essas consultas funcionarem, você deve ter uma conta do Azure Cosmos DB e ter dados de grafo no contêiner. Não tenho nenhum deles? Complete o Guia de início rápido de cinco minutos para criar uma conta e preencher seu banco de dados. Você pode executar as seguintes consultas usando o console Gremlin ou o seu driver favorito do Gremlin.

Contagem de vértices no grafo

O snippet a seguir mostra como contar o número de vértices no grafo:

g.V().count()

Filtros

Execute filtros usando as etapas has e hasLabel do Gremlin e combine-as usando and, or e not para compilar filtros mais complexos. O Azure Cosmos DB fornece indexação independente do esquema de todas as propriedades em seus vértices e graus para consultas rápidas:

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

Projeção

Você pode projetar certas propriedades nos resultados da consulta usando a etapa values:

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

Até agora, só vimos operadores de consulta que funcionam em qualquer banco de dados. Os grafo são rápidos e eficientes para operações de passagem quando você precisa navegar até os vértices e bordas relacionadas. Vamos encontrar todos os amigos de 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:

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.

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. Saiba mais sobre o que você pode fazer com o Suporte do Gremlin!

Próximas etapas

Neste tutorial, você fez o seguinte:

  • Aprendeu a consultar usando o Graph

Agora você pode seguir para a seção Conceitos para saber mais sobre o Azure Cosmos DB.