Importing data from the DEX graph database to Neo4j
There are tons of options available when it comes to graph databases, such as FlockDB, AllegroGraph, InfiniteGraph, OrientDB, and so on. It is important to learn how to migrate data from any one of these to Neo4j, if you are thinking of migrating to Neo4j.
In this recipe, you will learn how to migrate data from the DEX graph database to the Neo4j server.
Getting ready
To get started with this recipe, install Neo4j by using the steps from the earlier recipes of this chapter.
How to do it...
DEX is a highly scalable graph database solution, which is mostly written in Java and C++. The key feature of DEX is that its query performance has been optimized for large graph databases. Also, it's very lightweight, which allows the storage of billions of nodes and relationships at a very low metadata storage cost.
The default exporter can be used to export the DEX graph database to GraphML, which can be easily loaded into Neo4j. This is done by using the following lines of code:
DefaultExport graph = new DefaultExport(); g.export("dex_export.graphml", ExportType.YGraphML, graph);
Gremlin can also be used to solve the problem, as shown here:
gremlin> graph = new DexGraph("neo/data.dex"); gremlin> graph.saveGraphML('graph.xml'); gremlin> graph = new Neo4jGraph('neo/graph.db'); gremlin> graph.loadGraphML('graph.xml');
How it works...
Gremlin is a graph traversal language. Gremlin works over those graph databases/frameworks that implement the Blueprints property graph data model. Fortunately, OrientDB and Neo4j are among them.
See also
To know more about Gremlin, go to http://www.tinkerpop.com/.