Подтвердить что ты не робот

Преобразование Neo4j DB в XML?

Можно ли преобразовать файлы базы данных Neo4J в XML?

4b9b3361

Ответ 1

Согласен, GraphML - это путь, если у вас нет проблем с многословием XML. Простой способ сделать это - открыть график Neo4j из Gremlin, где GraphML - это формат импорта/экспорта по умолчанию, что-то вроде

peters: ./gremlin.sh

gremlin> $_g := neo4j:open('/tmp/neo4j')
==>neograph[/tmp/neo4j, vertices:2, edges:1]
gremlin> g:save('graphml-export.xml')

Как описано здесь

Решает ли ваша проблема?

Ответ 2

С Blueprints просто выполните:

Graph graph = new Neo4jGraph("/tmp/mygraph");
GraphMLWriter.outputGraph(graph, new FileOutputStream("mygraph.xml"));

Или, Gremlin (что делает то же самое в задней части):

g = new Neo4jGraph('/tmp/mygraph');
g.saveGraphML('mygraph.xml');

Наконец, к конструктору Neo4jGraph вы также можете передать экземпляр GraphDatabaseService.

Ответ 3

Я не верю, что для этого существует что-то, а не несколько месяцев назад, когда они возились с ним. Из того, что я увидел, есть 2 основных препятствия:

  • XML является иерархическим, вы не можете легко представлять данные графа в этом формате.
  • Отсутствие явных идентификаторов для узлов. Несмотря на наличие неявных идентификаторов, это будет похоже на использование ROWID в oracle для импорта/экспорта... не гарантируется, что оно будет одинаковым.

Некоторые люди предположили, что GraphML будет правильным форматом для этого, я склонен согласиться. Если у вас нет графических структур, и вы были бы хорошо представлены в XML/иерархическом формате... ну тогда это просто неудача. Поскольку большинство пользователей, которые займутся этой задачей повышения, используют данные, которые не будут храниться таким образом, я не вижу выход XML-решений... скорее всего, сначала увидит формат, поддерживающий все виды использования.

Ответ 4

Взгляните на NoSqlUnit Он имеет инструменты для преобразования GraphML в neo4j и обратно.

Ответ 5

Хотя это старый пост, он все равно может помочь другим.

Вы можете использовать Neo4j-shell-tools для этого: шаги здесь