setPath(vs, value) {
    var self = this;
    var args = arguments;
    vs.reduce(function(v, w) {
      if (args.length > 1) {
        self.setEdge(v, w, value);
      } else {
        self.setEdge(v, w);
      }
      return w;
    });
    return this;
  }
Establish an edges path over the nodes in nodes list. If some edge is already
exists, it will update its label, otherwise it will create an edge between pair
of nodes with label provided or default label if no label provided.
Complexity: O(|nodes|).