package main
import (
"fmt"
"github.com/neo4j/neo4j-go-driver/neo4j"
)
func main() {
// [...]
session, err := driver.NewSession(neo4j.SessionConfig{
AccessMode: neo4j.AccessModeWrite,
Bookmarks: []string{bookmark},
DatabaseName: "neo4j",
})
handleError(err)
defer session.Close()
transaction, err := session.BeginTransaction()
handleError(err)
defer transaction.Close()
result, err := transaction.Run(
`CREATE (a:Greeting) SET a.message = $message RETURN a.message + ", from node " + id(a)`,
map[string]interface{}{
"message": "helloWorld",
},
)
record, err := single(result)
handleError(err)
greeting := record.Values()[0]
fmt.Println(greeting)
handleError(transaction.Commit())
}
func single(result neo4j.Result) (neo4j.Record, error) {
if !result.Next() {
return nil, fmt.Errorf("expected at least 1 result, got none")
}
record := result.Record()
if result.Next() {
return nil, fmt.Errorf("expected exactly 1 result, got at least 1 more")
}
return record, nil
}