...

/

Try Out the Bolt Driver

Try Out the Bolt Driver

Examine Bolt.Sips response and query types, nodes, relationships, and paths using the bolt_sips package.

We'll cover the following...

Let’s look at some raw Bolt.Sips responses in order to gain some familiarity with how graph data is actually shipped across our comms channel—the Bolt connection.

%Bolt.Sips.Response{} struct

Let’s take a quick look at the %Bolt.Sips.Response{} struct to get a feel for how this is structured and what kinds of data fields are supported:

iex> %Bolt.Sips.Response{}

Here’s the output we get:

%Bolt.Sips.Response{
bookmark: nil,
fields: nil,
notifications: [],
plan: nil,
profile: nil,
records: [],
results: [],
stats: [],
type: nil
}
Bolt.Sips response struct

For now, we’re going to be mainly looking at the results and stats fields, and later we’ll use the type field as a means to select between the two.

Minimal Cypher query

Let's look at a simple Cypher query to start with:

iex> import Bolt.Sips
iex> query!(conn(), "RETURN 1 AS n")
iex> with %Bolt.Sips.Response{results: results} =
...> query!(conn(), "RETURN 1 AS n"), do: results
...