Время прочтения: 5 мин.
Knowledge Graph или Граф знаний — база знаний, которая построена на основе семантических связей. Один из инструментов визуализации KG является Gephi. Что такое Gephi и для чего он нужен, подробно рассказано в статье «Графовые методы анализа в gephi».

Итак, рассмотрим:
- Как изменить размер и цвет вершин и ребер?
- Как установить название вершин и ребер?
- Как отфильтровать данные?
Начнем с описания данных для построения и анализа графа. Для загрузки в gephi нам необходимо два файла – nodes и edges. Файлы, которые я использую для построения в этой статье:
Файл «nodes_st» содержит уникальные значения вершин и их «айдишники». Дополнительно значения из label я разбила на группы (проект, сотрудник, отдел, тема проекта) и записала в столбец «group» (это позволит в дальнейшем настроить цветовые схемы вершин).

Файл «edges_st» содержит все возможные переходы из одной вершины в другую. В моем файле есть три поля source, target и name_edges. Обязательными являются только source и target, поле name_edges сформировано самостоятельно, чтобы можно было добавить подписи на ребрах.

При загрузке данных не забываем выбирать тип графа (ориентированный, неориентированный и смешанный) и ставить отметку «Append to existing workspace», чтобы загрузка происходила в одну рабочую область.

1 Размер и цветовая схема ребер и вершин. Размер и цветовая схема ребер и вершин
Данные загружены, можно перейти к блоку «Укладка» (Layout). Выбираем укладку в соответствии с топологией, которую вы хотите выделить.
К примеру, ForceAtlas, ForceAtlas2, Yifan Hu отлично подойдут, чтобы показать разбиение на классы/группы, можно настраивать силы отталкивания и притяжения вершин. С другими алгоритмами можно ознакомиться в Интернете.
После «заливки» данных мы получили граф, разбитый на кластеры. В нашем случае вершины — сотрудники сгруппировались вокруг вершин-отделов. Укладка выбрана ForceAtlas, сила отталкивания- 1000.

Скорректируем размеры вершин. Для этого в блоке Appearance (вкладка nodes) выбираем размер – Ranking. Из выпадающего списка – Degree, устанавливаем размеры вершин от наименее часто встречающей (min size) до самой популярной вершины (max size). В моем случае размер установлен от 10 до 50.

Фрагмент полученного графа представлен ниже.

Блок Appearance позволяет настроить цвет узлов и ребер. Рассмотрим на примере узлов (nodes). Развернув палитру, выбираем тип окрашивания:
Unique – монохромное окрашивание.
Partition – может быть более двух цветов, все зависит от количества групп/классов, на которые вы разбили вершины. Ranking – создает плавный цветовой переход от наименее часто встречающихся до популярных вершин.

На рисунке ниже представлено окрашивание Partition по полю group (данное поле сформировано вручную)

Теперь нам осталось подписать и отфильтровать данные. Переходим к пункту 2.
2 Название вершин и ребер на графе
Раскрываем панель, расположенную под графом

Устанавливаем галки «Узел» и «Ребро», настраиваем шрифт и размер. Размер текста относительно вершин настраивается ползунком.

Также эта панель позволяет менять цвет фона (вкладка global), убирать ребра и изменять их размер (вкладка Ребра).

3 Фильтрация данных
Рассмотри фильтрацию на примерах.
Кейс 1. Нас интересуют все проекты с темой 48. Перетаскиваем Ego Network (из папки Топология) в окно ниже «Наборы фильтров. Устанавливаем значение «ID узла» равное «тема 48» и фильтруем. Если нам интересно посмотреть какие сотрудники участвовали в этих проектах, то увеличиваем глубину до 2.

Кейс 2. Показать темы проектов, которыми занимались сотрудники отдела3 Для начала отфильтруем данные по отделу 3 и расширим глубину до 3, чтобы захватить названия тем (глубина 1 –сотрудники, глубина 2 – проекты, глубина 3 – тема проекта).

Так как нас интересуют только темы проектов, оставим только нужные нам вершины. Добавляем в набор фильтров оператор AND и Атрибут group (сформирован из поля label) по значению. Указываем в параметрах атрибута «тема_проекта». Наш новый граф готов.


Основные возможности инструмента Gephi рассмотрены, из серой «скучной» массы, мы получили читаемый граф для анализа с возможностью фильтрации и визуализации.