Wrote write goroutine functions.
Refactored subpackages back to root package.
This commit is contained in:
42
neo4j.go
Normal file
42
neo4j.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package heartwood
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/neo4j/neo4j-go-driver/v6/neo4j"
|
||||
)
|
||||
|
||||
// Interface
|
||||
|
||||
type GraphDB interface {
|
||||
MergeSubgraph(ctx context.Context, subgraph *BatchSubgraph) ([]neo4j.ResultSummary, error)
|
||||
}
|
||||
|
||||
func NewGraphDriver(driver neo4j.Driver) GraphDB {
|
||||
return &graphdb{driver: driver}
|
||||
}
|
||||
|
||||
type graphdb struct {
|
||||
driver neo4j.Driver
|
||||
}
|
||||
|
||||
func (n *graphdb) MergeSubgraph(ctx context.Context, subgraph *BatchSubgraph) ([]neo4j.ResultSummary, error) {
|
||||
return MergeSubgraph(ctx, n.driver, subgraph)
|
||||
}
|
||||
|
||||
// Functions
|
||||
|
||||
func ConnectNeo4j(ctx context.Context, uri, user, password string) (neo4j.Driver, error) {
|
||||
driver, err := neo4j.NewDriver(
|
||||
uri,
|
||||
neo4j.BasicAuth(user, password, ""))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = driver.VerifyConnectivity(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return driver, nil
|
||||
}
|
||||
Reference in New Issue
Block a user