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.

Reply via email to