Re: [jgrapht-users] GraphMLExporter
Brought to you by:
barak_naveh,
perfecthash
|
From: Mansour A. <man...@gm...> - 2016-06-17 08:36:17
|
Hi Besenyei,
Thanks for your reply, but this is not what I was searching for. I wish to
have different data keys for each node :
<node id="1">
<data key="name">node1</data>
<data key="label">label1</data>
<data key="type">type1</data>
</node>
Is there any way to have this ?
Thanks,
Mansour
On Thu, Jun 16, 2016 at 6:37 PM, Szabolcs Besenyei <bes...@gm...>
wrote:
> Hi,
>
> It is because you need to give a VertexNameProvider and an
> EdgeNameProvider to the constructor of the exporter.
> It seems you also need to define one pair of VertexNameProvider and
> EdgeNameProvider for each vertex/edge respectively.
> Here is a snippet on how to achieve such behaviour from the exporter:
>
> class GraphNode {
>> String name;
>> String label;
>> String type;
>>
>> public GraphNode(String name, String label, String type) {
>> this.name = name;
>> this.label = label;
>> this.type = type;
>> }
>>
>> @Override
>> public String toString() {
>> return "GraphNode{" + "name=" + name + ", label=" + label + ",
>> type=" + type + '}';
>> }
>> }
>>
>> public class Main {
>>
>> public static void main(String[] args) throws IOException,
>> SAXException, TransformerConfigurationException {
>> DefaultDirectedGraph<GraphNode, DefaultEdge> g =
>> new DefaultDirectedGraph<>(DefaultEdge.class);
>> GraphNode node1 = new GraphNode("node1","label1","type1");
>> GraphNode node2 = new GraphNode("node2","label2","type1");
>>
>> g.addVertex(node1);
>> g.addVertex(node2);
>> g.addEdge(node1, node2);
>>
>> VertexNameProvider<GraphNode> vLabelNameProvider = new
>> StringNameProvider<>();
>> VertexNameProvider<GraphNode> vIdNameProvider = new
>> IntegerNameProvider<>();
>>
>> EdgeNameProvider<DefaultEdge> eLabelNameProvider = new
>> StringEdgeNameProvider<>();
>> EdgeNameProvider<DefaultEdge> eIdNameProvider = new
>> IntegerEdgeNameProvider<>();
>>
>> GraphMLExporter<GraphNode, DefaultEdge> exporter
>> = new GraphMLExporter<>(vIdNameProvider,
>> vLabelNameProvider, eIdNameProvider, eLabelNameProvider);
>>
>> FileWriter w = new FileWriter("output.txt");
>> exporter.export(w, g);
>> }
>>
>> }
>>
>
> And the result:
>
> <?xml version="1.0" encoding="UTF-8"?><graphml xmlns="
>> http://graphml.graphdrawing.org/xmlns" xsi:schemaLocation="
>> http://graphml.graphdrawing.org/xmlns
>> http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance">
>> <key id="vertex_label" for="node" attr.name="Vertex Label"
>> attr.type="string"/>
>> <key id="edge_label" for="edge" attr.name="Edge Label"
>> attr.type="string"/>
>> <graph edgedefault="directed">
>> <node id="1">
>> <data key="vertex_label">GraphNode{name=node1, label=label1,
>> type=type1}</data>
>> </node>
>> <node id="2">
>> <data key="vertex_label">GraphNode{name=node2, label=label2,
>> type=type1}</data>
>> </node>
>> <edge id="1" source="1" target="2">
>> <data key="edge_label"/>
>> </edge>
>> </graph>
>> </graphml>
>>
>
> Üdvözlettel,
>
> Besenyei Szabolcs
>
> 2016-06-16 16:55 GMT+02:00 Mansour Ahmadi <man...@gm...>:
>
>> Hi,
>>
>> I am trying to save a graph with custom nodes, but the export function
>> doesn't save the attributes of the graph nodes (it just saves an id for
>> each node).
>>
>> public class GraphNode {
>> String name;
>> String label;
>> String type;
>> }
>>
>> GraphMLExporter<GraphNode, DefaultEdge> exporter =
>> new GraphMLExporter<GraphNode, DefaultEdge>();
>> w = new FileWriter(file);
>> exporter.export(w, this.g);
>>
>> Would you please help me how can I save all of the attributes of nodes?
>>
>> Thanks
>>
>>
>> ------------------------------------------------------------------------------
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and
>> traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols
>> are
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
>> J-Flow, sFlow and other flows. Make informed decisions using capacity
>> planning
>> reports.
>> http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
>> _______________________________________________
>> jgrapht-users mailing list
>> jgr...@li...
>> https://lists.sourceforge.net/lists/listinfo/jgrapht-users
>>
>>
>
|