Introdução ao Neo4j com NodeJS

0

Já vimos aqui no blog algumas postagem sobre Neo4j, também já vimos como integrar o Neo4j com .NET. Então você é um desenvolvedor NodeJS, este post fornece uma visão geral das opções para se conectar ao Neo4j. Embora este guia não seja abrangente, ele apresentará o básico para que você possa se conectar ao banco de dados:

O driver Neo4j Javascript é oficialmente suportado pelo Neo4j ( à partir da versão 3.0) e se conecta ao banco de dados usando o protocolo binário chamado bolt. Ele pretende ser mínimo, sendo idiomático para o NodeJS de maneira simples e prática utilizando em sua grande maioria das vezes, comandos baseados em CypherQuery.

A instalação é bem simples!

npm install [email protected]

 

Para preparar a nossa base de dados eu rodei alguns comandos para popular nosso banco, eu também utilizei um comando CREATE para “me inserir” no banco e entrar como figurante do filme Matrix, já que o comando (play movie-graph) é um tutorial para inserir dentro do neo4j uma base demo, sobre filmes, atores e diretores.

 

// Movie Graph
:play movie-graph

Match
MATCH (tom {name: "Tom Hanks"}) RETURN tom

Limit
MATCH (n:Movie) RETURN n LIMIT 25

Insert Node
CREATE (Jhonathan:Person {name:'Jhonathan Soares', born:1990})

Insert Relationship
MATCH (p:Person {name:'Jhonathan Soares'}), (m:Movie {title:'The Matrix'})
CREATE (p)-[:ACTED_IN {roles:['Figurant']}]->(m)


Shortestpath
MATCH (jhonathan:Person { name:'Jhonathan Soares' }),(keanu:Person { name: 'Keanu Reeves' }), p = shortestPath((jhonathan)-[*..15]-(keanu)) RETURN p


Execution Plan
EXPLAIN MATCH (jhonathan:Person { name:'Jhonathan Soares' }),(keanu:Person { name: 'Keanu Reeves' }), p = shortestPath((jhonathan)-[*..15]-(keanu)) RETURN p


 

Veja o trecho de código que faz a conexão com o Neo4j, nesta consulta estou consultando uma pessoa, cujo nome é Jhonathan Soares:

const neo4j = require('neo4j-driver').v1;

const driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
const session = driver.session();

const personName = 'Jhonathan Soares';
const resultPromise = session.run(
  'CREATE (a:Person {name: $name}) RETURN a',
  {name: personName}
);

resultPromise.then(result => {
  session.close();

  const singleRecord = result.records[0];
  const node = singleRecord.get(0);

  console.log(node.properties.name);

  // on application exit:
  driver.close();
});

 

Lembrando que a url padrão para o Neo4j é: “bolt://localhost:7687”. Este é um exemplo básico de como vocês podem se conectar com o Neo4j. A porta do protocolo BOLT não é a 7474 e sim 7687, você pode configurar as portas no arquivo de configuração da sua instalação do Neo4j.

Os comandos agora para a execução, são apenas os referentes ao NPM (install, build e run).

Você também pode acessar um projeto de demonstração que faz consultas dinâmicas ao Neo4j.

Acesso: https://github.com/jhomarolo/movies-javascript-bolt

Você também pode acessar a página da documentação oficial: https://neo4j.com/developer/javascript/

Por hoje é só, logo vamos ter mais posts sobre como se conectar em outras linguagens!

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com