code: func (c *IterateChain) TagValues(qs QuadStore, fnc func(map[string]quad.Value)) error {
  	if qs != nil {
  		c.qs = qs
  	}
  	if c.qs == nil {
  		return errNoQuadStore
  	}
  	return c.TagEach(func(m map[string]Value) {
  		vm := make(map[string]quad.Value, len(m))
  		for k, v := range m {
  			vm[k] = c.qs.NameOf(v) // TODO(dennwc): batch NameOf?
  		}
  		fnc(vm)
  	})
  }
docs: // TagValues is an analog of TagEach, but it will additionally call NameOf
  // for each graph.Value before passing the map to a callback.