Handling Historical Changes to Attributes

We need to see the history of attributes for Vertices and Edges. How can we handle that scenario. Does Tigergraph do this natively or should we create shadow nodes??

Would you need to see deleted/inserted vertices/edges?

If not, and you really only care about a history of the contents (not the structure) then we support collection and complex types in schema, these could be embedded history collections in your vertex/edge schema, or could be put into a separate shadow vertex/edge if you prefer to keep them separate from your “current” vertex/edge.

Thank you for your prompt reply. Yes current, update and delete. We are also looking at sinking via Kafka.
I was thinking that maybe checking via our Spark job if a Vertice and/or edge already exists and if so, and we are making a change to that existing object, we could mark the existing as a shadow status on the Vertice and add a “shadow” edge to the new one? Hope I made that clear. Same for delete just mark it as delete status (logical delete). Of course the issue is the look up during processing of the data before the producer pushes to Kafka that will slow things down. Unless anything else springs to mind. I think that will make the searches faster than a collection (List or Set)?

Sounds okay. If you are indeed tracking structural changes then collections will add [at least cognitive] complexity.

I tend to prefer (for mostly aesthetic reasons) fully temporal models for this situation, but that can rapidly blow up, and is not so good if the vast majority of the time you only care about the current graph as you have to qualify every traversal with the “as of” datetime+version. It is fast to insert though.

Better I think to find something that works first, then worry about optimising it :slight_smile:

I’ll add temporal modelling to my giant list of blogs I would write when I have time. If you are a customer or this might lead to more business then of course I will prioritise! Feel free to get in touch directly if we are in that zone (richardh@tigergraph.com) and I can hook you up with the really clever people in TigerGraph.