Hi, Some of you may already know me as the author of Ferma. This thread is unrelated to that project, it will continue to support TP2 and TP3 as is.
So here's the thing, I sued to use TP2 a lot as part of some frameworks I was working on building (evolutionary algorithms, big data processing, extremely massive datasets, etc). One technique i was leveraging is how easy it was for TP2 to support a backend system as a graph. I could take almost any existing system completely unrelated to graph databases and by simply implementing edges and vertex in blueprints in a few minutes i could have the entire TP2 ecosystem working on it and performing traversals. Some examples of ways i leveraged this in TP2: Fusion Graph - A graph driver that allowed me to take two completely different graph systems (say neo4j and titan) and fuse them so they look like one graph. I could even connect edges from a vertex in titan with a vertex in neo4j. Recursive graphs - I could make it so edges could contain clusters of edges and vertexes could contain complete graphs embedded inside them, they could even be defined by completely different underlying systems. This gave me a sort of hierarchical graph. Apache Storm graphs - I was able to encapsulate the topology from apache storm as a graph so one could perform traversals across a storm topology as it is running to produce statistics or to effect its behavior based on traffic or usage MapDB graphs - using MapDB as a graph backend or even a traditional database or any other storage system not usually seen a a graph. The list is really endless. But the problem I'm facing with TP3 is that it is no longer trivial to implement a Graph. Now you have to pretty much implement Gremlin for your graph and countless other methods. I get why this is done, from a performance standpoint if your going to view gremlin as a query language for graph databases it is needed. But what i need is some middle ground where I can still implement a Graph as easy as i could in TP2 even if the end result is rather poor performance on the gremlin queries (which can be optimized later in some cases as the development matures). As far as i can tell this just isnt possible in TP3, correct me if im wrong because I'd love to use it for these use cases. If that turns out to be true and no one here has any better ideas (which id very much welcome) my next resort would be to revive TP2, fork it as a new project under a new name, and continue to maintain it as a solution that addresses some of these needs. i welcome any ideas or inputs from the community on this for me.
