O blog da AWS

Exibição de gráficos com o Amazon Neptune e o Gremlin

Por Christopher Ávila, Arquitecto de Soluciones AWS México y
José Peñúñuri, Arquitecto de Soluciones AWS México

 

 

 Amazon Neptune  é um serviço de banco de dados grafo totalmente gerenciado que permite integrar facilmente aplicativos que funcionam com conjuntos de dados altamente conectados. O Amazon Neptune oferece suporte a linguagens de consulta Apache TinkerPop Gremlin e SPARQL, que permitem ao usuário criar consultas para navegar por um conjuntos de dados.

O Amazon Neptune é a solução ideal para casos de uso, como criar mecanismos de recomendação, permitindo que você armazene relacionamentos com clientes e seu histórico de compras, para que você possa fazer consultas que permitam emitir recomendações personalizadas. O Amazon Neptune também pode criar consultas para identificar padrões de fraude em transações financeiras que contêm itens em comum com transações fraudulentas conhecidas, como e-mail, nome da pessoa ou endereço IP. Outros casos de uso do Amazon Neptune incluem seu aplicativo de mídia social, operação de rede/TI e ciências da saúde.

Em agosto de 2020, o Amazon Neptune adicionou funcionalidade que permite que os usuários visualizem seus gráficos usando o  Neptune Workbench  . Os usuários que consultam usando Gremlin ou SPARQL agora podem visualizar seus resultados graficamente e visualmente selecionar nós ou propriedades dentro do Workbench. Os usuários podem exibir seus dados grafo conectando ao cluster do Neptune e podem pesquisar propriedades específicas, exibir o grafo e exibir todas as propriedades de um nó selecionado. Isso facilita a compreensão do grafo bem como o ajuste e a melhoria das consultas.

Nesta publicação, você aprenderá como visualizar dados no Amazon Neptune usando um conjunto de dados que contém informações sobre rotas aéreas. Para fazer as consultas e visualização de seus grafos, você usará Gremlin, uma linguaje de programação e a partir de  fluxo de dados  que permite aos usuários gerar consultas complexas de seus grafos . Essa linguagem pertence a Apache TinkerPop™, um framework para computação de grafos de código aberto, fornecedor de tecnologia agnóstico e distribuído sob licença    Apache2    .

Para executar as etapas descritas abaixo, você deve ter um cluster do Amazon Neptune trabalhando em sua conta da AWS. Você pode criar um cluster do Amazon Neptune manualmente ou implantando o template disponível do AWS CloudFormation aqui . Para fins de execução dos exemplos de consulta e exibição fornecidos abaixo, use as configurações padrão no modelo do AWS CloudFormation e modifique apenas os seguintes parâmetros:

  • ec2sshKeyPairName — Escolha um par de chaves que você tenha criado anteriormente e atualmente possui.
  • NotebookInstanceType = ml.t2.medium
  • SetupGremlinConsole = True

Depois de ter criado o seu cluster de  Amazon Neptune  , verifique se o cluster está ativo (Status: Available). Em seguida, encontre a opção  Notebooks  no menu à esquerda.

 

 

 

Em seguida, a tela da lista de Notebooks será aberta. Selecione a caixa para o notebook associado ao cluster do Amazon Neptune. Clique no botão  Open notebook,  que abrirá uma nova guia do seu navegador com o  Jupyter.

 

 

Depois de abrir o caderno Jupyter, clique no  Neptune.

 

 

Quando o diretório for aberto, clique no botão  02-Visualization.

 

 

Dentro deste diretório, você encontrará dois notebooks contendo exercícios avançados de visualização com base em um conjunto de dados de rotas aéreas. Para este exercício clique no caderno chamado  Air-Routes-Gremlin.ipynb.

 

 

Uma vez que o notebook é implantado, você verá a seguinte imagem:

 

 

Este notebook contém etapas detalhadas e o código necessário para carregar dados, consultar e gerar visualizações. Este notebook será executado diretamente no Console da AWS e, para fins de aprendizado, você também pode baixá-lo a partir deste    Repositório do GitHub    .

Você pode executar cada linha de código no notebook, colocando-se na célula de código e pressionando o atalho de teclado  [Shift+Enter]  ou clicando no  “Run”  no menu superior. No lado esquerdo de cada célula, você pode ver colchetes em branco (  ln []  ) que indicam o status de execução do código.  Em [*]  indica que o código está sendo executado e  ln [n]  indica que a execução do código já terminou. Recomenda-se executar cada célula de código em ordem e aguardar que cada execução antes de começar com a próxima.

Primeiro, recomendamos que seu cluster do Amazon Neptune esteja ativo e estável. Execute as primeiras células de código e você pode ver a versão do notebook, a configuração e o status do cluster:

 

 

Antes de começar a executar visualizações, você precisa escolher o idioma para usar e baixar os dados. Execute a célula na seção  “Now let’s load some property graph data.”  , selecione  Gremlin  e  aeroportos  respectivamente e clique em  Submit.

 

 

Continue lendo as informações fornecidas pelo notebook até chegar ao  “Adjusting the visualization layout and other settings”  . Nesta etapa você pode começar com consultas e visualizações. O primeiro exemplo é fazer uma consulta geral definindo a tag airport  (HASLabel (“aeroporto”)  e é filtrado pelo código de roteamento  (by (“código”)  e distância  (by (‘dist’))  com um limite de resultados a serem mostrados igual a 5  (limite (5)).  Você pode ver que o resultado da consulta aparece na guia chamada  Console.

 

 

A exibição da consulta aparecerá na guia chamada  Grafo.

 

Abaixo, você encontrará mais exemplos de consultas usando Gremlin que você poderá executar e visualizar. As consultas que aparecem no bloco de notas respondem a perguntas que surgem sobre o conjunto de dados, como conhecer todas as rotas disponíveis a partir de uma determinada fonte. Executar a consulta  “Find all routes from Cozumel (CZM)  “ver todas as rotas que partem do aeroporto  Cozumel (CZM)  .

 

 

Você também pode fazer consultas que mostram cada um dos vértices do resultado agrupados por cor. Na consulta da seção  “Color Results by Group”  você pode ver como uma cor específica é atribuída a aeroportos no mesmo país. Em azul, os aeroportos do México são implantados, em amarelo os de Estados Unidos e em vermelho do Canadá.

 

 

Em seguida, vá para a próxima seção chamada  “How long are the routes from Cozumel?”  e executar o código celular para descobrir a distância das rotas que partem do aeroporto de Cozumel. Os resultados serão classificados por distância de forma ascendente.

 

 

Continue a executar as instruções do notebook para explorar as opções de consulta e exibição disponíveis. No final do notebook, você encontrará uma seção para alterar as opções de exibição  (Changing the visualization settings)  como podem ser as cores, largura das linhas, bordas, a física de interação das bordas e a letra a usar.

 

 

Resumo

Esta publicação explica como fazer visualizações de gráficos no Amazon Neptune usando a linguagem Gremlin e como essas ferramentas podem nos ajudar a responder perguntas de conjuntos de dados altamente conectados entre si. Se você gostaria de saber mais sobre Apache TinkerPop Gremlin você pode verificar esse tutorial e para saber mais sobre a visualização de grafos, você pode revisar o Amazon Neptune. Por fim, para evitar custos adicionais, recomendamos excluir o modelo do AWS CloudFormation (se você o tiver implantado) para remover todos os recursos criados em sua conta da AWS.

 

Este artigo foi traduzido do Blog da AWS em Espanhol.

 


Sobre el autor

Christopher Ávila es Arquitecto de Soluciones en AWS México.

 

 

 

 

 

José Peñúñuri es Arquitecto de Soluciones en AWS México.

 

 

 

 

Revisor

Felipe De Bene é Arquiteto de Soluções na AWS México.

 

 

 

 

Use seus dados para impulsionar o crescimento do negócio. Inove continuamente usando o data flywheel.