Question

I have an example of a graph with a graph property named random that has a value of 23. Is there a way to represent say a list of values as a graph attribute in this format without violating the core format?

<?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="g_random" for="graph" attr.name="random" attr.type="double"/>
  <graph id="G" edgedefault="undirected">
    <data key="g_random">23</data> 
    <node id="n0">
    </node>
    <node id="n1">
    </node>
    <edge source="n0" target="n1">
    </edge>
 </graph>

Thanks

Was it helpful?

Solution

I ended up using a string data type to encode the data within the array. There is no native way to represent iterable data types with this format at the time of this posting. Here is an example of a node attribute with an array of values associated with it, in graphml format:

<graphml 
<!-- Boilerplate graphml -->

<key id="v_arr" for="node" attr.name="arr" attr.type="string"/>
<graph id="G" edgedefault="undirected">
:
:

<node id="n0">
  <data key="v_arr">23 4 5</data>
</node>
<node id="n1">
  <data key="v_arr">34.3 53.34</data>
</node>
<node id="n2">
  <data key="v_arr">45.4 23E-23</data>
</node>
<edge source="n0" target="n2">
</edge>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top