Created
March 15, 2022 10:18
-
-
Save jexp/77b2dbab07e3299534391f00754918b4 to your computer and use it in GitHub Desktop.
neo4j movies javascript example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* npm install --save neo4j-driver | |
node movies.js | |
export NEO4J_URI='neo4j+s://demo.neo4jlabs.com:7687' | |
export NEO4J_USER='mUser' | |
export NEO4J_PASSWORD='s3cr3t' | |
export NEO4J_DATABASE='movies' | |
*/ | |
(async() => { | |
const neo4j = require('neo4j-driver'); | |
const driver = neo4j.driver(process.env['NEO4J_URI'], | |
neo4j.auth.basic(process.env['NEO4J_USER'],process.env['NEO4J_PASSWORD']), | |
{}); | |
const query = | |
` | |
MATCH (m:Movie {title:$movie})<--(p:Person)-->(o:Movie) | |
RETURN o.title as title, o.released as year, count(*) as freq | |
ORDER BY freq DESC LIMIT 5 | |
`; | |
const params = {"movie": "Apollo 13"}; | |
const session = driver.session({database:process.env['NEO4J_DATABASE']}); | |
try { | |
const result = await session.readTransaction(tx => tx.run(query, params)); | |
result.records.forEach(r => console.log(r.get('title'),r.get('year').toInt(),r.get('freq').toInt())); | |
} catch (error) { | |
console.error(error); | |
} finally { | |
session.close(); | |
driver.close(); | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment