Автоматическое формирование изображения графа с использованием КОНЦЕПТ и Graphviz

В данной статье описано как с использованием КОНЦЕПТ и Graphviz можно легко сформировать изображение графа или семантической сети в векторное формате SVG, которое затем можно встроить в страницу HTML и просматривать с использованием любого браузера Интернет.

Скачать систему Graphviz и ознакомитьтся с примерами ее использования можно на домашней странице Graphviz.

Краткую информацию о системе Graphviz на русском языке можно получить из Википедии по ссылке Graphviz в Википедии.

Простой пример

Например, из текста ниже:

i;млекопитающее;животное
i;кошка;млекопитающее
i;собака;млекопитающее
i;Мурка;кошка
i;Васька;кошка
i;Шарик;собака
p;кошка;любит;рыба
p;кошка;любит;молоко
p;собака;любит;мясо

Полностью автоматически может быть получено следующее изображение графа (семантической сети):

Что потребуется

1) Исходная программа КОНЦЕПТ БФ и Графвиз.txt (Скачать Листинг) для формирования из базы фактов файла с описанием графа на языке DOT.

2) Файл БИБЛИОТЕКА Общие функции.txt (Скачать).

3) Файл БИБЛИОТЕКА Графвиз.txt (Скачать).

4) Файл для запуска программы Graphviz g.bat.

5) Скачать и установить программу Graphviz с сайта www.graphviz.org.

Порядок подготовки и формирования изображения графа

Шаг 1. Подготовить исходное описание графа в текстовом виде.
Для этого используется формат базы фактов КОНЦЕПТ.
Для описания графа (или семантической сети) используются два вида фактов: i (наследование) и p (иметь свойство).
Формат фактов следующий:

i;<имя_понятия>;<класс_понятия>
p;<имя_понятия>;<имя_свойства>;<значение_свойства>
Например:
i;кошка;млекопитающее
p;кошка;любит;рыба
p;кошка;любит;молоко

Шаг 2. Выполнить программу КОНЦЕПТ БФ и Графвиз.txt.
В результате автоматически будет сформирован текстовый файл g_dot.txt с описанием графа на языке DOT (входной язык системы Graphviz) .

Шаг 3.
Выполнить файл g.bat. Этот скрипт принимает на входе файл g_dot.txt, запускает программу Graphviz и формирует выходной файл g_svg.xml.
В этом фале будет содержаться сформированное изображение графа в векторном формате SVG и его можно непосредственно просматривать с использованием любого браузера Интернет.

Использование других стилей

В библиотеке БИБЛИОТЕКА Графвиз.txt определено несколько функций для задания различных визуальных стилей вершинам и стрелкам формируемого изображения графа.
В данном разделе приведены примеры изображений графов с использованием разных стилей.

При использовании функции ГРАФВИЗ_СТИЛЬ_ДЛЯ_ДЕМОНСТРАЦИИ:

При использовании функции ГРАФВИЗ_СТИЛЬ_ДИАГРАММА_СУЩНОСТЬ_СВЯЗЬ:

При использовании функции ГРАФВИЗ_СТИЛЬ_ДЕРЕВО_ФУНКЦИЙ:

Ссылки по теме

Домашняя страница Graphviz

Graphviz в Википедии

Что такое формат SVG

Что такое семантическая сеть