Visual Tour

This chapter presents a visual overview of the UI of Neo4j Bloom.


visual tour


The sidebar contains a set of drawers where you can set up the environment for graph exploration.

  • Perspective Drawer - defines the business context depicted in the scene.

  • Settings Drawer - provides application settings.

  • About Drawer - shows notifications and license information.


Neo4j Bloom’s main workspace is a graph scene, where you’ll see the classic circles and lines of a graph visualization. The scene contains just the parts of the graph which you’ve found through search or exploration.

Click directly on nodes to move them manually into place. Right-click on nodes, relationships, or the background to bring up context menus to perform actions.

To export your current scene, click the Export/save icon in the upper right corner of your screen. You may either take a screenshot and save as a .png or export the contents as CSV. See Export data from Bloom for more information.

bloom screenshot


Overlays provide supplemental views for working with the graph scene.

  • Legend Panel - shows all the business entities (categories and relationship types) available in the current Perspective. This panel also lets you define the style for categories and relationship types using default or rule-based styles.

  • Search Bar - accepts a near-natural language search query input and offers suggestions on graph patterns that match the input.

  • Card List - shows details about the nodes and relationships in the scene.

Perspective drawer

perspective drawer intro

The Perspective is the business view, or the context, of the graph to which Bloom connects. The Perspective drawer is used to select or define this business view or context, before graph exploration can begin. The business context set in the Perspective controls everything available in the Bloom application, e.g. what nodes and relationships that should be accessible, how they get categorized and styled, and what details about them can be seen or changed. Perspectives are discussed in detail in Perspectives.

Settings drawer

bloom settings drawer

The Settings drawer contains various options for the application. The following can be controlled from this drawer:

  • Node query limit - can be adjusted within a range of 100-10000.

  • Search timeout - controls the duration of a search query.

  • Logout timeout - controls the time of inactivity before session is logged out, can be turned off to keep session active indefinitely.

  • Experimental features - to show features that are available on an experimental basis.

  • Show restore scene dialog - allows you to restore the scene from your previous session.

  • Auto-select results - automatically selects new nodes on the scene.

  • Graph layout compatibility mode - can solve compatibility issues between GPU and WebGL. See here for more information.

  • Case insensitive search and suggestions - enables case insensitive use of both search and in suggestions.

Legend panel

legend panel intro

The legend panel shows a list of all categories and relationship types available in the current Perspective, along with the style used to render their nodes and relationships respectively. When the list contains many elements, you can use a filter to limit the legend to show only elements present in the scene, or find those not present in the scene, or search for an element of interest. Click on a category or relationship type in the legend to select all nodes or relationships of that type. A count shows the number of items of a type that are currently visible somewhere in the scene. Styles applied to nodes and relationships can also be changed from this legend panel. You have the flexibility to define the style for an entire category or relationship type, or use data-driven rules to apply styles to specific nodes or relationships. By using the arrow-button you can quickly collapse or expand the legend panel.

Rule-based styling

Bloom allows you to set up rule-based styling based on the properties present in your graph. Rule availability and application varies by the type of a graph element and its available properties. Rule-based styling is supported for string, numeric and boolean properties. Some temporal properties are also supported, localTime, localDateTime and date. See Parameter data types for more information on temporal properties.

There are three different modes for rule-based styling: Single, Range, and Unique value.


rule based styling single

This allows you to set up a rule that applies one single color and/or size based on a condition. For example, as shown above, a rule defined on a unitPrice integer property of a Product category will only apply to Product nodes that have a unitPrice integer value that is greater than 4.


rule based styling range

For numeric properties, you can set up a rule that applies a range of colors or sizes to a range of values. In the image above, a Range-rule has been used to style nodes with the unitPrice integer property with a spectrum of colors from green to red, as well as size nodes from small to big.

Unique value

rule based styling unique values

Activate this when you want to assign a unique color to each property value of a given property key.

Rules override the default style setting such that if no rule is satisfied, the default style is applied. If multiple rules affecting the same attribute (e.g. node color) are specified, the rule that appears first in the list will be applied to that attribute. Subsequent rules may still be applied if they affect other attributes (e.g. node size).

Bloom is a search-first environment for you to explore your graph. To provide this experience, the search bar supports several types of search input. When you enter a term or phrase in the search bar, Bloom provides a list of suggestions for queries you can run, based on matches in the following input types:

  • Graph pattern

  • Search phrase

  • Full-text search

  • Actions

search bar 5
search bar 6
search bar 7

You can press TAB or click on a suggestion in the list to select it, or scroll to the suggestion and press ENTER to run it.

Graph pattern

Graph patterns are a relaxed, near-natural language grammar based on a vocabulary drawn from node labels, relationship types and property keys and indexed property values, enriched by categories or other configuration as defined in the applied Perspective (see Perspectives for more detail). Terms that Bloom detects are used to create potential pattern matches, are added to the suggestions list, from which you can pick the one you wish to query. See Graph Pattern Search in Bloom for tips on graph pattern searching.

Search phrase

A Search phrase is essentially an alias for a pre-defined graph query, which is saved within a Perspective. Search phrases allow for user-friendly access to queries that need to be run frequently, or can’t be conveniently expressed as a search pattern. Search phrases also allow for highly customized domain-specific questions to be asked, and can:

  • be paired with a parameterized Cypher query.

  • call algorithms, or anything else that can be called using procedures.

  • modify the graph (requires write access).

See Search Phrases for Advanced Queries tutorial topic for tips on using Search phrases.

When Bloom can’t find an appropriate suggestion for the entered search term, you have the ability to run a full-text search against the Neo4j database. Bloom uses the native full-text indexes in the database for this feature. You will need to set up a full-text index to enable full-text search in Bloom. Without any full-text index configured, Bloom will fall back to searching in all available indexed string properties.

See Full-text Searching in Bloom tutorial topic for tips on using the full-text search option.


Actions are phrases that trigger user-interface commands, e.g. Clear Scene will empty the canvas of the currently shown nodes and relationships. This lists some of the available Actions:

  • Invert selection - selects every unselected node and deselects any selected node/s.

  • Fit to selection - zooms in on the selection and centers it on the canvas.

  • Expand selection - option to see everything directly connected to the selected node/s.

  • Clear Scene - empty the canvas.

  • Dismiss - removes everything selected.

  • Dismiss others - removes everything not selected.

  • Refresh Data - refreshes the data on the canvas.

  • Redo - repeat the latest action.

  • Undo - undo the latest action.

See Default actions and shortcuts for the complete list and associated keyboard shortcuts.

Card List

The Card list, when expanded, shows details about the currently shown nodes on the canvas. You can choose between viewing all or only the selected nodes (if any). Each node appears as a little card which shows a few of the available properties on the node. The search bar in the card list lets you filter the card list further by typing a search and returning only the matching cards. The list can be even further refined by selecting Nodes or Relationships to return only those.

card list

Cards in the list can be used to interact with nodes on the canvas. Select one or more cards in the list to select them on canvas or vice versa. Interact with the selected cards using shortcut actions like Expand or Dismiss that appear on the bottom of the list, or use the right-click context menu.

Double-click on a card to see the Node Inspector, which shows its properties in detail. Properties can be edited, if you have write access to the graph.

node inspector

The Node Inspector also shows a node’s relationships and neighbors as cards, which in turn, can be used to navigate to, interact with, or see detail about these relationships and neighbors.

relationships of a node

Scene interactions

Several interactions are available from the canvas to help you explore your graph visualization. Some of the commonly expected ones are:

  • Zoom in and out using your mouse or touchpad scroll functions, or use the buttons at the bottom right of the canvas. The size of the text on nodes is dynamic in relation to the size of the node.

  • Left-click on a single node or relationship to select or deselect it. Multiple objects can be selected by holding the appropriate keyboard modifier key (Cmd or Ctrl key) before selecting.

  • Double-click on a node or relationship to open the Inspector to inspect the element’s details.

  • Left-click in an empty spot on the canvas and drag immediately to pan the visualization.

  • Left-click and hold and then drag to bring up a lasso tool to select multiple nodes and relationships.

    lasso tool
  • Right-click anywhere on the canvas to bring up context-sensitive menus for the object clicked on. Following sections describe some of the notable graph interactions available in these context menus.

canvas and node context menus

Expand nodes

With a single or group of nodes selected for context, you can expand the nodes to visualize their immediate neighbors. Then, select from the result and expand further to navigate local areas of the graph. Expansion can be done from the right-click context menu of a node or from the Inspector when viewing a node’s relationships or neighbors. When expanding neighbors of a node, the number of nodes returned is limited to the number specified in the Node query limit in the Settings drawer.

selective expansion

The right-click context menu provides additional options to expand selectively along a specific relationship type and direction, or to open the Advanced Expansion dialog and choose to expand along several specific paths, or to specific neighboring node types, or a combination. You can also choose to limit the number of nodes that should be returned in the result. If you set a limit in the context menu, this overrides any Node query limit set in the Settings drawer.

advanced expansion

Shortest path

A powerful feature of Neo4j graphs is to see how two entities may be connected without knowing the exact path of relationships between them. To do so in Bloom, you can run a shortest path command between two nodes. Select the two nodes of interest, right-click on one of the nodes to bring up the context menu and select the Shortest Path option.

shortest path
Bloom searches for shortest paths within 20 hops and shows the first shortest path found by the database.

Hierarchical layout

In instances where you are interested in knowing more about how various nodes are related in comparison to each other, in an organizational chart for example, Bloom allows you to change the layout of your scene. By default, the nodes and relationships in a scene are presented in a force-directed layout. By clicking the hierarchical-layout button in the bottom right-hand corner of the canvas, the nodes in the scene will be presented in an hierarchical order instead. The nodes are thus arranged by the directionality of their relationships, determined by the way relationship directions are set up in the database. When the hierarchical layout is activated, you can change the orientation by rotating the layout using the button directly to the left of the layout button. The orientation rotates by 90 degrees each time the button is clicked. If you want to go back to the force-directed layout, just click the layout button again.

layouts hierarchy


The map is located in the bottom right corner of the canvas and gives you an overview of the entire scene. It helps you navigate, especially when your graph is large and/or when your nodes contain a lot of information and you often need to zoom in and out to view.

The map shows all the nodes present in the scene, as well as the currently visible selection and where this selection is located in relation to the whole scene. It allows you to pan the scene by dragging the box that contains the current selection, you can zoom in and out using the + and -.

Presentation mode hides the search bar, legend panel and other elements to take the current scene into full screen. If you need the legend panel while in presentation mode, use the arrow-button to expand.

Your current zoom-percentage is shown and by clicking that number, you reset the zoom to 100%. In addition, you can select to fit the entire graph to the screen or hide the map.



When you have a scene full of nodes and relationships, it can be difficult to identify exactly the sub-graph you need. Applying a filter can help you fine-tune the results from your search phrase and help you find what you are looking for in your data. When a filter is applied, all filtered elements are greyed out in the scene, they are still visible but you cannot interact with them. You can also completely remove the filtered elements from the scene, by using the Dismiss Filtered elements.

filtering dismiss

Filters can be accessed from the Filter drawer and are created based on the elements present in your scene, their categories, types, and properties. The filter can be as coarse or as fine as you like.

To start, you select the node category or relationship type to base the filter on. At that point, you have the option to filter out all other categories present in the scene. For more fine-grained filtering, you can further specify properties to filter on. Filtering is supported for integer, float, boolean and string properties. When you are satisfied, you use the toggle to apply the filter.

filtering string property

You can create as many filters as you like, they will remain in the Filter drawer until you delete them. When you have multiple filters, they are collapsed in the drawer and you click on them to expand them and see their details.

Editing in Bloom

If you have the required write permissions to your graph database, you can edit your graph data in Bloom.

  • Editing labels - You can add or remove labels from a node when you inspect its properties in the Inspector. Only labels available in the database can be added.

edit label
  • Editing or adding properties - You can add, edit or delete properties on a node when you inspect its properties in the Inspector. Only property keys enabled for viewing in Bloom (as defined in the Perspective) will be visible and editable. Relationship properties can also be edited in its respective Inspector.

    It is not possible to edit time zones on temporal properties.

edit properties
  • Creating new relationships - New relationships can be created from the canvas directly. To create a new relationship, select the source and destination nodes taking care to select the source node first. The right-click context menu will show the Create relationship enabled with a sub-menu showing the available relationship types. Only relationship types available in the database can be added.

create relationship
  • Creating new nodes - New nodes can also be created from the canvas. To create an empty new node, use the canvas context menu and choose an existing category to which the node should be assigned. Another option is to duplicate an existing node from its context menu.

create node
  • Database constraints (if they exist) will affect the ability to edit data in Bloom depending on what constraints have been placed.

  • Deleting graph elements like nodes, labels, relationships, or relationship types is not supported in Bloom currently. Use Neo4j Browser if you want to delete graph elements.