cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Filtered Visualisation

madiskou
Graph Buddy

Hello,
I am new with graph data base and i will choosing a solution for my project.
I will have 3 levels of representation.
Context :
We have a graph that represent all the processes of my apps and relationships between them (lowest level 1), a VM contains several process (level 2), and VMs are in Clusters (level 3), and several clusters represents an application (level 4).
My question is : Can I filter in the visualization the different level ? Processes and their relationships, the next level ==> VMs with their relationships, and clusters/apps.

And can we personalize the display of the graph (color node) according to some rules ?

I know it sounds weird as question but i'm starting with this concept.

1 ACCEPTED SOLUTION

I do not see any big problem
I have implemented the same as POC

  1. Dataset: Create csv file with name as Book2.csv
    2X_a_aa47d3e4c199bb2befeab86189aba8c6126d11d4.png

  2. Load the data into Neo4j
    LOAD CSV with headers FROM 'file:///community/Book3.csv' AS CT
    MERGE (vm:VM {name : CT.VM})
    MERGE (ppro:Process{name : CT.Pprocess})
    MERGE (cpro:Process{name : CT.Cprocess})
    MERGE (ppro)-[calls:CALLS]->(cpro)
    MERGE (vm)-[child:CHILD]->(ppro)

  3. Create to parameters:
    :param from:'VM1'
    :param to:'VM3'

  4. Path:
    Match p=(vm :VM {name:$from})-[:CHILD]->(pro:Process)-[call:CALLS*]->(ppro:Process)<-[:CHILD]-(v:VM {name:$to})
    return p

View solution in original post

9 REPLIES 9

intouch_vivek
Graph Steward

Hello Madiskou,

Welcome to the community,

  1. Please provide more details of the requirement. It will be good if you can share the picture of your graph. However if we can create a Graph we can query the data too.
  2. Regarding customized visualization kindly refer https://neo4j.com/developer/neo4j-browser/

Regards
Vivek

Hello vivek,

Thank you for your answer.

I have not yet a graph, i am in the step of choosing if i use Neo4j or not. In the picture above i make a graph for explaining th requirements.

I have a processes and theirs relationships, the processes are in the VMs ==> clusters ==> Apps.

I want to know if i can move from processes level to Vm level, cluster level, apps level?

Regards

Télécharger Outlook pour Android

madiskou
Graph Buddy

Hello vivek,

Thank you for your answer.

I have not yet a graph, i am in the step of choosing if i use Neo4j or not. In the picture above i make a graph for explaining th requirements.

I have a processes and theirs relationships, the processes are in the VMs ==> clusters ==> Apps.

I want to know if i can move from processes level to Vm level, cluster level, apps level?

Regards

Is this is you are constructing? If yes then what will be relationships between respective hierarchy that is how with which relationship Apps/VM/Cluster/Processes are joined?

regards
Vivek

madiskou
Graph Buddy

I will explain the context.
This application is used to a have dependency mapping between Processes, so when we have a problem with a Process, we can see the dependencies with other processes (which implies dependencies between VMs/Clusters and Apps).
I will have at first a graph of Processesand their relationships (ex: Process1 -- Call --> Process2 / Process1 --Call--> Process3 / Process2 --Call--> Process4 ...). I will have an information that indicates that the Process1 is in the VM1 in the Cluster1in the App1.

what i want is if i can switch in the browser from the graph of Process to the graph of VMs ...

You do not need to have disassociated graphs. You can create a graph as i have shown you above in that there will be 2 kinds of relationship

  1. Between same kind of node--> joined with Call --> Eg. VM1-Call->VM2
  2. Between different kind of node--> joined with IS_IN-->VM1-IS_IN->PS1

Where as if you still see that disassociated graph is only option then I am afraid we can not have query to join them, ie., cannot traverse between different kind of label if they are disassociated.
Regards
vivek

madiskou
Graph Buddy

Thank you for your answers because they help me to move forward in my reflection. Effectively its not the only option to dissociate the graphs (it was just a vision of the solution) and i agree that it is better to have the same graph.
In my case i construct the graph from the lowest level "Process" ( I have the processes and their relationships basically).
So now my question is (in the image below) :
Is there a way to have the relation between the 2 VM (the dotted line), from the process relationships (in this case: P1 --CALL--> P3 so VM1 --Call--> VM2) ?

Regards
Mahdi

I do not see any big problem
I have implemented the same as POC

  1. Dataset: Create csv file with name as Book2.csv
    2X_a_aa47d3e4c199bb2befeab86189aba8c6126d11d4.png

  2. Load the data into Neo4j
    LOAD CSV with headers FROM 'file:///community/Book3.csv' AS CT
    MERGE (vm:VM {name : CT.VM})
    MERGE (ppro:Process{name : CT.Pprocess})
    MERGE (cpro:Process{name : CT.Cprocess})
    MERGE (ppro)-[calls:CALLS]->(cpro)
    MERGE (vm)-[child:CHILD]->(ppro)

  3. Create to parameters:
    :param from:'VM1'
    :param to:'VM3'

  4. Path:
    Match p=(vm :VM {name:$from})-[:CHILD]->(pro:Process)-[call:CALLS*]->(ppro:Process)<-[:CHILD]-(v:VM {name:$to})
    return p

Hi @madiskou,

Yes you perform many things at the visualisation level, depends upon the application your are using.

Below is the list of some graph visualisation application , I am sure one of them might help you with your problem.