- DEX Graph Database with C#: Are there any code examples for graph export?
- DefaultExport exp = new DefaultExport();
- graph.Export("exported.gv", ExportType.Graphviz, exp);
- public class MyExport : ExportManager
- {
- private Graph g = null;
- public MyExport() {
- }
- public override void Prepare(Graph graph) {
- // This method will be called once at the beginning of the export.
- // So we keep the graph being exported.
- g = graph;
- }
- public override void Release() {
- // Called once at the end of the export process.
- }
- public override bool GetGraph(GraphExport graphExport) {
- // Called once to get the Graph details (a label)
- graphExport.SetLabel("[MyExport] MyGraph");
- return true;
- }
- public override bool EnableType(int type) {
- // Will be called once for each type to allow or deny the export of
- // the nodes/edges of each type
- return true; // We enable the export of all types
- }
- public override bool GetNode(long node, NodeExport nodeExport) {
- // Called once for each node of an allowed type to get it's export definition.
- // The definition will be used if it returns true, or the default
- // node type definition from getNodeType will be used if this method
- // returns false.
- // It can set the label, shape, color, ...
- nodeExport.SetLabel("[MyExport] MyNode " + node);
- return true;
- }
- public override bool GetNodeType(int type, NodeExport nodeExport) {
- // Used to get a node type generic export definition.
- // Called once for each node only if the call to GetNode returned false.
- // It can set the label, shape, color, ...
- nodeExport.SetLabel("[MyExport] MyNodeType " + type);
- return true;
- }
- public override bool GetEdge(long edge, EdgeExport edgeExport) {
- // Called once for each edge of an allowed type to get it's export definition.
- // The definition will be used if it returns true, or the default
- // edge type definition from getEdgeType will be used if this method
- // returns false.
- // It can set the label, shape, color, ...
- edgeExport.SetLabel("[MyExport] MyEdge " + edge);
- return true;
- }
- public override bool GetEdgeType(int type, EdgeExport edgeExport) {
- // Used to get an edge type generic export definition.
- // Called once for each edge only if the call to GetEdge returned false.
- // It can set the label, shape, color, ...
- edgeExport.SetLabel("[MyExport] MyEdgeType " + type);
- return true;
- }
- }