Преобразование GraphML в GV или точечный файл

#graphviz #graphml

#graphviz #graphml

Вопрос:

Как я могу нарисовать график в graphviz, используя файл «graphml» в качестве входных данных.
Я знаю, что graphviz поставляется с graphml2gv для этой цели, но когда я пытаюсь запустить эту команду из командной строки, я получаю это сообщение
cvtgxl: not configured for conversion from GXL to GV

Ответ №1:

Ваша копия Graphviz была скомпилирована без библиотеки Expat (чтобы исправить ситуацию, установите Expat и перекомпилируйте после запуска ./configure --with-expat=yes ).

cmd/tools/graphml2gv.c:

 #ifdef HAVE_EXPAT
    initargs(argc, argv);
    while ((inFile = getFile())) {
    while ((G = graphml_to_gv(nameOf(gname, gcnt), inFile, amp;rv))) {
        gcnt  ;
        if (prev)
        agclose(prev);
        prev = G;
        if (Verbose) 
        fprintf (stderr, "%s: %d nodes %d edgesn",
            agnameof (G), agnnodes(G), agnedges(G));
        agwrite(G, outFile);
        fflush(outFile);
    }
    }
    exit(rv);
#else
    fputs("cvtgxl: not configured for conversion from GXL to GVn", stderr);
    exit(1);
#endif