anchor.diff:  }
   ----
   
  -The vertex properly serializes to valid JSON but note that a consuming application will not automatically know how to interpret the numeric values.  In coercing those Java values to JSON, such information is lost.  For example, it is no longer clear if the `weight` value on the edges should be read as a `Double` or an `Float`.
  +The vertex properly serializes to valid JSON but note that a consuming application will not automatically know how to interpret the numeric values.  In coercing those Java values to JSON, such information is lost.  For example, it is no longer clear if the `weight` value on the edges should be read as a `Double` or a `Float`.
   
   With a minor change to the construction of the `GraphSONWriter` the lossy nature of GraphSON can be avoided:
   
   [source,groovy]
   ----
  -gremlin> f = new FileOutputStream('vertex-1.json')
  -==>java.io.FileOutputStream@43034809
  -gremlin> g.io().graphSONWriter().mapper(g.io().graphSONMapper().embedTypes(true).create()).create().writeVertex(f, g.V(1).next(), BOTH)
  +gremlin> g = TinkerFactory.createModern()
  +==>tinkergraph[vertices:6 edges:6]
  +gremlin> f = new FileOutputStream("vertex-1.json")
  +==>java.io.FileOutputStream@3bbf9027
  +gremlin> mapper = g.io().graphSONMapper().embedTypes(true).create()
  +==>com.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper@2ce45a7b
  +gremlin> g.io().graphSONWriter().mapper(mapper).create().writeVertex(f, g.V(1).next(), BOTH)
   ==>null
   gremlin> f.close()
  -----
  +==>null
   
   In the above code, the `embedTypes` option is set to `true` and the output below shows the difference in the output:
   
  
positive.code: ----
  final Graph g = TinkerFactory.createModern();
  try (final OutputStream os = new FileOutputStream("tinkerpop-modern.gio")) {
      g.io().kryoWriter().normalize(true).create().writeGraph(os);
  }
  
  final Graph newGraph = TinkerGraph.open();
  
negative.code: GraphML Reader/Writer
  ~~~~~~~~~~~~~~~~~~~~~
  
  image:gremlin-graphml.png[width=350,float=left] The link:http://graphml.graphdrawing.org/[GraphML] file format is a common XML-based representation of a graph. It is widely supported by graph-related tools and libraries making it a solid interchange format for TinkerPop. In other words, if the intent is to work with graph data in conjunction with applications outside of TinkerPop, GraphML may be the best choice to do that. Common use cases might be:
  
  * Generate a graph using link:https://networkx.github.io/[NetworkX], export it with GraphML and import it to TinkerPop.
  * Produce a subgraph and export it to GraphML to be consumed by and visualized in link:https://gephi.org/[Gephi].
  * Migrate the data of an entire graph to a different graph database not supported by TinkerPop.
  
  