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!