<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns 
     http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">

  <key id="d1" for="node" attr.name="string_prop" attr.type="string">
    <default>default</default>
  </key>
  <key id="d2" for="node" attr.name="int_prop" attr.type="int">
    <default>42</default>
  </key>
  <key id="d3" for="node" attr.name="long_prop" attr.type="long">
    <default>42</default>
  </key>
  <key id="d4" for="node" attr.name="bool_prop" attr.type="boolean">
    <default>0</default>
  </key>
  <key id="d5" for="node" attr.name="float_prop" attr.type="float">
    <default>0.0</default>
  </key>
  <key id="d6" for="node" attr.name="double_prop" attr.type="double">
    <default>0.0</default>
  </key>
  <key id="d7" for="edge" attr.name="weight" attr.type="double">
    <default>0.0</default>
  </key>

  <graph id="G" edgedefault="directed">
    <node id="n0"/>
    <node id="n1"/>
    <node id="not a canonical node">
      <data key="d1">foo</data>
      <data key="d2">100</data>
      <data key="d3">3</data>
      <data key="d4">1</data>
      <data key="d5">1.5</data>
      <data key="d6">1.1</data>
    </node>
    <node id="n3"/>
    <node id="n4"/>
    <node id="n5"/>
    <node id="n6"/>
    <edge id="e0" source="n0" target="n1" />
    <edge id="e1" source="n1" target="not a canonical node">
      <data key="d7">0.8</data>
    </edge>
    <edge id="e2" source="not a canonical node" target="n6">
      <data key="d7">0.5</data>
    </edge>
    <edge id="e3" source="n3" target="n4">
      <data key="d7">0.2</data>
    </edge>
    <edge id="e4" source="n4" target="n5">
      <data key="d7">10.1</data>
    </edge>
    <edge id="e5" source="n4" target="not a canonical node">
      <data key="d7">5.5</data>
    </edge>
    <edge id="e6" source="n5" target="n6">
      <data key="d7">2.0</data>
    </edge>
    <edge id="e7" source="n6" target="n1">
      <data key="d7">0.1</data>
    </edge>
    <!-- The following nested graph should simply have its contents added to the main graph -->
    <graph id="Nested" edgedefault="directed">
        <node id="n7"/>
        <node id="n8"/>
        <edge id="e8" source="n7" target="n8">
          <data key="d7">10.0</data>
        </edge>
    </graph>
  </graph>
</graphml>

