Обращаю внимание, что кроме Graphviz есть UMLGraph, и вообще DSL-языки весьма хорошо идут в комплекте с виками.
Возможно заинтересует SECR-овский доклад на эту тему
(презентация, статья).
Отличная презентация!
Но мне сейчас не вики нужно, а отобразить семантическую сеть на 40 тысяч фактов -- и UML мне тут помочь не сможет, равно как и вики.
тогда делайте SVG-графы.
Кроме neato на больших объемах ненаправленных графов можно попробовать FDP или CIRCO.
Кстати, реально большие графы я бы не стал описывать на дот.
Лучше описать в виде Python-словарей, программой построить по ним граф, и сгенерировать набор диаграмм - и полную, и большой набор контекстных (все соседи в пути не больше 3). Ну и вообще это даст на порядок больше гибкости, при не меньшем удобстве.
DOT-язык хорош именно при коллективной быстрой работе с небольшими графами.
Для больших графов с которыми непонятно как манипулировать, лучше сразу в виде программных структур описывать (можно и более простой свой DSL придумать).
Нет, не использует (там табличный формат -- чаще всего используются электронные таблицы, дистрибутив поставляется в .xls). Но есть совместимый вариант, это оговаривается в документации.
Пока видно три варианта:
1. Купить за 10тыс. евро Gellish Browser. Это по факту означает, что любые разработки PraxOS станут закрытыми, хотя все проблемы будут немедленно решены.
2. Использовать что-нибудь типа cmap. Это означает, что никаких средств для работы с большими графами нет и не предвидится. Кроме того, принципиально невозможно вводить много информации в узле (а нам потребуется как минимум имя + UID, да еще имена перещелкивать в зависимости от языка, т.е. хранить и признак языка тоже).
3. Использовать DOT + gvpr + zgrviewer. Недостатки: нет удобных WYSIWYG редакторов (по крайней мере, я не нашел). А WYSIWYG обычно дает повышение производительности в разы и разы по сравнению с batch-процессингом. Да и вообще, тут не столько редактор нужен, сколько интерактивный браузер. Кроме того, нужно много думать, как воткнуть информацию в узел (разве что делать узел подграфом, четко следуя идеологии Gellish: каждая строка Gellish Table является атомарным отношением и соответствует 12-и элементарным отношениям, т.е. представляет собой граф о 12 ребрах. И тут нужно использовать или record-based nodes или HTML-based labels).
4. Пойти по указанному вами пути "большого программирования", освоить язык программирования (чтобы воспользоваться питон-словарями нужно выучить питон, но после выучивания питона лучше уж взять какой-нибудь графический фреймворк, чтобы сразу смотреть графы -- и уж точно не мучаться с реализацией троек концепт1-отношениеX-концепт2 через словарные двойки, ибо ребра у меня именованные в общем случае). Запретительно по трудозатратам, требует продвинутых пользователей, знающих конкретный язык программирования. Чего бы не хотелось. DSL от продвинутого пользователя можно еще потребовать освоить, но вот создать DSL из традиционного языка программирования (питона, смолтока, форта, явы и т.д.) вряд ли.
Впрочем, я на эту тему большой пост написал сейчас: http://ailev.livejournal.com/629345.html