Конвертировать Neo4j DB в XML? - PullRequest
       26

Конвертировать Neo4j DB в XML?

18 голосов
/ 05 февраля 2010

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

Ответы [ 4 ]

21 голосов
/ 05 февраля 2010

Я согласен, 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')

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

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

20 голосов
/ 21 ноября 2011

С Чертежами , просто сделайте:

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.

2 голосов
/ 05 февраля 2010

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

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

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

0 голосов
/ 21 апреля 2015

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

В частности, есть com.lordofthejars.nosqlunit.graph.parser.GraphMLWriter и com.lordofthejars.nosqlunit.graph.parser.GraphMLReader, которые читают / записывают файлы XML в / из базы данных neo4j.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...