paddockpass/graph/main.go
2020-07-25 00:52:24 +02:00

74 lines
1.1 KiB
Go

package graph
import (
"context"
"log"
"github.com/dgraph-io/dgo/v2"
"github.com/dgraph-io/dgo/v2/protos/api"
"google.golang.org/grpc"
)
func ConnectToDgraph() (*dgo.Dgraph, error) {
client, err := grpc.Dial("localhost:9080", grpc.WithInsecure())
if err != nil {
log.Fatal(err)
}
return dgo.NewDgraphClient(
api.NewDgraphClient(client),
), err
}
func InitSchema(c *dgo.Dgraph) error {
err := c.Alter(context.Background(), &api.Operation{
Schema: `
firstName: string .
lastName: string @index(term) .
nationality: string @index(term) .
dob: string .
type: string @index(term) .
type Driver {
firstName: string
lastName: string
nationality: string
dob: string
type: string
}
season: string @index(term) .
round: string .
raceName: string @index(term) .
circuit: uid .
date: string .
url: string .
type Circuit {
name: string
location: string
url: string
type: string
}
type Race {
season: string
round: string
raceName: string
circuit: Circuit
date: string
url: string
type: string
}
name: string @index(term) .
location: string @index(term) .
`})
if err != nil {
return err
}
return nil
}