How to scramble the DB data?

Suppose I have my existing Neo4J and I want to scramble the data inside, so I can run tests against it but I don't want the DB to have the real data, although to have the same amount of data as the "real" one.

What would be the best way to do that?

Is there some APOC functions that can be launched to scramble some of the nodes / properties?

I don't know of a function that can automatically scramble (perhaps in part because the definition of scramble is subjective). Do you wish to hide just the specifics, or the data domain as well?

My first thought was that it should be possible to create a cypher to read all the properties of every node and relationship, then change the values to something random based on type, however that would leave the property names intact, and also probably just create an unusable graph? Also the basic "structure" of the graph would remain intact and sometimes that can be revealing in and of itself.

I'm guessing it might be better to programmatically generate a representative graph with reasonable value (but random) content you desire (random generators, appropriate distributions of nodes, relationships and their respective properites)?