Thanks, may be useful for others who come along. Though I could still use some help. With that said im also trying to understand adding custom strategies to existing providers and having some trouble understanding that as well. I seem to have ventured into undocumented territory to some degree.
On Sun, Oct 8, 2017 at 12:24 AM, Joshua Shinavier <[email protected]> wrote: > 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 < > [email protected]> 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. > > >
