This chapter presents a visual overview of the UI of Neo4j Bloom.
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.
Overlays provide supplemental views for working with the graph scene.
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 Chapter 5, Perspectives.
The Settings drawer contains various options for the application. The following can be controlled from this drawer:
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.
Rule availability and application varies by the type of a graph element and its available properties.
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 an
unitPrice integer value that is greater than 4.
You can use rules to change the color and size attributes of nodes, and the color and thickness attributes of relationships.
Rule-based styling is supported for string, numeric and boolean properties.
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 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 the Graph Pattern Search in Bloom tutorial topic for tips on graph pattern searching.
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:
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 Section 6.3, “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:
See Section 6.6, “Default actions and shortcuts” for the complete list and associated keyboard shortcuts.
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.
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.
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.
Several interactions are available from the canvas to help you explore your graph visualization. Some of the commonly expected ones are:
Left-click and hold and then drag to bring up a lasso tool to select multiple nodes and relationships.
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.
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.
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.
Bloom searches for shortest paths within 20 hops and shows the first shortest path found by the database.
If you have the required write permissions to your graph database, you can edit your graph data in Bloom.
Create relationshipenabled with a sub-menu showing the available relationship types. Only relationship types available in the database can be added.