2015-03-09 2 views
0

У меня есть база данных графа с 500 + вершинами и 700 + ребрами. Вершина в моем графе представляет объект класса «Бумага», в котором есть такие элементы, как идентификатор, название, год, издатель, издатель, автор, authorID и т. Д. Я хочу сгруппировать подграфы на основе некоторых свойств вершин, как и все вершины один и тот же автор или издатель будет находиться в одном кластере. Таким образом, для каждого атрибута будет отдельный кластер (может иметь разный цвет для каждого типа кластера). Так есть ли какой-нибудь алгоритм для достижения этого?JUNG: Как мы можем сделать Graph Clustering на основе некоторых свойств вершин?

+1

Этот вопрос может быть слишком широким. Существуют десятки подходов к группированию графов. Некоторые общие алгоритмы кластеризации реализованы в http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/algorithms/cluster/package-summary.html (и «Clustering Demo Applet» в http://jung.sourceforge.net/examples.html). Однако из вашего описания это звучит так, будто вам даже не нужен конкретный * алгоритм *, но просто хотите * группировать * вершины на основе одного атрибута ... – Marco13

ответ

0

Как сказал @ Marco13, это похоже на «кластеризацию», которую вы хотите сделать, это просто визуальная идентификация вершин с некоторым общим свойством. (Возможно, вы также хотите, чтобы эти вершины были расположены близко друг к другу, но это не ясно из вашей фразы и может быть неудобно в зависимости от топологии графика.)

В JUNG достаточно легко визуализировать вершины в зависимости от их свойств; см. http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/visualization/PluggableRenderContext.html, а также примеры PluggableRendererDemo.

Смежные вопросы