Я хочу получить доступ к узлам, ребрам и свойствам «xDotGraph» (G.DotGraph) и установить их снова. Вот Haskell код, который печатает точечный формат граф с помощью Graphviz:Как получить доступ к краям узлов графа точечного формата (обобщенно) в haskell
$ cat example.dot
digraph {
a [type1="", type2=""];
b [type1="", type2=""];
a -> b [label=""];
}
import Data.GraphViz
import Data.Text.IO as T
import qualified Data.Text.Lazy as B
import qualified Data.Text.Lazy.IO as L
import qualified Data.GraphViz.Types.Generalised as G
import Data.GraphViz.Printing
xDotText <- L.readFile "example.xdot"
let xDotGraph = parseDotGraph xDotText :: G.DotGraph String
T.putStrLn $ renderDot $ toDot xDotGraph
Пожалуйста, опишите, что вы уже пробовали пока что и что не сработало для вас. Поскольку он сидит сейчас, ваш вопрос больше напоминает «Я не хочу делать какую-либо работу, сделайте это для меня». вид вопросов. – jkeuhlen
@jkeuhlen, я ищу функцию, которая принимает этот тип графика и возвращает узлы и ребра. let ab = graphNodes xDotGraph let ab1 = graphEdges xDotGraph – David
Имеет ли [__graphNodes__] (https://hackage.haskell.org/package/graphviz-2999.18.1.2/docs/Data-GraphViz-Types.html#v:graphNodes) Работа? – ErikR