Exemplo n.º 1
0
        internal static Task <bool> WriteToGraphMlFile(BasicGraphModel graph, string filename)
        {
            if (filename == String.Empty)
            {
                return(Task.FromResult(false));
            }
            filename = Path.Combine(_graphdir, filename + ".xml");
            TinkerGrapĥ tinkerGraph = new TinkerGrapĥ();

            foreach (var node in graph.Nodes)
            {
                var vertex = tinkerGraph.AddVertex(node.Id);
                vertex.SetProperty("posx", node.Pos.X);
                vertex.SetProperty("posy", node.Pos.Y);
                vertex.SetProperty("name", node.Name != null?node.Name:" ");
                vertex.SetProperty("vgid", node.Id);
            }
            foreach (var edge in graph.Edges)
            {
                IVertex start = tinkerGraph.GetVertex(edge.StartNode.Id);
                IVertex end   = tinkerGraph.GetVertex(edge.EndNode.Id);
                var     edge_ = tinkerGraph.AddEdge(edge.Id, start, end, $"{edge.Weight}");
                edge_.SetProperty("weight", edge.Weight);
                edge_.SetProperty("vgid", edge.Id);
                edge_.SetProperty("isdirected", graph.IsDirected);
            }
            GraphMlWriter writer = new GraphMlWriter(tinkerGraph);

            using (var fos = File.Open(filename, FileMode.Create))
            {
                writer.OutputGraph(fos);
            }
            return(Task.FromResult(true));
        }
Exemplo n.º 2
0
        internal static async Task <TinkerGrapĥ> ReadGraphMl(string filepath)
        {
            var filenames = await GetGraphFileNames();

            if (filepath == String.Empty || !filenames.Any(f => filepath.Contains(f)))
            {
                return(null);
            }

            using (StreamReader streamReader = new StreamReader(filepath))
            {
                TinkerGrapĥ g = new TinkerGrapĥ();
                GraphMlReader.InputGraph(g, streamReader.BaseStream);
                return(g);
            }
        }
Exemplo n.º 3
0
 public BasicGraphToGraphMlMapping(TinkerGrapĥ loadedGraph, BasicGraphModel graph) : base(graph, new Mappings())
 {
     tinkerGraph = loadedGraph;
 }
Exemplo n.º 4
0
 public BasicGraphToGraphMlMapping(TinkerGrapĥ loadedGraph, BasicGraphModel graph, Mappings mappings) : base(graph, mappings)
 {
     tinkerGraph = loadedGraph;
 }