Thanks, ill try to take a stab at this and write a hello world i can use as
a template. If i do such a hello world would it be useful for you guys.

On Wed, Oct 4, 2017 at 11:37 AM, Marko Rodriguez <[email protected]>
wrote:

> Hello,
>
> You have the following tasks:
>
>         1. Implement Graph, Vertex, Edge, VertexProperty, Property
> interfaces.
>         2. Implement Transactional interface (optional).
>         3. Write as many strategies as you want to take advantage of
> provider-specific capabilities.
>                 - TinkerGraph itself has 2:
>                         https://github.com/apache/tinkerpop/tree/master/
> tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/
> gremlin/tinkergraph/process/traversal/strategy/optimization <
> https://github.com/apache/tinkerpop/tree/master/
> tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/
> gremlin/tinkergraph/process/traversal/strategy/optimization>
>
> If you want a minimal “hello world,” then please look at TinkerGraph and
> Neo4jGraph in our repository. Those are both “reference implementations.”
>
>         https://github.com/apache/tinkerpop/tree/master/
> tinkergraph-gremlin <https://github.com/apache/tinkerpop/tree/master/
> tinkergraph-gremlin>
>         https://github.com/apache/tinkerpop/tree/master/neo4j-gremlin <
> https://github.com/apache/tinkerpop/tree/master/neo4j-gremlin>
>
> Good luck,
> Marko.
>
> http://markorodriguez.com
>
>
>
> > On Oct 4, 2017, at 5:55 AM, Jeffrey Freeman <
> [email protected]> wrote:
> >
> > 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