If a static graph can be described as G = (V, E), is there a better way to describe an evolving property graph?

94 Views Asked by At

I've been working more often with graph databases in the field, but I haven't had much time to dig into the formalized mathematics of graph theory.

I've seen G = (V, E) thrown around, but this seems too generalized to describe the multi-property graphs with changing meta-property / node relationships that are used in systems like Apache's Gremlin / Tinkpop.

How would you more accurately describe these event-stream based graph structures, where the vertices and edges have property values and relationships that are under constant change?

1

There are 1 best solutions below

0
On BEST ANSWER

Mathematics is a tool used to allow describing and working on mathematical objects. We can decide to work with graphs that have added structure such as the property graphs you mention. Just formalize the kinds of properties you are going to allow and include them in the graph tuple. That is, let $\, G = (V, E, P)\,$ where $\,P\,$ are the extra poperties you allow the graph to have aside from its vertices $\,V\,$ and edges $\,E\,$.

That was the mathematical perspective. From your allusion to "graph databases" perhaps what you have is a database problem. That is, you have problems with defining a database structure that allows you to keep track of some varying real world data. In that case, then your question requires some database theory answer in another forum.

It is even more complicated having to deal with a stream of events that mutate the graph and its various properties. But it is not clear to me what you need to keep track of in your particular application. I think that the pure mathematics aspect your situation is not the important consideration here. Until we know more details it is hard to give specific answers or advice.

There is a recent Hacker News article"Ask HN: What was your experience using a graph database?" that may give you some pointers to this area.