Библиотека графических инструментов python с базой данных графов
Я хотел бы использовать некоторые функциональные возможности графического инструмента с данными в графической базе данных (скажем, neo4j, но любая графическая БД с поддержкой Blueprints была бы хороша, см. Проект Tinkerpop).
Я знаю (и немного баловался с) py2neo и хотел бы исследовать Bulbs как способ доступа к базе данных и проектировать как pyBlueprints.
Мой вопрос: как мне использовать функции графического инструмента для данных в базе данных графа (например, neo4j) без экспорта всего графа в graphML (или один из существующих форматов импорта графического инструмента) и т. Д.?
Я хотел бы, чтобы это было более динамичным, чем run query, find a subset of a graph, export, process with graph-tool, put data back into graph
Я знаю, что Blueprints предлагает "читателю / писателю GraphML", это решение?
1 ответ
Я думаю, что рабочий процесс, который вы представляете, вероятно, лучший и единственный, который вам доступен. Вы в терминах TinkerPop, я бы сказал, что рабочий процесс будет более конкретно:
- выполнить запрос - использовать консоль Gremlin
- найти подмножество графика. Запишите свой обход в консоли и выведите результаты в подграф. Используйте TinkerGraph в памяти для хранения этого подграфа - подробнее здесь.
- export - вызовите saveGraphML для вашего экземпляра подграфа
- обработать с помощью Graph-Tool - импортировать GraphML в Graph-Tool и делать то, что вам нужно сделать с ним
- вернуть данные в график - я не знаю, что такое Graph-Tool и его возможности, но консоль Gremlin позволяет вам работать с данными различными способами, что облегчает их перенос, - подробнее об этом здесь.