Do you have any examples of what an absolute minimal hello world sort of
graph implementation might look like?

On Wed, Oct 4, 2017 at 12:51 AM, Joshua Shinavier <[email protected]> wrote:

> Hi Jeffrey,
>
> I agree that simplicity and hackability were a big plus for TinkerPop2, and
> that these have taken a bit of a back seat, in TP3, to powerful but
> heavyweight features like backend support for OLAP. The stackable/pluggable
> nature of graph implementations took a a hit, as the OOP-friendly graph
> interfaces (TransactionalGraph, KeyIndexableGraph, IndexableGraph, etc.)
> were replaced with the more nuanced GraphFeatures, traversal strategies,
> etc.
>
> I wouldn't say that you have to "implement Gremlin" to implement an OLTP
> graph, though. You get GraphTraversalSource for free. A summer intern I had
> the pleasure of working with recently wrote a Graph implementation (as a
> wrapper for another, non-TP graph store) in 660 lines of code. It's not so
> hard that one would need to revert to TP2. With TP4 on the horizon, it
> might be worth making a list of "nice to have (again)"s. There are some
> features I would like to help to bring back, as well.
>
> Josh
>
>
>
> On Tue, Oct 3, 2017 at 5:49 PM, Jeffrey Freeman <
> [email protected]> wrote:
>
> > 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