I'm going to paste here what I wrote in a side thread:

Well, one reason you don't see a lot of pass-through Graph wrappers in TP3
is that a lot of the things we used to do with wrappers is now accomplished
with traversal strategies. Take IdGraph, for example. This allows you to
add the user-defined ID feature to a graph that doesn't natively support
it. I wrote this in TP2 as a "wrapper", but in TP3 it became
ElementIdStrategy. Another example is SubgraphStrategy, which takes the
place of a number of Blueprints wrappers for providing a "slice" of the
graph.

That being said, I think there is still a place for Graph-on-Graph
wrappers, and your template would make it easy to experiment with them. You
should probably make sure you understand traversal strategies, as well;
what you are describing could probably be implemented that way, and might
be simpler as a result.

Btw. combining graph event processing via Apache Storm with an on-demand
graph database (Neo4j, JanusGraph) sounds very interesting.

Josh

On Sat, Oct 7, 2017 at 9:08 PM, Jeffrey Freeman <
jeffrey.free...@syncleus.com> wrote:

> The past 24 hours ive been trying to write a simple pass-through graph
> provider. Basically a Graph type that takes any other Graph type as an
> argument in a constructor and passes all calls through to the graph. I want
> to make the framework so someone can then simply override one or two
> methods to do simple extensions to existing providers. A HelloWorld test i
> am trying to write would be one where all the interactions with the base
> graph would be normal except when setting or getting a property on a edge
> or a vertex in which case if it is a string it appends a "!" to the end
> when setting a property. If i can get that minimal functionality working i
> can reuse and extend those classes to create all sorts of more complex
> wrapped graphs. I'd like to make that a library on its own that people can
> use to create easy wrapped graphs which can be used to extend graph
> provider functionality.
>
> After that id use that library to create a more useful real world utility.
> What i want to do is create a graph that is backed by a traditional graph
> DB (say neo4j or titan) which stores all the nodes and edges, but any
> vertex that has a special property on it would b e treated as a message
> queue (like redis in publish and subscribe mode). I want to make it so
> messages could be stored in the messaging queue system (redis) but its
> content could still be queried from gremlin calls (perhaps treating the
> messages a bit like a property that stores an array or something). So I
> could essentially create a Titan-redis hybrid or similar that looks like a
> unified graph. This in turn could be used as a backend to Apache Storm in
> order to encode stream topologies in a Tinkerpop / gremlin format. It would
> also then allow you to perform gremlin queries on the graph to see where
> bottlenecks in the streams happen to be.
>
> Sadly I cant even get a basic passthrough to a tinkergraph to work or even
> scratch the surface on what im trying to do.
>
> All I really need to see is a simple example of a graph provider wrapper
> but all i keep hearing/seeing are complicated complete solutions. I'm
> starting to doubt its even possible in any feasible way, but i keep hoping.
>
> If anyone can help me please advise. I used to build stuff like this easily
> in Tinkerpop2 and I'm trying to resist the urge to go back to Tinkerpop2
> but its becoming more and more likely if i can't get a TP3 solution to
> work.
>

Reply via email to