3. As a thinking tool, to visually organize information
As a development tool, for working with graph data
As a communication tool, for describing what is in the graph
As an interactive tool, for exploring data relationships
As a reporting tool, for summarizing business information
As an analysis tool, for revealing critical trends,
influences and discrepancies
3
Survey: How is graph visualization useful?
4. “Neo4j Browser, with less code and better scale”
A self-service data exploration tool that line-of-business users can
easily pick up and use to work with Neo4j.
4
Survey: Main Take-away
6. Neo4j Bloom is "an interactive graph visualization environment" which
focuses on creating a business view of the graph, for business users.
Two main activities:
1. Defining a business view of the graph
2. Interacting with that business view
10. Quick Start
The first time that Bloom encounters a graph, it will offer a selection of
currently defined "Perspectives" or to auto-generate a new one.
Auto-generation is a good place to jump quickly into graph
exploration.
Use search to find:
• expected values, like "Tom Hanks"
• patterns, like "Movies" or "Persons in Movies"
Interact by:
• double-clicking a node to see details
• right-click to bring up a context menu
11. Overview
• Scene
• Category List
• Search Bar
• Card List
• Canvas
• Sidebar
• Perspective Drawer
• Settings Drawer
• About Drawer
SceneSidebar
12. Category List
Acts as a legend for the Scene.
Default Category: catches any Nodes which
don't map to a Perspective Category
Perspective Categories: defined by the current
Perspective*
Each Category shows:
• selected count
• in-scene count (visible somewhere)
• category name
• category color
*see Perspective Drawer for details about defining
Categories
14. Graph Perspective
15
Manage visibility and reduce
clutter, revealing the right
information to the right users.
• Selective Property Visibilty
• Selective Relationships
• Defined Entity Patterns*
Need-to-know Details
• Departmental Views
• Hide Personal Ident Info
• Structural-only Dev view
Rich Entities*
• Truck with Packages
• Person with Aliases
• Blog Post with Comments
• Component with Parts
23. Graph Search
37
Ask Bloom what you’re looking
for using idiomatic phrases
based on the graph structure
and content.
• Search Everywhere
• Find Graph Patterns
• Customize Search Phrases
“Tom Hanks”
“Tom Hanks Movies”
“From Tom Hanks to Kevin
Bacon”
24. Search Bar
Four kinds of input:
• Graph Pattern
• Full-text Search
• Search Phrase
• Action
Graph Pattern
Full-text search
Search Phrase
Action
25. Search Bar:
Graph Pattern
Graph Pattern search accepts a
relaxed pseudo-natural language
grammar based on a dictionary
drawn from Node Labels,
Relationship Types and Property
Keys.
The terms are mapped to potential
pattern matches which a user can
select.
Value-matches based on indexed
properties can also be used to
complete a Pattern.
Graph Pattern
26. Search Bar:
Full-text search
When the Bloom full-text search
plugin is available, that will be
used to fulfill the search.
Otherwise the search is restricted to
looking up text in the available
indexes.
No indexes and no plugin? Full-text
search will not work.
Full-text search
27. Search Bar:
Search Phrase
Search Phrases are defined within
the Perspective, allowing for highly
customized domain-specific
questions to be asked.
• paired with a parameterized
Cypher query
• can call algos, or anything!
• could mutate the graph
(requires write access)
(See How-to define a Search Phrase)
Search Phrase
30. Search Examples – Movie Graph
CREATE INDEX ON :Movie(title);
CREATE INDEX ON :Person(name);
Search Suggestion Explanation
Tom Hanks Search for single nodes contain "Tom Hanks"
in any indexed Property
Tom Hanks Movies Search all nodes for "Tom Hanks" anywhere,
using full-text
Tom Hanks Movie Persons People related to Tom Hanks Movies
The Matrix Person in Cloud Atlas Two movies, "The Matrix" and "Cloud Atlas"
and the people involved in both
31. Search Examples – Northwind Graph
CREATE INDEX ON :Category(categoryName); CREATE INDEX ON :Customer(companyName); CREATE INDEX ON :Customer(contactName);
CREATE INDEX ON :Order(shipCity); CREATE INDEX ON :Product(productName)
Search Suggestion Explanation
Beverages (:Category {categoryName:'Beverages'})
Supplier of Product Beverages (:Supplier) → (:Product) →
(:Category {categoryName:'Beverages'})
Beverages Product Supplier (:Category {categoryName:'Beverages'}) → (:Product) →
(:Supplier)
Employee with lastName Fuller (:Employee)
WHERE lastName STARTS WITH "Fuller"
who reports to Fuller () → (:Employee {lastName: "Fuller"})
35. 49
Neo4j Bloom Futures*
Graph simplifications Collapsing graph patterns into single
elements: paths, containers, lists, clusters
Multi-graph subdivisions and compositions of graphs
Graph analytics algorithmic analysis and enrichment
BI Charts traditional aggregrate reporting charts
Graph Presentation multiple-scene storyboard presentations
Embedded Views Google-map-like embedding
* not in any particular order
36. • Access to a running instance of Neo4j Enterprise Edition (local
or networked)
• A licensed Neo4j Desktop instance
• The Neo4j database to which Bloom connects must be indexed
for the data which will be visualized
• A Bloom license attached to that server instance
• An input device (keyboard) supported by the Bloom Dialog Box
• Modern hardware-based GPU
50
Neo4j Bloom Prerequisites: