|
| 1 | +--- |
| 2 | +title: Graph Visualizer |
| 3 | +menuTitle: Graph Visualizer |
| 4 | +weight: 102 |
| 5 | +description: >- |
| 6 | + Visually explore and interact with your ArangoDB graphs through an intuitive interface |
| 7 | +--- |
| 8 | +The **Graph Visualizer** is a browser-based tool integrated into the web interface |
| 9 | +of the ArangoDB Platform. It lets you explore the connections of your named graphs |
| 10 | +to visually understand the structure as well as to inspect and edit the attributes |
| 11 | +of individual nodes and edges. It also offers query capabilities and you can |
| 12 | +create new nodes (vertices) and relations (edges). |
| 13 | + |
| 14 | +{{< info >}} |
| 15 | +Graph creation is **not** performed within the Graph Visualizer. Graphs must be |
| 16 | +created in the **Management** section under **Graphs** of the second-level |
| 17 | +navigation in the [web interface](../components/web-interface/graphs.md). Once |
| 18 | +created, you can select a graph from the list for exploration and visualization. |
| 19 | +{{< /info >}} |
| 20 | + |
| 21 | +You can use the Graph Visualizer to do the following: |
| 22 | + |
| 23 | +- Filter and view specific nodes to focus on a subset of your graph. |
| 24 | +- Dynamically expand nodes to show more of their neighborhood to see how |
| 25 | + entities are connected. |
| 26 | +- Inspect the properties of nodes and edges. |
| 27 | +- Modify existing or create new nodes and edges. |
| 28 | +- Rearrange nodes automatically or manually for better visual clarity. |
| 29 | +- Use zoom and pan to explore large graphs more easily. |
| 30 | + |
| 31 | +## View a graph |
| 32 | + |
| 33 | +The core function of the Graph Visualizer is to provide an intuitive canvas for |
| 34 | +exploring graph structures. You can visualize any type of **named graph** |
| 35 | +(General Graphs, SmartGraphs, EnterpriseGraphs, SatelliteGraphs). |
| 36 | + |
| 37 | +{{< warning >}} |
| 38 | +Anonymous graphs using adhoc sets of document and edge collections are not |
| 39 | +supported by the Graph Visualizer. |
| 40 | +{{< /warning >}} |
| 41 | + |
| 42 | +### Select and load a graph |
| 43 | + |
| 44 | +1. In the ArangoDB Platform web interface, select the database your named graph |
| 45 | + is stored in. |
| 46 | +2. Click **Graphs** in the main navigation. |
| 47 | +3. Select a graph from the list. |
| 48 | +4. The viewport of the Graph Visualizer opens for exploring the graph. |
| 49 | + |
| 50 | +The main area of the viewport may initially be empty in the following cases: |
| 51 | + |
| 52 | +- You opened a graph for the first time and nothing is selected for displaying yet |
| 53 | +- You used the **Clear Canvas** option |
| 54 | +<!-- TODO: Doesn't it preserve the last state? Can it be lost? |
| 55 | +- Reopening the Graph Visualizer after a previous session |
| 56 | +--> |
| 57 | + |
| 58 | +You can [Add nodes to the canvas](#add-nodes-to-the-canvas) as well as |
| 59 | +[Display a subgraph using a query](#display-a-subgraph-using-a-query). |
| 60 | + |
| 61 | +### The viewport |
| 62 | + |
| 63 | +The Graph Visualizer interface is comprised of the following components: |
| 64 | + |
| 65 | +- **Canvas**: The main area of the viewport. |
| 66 | +- **Explore**: |
| 67 | + A widget in the top left corner that opens a dialog for selecting nodes and |
| 68 | + edges to display. |
| 69 | +- [**Customization**](#visual-customization): |
| 70 | + A sidebar on the right-hand side to adjust the styling. |
| 71 | +- [**Layout and Navigation**](#layouts-and-navigation-tools): |
| 72 | + A minimap and multiple tools for the canvas in the bottom right corner. |
| 73 | + |
| 74 | +### Add nodes to the canvas |
| 75 | + |
| 76 | +You can add individual nodes to the canvas in addition to what is already |
| 77 | +displayed. |
| 78 | + |
| 79 | +1. Click **Explore**. |
| 80 | +2. On the **Search** tab, select a **Vertex type**. This is the name of the |
| 81 | + collection that stores the node you want to select. |
| 82 | +3. Enter a value into the **Search** field. <!-- TODO: Which attributes?! --> |
| 83 | +4. Select one or more nodes from the list on the left-hand side. |
| 84 | +5. Optional: You can check the attributes of the selected nodes on the |
| 85 | + right-hand side. Use the buttons at the bottom to switch between nodes. |
| 86 | +6. Click **Add _n_ vertices**. |
| 87 | +7. To see the neighbor nodes and the edges that connect them, right-click a node, |
| 88 | + click **Expand (_n_)** and then **All (_n_)**. <!-- TODO: What other options exist? --> |
| 89 | + |
| 90 | +### Display a subgraph using a query |
| 91 | + |
| 92 | +You can run an AQL query to view a subset of the graph. |
| 93 | +It replaces the current content of the canvas. |
| 94 | + |
| 95 | +1. Click **Explore**. |
| 96 | +2. On the **New query** tab, enter an AQL query that returns edges or paths |
| 97 | + (e.g. a graph traversal query), for example: |
| 98 | + ```aql |
| 99 | + FOR edge IN edgeColl FILTER edge.value > 10 RETURN edge |
| 100 | + ``` |
| 101 | + ```aql |
| 102 | + FOR v, e, p IN 1..3 ANY "coll/753" GRAPH "myGraph" RETURN p |
| 103 | + ``` |
| 104 | +3. The edges and their nodes appear on the canvas. |
| 105 | + |
| 106 | +{{< tip >}} |
| 107 | +You can save queries for future use: |
| 108 | + |
| 109 | +1. Click **Explore**. |
| 110 | +2. On the **New query** tab, click **Save as**, enter a name and optionally a |
| 111 | + description, then click **Save**. |
| 112 | +3. To run a saved query, click **Explore**. |
| 113 | +4. On the **Saved Queries** tab, you can see a list of saved queries, and the |
| 114 | + following actions are available for each: |
| 115 | + - **Run** the query. |
| 116 | + - **Copy** the query string to the clipboard. |
| 117 | + - **Delete** a no longer needed query. |
| 118 | +{{< /tip >}} |
| 119 | + |
| 120 | +### View node and edge properties |
| 121 | + |
| 122 | +You can inspect the document attributes of node or edge as follows: |
| 123 | + |
| 124 | +- Double-click a node or edge to open a dialog with the properties. |
| 125 | +- Right-click a node to open the context menu and click **View Node** to open |
| 126 | + the dialog with the properties. |
| 127 | + |
| 128 | +### Layouts and navigation tools |
| 129 | + |
| 130 | +These features allow you to clear, zoom, and pan the canvas, as well as rearrange |
| 131 | +the displayed graph data for a better spatial understanding of node clusters, |
| 132 | +hierarchies, and relationship flows. |
| 133 | + |
| 134 | +- **Minimap**: A small overview to easier navigate the canvas. |
| 135 | + |
| 136 | +- **Zoom Controls**: Zoom in/out or reset the zoom to 100%. |
| 137 | + |
| 138 | +- **Fit to Screen**: Resize and center the canvas so you can see everything. |
| 139 | + |
| 140 | +- **Re-run Layout**: Automatically rearrange the nodes using the selected algorithm. |
| 141 | + |
| 142 | +- **Layout Algorithms**: Choose between different ways of arranging the nodes. |
| 143 | + Which algorithm to use depends on the situation and the graph topology. |
| 144 | + |
| 145 | +## Edit graph data |
| 146 | + |
| 147 | +While the Graph Visualizer is primarily designed for exploring graph data, you |
| 148 | +can also create and modify nodes and edges directly from the canvas. |
| 149 | + |
| 150 | +You need to have write access for the database and the collections for this. |
| 151 | + |
| 152 | +### Create new nodes |
| 153 | + |
| 154 | +You can add nodes to the graph's document collections directly from the |
| 155 | +canvas. This allows you to create additional entities to the graph. |
| 156 | + |
| 157 | +1. In the **Graphs** section of the ArangoDB web interface, select your graph. |
| 158 | +2. Right-click on the canvas and choose **Create Node**. |
| 159 | +3. A dialog opens with the following options: |
| 160 | + - Select the target collection (**Node Type**). |
| 161 | + - Optionally specify a unique identifier (**Node ID**). |
| 162 | +4. Click **Create** to add the node to the canvas and database. |
| 163 | + |
| 164 | +### Create New Edges |
| 165 | + |
| 166 | +You can add edges to the graph's edge collections directly from the canvas. |
| 167 | +This allows you to create additional connections between nodes. |
| 168 | + |
| 169 | +1. In the **Graphs** section of the ArangoDB web interface, select your graph. |
| 170 | +2. Right-click on the canvas and choose **Create Edge**. |
| 171 | +3. In the dialog: |
| 172 | + - Select the target collection (**Edge Type**, which corresponds to an edge collection). |
| 173 | + - Set the `_from` and `_to` fields by selecting the source and target nodes. |
| 174 | + - Optionally specify a unique identifier (**Edge ID**). |
| 175 | +4. Click **Create** to add the edge to the canvas and database. |
| 176 | + |
| 177 | +{{< info >}} |
| 178 | +If you select two nodes before right-clicking to open the edge creation |
| 179 | +dialog, the `_from` and `_to` fields are automatically pre-filled. |
| 180 | +The order is not based on your selection sequence but the document key. |
| 181 | +{{< /info >}} |
| 182 | + |
| 183 | +### Edit node and edge properties |
| 184 | + |
| 185 | +You can modify the document attributes of nodes and edges from the canvas as follows: |
| 186 | + |
| 187 | +1. Double-click a node or edge. |
| 188 | +2. In the properties dialog that opens, click **Edit**. |
| 189 | +3. Change the properties and click **Save**. <!-- TODO: Can't change system attributes, even though _from and _to are generally mutable --> |
| 190 | + |
| 191 | +### Delete nodes |
| 192 | + |
| 193 | +You can delete individual nodes which deletes the corresponding document. |
| 194 | + |
| 195 | +1. Right-click a node to open the context menu. |
| 196 | +2. Click **Delete Node**. |
| 197 | +3. Any edges connected to this node are deleted by default to ensure graph |
| 198 | + consistency. To keep the edges, untick **Delete connected edge(s)**. |
| 199 | +4. Confirm the deletion by clicking **Delete**. |
| 200 | + |
| 201 | +### Delete edges |
| 202 | + |
| 203 | +1. Right-click an edge to open the context menu. |
| 204 | +2. Click **Delete Edge**. |
| 205 | +3. Confirm the deletion by clicking **Delete**. |
| 206 | + |
| 207 | +## Visual customization |
| 208 | + |
| 209 | +You can adjust how the graph data is displayed, like the color, opacity, and |
| 210 | +labels. All styling changes are visual-only and do not affect the underlying data. |
| 211 | + |
| 212 | +1. Optional: Reset to default styling if desired. |
| 213 | +2. Click the _palette_ icon in the top right to open the **Customization** panel |
| 214 | + if it's closed. |
| 215 | +3. Adjust the styling for nodes or edges: |
| 216 | + - Select a **Label Attribute** to display a custom top-level field |
| 217 | + (e.g. `name` or `type`) instead of `_id`. |
| 218 | + - Assign a specific **Color** to highlight and distinguish elements. |
| 219 | + - Adjust how transparent elements are with the **Opacity**. |
| 220 | + - Set the **Line Thickness** (edges only). |
| 221 | + - Choose different **Arrowhead Styles** (edges only). |
| 222 | +4. You can also do the following: |
| 223 | + - Clear the styling modifications. |
| 224 | + - See the number of nodes respectively edges on the canvas (by collection). |
0 commit comments