2011-04-16 2 views
1

У меня есть около 200K узлов и их отношения в файле XML следующим образом:Представляют отношения узла, используя Python NetworkX

node_A - node_B прямой, node_A - node_G обратный, node_A - node_H прямой, node_A - node_X обратный, node_A - node_Y прямого

мне нужно моделировать узлы и их отношения в файле XML с помощью Python NetworkX структуры графа данных и на основе пользовательского ввода (например, node_A вверх) найти связь между узлами и выходом узлами следующим образом:

output: node_B - up, node_G - down, node_H - up, node_X - down, node_Y - up

Здесь смысл состоит в том, что на основе отношения узла приложение должно сортировать/фильтровать узлы. Например, если отношение node_A к node_B является прямым, а node_A - node_X, то обратный вывод будет node_B - up и node_X - вниз, как в приведенном выше примере вывода.

Пожалуйста, помогите мне предложить, какую структуру данных диаграммы NetworkX я должен использовать. Примером может служить большая помощь.

Заранее спасибо Пракаш

ответ

0

Вам нужен парсер для этого. Взгляните на pyparsing.

+0

Спасибо за предложение. Я прошел через модуль pyparsing, но это всего лишь синтаксический анализатор, а не структура данных графа, которую я ищу, чтобы представлять узлы и находить связь между узлами, как описано в вопросе. –

+0

Вам не хватает точки. Поскольку у вас есть данные в xml, и только вы знаете структуру xml. Вы можете «пирать» его в свой собственный пользовательский объект, а затем добавить «em» в networkx, используя «G.add_node()» и методы «G.add_edge» –

+0

. Я понял вашу точку зрения. благодаря –

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