func CreateNewMongoGraph(addr string, options graph.Options) bool { conn, err := mgo.Dial(addr) if err != nil { glog.Fatal("Error connecting: ", err) return false } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName if val, ok := options.StringKey("database_name"); ok { dbName = val } db := conn.DB(dbName) indexOpts := mgo.Index{ Key: []string{"Sub"}, Unique: false, DropDups: false, Background: true, Sparse: true, } db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Pred"} db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Obj"} db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Provenance"} db.C("triples").EnsureIndex(indexOpts) return true }
func createNewMongoGraph(addr string, options graph.Options) error { conn, err := mgo.Dial(addr) if err != nil { return err } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName if val, ok := options.StringKey("database_name"); ok { dbName = val } db := conn.DB(dbName) indexOpts := mgo.Index{ Key: []string{"Sub"}, Unique: false, DropDups: false, Background: true, Sparse: true, } db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Pred"} db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Obj"} db.C("triples").EnsureIndex(indexOpts) indexOpts.Key = []string{"Label"} db.C("triples").EnsureIndex(indexOpts) return nil }
func newTripleStore(addr string, options graph.Options) (graph.TripleStore, error) { var qs TripleStore conn, err := mgo.Dial(addr) if err != nil { return nil, err } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName if val, ok := options.StringKey("database_name"); ok { dbName = val } qs.db = conn.DB(dbName) qs.session = conn qs.idCache = NewIDLru(1 << 16) return &qs, nil }
func NewTripleStore(addr string, options graph.Options) *TripleStore { var ts TripleStore conn, err := mgo.Dial(addr) if err != nil { glog.Fatal("Error connecting: ", err) } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName if val, ok := options.StringKey("database_name"); ok { dbName = val } ts.db = conn.DB(dbName) ts.session = conn ts.hasher = sha1.New() ts.idCache = NewIDLru(1 << 16) return &ts }
func createNewMongoGraph(addr string, options graph.Options) error { conn, err := mgo.Dial(addr) if err != nil { return err } defer conn.Close() conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName val, ok, err := options.StringKey("database_name") if err != nil { return err } else if ok { dbName = val } db := conn.DB(dbName) return ensureIndexes(db) }
func newQuadStore(addr string, options graph.Options) (graph.QuadStore, error) { var qs QuadStore conn, err := mgo.Dial(addr) if err != nil { return nil, err } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName val, ok, err := options.StringKey("database_name") if err != nil { return nil, err } else if ok { dbName = val } qs.db = conn.DB(dbName) qs.session = conn qs.ids = newCache(1 << 16) qs.sizes = newCache(1 << 16) return &qs, nil }
func createNewMongoGraph(addr string, options graph.Options) error { conn, err := mgo.Dial(addr) if err != nil { return err } conn.SetSafe(&mgo.Safe{}) dbName := DefaultDBName val, ok, err := options.StringKey("database_name") if err != nil { return err } else if ok { dbName = val } db := conn.DB(dbName) indexOpts := mgo.Index{ Key: []string{"subject"}, Unique: false, DropDups: false, Background: true, Sparse: true, } db.C("quads").EnsureIndex(indexOpts) indexOpts.Key = []string{"predicate"} db.C("quads").EnsureIndex(indexOpts) indexOpts.Key = []string{"object"} db.C("quads").EnsureIndex(indexOpts) indexOpts.Key = []string{"label"} db.C("quads").EnsureIndex(indexOpts) logOpts := mgo.Index{ Key: []string{"LogID"}, Unique: true, DropDups: false, Background: true, Sparse: true, } db.C("log").EnsureIndex(logOpts) return nil }