Neo4j.Session (Neo4jEx v0.1.4)
View SourceNeo4j Session for executing queries and managing transactions.
A session is a container for a sequence of transactions. Sessions borrow connections from the driver's connection pool and should be closed when no longer needed.
Usage
# Within a driver session block
Neo4j.Driver.session(driver, fn session ->
{:ok, result} = Neo4j.Session.run(session, "MATCH (n:Person) RETURN n.name")
# Process result...
end)
# Manual session management
{:ok, session} = Neo4j.Driver.create_session(driver)
{:ok, result} = Neo4j.Session.run(session, "MATCH (n:Person) RETURN n.name")
Neo4j.Session.close(session)
Summary
Functions
Begins a new transaction in the session.
Closes the session and releases its connection.
Gets session information.
Executes a Cypher query in the session.
Functions
Begins a new transaction in the session.
Parameters
- session: Session map
- opts: Transaction options (default: [])
Options
:mode- Transaction mode ("r" for read, "w" for write):timeout- Transaction timeout in milliseconds
Returns
{:ok, transaction}on success{:error, reason}on failure
Examples
{:ok, tx} = Neo4j.Session.begin_transaction(session)
{:ok, tx} = Neo4j.Session.begin_transaction(session, mode: "w", timeout: 30_000)
Closes the session and releases its connection.
Parameters
- session: Session to close
Examples
Neo4j.Session.close(session)
Gets session information.
Parameters
- session: Session map
Returns
Session information map
Executes a Cypher query in the session.
Parameters
- session: Session map
- query: Cypher query string
- params: Query parameters map (default: %{})
- opts: Query options (default: [])
Options
:timeout- Query timeout in milliseconds
Returns
{:ok, results}on success where results is a list of records{:error, reason}on failure
Examples
{:ok, results} = Neo4j.Session.run(session, "MATCH (n:Person) RETURN n.name")
{:ok, results} = Neo4j.Session.run(session, "CREATE (p:Person {name: $name})", %{name: "Alice"})