Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

mindstand/go-bolt

Repository files navigation

Go Report Card GoDoc GoBolt Test Suite

Go-Bolt - GoLang Bolt Driver

Implements Neo4j Bolt Protocol Versions 1-4

go get -u github.com/mindstand/go-bolt

(Disclaimer) This repository is still a major work in progress

Features

  • Supports bolt protocol versions 1-4
  • Supports multi db in bolt protocol v4
  • Connection Pooling
  • bolt+routing for casual clusters
  • TLS support

Current todo's

(Issues will be updated)

  • Documentation across entire repository
  • Unit/integration testing across the entire repository for all protocol versions
  • Support for neo4j bookmarks

Long term goals

  • Cypher checks preflight
  • Benchmark Testing

Thanks to:

Current example

This will be changed, this is the main integration test at the moment

client, err := NewClient(WithBasicAuth("neo4j", "changme"), WithHostPort("0.0.0.0", 7687))
if err != nil {
    panic(err)
}

driver, err := client.NewDriver()
if err != nil {
    panic(err)
}

conn, err := driver.Open(bolt_mode.WriteMode)
if err != nil {
    panic(err)
}

all, m, err := conn.Query("create (:TestNode{uuid:$id})", map[string]interface{}{
   "id": "random_id",
})
log.Tracef("rows: %v, %v, %v", all, m, err)

err = conn.Close()
if err != nil {
    panic(err)
}