Tutorial: Consultar a API do Gremlin do Azure Cosmos DB através do Gremlin

APLICA-SE A: Gremlin API

A API do Gremlin do Azure Cosmos DB suporta consultas Gremlin. Este artigo fornece documentos e consultas de exemplo para poder começar. É fornecida uma referência ao Gremlin detalhada no artigo Suporte para Gremlin.

Este artigo abrange as seguintes tarefas:

  • Consultar dados com o Gremlin

Pré-requisitos

Para estas consultas funcionarem, tem de ter uma conta do Azure Cosmos DB e dados de gráfico no contentor. Não tem qualquer um destes? Conclua o início rápido de 5 minutos ou o tutorial do programador para criar uma conta e povoar a base de dados. Pode executar as seguintes consultas com a consola do Gremlin ou o seu controlador Gremlin favorito.

Contar vértices no gráfico

O fragmento seguinte mostra como contabilizar o número de vértices no gráfico:

g.V().count()

Filtros

Pode executar filtros através dos passos has e hasLabel do Gremlin e combiná-los com and, or e not para criar filtros mais complexos. O Azure Cosmos DB fornece uma indexação independente de esquema de todas as propriedades nos vértices e graus para consultas rápidas:

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

Projeção

Pode projetar algumas propriedades nos resultados da consulta com o passo values:

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

Até ao momento, apenas vimos operadores de consulta que funcionam em qualquer base de dados. Os gráficos são rápidos e eficientes para operações transversais quando precisar de navegar para arestas e vértices relacionados. Vamos localizar todos os amigos do Tomás. Podemos fazê-lo através do passo outE do Gremlin para localizar todas as arestas exteriores do Tomás e atravessá-las nos vértices interiores dessas arestas através do passo inV do Gremlin:

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

A consulta seguinte executa dois saltos para localizar todos os "amigos de amigos" do Tomás ao chamar outE e inV duas vezes.

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

Pode criar consultas mais complexas e implementar uma lógica de gráfico transversal poderosa com o Gremlin, incluindo misturar expressões de filtro, efetuar o ciclo com o passo loop e implementar a navegação condicional com o passo choose. Saiba mais sobre o que pode fazer com o Suporte para Gremlin!

Passos seguintes

Neste tutorial, fez o seguinte:

  • Aprendeu a fazer consultas com o Graph

Agora, pode avançar para a secção Conceitos para obter mais informações sobre o Cosmos DB.