И вот к 10-у мая я «созрел»: решил построить неориентированный граф всех связей между ключевыми словами в проекте "Медиарепозиторий", потому что с одной стороны задача очень похожа на описанную выше, с другой стороны есть достаточно приличное количество этих слов, чтобы можно было что-то строить и с третьей стороны, количество слов не настолько большое, чтобы очень долго ждать построение графа.
Сказано – сделано. Для начала был реализован функционал «связанные ключевые слова», а потом я несколько озадачился. Консультации со специалистом по SQL дал неутешительный ответ – средствами одного только SQL на существующей СУБД (MySQL 5) задача не решается. Пришлось все выносить на «клиентскую часть» – скрипт, работающий с БД.
Немного ранее я работал с набором утилит graphviz для построения графов, поэтому решил использовать его для визуализации графа и на этот раз. Средствами PHP и SQL я подготовил соответствующий .dot-файл для graphviz'а и построил необходимый граф, используюя метод fdp (neato давал сильно «скученную» картинку, а dot слишком большую).
Результат – ниже:

На графе ясно видно несколько «очагов кристаллизации» ключевых слов, но если честно, то я удивился именно такому виду графа – мне думалось, что он будет более «размытым» :)
По прошествии почти двух месяцев я решил сделать повторное построение графа по той же самой методике, чтобы можно было увидеть «развитие» графа.
Результат повторного построения:

Как оказалось развитие графа идет довольно занятное :)

