I think I found my answer in http://graphml.graphdrawing.org/primer/graphml-primer.html#Nested
"The edges between two nodes in a nested graph have to be declared in a graph, which is an ancestor of both nodes in the hierarchy. Note that this is true for our example. Declaring the edge between node n6::n1 and node n4::n0::n0 inside graph n6::n0 would be wrong while declaring it in graph G would be correct. A good policy is to place the edges at the least common ancestor of the nodes in the hierarchy, or at the top level." -Paul ________________________________ From: Paul A. Jackson Sent: Monday, July 26, 2010 2:52 PM To: 'Neo4j user discussions' Subject: GraphML Nested Graphs I am looking into nested graphs and have not found an answer to a specific case. Generally, when a node from one level links to a node in a sub graph, the edge should be defined in the outer graph. In the case where two nodes are in two different (peer) subgraphs at the same level, should the edge go in the outer level that contains them both? See edge e4 below. <?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"> <graph id="G" edgedefault="undirected"> <node id="n0"/> <graph id="n5:" edgedefault="undirected"> <node id="n5::n1"/> <node id="n5::n2"/> <edge id="e0" source="n5::n1" target="n5::n2"/> </graph> </node> <node id="n1"> <graph id="n6:" edgedefault="undirected"> <edge id="e1" source="n6::n1" target="n6::n2"/> </graph> </node> <edge id="e2" source="n5::n2" target="n0"/> <edge id="e3" source="n0" target="n2"/> <edge id="e4" source="n6::n1" target="n5::n2"/> </graph> </graphml> Thanks, -Paul _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

