Tutorial: Consultar o Azure Cosmos DB para Gremlin usando Gremlin
APLICA-SE A: Gremlin
A API do Azure Cosmos DB para Gremlin dá suporte a 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 para criar uma conta e preencher seu banco 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('name')
Localizar arestas e vértices relacionados
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!
Próximos passos
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 Azure Cosmos DB.