I currently use Dgraph to identify change performed between two snapshots.
My graph looks like:
Snap1 → root → branch(x) → subbranch(y) → leafs(z)
Snap2 → root → branch(x’) → subbranch(y’) → leafs(z’)
I aims to request Snap1 and Snap2 to highlight difference between the two snap (new branchs, deleted subbranches or leafs…). All differences.
I’d like to get the community point of view regarding this use case.
Thank’s in advance for your time, opinions, known best practices and ideas.
From my point of view if you have a tree structure then choosing to store that in a graph database is a good choice and it looks like you already made that choice.
About comparing these 2 snapshots: I think it is not that much related to database, the database role here is to help you insert these snapshots and query them efficiently. I should add that with the tools dgraph offers you can easily implement a lambda function to do this comparison and returning the result.
Also your usage is somehow like a version control system like Git. TerminusDB is claiming that their database works like that.
They have a diff and patch cloud offering too.You can do this JSON comparison in lambda function too, it is not a big deal I guess.
Really appreciate @pshaddel !
Thank you very much.