How to undo write operations?

Suppose neo4j has already many nodes/relations in it, call it v1.0, now I'm trying to write new programs to write new nodes/relations into it, say v2.0. Even under careful test, these programs will inject unexpected data errors, because I can only test with a small subset of data in v1.0. Furthermore, some errors in v2.0 are hard to fix, they may overwrite data in v1.0. I have to write new programs to fix them and may inject new errors in v3.0. It seems a infinity loop.

Indeed, I can backup/restore the whole database, but I don't think it is a best practice in neo4j. Is there any tool to revert data to previous version? Or how to manipulate data for neo4j in a solid and iterative fashion for daily development?

Thank you in advance.

Right now I think backup and restore are your best bets.

We were discussing point in time recovery at some point but i think there was no further action on it.

You could also look at versioning approaches.

For small insertions, you can open a tx, write and read data and then rollback the tx.

Thank you so much for responding to my post. OK. I use SAVE/LOAD method for now. Recovery point feature is important to many developers. Hope neo4j can achieve it in the near future.