gremlin-importer
STATUS: Not stable
Under development: ETA ~ march 15, 2016
- Release 1.0 supporting CSV for edges and vertices
- User defined values, including labels
In the near future:
- Create a solid test suite
- Edges and vertices meta properties for second release
- Fix messy code, and document everything
- Migrate to Swig templates and use promises instead of callbacks
- Migrate to ES6
Description
This is a pain free data importing tool for Gremlin enabled databases. All you need is to provide the vertices and edges in the correct format and the gremlin-importer will populate the graph database for you. Some rules and restrictions must be followed in order to have a successful import process.
See the wiki for guides of how to import different formats.
Installation
$ npm install -g gremlin-importer
Usage
$ gremlin-importer [options] <file>
Example
Connect to myServer.com port 8182, and import a csv file named vertices.csv containing vertices with delimiter #
$ gremlin-importer -h myServer.com -p 8182 -f csv -t v vertices.csv
Options
-h, ---help
output usage information
$ gremlin-importer -h
$ gremlin-importer --help
-V, ---version
output the version number
$ gremlin-importer -V
$ gremlin-importer --version
-h, ---host < host >
The hostname or IP address of the gremlin server, by default localhost
$ gremlin-importer -h 128.0.0.1
$ gremlin-importer -h mygremlinserver.com
$ gremlin-importer --host otherServer.com
-p, ---port
The hostname or IP address of the gremlin server, by default 8182
$ gremlin-importer -p 8182
$ gremlin-importer --port 9991
-f, ---format The file format, currently supported: csv
$ gremlin-importer -f csv
$ gremlin-importer --format csv
-t, ---type
(ONLY FOR CSV) Type of components contained in the file, can be e for edges or v for vertices
$ gremlin-importer -t v
$ gremlin-importer --type e
-d, ---delimiter
(ONLY FOR CSV) The value delimiter
$ gremlin-importer -d ,
$ gremlin-importer --delimiter #
---prefix
The gremlin server groovy prefix for the default graphTraversalSource, by default g
$ gremlin-importer --prefix bigGraph
Preamble
Why this tool?
- Importing data should be easy and not a painful process.
- Currently, Gremlin I/O is very sensitive, it can import data in graphML and Graphson formats by default.
- Sometimes, we don't want to convert our data into specific format, but simple ones such as CSV.
- Nested file format such as graphML and Graphson need to be loaded into memory to be imported. If the amount of vertices and edges is massive, it can be imported in a stream fashion and even in parallel using flat fils such as CSV.
Current file format support
Current supported formats are:
Future supported formats will be:
- GEXF
- GraphML
- DOT
Current tested databases
Import Guides##
Important information
- Help with these tools are welcomed, please fill your pull request.
- I will try to keep including more file formats.
- All illustrations belong to their respective owners, and not me.
- The fancy icons where design in designApp.io
- This package comes without any warranty, expect bugs.