Parte 2 – Dando Superpoderes aos Seus Dados com Neo4J e Grafos
Autor: Lucas Humberto Cabrera Santos Grafos Grafos são um conceito extremamente antigo (a primeira menção a isso remonta a Leonhard Euler em 1736) de armazenamento e visualização de dados e suas relações. Basicamente um Grafo é composto de duas partes básicas: Nó: O nó é o representante de uma entidade do sistema, por exemplo, um usuário, um Role, um Scope Arestas: As arestas são os relacionamentos em si Este é o exemplo de um Grafo simples: Aqui temos dois nós, 1 e 2 que estão conectados através de uma relação de "FOLLOWS", que possui uma propriedade Since que diz desde quando aquela pessoa 1 segue a pessoa 2. Perceba que os nós também podem ter propriedades e além disso, também podemos definir Labels para cada um dos nós. Então, como estamos falando de pessoas, poderíamos ter um nó Alice: Person, onde Alice seria o identificador do nó e Person seria a categoria, ou a Label desse nó. Então podemos montar um Grafo simples como o do exemplo a seguir: Ou então um Grafo mais complexo como o do próximo exemplo: Para dar uma noção da importância de grafos, hoje, principalmente, eles são muito utilizados em diversas aplicações reais, principalmente em logística e até mesmo na Internet, que se pensarmos bem, é um Grafo gigante, roteadores também utilizam algoritmos de menor caminho (como Dijkstra) para encontrar o menor caminho entre outros roteadores até o IP…