Graph Studio Quest

@markmegerian
hello
I created a schema for my client and I showed the showed the sub part of the schema in the below image

So here my query is I attach a model vertex to cv_segment model is something like (a name or key factor) on which the analysis is going to be performed on a sub part of schema to customer, to calendar, to orders…which I am going to show onto my front end app. and here I want to store my analysis result respective to their model, just to check the differences in future and in the explore Graph. So suppose in cv_segment (Red) a customer name with Alice and Bob is attached and after performing some analysis (analysis means a model name which is any type of analysis in future), a customer Alice is now attach to cv_segment (Blue), just at the analysis time Alice would be attach in Blue cv_segment , in the real transaction this would be attach to their respective cv_segment which is Red cv_segment.
My question in this how we can manage this, I created a separate Graph (Model Analysis) other than this on my current instance and use the same vertex again which are used in my analysis, so the problem is replication of data if I have 1 billion customer in my original graph and then same customer are in my Analysis Graph as well which is 1 billion.
I thought to dump into the RDBMS but i think this is too bad approach
How to set up this problem? is this we need to make separate graph for this ? what you suggest

image

Interesting idea

why not just add a different EDGE type between customer and segment? after running the analysis, the customer can be attached to Blue, but its using some new edge like MODEL_SEGMENT_CUST . Then in the real transaction, you explicitly follow the original edge.

Probably several ways - I certainly wouldn’t dump it all to an RDBMS

@markmegerian
Really appreciated thanks for your response, this one is also nice idea take a sperate edge for this kind of analysis. and make edge wherever analysis is required.

and making new Graph is also not an good option because in this data will be replicated in my analysis? so for which sense we make a new graph on a same instance

@markmegerian
Hello I separated out my Analysis schema from my Main Schema, because after attaching these analysis edges, Main schema is not clearly understandable, Now when I run the GSQL from my Main Schema I want to store my some GSQL Json to my Analysis Schema, So after getting JSON what would approach you prefer me to store data into my Analysis Graph,

Do I make the LOADING jobs in my Python application and RUN accordingly?

or using this one is not so much effective because this one having the SIZE limitation and memory issue which I don’t want and this one require a specific syntax to store the data. and GSQL responses are somewhat differ if we are using EDGESET and VERTEX set , edges is giving from_id and to_id , but the syntax require different format, So make this data according to syntax this will require more time and power of the machine
@markmegerian

@pkr2 I would highly suggest not storing duplicated data in different graphs. If there are two graphs with a same vertex / edges needed you can look into creating a multi-graph in which those edges and vertices defined globally can be used by both graphs.

You also mentioned loading jobs in Python If the question is how to do create and execute loading jobs in Python I would encourage you to check out this sample notebook. TigerGraph_Northwinds/setup.ipynb at main · TigerGraph-DevLabs/TigerGraph_Northwinds · GitHub

Northwinds is a pretty popular relational database starter kit. What @Dan_Barkus did was create a graph based version of Northwinds.

1 Like