Neo4j 3.0 Novidades

O desenvolvimento do banco de dados gráfico deu um grande passo nesse mes (04/2016) evoluiu sua versão do 2.7.x para 3.0.0 com base em uma arquitetura completamente redesenhada, maior produtividade para desenvolvedor e uma ampla gama de implementações entre elas as principais novidades do Neo4j 3.0 são:

  1. Arquitetura completamente redesenhada removendo todos os limites anteriores sobre números de nós, relacionamentos e propriedades que podem ser armazenados e indexados.
  2. Linguagem de comunicação oficial por Bolt binary protocol, novo suporte para precedimentos armazenados em java juntos permitindo que desenvolvedores possa construir aplicações em diversas linguagens.
  3. Configuração simplificada e uma estrutura de implementação para implementar Neo4j local ou na nuvem.

O suporte às linguagens de programação foi um ponto forte nessa atualização, a equipe Neo4j se preocupou em manter um padrão para as diferentes linguagens assim o desenvolvedor não precisa se preocupar em como criar uma consulta para linguagem X ou como criar conexão para linguagem Y, os drivers não são compatível com todas as linguagens atuais o procedimento deve ocorrer naturalmente com o tempo assim espero. As linguagens que receberam os drivers são: Javascript, Python, .Net e Java.

Sistema de sincronização desenvolvido em especial para os desenvolvedores, possibilitando sincronizar seus scripts, quem nunca criou um script de consulta e depois de algum tempo ficou procurando em vários lugares sem esperança de encontrar, o sistema de SYNC chegou para resolver o problema de scripts perdido ou dificuldade de exporta todos os script para um projeto diferente, basta logar com a sua conta e seus dados vai sincronizar.

A documentação do neo4j também foi atualizada podendo ser acessada pelo link: http://neo4j.com/docs/developer-manual/3.0/, acessando o site: http://neo4j.com/docs/ você encontrar a documentação detalhada, inclusive o neo4j está fornecendo agora manual das linguagens em pdf’s únicos.

JavaScript:

Drive Conexão: https://github.com/neo4j/neo4j-javascript-driver

Manual Linguagem: http://neo4j.com/docs/pdf/neo4j-developer-manual-3.0-javascript.pdf

var driver = Graph.Database.driver("bolt://localhost");
var session = driver.session();
var result = session.run("MATCH (u:User) RETURN u.name");

Python:

Drive de Conexão: https://github.com/neo4j/neo4j-python-driver

Manual Linguagem: http://neo4j.com/docs/pdf/neo4j-developer-manual-3.0-python.pdf

driver = Graph.Database.driver("bolt://localhost")
session = driver.session()
result = session.run("MATCH (u:User) RETURN u.name")

Java:

Drive de Conexão:https://github.com/neo4j/neo4j-java-driver

Manual Linguagem: http://neo4j.com/docs/pdf/neo4j-developer-manual-3.0-java.pdf

Driver driver = GraphDatabase.driver( "bolt://localhost" );
try ( Session session = driver.session() ) {
StatementResult result = session.run("MATCH (u:User) RETURN u.name");
}

.NET:

Drive de Conexão: https://github.com/neo4j/neo4j-dotnet-driver

Manual Linguagem: http://neo4j.com/docs/pdf/neo4j-developer-manual-3.0-dotnet.pdf

using (var driver = GraphDatabase.Driver("bolt://localhost"))
using (var session = driver.Session())
{
var result = session.Run("MATCH (u:User) RETURN u.name");
}

Conteúdo completo está disponível em:

http://neo4j.com/blog/neo4j-3-0-massive-scale-developer-productivity/

Instalando e Configurando Neo4j 3.0 & criando conexão com Python

Requisitos:

  1. Ubuntu 15 ou Xenial 16
  2. Java8
  3. Python 2.7.x ou 3.x.x
  4. Pip Python

Instalando Java8:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

Verifique se o python está configurado digitando no terminal:

python -v

python3 -v

Considerando que tudo está OK, instale o python-pip usando o comando:

sudo apt install python-pip

Agora que temos python, python-pip, java8 configurados, vamos instalar o neo4j, para isso preparei uma sequencia de comando que faz tudo por você, download, descompactar e muda nome. Caso a versão fique desatualizada com o tempo ou ocorra quebra de link procure pelo download manual no site neo4j.com.

sudo wget http://neo4j.com/artifact.php?name=neo4j-community-3.0.0-unix.tar.gz && 
sudo tar -zxvf artifact.php\?name\=neo4j-community-3.0.0-unix.tar.gz &&
sudo mv neo4j-community-3.0.0 /home/NEO4J_HOME

Agora com neo4j no diretorio /var precisamos criar um script .sh para iniciar o neo4j sempre em modo console, já que não possível “instalar” o neo4j, essa opção foi descontinuada por se torna obsoleta, uma explicação técnica se encontra na documentação: >>LINK<<

Criando o script.sh

sudo gedit /etc/init.d/ativarneo4j.sh

Cole dentro do arquivo as seguintes instruções:

#!/bin/bash

/home/NEO4J_HOME/bin/neo4j console

Agora precisamos da permissão de execução e colocar para iniciar junto ao sistema.

sudo chmod +x “/etc/init.d/ativarneo4j.sh”

sudo update-rc.d ativarneo4j.sh defaults

para executar o neo4j basta executar o script digitando no terminal:

sudo /etc/init.d/ativarneo4j.sh

Espere um tempo para que o serviço seja carregado totalmente, abra o navegado, acesse: localhost:7474 e escolha sua senha padrão, iniciando o script no terminal é preciso que mantenha ele aberto pois ele é responsável por mante o console conectado, quando reiniciar o sistema o scirpt vai passa a roda por “trás das cortinas” assim sem precisa se preocupar em ter que executar a inicialização do neo4j.

Agora que o neo4j 3.0 está configurado e funcionando vamos testa o drive bolt, eu escolhi a linguagem Python por ser mais fácil de instalar o drive e executar, siga as instruções:

pip install neo4j-driver

pip install neo4j-driver==1.0.0rc2

cd Desktop/ && sudo mkdir DrivePyNeo && sudo gedit DrivePyNeo/exemplo1.py

Cole dentro do arquivo exemplo1.py

salve e execute:

python exemplo1.py

Python fez conexão com neo4j, criou um node e imprimiu o resultado na tela de execução.


Originally published at Lucas Jovencio.