2010-08-08 18 views
9

Kennt jemand eine DOT-Sprache (oder ein anderes GraphViz-ish-Format) Parser für .NET? Ich habe mit QuickGraph experimentiert, aber es scheint nur Serialisierung zu unterstützen, und nicht aus einem Strom/String/Datei zu analysieren.DOT Language Parser

Antwort

7

Graphviz4Net Kern enthält einen DOT-Parser.

+0

Aktualisiert die Antwort, dieser Parser ist großartig! –

1

Nun, Sie ein XML-basiertes Format wie GraphML verwenden könnte, die an sich keinen eigenen Parser erfordert, hat es auch die xsd specified, so dass ihr ziemlich trivial zu .NET

+1

Es ist die nächste Sache zu einer Lösung, die jeder mit diesem 'Problem' haben wird. Das heißt, neben dem Schreiben Ihres eigenen, was nicht schwer war. –

+0

Ich bin froh, dass es geholfen hat – Sebastian

1

Das SPGraphviz Projekt behandelt Graph Beschreibungen hinzufügen in DOT:

SPGraphviz - Ihre eigene Visualisierung Graphen ohne Programmierung in Sharepoint erstellen. Definieren Sie einfach Grafik auf DOT Sprache in einfachen Textdatei, laden Sie sie in Dokumentbibliothek und geben Sie URL in SPGraphvizWebPart - es wird grafische Darstellung Ihrer Graph

Die documentation impliziert, dass das Projekt einen Wrapper um die C verwendet Sprache graphviz und verweist auf zwei solche Wrapper:

SPGraphvizWebPart verwendet Graphviz Open-Source-Bibliothek für grafische Darstellungen definiert auf DOT Sprache Rendering. Viele Objekte im realen Leben können als mathematische Abstraktion dargestellt werden. Z.B. Organisationsstruktur, Portalhierarchie, Versionshistorie der Dateien usw. - all dies kann als Graph dargestellt werden (Anzahl der Knoten mit Beziehungen zwischen ihnen). Mit der DOT-Sprache können Sie eine Textdefinition eines Graphen (Knoten, Relationen, visuelle Effekte wie Farbe, Form usw.) in einer einfachen Textdatei erstellen und diese Datei in die Graphviz-Bibliothek übertragen. Es erstellt eine grafische Darstellung des Diagramms mit ausgewähltem Layout und Bildtyp.

Graphviz - ist Bibliothek geschrieben auf C. SPGraphviz verwendet verwalteten Wrapper für die Verwendung von Funktionen aus Graphviz-Bibliothek. Es gibt mehrere Implementierungen von verwalteten Wrapper für Graphviz:

  • WinGraphviz von ute Tsen
  • Rendern ein In-Memory-Graphviz Bild mit C# von David Brown
+0

Danke, Das scheint eine Lösung zu sein, aber erfordert Sharepoint? –

+2

Das Projekt ist für Sharepoint gepackt, aber Sie können die Teile, die Graphviz aufrufen, aus der Quelle extrahieren. Werfen Sie einen Blick auf Graphviz.cs http://spgraphviz.codeplex.com/SourceControl/changeset/view/8015dcace5f0#SPGraphvizWebPart%2fCodeFiles%2fGraphviz.cs – gimel