Skip to main content
Version: 1.4.0

Go quick start

At the end of this guide, you will have created a simple Go Hello, World! program that connects to the Memgraph database and executes simple queries.

Prerequisites#

To follow this guide, you will need:

  • A running Memgraph instance. If you need to set up Memgraph, take a look at the Installation guide.
  • A basic understanding of graph databases and the property graph model.
  • The newest version of Go installed.

Basic Setup#

We'll be using a simple Go application to demonstrate how to connect to a running Memgraph instance.

Let's jump in and create our application.

1. Create a new directory for your app, for example /MyApp and position yourself in it.

2. Create a program.go file and add the following code:

package main
import "github.com/neo4j/neo4j-go-driver/neo4j"
import "fmt"
func main() {
driver, err := neo4j.NewDriver("bolt://localhost:7687", neo4j.BasicAuth("", "", ""))
if err != nil {
fmt.Println(err)
}
defer driver.Close()
session, err := driver.Session(neo4j.AccessModeWrite)
if err != nil {
fmt.Println(err)
}
defer session.Close()
greeting, err := session.WriteTransaction(func(transaction neo4j.Transaction) (interface{}, error) {
result, err := transaction.Run(
"CREATE (a:Greeting) SET a.message = $message RETURN 'Node ' + id(a) + ': ' + a.message",
map[string]interface{}{"message": "Hello, World!"})
if err != nil {
return nil, err
}
if result.Next() {
return result.Record().GetByIndex(0), nil
}
return nil, result.Err()
})
if err != nil {
fmt.Println(err)
}
fmt.Println(greeting.(string))
}

3. Add the Bolt driver in the /MyApp directory with the command:

go get github.com/neo4j/neo4j-go-driver/neo4j

4. Run the app with the following command:

go run .\program.go

You should see an output similar to the following:

Node 1: Hello, World!

Where to next?#

For real-world examples of how to use Memgraph, we suggest you take a look at the Tutorials page.
You can also browse through the Database functionalities section to get an overview of all the functionalities Memgraph offers.

Getting help#

Visit the Getting help page in case you run into any kind of problem or you have additional questions.