code: func (g *Graph) Text() string {
  	if g == nil {
  		return ""
  	}
  
  	buffer := &bytes.Buffer{}
  
  	// Do not print the 'root' node
  	for _, node := range g.Out {
  		node._text(0, buffer, false)
  	}
  
  	// remove trailing \n
  
  	s := buffer.String()
  
  	if len(s) == 0 {
  		return ""
  	}
  
  	if s[len(s)-1] == '\n' {
  		s = s[0 : len(s)-1]
  	}
  
  	// unquote
  
  	if s[0] == '"' {
  		s = s[1 : len(s)-1]
  		// But then also replace \"
  		s = strings.Replace(s, "\\\"", "\"", -1)
  	}
  
  	return s
  }
docs: // Text is the OGDL text emitter. It converts a Graph into OGDL text.
  //
  // Strings are quoted if they contain spaces, newlines or special
  // characters. Null elements are not printed, and act as transparent nodes.