библиотека python graph-tool с базой данных графов

Я хотел бы использовать некоторые функции graph-tool с данными в базе данных графа (скажем, 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", это решение?


person user965586    schedule 12.05.2014    source источник


Ответы (1)


Я думаю, что рабочий процесс, который вы представляете, вероятно, лучший и единственный доступный вам. Вы В терминах TinkerPop я бы сказал, что рабочий процесс будет более конкретным:

  1. выполнить запрос — используйте консоль Gremlin
  2. найти подмножество графа. Напишите свой обход в консоли и выгрузите его результаты в подграф. Используйте TinkerGraph в памяти для хранения этого подграфа — подробнее здесь.
  3. экспорт — вызовите saveGraphML для вашего экземпляра подграфа
  4. обрабатывать с помощью графического инструмента - импортируйте GraphML в графический инструмент и делайте с ним то, что вам нужно
  5. поместить данные обратно в график — я не знаком с инструментом graph-tool и его возможностями, но консоль Gremlin позволяет вам работать с данными различными способами, что упрощает перелистывание данных — подробнее об этом здесь.
person stephen mallette    schedule 12.05.2014
comment
спасибо - я также задал связанный вопрос, если вы можете предложить мнение - person user965586; 13.05.2014