online - neo4j sandbox
Convertir Neo4j DB a XML? (4)
Con Blueprints , simplemente haz:
Graph graph = new Neo4jGraph("/tmp/mygraph");
GraphMLWriter.outputGraph(graph, new FileOutputStream("mygraph.xml"));
O, con Gremlin (que hace lo mismo en la parte posterior):
g = new Neo4jGraph(''/tmp/mygraph'');
g.saveGraphML(''mygraph.xml'');
Finalmente, al constructor de Neo4jGraph, también puede pasar una instancia de GraphDatabaseService.
¿Puedo convertir archivos de base de datos Neo4J a XML?
Echa un vistazo a NoSqlUnit Tiene herramientas para convertir GraphML
a neo4j
y viceversa.
En particular, hay com.lordofthejars.nosqlunit.graph.parser.GraphMLWriter
y com.lordofthejars.nosqlunit.graph.parser.GraphMLReader
que lee / escribe archivos XML en / desde una base de datos neo4j.
Estoy de acuerdo, GraphML es el camino a seguir, si no tiene problemas con la verbosidad de XML. Una forma sencilla de hacerlo es abrir el gráfico Neo4j desde Gremlin , donde GraphML es el formato de importación / exportación predeterminado, algo así como
peters: ./gremlin.sh gremlin> $_g := neo4j:open(''/tmp/neo4j'') ==>neograph[/tmp/neo4j, vertices:2, edges:1] gremlin> g:save(''graphml-export.xml'')
Como se describe here
¿Eso resuelve tu problema?
No creo que exista nada por ahí para esto, no hace unos meses cuando se metió con él. Por lo que vi, hay 2 obstáculos principales:
- XML es jerárquico, no puede representar datos de gráficos fácilmente en este formato.
- Falta de identificadores explícitos para los nodos. A pesar de que existen IDs implícitos, sería como usar ROWID en Oracle para importar / exportar ... no se garantiza que sea lo mismo.
Algunas personas han sugerido que GraphML sería el formato adecuado para esto, estoy dispuesto a aceptar. Si no tiene estructuras gráficas y estaría bien representado en un formato XML / jerárquico ... bueno, eso es mala suerte. Dado que la mayoría de los usuarios que abordarían este tipo de tareas de mejora utilizan datos que no se almacenarían de esa manera, no veo que salga una solución XML ... es más probable que vea un formato que admita todos los usos primero.