Model to Answer Your Questions Rather Than Modelling Reality
Mark Needham talks about modeling and how data and how some modeling can lead to inefficiencies
On the recommendation of Ian Robinson I’ve been reading the 2nd edition of William’s Kent’s ‘Data and Reality‘ and the author makes an interesting observation at the end of the first chapter which resonated with me:
Once more: we are not modelling reality, but the way information about reality is processed, by people.
It reminds me of similar advice in Eric Evans’ Domain Driven Design and it’s advice which I believe is helpful when designing a model in a graph database.
Last year I wrote a post explaining how I’d be using an approach of defining questions that I wanted to ask before modelling my data and in neo4j land we can do this by writing cypher queries up front.
We can then play around with increasing the size of our data set in different ways to check that our queries are still performant and tweak our model if necessary.
For example one simple optimisation would be to run an offline query to make implicit relationships explicit.