Можно ли преобразовать файлы базы данных Neo4J в XML?
Преобразование Neo4j DB в XML?
Ответ 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 для этого: шаги здесь