Awesome, yea let me know, would love to take a look. Much appreciated.

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

> Sure. I had hacked together a basic implementation, minus tests and a few
> key methods, before I felt compelled to leave for work. Maybe I can put up
> the code tonight or tomorrow morning.
>
> On Wed, Oct 4, 2017 at 10:44 AM, Jeffrey Freeman <
> [email protected]> wrote:
>
> > I'd love to see that if its available somewhere.
> >
> > On Wed, Oct 4, 2017 at 12:56 PM, Joshua Shinavier <[email protected]>
> > wrote:
> >
> > > That's probably a worthwhile exercise. FYI, I have gotten a start on a
> > > minimal Redis-based impl -- not so much as a template as an example of
> > what
> > > can be done in a few lines of code.
> > >
> > >
> > > On Wed, Oct 4, 2017 at 9:51 AM, Jeffrey Freeman <
> > > [email protected]> wrote:
> > >
> > > > 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