@neo4j-labs/temp-dbs

    0.2.4 • Public • Published

    @neo4j-labs/temp-dbs

    This library was created initialy to be used on https://portal.graphgist.org/ where users are able to run custom cypher queries directly on the browser, can change queries, and interact with the results.

    This implementation may work with your project too.

    Under the hood it creates a temporary database on a Neo4j instance (v4.0 or higher). To prevent the running out of memory on the database, each temporary database is named with a timestamp to be used in a cleanup operation.

    How to use:

    import neo4j from "neo4j-driver"
    import Neo4jTempDb from "@neo4j-labs/temp-dbs"
    
    const tempDb = new Neo4jTempDb(
      'neo4j://localhost',
      neo4j.auth.basic('neo4j', 'password')
    )

    Create a temporary database

    const databaseName = tempDb.createDatabase()

    Run Cyphers on the temp database

    const result = neo4jTempDb.runCypherOnDatabase(databaseName, cypherVersion, cypher, params)

    result is an object with the following properties:

    key description
    json a JSON valid object containing all nodes and relationships returned by the cypher query
    visualization all nodes and relationships on the current database
    columns all the keys returned by the query run
    query the cypher query sent
    version the cypher version selected

    Clean up the database

    This is important to free resources on your server since databases don't auto expire:

    await tempDb.cleanDatabase(database)

    Clean up databases expired databases

    await tempDb.cleanDatabasesOlderThan(60 * 60 * 24) // 24h cleanup interval

    Clean up all databases

    await tempDb.cleanAllDatabases()

    Run development tests

    Make sure you have the right credentials to your Neo4j database:

    export CONSOLE_NEO4J_URI=bolt://localhost:7687
    export CONSOLE_NEO4J_USER=neo4j
    export CONSOLE_NEO4J_PASSWORD=123456

    And to run tests:

    npm test

    Keywords

    none

    Install

    npm i @neo4j-labs/temp-dbs

    DownloadsWeekly Downloads

    2

    Version

    0.2.4

    License

    MIT

    Unpacked Size

    41.4 kB

    Total Files

    9

    Last publish

    Collaborators

    • adamcowley
    • keesv