Hi,

This weekend I was toying around with Neo4j. I wanted to do some indexing
experiments. Unfortunately I found myself without a graph to work with.
Sure, I could write some code to generate a graph for me, but it'd be a
one-time-thing. I wanted to get going *now*. That got me thinking about
import/export functionality.

I think a command-line import tool would be useful, accompanied by (and
built on) a Java API. Both of them would be tied to a certain representation
format. The export can be represented in different ways, where two possible
ways are:
- State transfer: (node{id:1, name:foo}, node{id:2}, rel{start:1,end:2,
type=bar}, ...)
- Operation transfer: (id1 = create node, id2 = create node, create rel
id1->id2 type bar, ...)

I guess the state transfer feels like the more straightforward one. The
diff-style nature of the operation transfer might be useful in other cases.

When I first thought of this, the target user was somebody who wanted to get
started with a graph, and didn't want to write code to do an import
"manually". Maybe the import/export can extend to other use cases, but this
was the primary one. A possible workflow could be db exported to file, file
published, file downloaded, file imported into db.

In the end, it would be great if new users could download sample data sets
and import them into a Neo4j instance without writing a single line of code.
Which also gets me thinking about a command-line tool to create an empty
Neo4j instance to import into. The actual implementations of the tools are
trivial. It's the discussion that leads to the implementation that's
important.

Does this sound like anything that would interest people? If so, (digging
into details) what kind of representation do you guys think would be best? I
was thinking XML, but a binary format might be better for performance
(size/primitives ratio). Maybe both? Because I do like the idea of a
human-readable (and editable) format. If you don't think it would be useful
I would love to hear why.

This is just a brain dump of my thoughts. Surely others have thought of this
as well. I'm just getting the discussion started. WDYT?

-David
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to