title: Contract vertices the graph and combine attributes
body: <p>I came across a problem.</p>
  
  <p>I have the scenery following:</p>
  
  <pre><code># Create a graph
  g1 &lt;- graph.full(5)
  V(g1)$name &lt;- letters[1:vcount(g1)]
  V(g)
  Vertex sequence:
  [1] "a" "b" "c" "d" "e"
  
  # Contract vertex "a" and "b"
  vec = c(1,1,2,3,4)
  contract_1 &lt;- contract.vertices(g1, vec, vertex.attr.comb=toString)
  V(contract_1)
  Vertex sequence:
  [1] "a, b" "c" "d" "e"  
  
  # Contract vertex "a, b" and "c"
  vec = c(1,1,2,3)
  contract_2 &lt;- contract.vertices(contract_1, vec, vertex.attr.comb=toString)
  V(contract_2)
  Vertex sequence:
  [1] "a, b, c" "d" "e"
  </code></pre>
  
  <p>And so on ... (contract "a, b, c" and "d", creating the vertex "a, b, c, d")</p>
  
  <p>I need to differentiate the vertexs of the previous level.</p>
  
  <p>Eg.: </p>
  
  <p>By contracting the vertices "a, b​​" and "c", I need using a extra markup as "|" or ";". In this case, the result would be "a, b | c" or "a, b- c" or "a, b; c".</p>
  
  <p>By contracting the vertices "a, b, c" and "d" the result would be "a, b, c | d" or "a, b, c; d"</p>
  
  <p>I tried a few things ...</p>
  
  <p>Eg.:</p>
  
  <pre><code>g &lt;- contract.vertices(g, matching, 
    vertex.attr.comb=list(name=function(x) paste(toString(x,"",sep=";"))))
  </code></pre>
  
  <p>However, not work</p>