Showing results for 
Search instead for 
Did you mean: 

Head's Up! Site migration is underway. Phase 1: replicate users.

Create a schema without data?

Graph Steward

I'm not sure if this is doable, but...

My want is to be able to create the database schema (Node Labels and Relationships) without the data. Then I would clone the schema and populate the data for each of my different projects.

The only way I can think of doing this is to create a DB with dummy placeholder Nodes and delete them after cloning and populating the DB with real Nodes.



It depends on what you mean by schema.

Because neo4j is fundamentally schema flexible, mostly schema is implied by what data is in the database. That argues for creating dummy placeholder nodes. This doesn't make that the schema though, because you could always insert different nodes with different properties, so this in no way constrains what Neo4j can contain.

On the other hand, if you create an index or a constraint, for certain interpretations of schema this creates schema in the database without any data being required.

I would suggest you back up and describe more what kind of schema you want to create, and what you want to do with it -- and maybe a more specific suggestion can be made.

What I am imaging, is a way to have an "outline" of an initial suggested way of organizing data for a client.

The client is then free to modify/add/remove the Nodes types and Relationships as they think about how they want to have their data organized. The idea is the initial DB is connected in a way that is a good start for them to think about how their data could be organized.

I'm not trying to force the schema onto the user, but I would like to give them a running start so they don't have to re-invent the wheel.

In this case, you might want a data modeling tool rather than doing anything directly with Neo4j.

You should have a look at Arrows:

And also possibly Hackolade, which has a Neo4j plugin: