func (qs *QuadStore) NameOf(v graph.Value) quad.Value { if v == nil { return nil } else if v, ok := v.(graph.PreFetchedValue); ok { return v.NameOf() } hash := v.(NodeHash) if hash == "" { return nil } if val, ok := qs.ids.Get(string(hash)); ok { return val.(quad.Value) } var node MongoNode err := qs.db.C("nodes").FindId(string(hash)).One(&node) if err != nil { clog.Errorf("Error: Couldn't retrieve node %s %v", v, err) } qv := toQuadValue(node.Name) if node.ID != "" && qv != nil { qs.ids.Put(string(hash), qv) } return qv }