Hello,
Graph mutation in OLAP is tricky and something that we have slated, but would need a solid 2+ weeks of focused effort to accomplish — along with a major release to merge it to.
Here are the complications of OLAP mutations:
1. If you delete an “out” edge from a vertex, the next iteration needs to delete the corresponding “in” edge at the adjacent vertex.
2. If you delete a vertex, the next iteration needs to delete all edges incident to that vertex.
3. If you delete an edge property from a vertex, the next iteration needs to delete the corresponding edge property at the adjacent vertex.
What this means is that there needs to be two “phases” to an OLAP iteration.
1. Collect all mutation messages and mutate.
2. Collect all processing messages and process.
Given that VertexPrograms work solely with M messages, the mutation messages would need to be something “behind the scenes.” Implementing this is not hard, but it takes alot of care:
1. Lots more GraphComputerTest cases.
2. Additions and corresponding tests to the GraphComputer.Features.
3. Adding mutation message semantics.
4. Probably will require changes to the VertexProgram API.
5. OLAP engine providers will have a lot of work to do to update their implementations.
So, generating graphs in OLAP is possible and something we have been kicking down the road. If you get an implementation going, I would love to look at it to see how you did it.
Keep in touch,
Marko.