Skip to content

Neo4j dashboards in Aura #581

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: console
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
cf99d39
nav structure and dummy pages
rsill-neo4j Jan 16, 2025
254058b
removed two pages according to google doc commment collab
rsill-neo4j Jan 20, 2025
51ef14a
moved some pages so that they can be renamed to index pages, added so…
rsill-neo4j Feb 4, 2025
d7bfed4
added content for visualizations, finished getting started guide, cle…
rsill-neo4j Feb 6, 2025
454839b
updates for getting started and index
rsill-neo4j Feb 24, 2025
faee1c2
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j Feb 26, 2025
a8380aa
updated a link
rsill-neo4j Feb 26, 2025
aa58d65
some updates
rsill-neo4j Feb 27, 2025
849ca7d
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j Mar 4, 2025
3283436
review comments, sections out of scope for q1 are now hidden
rsill-neo4j Mar 4, 2025
4c21d29
BI connector -> integrations
rsill-neo4j Mar 4, 2025
25b40b8
removed BI from index
rsill-neo4j Mar 4, 2025
38111e2
updates to the getting started page
rsill-neo4j Mar 11, 2025
ed611e3
managing dashboards text update
rsill-neo4j Mar 12, 2025
65147db
Update faq-and-resources.adoc (#628)
nielsdejong Mar 12, 2025
f5a182c
docs updates, added graph visualization, took new screenshots
rsill-neo4j Mar 12, 2025
b4fff77
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j Mar 12, 2025
27f2cd2
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j Mar 13, 2025
1ad2c4c
new screenshots, added line chart query suggestion by Henrik, added s…
rsill-neo4j Mar 19, 2025
e98da48
page title consistency
rsill-neo4j Mar 20, 2025
13d0d30
review suggestions
rsill-neo4j Mar 20, 2025
672bcc3
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j Mar 20, 2025
7dc5b6b
small wording change
rsill-neo4j Mar 20, 2025
c7b8049
replaced a screenshot
rsill-neo4j Mar 21, 2025
c94a53a
adjusting docs to slightly changed behavior of the dashboards tile page
rsill-neo4j Apr 1, 2025
547d500
Merge branch 'console' into neo4j-dashboards-in-aura
rsill-neo4j May 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,29 @@ Generic Start
** xref:aura-cli/configuration.adoc[Configuration]
** xref:aura-cli/migration.adoc[Migration]

* Dashboards
** xref:dashboards/index.adoc[Overview]
** xref:dashboards/getting-started.adoc[Getting started]
//** xref:dashboards/working-with-dashboards/index.adoc[Working with dashboards]
** xref:dashboards/working-with-dashboards/managing-dashboards.adoc[Managing dashboards]
//*** xref:dashboards/working-with-dashboards/access-control.adoc[Access control]
//*** xref:dashboards/working-with-dashboards/sharing-dashboards.adoc[Sharing dashboards]
//*** xref:dashboards/working-with-dashboards/publishing.adoc[Publishing]
//*** xref:dashboards/working-with-dashboards/scheduled-export.adoc[Scheduled export]
** xref:dashboards/visualizations/index.adoc[Visualizations]
*** xref:dashboards/visualizations/graph.adoc[Graph]
*** xref:dashboards/visualizations/table.adoc[Table]
*** xref:dashboards/visualizations/linechart.adoc[Line chart]
*** xref:dashboards/visualizations/barchart.adoc[Bar chart]
//** xref:dashboards/advanced-features/index.adoc[Advanced features]
//*** xref:dashboards/advanced-features/parameters.adoc[Parameters and interactivity]
//*** xref:dashboards/advanced-features/rule-based-styling.adoc[Rule-based styling]
//*** xref:dashboards/advanced-features/report-actions.adoc[Report actions]
//** xref:dashboards/integrations.adoc[Integrations]
** xref:dashboards/faq-and-resources.adoc[FAQ and resources]

* Metrics
** xref:metrics/view-metrics.adoc[View metrics]

** Metrics integration
*** xref:metrics/metrics-integration/introduction.adoc[Introduction]
*** xref:metrics/metrics-integration/process.adoc[Integration Process]
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions modules/ROOT/pages/dashboards/advanced-features/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
= Advanced features
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of scope for Q1.

:description: The advanced features of Neo4j dashboards.

Coming soon.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
= Parameters and interactivity
:description: Parameterize your Aura dashboards and let their constituents interact with each other.

Coming soon.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
= Report actions
:description: Define actions when certain values are reported.

Coming soon.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
= Rule-based styling
:description: Apply styling rules and have your visualizations update their styling according to those rules.

Coming soon.
21 changes: 21 additions & 0 deletions modules/ROOT/pages/dashboards/faq-and-resources.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
= FAQ and resources
:description: Frequently asked questions.

On this page you can find some pointers to common questions and materials.

== FAQ


=== Something went wrong, how can I report a bug or issue?

You can use the link:https://support.neo4j.com/[Neo4j support portal] to report any bugs or issues with Neo4j Dashboards.

=== Where can I submit feature requests for Dashboards?

Feature requests and other feedback can be submitted via the link:https://feedback.neo4j.com/dashboards[Aura feedback page].

// == Resources

// Tutorials
// Blog posts
// Training materials (GraphAcademy?)
92 changes: 92 additions & 0 deletions modules/ROOT/pages/dashboards/getting-started.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
= Getting started with dashboards
:description: Follow these steps for a working example of Neo4j dashboards.

Set up a working example of Neo4j dashboards.

== Prerequisites

You need:

. A Neo4j Aura account
. A Neo4j Aura database instance

See xref::/getting-started/create-account.adoc[Create an account] and xref::/getting-started/create-instance.adoc[Create an instance] for details.

== Add a sample data set

Import the Northwind dataset to your instance:

* In Aura, find the **Learn** button at the top right.
* In the **Beginner** page, select the **Learn the basics** guide.
* When prompted to **Connect to instance**, select the instance where you would like to import sample data.
* In step 4 of 11 of the guide, import via **Get the Northwind dataset**.
* Run the import from the **Import** page via **Run import**.

The examples on this page refer to the Northwind dataset.


== Create a dashboard
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should have an image for this header as well

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think an image helps here still?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what kind of image do you suggest?


Create a new dashboard:

. In the **Dashboards** page, create a new dashboard with **Create dashboard** at the top right.
. If prompted to **Connect to instance**, select your instance.
. The UI takes you directly to the new dashboard. To change the title, select the title text and edit it, then confirm.
. Your dashboard has a single page titled "Main page". To change the name, hover it and then use the three dots icon and **Edit page name**.
. Use **Add card** to create cards which represent visualizations.


=== Add a card with a bar chart

Create a bar chart which displays the number of orders per customer.

In the dashboard page tab:

. Use **Add card** at the bottom right of the page.
. Optionally change the title of the card by clicking and editing, then confirm.
. In the new card, use the three dots icon at the top right, then select **Bar chart** as the **Chart type**.
. **Edit** the Cypher query of the card and paste the following Cypher query to the input field, then **Save**:
+
[source,cypher]
----
MATCH (c:Customer)-[:PURCHASED]->(o:Order)
RETURN c.contactName AS Customer, count(o) AS Orders
ORDER BY Orders DESC LIMIT 10
----

Your bar chart should look like this:

.Example bar chart
image::dashboards/visualization-bar-chart.png[]


=== Add a card with a line chart

Create a line chart which displays the number of products for each order ID.

In the dashboard page tab:

. Use **Add card** at the bottom right of the page.
. Optionally change the title of the card by clicking and editing, then confirm.
. In the new card, use the three dots icon at the top right, then select **Line chart** as the **Chart type**.
. **Edit** the Cypher query of the card and paste the following Cypher query to the input field, then **Save**:
+
[source,cypher]
----
MATCH (o:Order)-[:ORDERS]->(p:Product)
RETURN datetime(replace(o.orderDate, " ", "T")) AS Date,
count(p) as Categories
LIMIT 20
----

Your line chart should look like this:

.Example line chart
image::dashboards/visualization-line-chart.png[]


== Next steps

See xref::/dashboards/working-with-dashboards/managing-dashboards.adoc[] for more dashboard options.

See xref::/dashboards/visualizations/index.adoc[] to learn about the different charts and visualizations of Neo4j dashboards.
20 changes: 20 additions & 0 deletions modules/ROOT/pages/dashboards/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[[dashboards]]
= Overview
:description: Dashboards as a part of the new Aura console experience.

Neo4j dashboards help you visualize your data in a low-code manner.
You can compose different visualizations such as tables and graphs in dashboard pages to have relevant data at a glance.

.A sample dashboard
image::dashboards/dashboard-full.png[]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the image, but the name 'mydb' might be a bit confusing for a dashboard.
I see that more as an instance name.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"MyDashboard" instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the screenshot



== Features

* Neo4j dashboards are a part of the Aura console experience and are stored automatically in the Neo4j cloud storage
* Neo4j dashboards operate directly on your graph data via Cypher queries
* Manage and customize your dashboards, dashboard pages and cards
* Customize visualizations via settings and their corresponding Cypher query
// * Parameterize visualizations or entire dashboards
// * Apply rule-based styling to your visualizations
// * Share your dashboards across your team or your company
22 changes: 22 additions & 0 deletions modules/ROOT/pages/dashboards/integrations.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
= Integrations
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will probably not happen until later this year, we can leave this out for Q1.

:description: How to integrate Neo4j dashboards with Neo4j Bloom and Neo4j Broswser.

Coming soon.


////
== Aura dashboards vs Bloom

link:https://neo4j.com/docs/bloom-user-guide[Neo4j Bloom] is a graph exploration application for visually interacting with graph data.
It is also a part of the Aura console experience.
By contrast, Neo4j dashboards offers visualization beyond the graph layer such as charts and diagrams, maps and more.


== Aura dashboards vs BI connector

There are many data visualization and dashboard applications on the market.
With the link:https://neo4j.com/bi-connector/[Neo4j Connector for Business Intelligence] (BI connector), Neo4j databases can be connected to tools like link:https://www.tableau.com/visualization[Tableau] or link:https://www.microsoft.com/en-us/power-platform/products/power-bi[Power BI].

While connecting graph data to existing business intelligence and visualization application landscapes is an important use case, Aura dashboards offer native support for graph data.
Aura dashboards operate directly on your Neo4j database instance via the native Cypher query language and generate visualizations seemlessly in Aura.
////
59 changes: 59 additions & 0 deletions modules/ROOT/pages/dashboards/visualizations/barchart.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
= Bar chart
:description: The Neo4j dashboard bar chart visualization.

A bar chart displays different categories and values in a bar layout.
Choose the following:

* *Category*: a text field. Categories are the bar labels.
* *Value*: a numeric field. This determines the height of the bars.

//* *Group*: A second optional text field. When grouping is enabled in the advanced settings, the group can be used to draw a stacked bar chart, with several groups per category.

[TIP]
====
Select a horizontal segment of the bar chart to zoom in.
Use the reload button to reset the bar chart zoom.
====

== Examples


=== Simple bar chart

.Cypher query for a bar chart which displays the customers with the most orders
[source,cypher]
----
MATCH (c:Customer)-[:PURCHASED]->(o:Order)
RETURN c.contactName AS Customer, count(o) AS Orders
ORDER BY Orders DESC LIMIT 10
----

.A bar chart displaying the customers with the most orders
image::dashboards/visualization-bar-chart.png[]


=== Stacked bar chart

.Cypher query for a bar chart which separates customer orders by freight weight
[source,cypher]
----
MATCH (c:Customer)-[:PURCHASED]->(o:Order)
WITH c, count(o) AS Orders, collect(o) as os
RETURN c.contactName AS Customer,
size([x IN os WHERE x.freight > "20.0" | x ]) AS freightGT20,
size([x IN os WHERE x.freight <= "20.0" | x ]) AS freightLT20
ORDER BY Orders DESC LIMIT 10
----

.A bar chart separating customers orders by freight weight
image::dashboards/visualization-bar-chart-stacked.png[]


== Configuration

Select your **Category** for the x-axis and one or multiple **Value**s for the y-axis.

[TIP]
====
If you are configuring a stacked bar chart, use the entries in the **Value** drop down to deselect and select your value axes to manipulate the order in which the corresponding bars are displayed.
====
53 changes: 53 additions & 0 deletions modules/ROOT/pages/dashboards/visualizations/graph.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
= Graph
:description: The Neo4j dashboard graph visualization.


Neo4j dashboard graphs render returned nodes, relationships and paths.
Configure the graph layout and nodes, relationships, labels and colors to your liking.

You can drag and drop nodes in the displayed graph.


== Examples

=== Basic table


.Cypher query for a graph which displays products which are part of the "produce" category
[source,cypher]
----
MATCH (p:Product)-[o:PART_OF]->(c:Category)
WHERE c.categoryName = "Produce"
RETURN p, o, c
----

.A graph displaying the products which are part of the "produce" category
image::dashboards/visualization-graph.png[]


== Configuration


=== Layout

Neo4j dashboard graphs have three layout options:

. Force-based layout, which spreads nodes evenly.
. D3 force layout, which features interactive node positioning.
. Hierarchical layout, which respects the direction of relationships. Sekect one of: Left to right, right to left, top to bottom, bottom to top.


=== Styling

Style your graph:

. Select node and relationship colors
. Assign a width to relationship arrows
. Assign node circle sizes
. Select node and relationship labels from existing data fields

Use the **Styling** drop down to select the scope of your styling options:

. Neo4j Console: this styling is used in your entire console.
. Dashboard: this styling is limited to the current dashboard.
. Card: this styling is only applied to the current card and graph visualization.
49 changes: 49 additions & 0 deletions modules/ROOT/pages/dashboards/visualizations/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
= Visualizations
:description: The different visualization options in Neo4j dashboards.

A visualization is embedded in a dashboard card.
Visualizations have different types, each of which expect different types of data.


== Writing Cypher queries

Each visualization uses a Cypher query specified in the dashboard card to retrieve data from your Neo4j database and display it.
Edit the query associated with a dashboard card by clicking the three dots icon at the top right of a card and then **Edit card**.


Cypher syntax is generally supported, see link:https://neo4j.com/docs/cypher-manual/current/introduction/cypher-aura/[Cypher and Aura] and xref::/query/introduction.adoc[Query data].

Keep the following best practices in mind when writing your Cypher queries:

. Use a `LIMIT` clause in your query to keep the result size manageable.
. Ensure that you return the correct data types for the correct visualization type.

//
// For example, a graph report expects nodes and relationships, whereas a line chart expects numbers.
//
//

////
== Row limiting

NeoDash has a built-in post-query row limiter.
This means that results are truncated to a maximum number of rows, depending on the report type.
The row limiter ensures that visualizations do not become too complex for the browser to display.

Note that even though the row limiter is enabled by default, rows are only limited after the query is executed.
Therefore, it is recommended to use the `LIMIT` clause in your query at all times.

== Parameters

Parameters can be set in a dashboard by using a xref::/user-guide/reports/parameter-select.adoc[] report.
Set parameters are then available in any Cypher query across the dashboard.

In addition, session parameters are available based on the currently active database connection.

|===
|Parameter | Description
| $session_uri | The URI of the current active database connection.
| $session_database | The Neo4j database that was connected to when the user logged in.
| $session_username | The username used to authenticate to Neo4j.
|===
////
Loading