Tutorial Neo4j

Este tutorial do Neo4j explica o que é o Neo4j, como instalá-lo, inserir dados, criar relacionamentos, executar consultas e muito mais.

Índice

O que é Neo4j

O Neo4j é o sistema de gerenciamento de banco de dados de grafos mais popular do mundo (DBMS). 

É também um dos sistemas de banco de dados NoSQL mais populares, bem como um dos DBMSs mais populares de qualquer categoria.

O Neo4j é desenvolvido pela Neo Technology, Inc. Ele é usado por milhares de organizações, incluindo mais de 50 do Global 2000, em aplicativos de produção de missão crítica.

Como é o Neo4j?

O Neo4j armazena e apresenta dados na forma de um grafo. Os dados são representados por nós e relacionamentos entre esses nós.
Os bancos de dados Neo4j (como em qualquer banco de dados grafo) são muito diferentes dos bancos de dados relacionais, como MS Access, SQL Server, MySQL, etc. Os bancos de dados relacionais usam tabelas, linhas e colunas para armazenar dados. Eles também apresentam dados de maneira tabular.
O Neo4j não usa tabelas, linhas ou colunas para armazenar ou apresentar dados.

Como o Neo4j pode ser usado?

O Neo4j é altamente adequado para armazenar dados que possuem muitos relacionamentos de interconexão. É aqui que os bancos de dados de grafos podem fazer uma enorme diferença. Na verdade, bancos de dados de grafos como o Neo4j são muito melhores para lidar com dados relacionais do que com bancos de dados relacionais.

Isso se deve em parte ao fato de que o modelo de grafos geralmente não requer um esquema predefinido. Você não precisa criar a estrutura do banco de dados antes de carregar os dados (como em um banco de dados relacional). No Neo4j, os dados são a estrutura. Neo4j é um DBMS “opcional ao esquema”.


Mas a principal razão pela qual o Neo4j é melhor para dados relacionais é na maneira como ele permite criar relacionamentos. Neo4j é construído em torno de relacionamentos. Não há necessidade de configurar restrições de chave primária/chave estrangeira para predeterminar quais campos podem ter um relacionamento e para quais dados.

Com o Neo4j, basta adicionar qualquer relação entre qualquer nó sempre que precisar.
Isso torna o Neo4j extremamente adequado para aplicativos de redes sociais como Facebook, Twitter etc. Mas há muitas outras áreas onde o Neo4j se destaca. Aqui estão algumas das principais áreas para as quais o Neo4j pode ser usado:

  • Redes sociais
  • Recomendações de produtos em tempo real
  • Diagramas de rede
  • Detecção de fraude
  • Gerenciamento de acesso
  • Pesquisa baseada em grafos de ativos digitais
  • Gerenciamento de dados mestre

Modelo de dados do gráfico de propriedades Neo4j


O banco de dados de gráficos do Neo4j segue o modelo de gráfico de propriedades para armazenar e gerenciar seus dados.

A seguir, estão os principais recursos do Property Graph Model –

  • O modelo representa dados em Nós, Relacionamentos e Propriedades
  • Propriedades são pares de valores-chave
  • Nós são representados usando círculo e Relacionamentos são representados usando teclas de seta
  • Os relacionamentos têm instruções: Unidirecional e Bidirecional
  • Cada relacionamento contém “Nó inicial” ou “Do nó” e “Para o nó” ou “Nó final”
  • Nós e relacionamentos contêm propriedades
  • Relacionamentos conecta nós

No Modelo de Dados do Gráfico de Propriedades, os relacionamentos devem ser direcionais. Se tentarmos criar relacionamentos sem direção, ele emitirá uma mensagem de erro.

Também no Neo4j, os relacionamentos devem ser direcionais. Se tentarmos criar relacionamentos sem direção, o Neo4j emitirá uma mensagem de erro dizendo que “Os relacionamentos devem ser direcionais”.

O Neo4j Graph Database armazena todos os seus dados em Nós e Relacionamentos. Não precisamos de nenhum banco de dados RRBMS adicional nem de um banco de dados SQL para armazenar dados do banco de dados Neo4j. Ele armazena seus dados em termos de gráficos em seu formato nativo.

O Neo4j usa o GPE nativo (Graph Processing Engine) para trabalhar com seu formato de armazenamento de gráficos nativo.

Os principais componentes do Graph DB Data Model são:

  • Nós
  • Relacionamentos
  • Propriedades

A seguir, é apresentado um exemplo simples de um gráfico de propriedades:

Aqui, representamos nós usando círculos. Os relacionamentos são representados usando as setas. Os relacionamentos são direcionais. Podemos representar os dados do Node em termos de Propriedades (pares de valores-chave). Neste exemplo, representamos a propriedade Id de cada nó dentro do círculo do nó.

Instalação do servidor de banco de dados Neo4j com arquivo exe do Windows

Siga as etapas abaixo para baixar o Neo4j no seu sistema.

Etapa 1 – Visite o site oficial do Neo4j usando https://neo4j.com/. Ao clicar, este link o levará à página inicial do site neo4j.

Etapa 2 – Conforme destacado na captura de tela acima, esta página possui um botão de download no canto superior direito. Clique.

Etapa 3 – Isso o redirecionará para a página de downloads, onde é possível baixar a edição da comunidade e a edição corporativa do Neo4j. Faça o download da edição da comunidade do software clicando no botão respectivo.

Etapa 4 – Isso o levará à página em que você pode baixar a versão comunitária do software Neo4j compatível com diferentes sistemas operacionais. Faça o download do arquivo correspondente ao sistema operacional desejado.

Isso fará o download de um arquivo chamado neo4j-community_windows-x64_3_1_1.exe no seu sistema, conforme mostrado na captura de tela a seguir.

Etapa 5 – Clique duas vezes no arquivo exe para instalar o Neo4j Server.

Etapa 6 – Aceite o contrato de licença e continue com a instalação. Após a conclusão do processo, você pode observar que o Neo4j está instalado no seu sistema.

Iniciando o servidor

Etapa 1 – Clique no menu Iniciar do Windows e inicie o servidor Neo4j clicando no atalho do menu Iniciar do Neo4j.

Etapa 2 – Ao clicar no atalho, você receberá uma janela para a edição da comunidade Neo4j. Por padrão, ele seleciona c: \ Users \ [nome de usuário] \ Documents \ Neo4j \ default.graphdb. Se desejar, você pode alterar seu caminho para um diretório diferente.

Etapa 3 – Clique no botão “Iniciar” para iniciar o servidor Neo4j.

Depois que o servidor é iniciado, você pode observar que o diretório do banco de dados é preenchido conforme mostrado na captura de tela a seguir.

Trabalhando com Neo4j

Conforme discutido nos capítulos anteriores, o neo4j fornece um aplicativo de navegação embutido para trabalhar com o Neo4j. Você pode acessar o Neo4j usando o URL http: // localhost: 7474 /

O Neo4j Graph Database possui os seguintes blocos de construção –

  • Nós
  • Propriedades
  • Relacionamentos
  • Etiquetas
  • Navegador de dados

O nó é uma unidade fundamental de um gráfico. Ele contém propriedades com pares de valores-chave, conforme mostrado na imagem a seguir.

Aqui, Nome do Nó = “Empregado” e contém um conjunto de propriedades como pares de valor-chave.

Propriedades

A propriedade é um par de valores-chave para descrever nós e relacionamentos do gráfico.

Key = Value 

Onde Key é uma String e Value pode ser representado usando qualquer tipo de dado Neo4j.

Relacionamentos

Os relacionamentos são outro componente importante de um banco de dados de gráficos. Ele conecta dois nós, como mostrado na figura a seguir.

Aqui, Emp e Dept são dois nós diferentes. “WORKS_FOR” é um relacionamento entre os nós Emp e Dept.

Como denota, a marca de seta de Emp para Dept, esse relacionamento descreve –

Emp WORKS_FOR Dept 

Cada relacionamento contém um nó inicial e um nó final.

Aqui, “Emp” é um nó inicial e “Departamento” é um nó final.

Como essa marca de seta do relacionamento representa um relacionamento do nó “Emp” para o nó “Dept”, esse relacionamento é conhecido como “Relação de entrada” para o nó “Dept” e “Relacionamento de saída” para o nó “Emp”.

Como nós, os relacionamentos também podem conter propriedades como pares de valor-chave.

Aqui, o relacionamento “WORKS_FOR” possui uma propriedade como par de valor-chave.

Id = 123 

Representa um ID desse relacionamento.

Labels (Etiquetas)

O rótulo associa um nome comum a um conjunto de nós ou relacionamentos. Um nó ou relacionamento pode conter um ou mais rótulos. Podemos criar novos rótulos para nós ou relacionamentos existentes. Podemos remover os rótulos existentes dos nós ou relacionamentos existentes.

No diagrama anterior, podemos observar que existem dois nós.

O nó do lado esquerdo possui um Label: “Emp” e o nó do lado direito possui um Label: “Dept”.

O relacionamento entre esses dois nós também tem um rótulo: “WORKS_FOR”.

Nota – O Neo4j armazena dados em Propriedades de nós ou relacionamentos.

Navegador de dados Neo4j

Depois de instalar o Neo4j, podemos acessar o Navegador de dados Neo4j usando o seguinte URL.

http://localhost:7474/browser/

O Navegador de dados Neo4j é usado para executar comandos CQL e visualizar a saída.

Aqui, precisamos executar todos os comandos CQL no prompt do dólar: “$”

Digite comandos após o símbolo do dólar e clique no botão “Executar” para executar seus comandos.

Ele interage com o Neo4j Database Server, recupera e exibe os resultados logo abaixo do prompt do dólar.

Use o botão “VI View” para visualizar os resultados no formato de diagramas. O diagrama acima mostra os resultados no formato “UI View”.

Use o botão “Visualização em grade” para visualizar os resultados na Visualização em grade. O diagrama a seguir mostra os mesmos resultados no formato “Visualização em grade”.

Quando usamos o “Grid View” para visualizar nossos resultados de consulta, podemos exportá-los para um arquivo em dois formatos diferentes.

CSV

Clique no botão “Exportar CSV” para exportar os resultados no formato de arquivo csv.

JSON

Clique no botão “Exportar JSON” para exportar os resultados no formato de arquivo JSON.

No entanto, se usarmos “Visualização da interface do usuário” para ver nossos resultados de consulta, poderemos exportá-los para um arquivo em apenas um formato: JSON.