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 8 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
21 changes: 20 additions & 1 deletion modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,28 @@ Generic Start
** xref:query/operations.adoc[Query operations]
** xref:query/apoc.adoc[APOC support]

* 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/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.
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 Aura 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.
20 changes: 20 additions & 0 deletions modules/ROOT/pages/dashboards/faq-and-resources.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
= FAQ and resources
:description: Frequently asked questions.

Coming soon.

== FAQ

Coming soon.

=== A question

Coming soon.

=== An answer

Coming soon.

== Resources

Coming soon.
97 changes: 97 additions & 0 deletions modules/ROOT/pages/dashboards/getting-started.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
= Getting started with dashboards
:description: Follow these steps for a working example of Neo4j Aura dashboards.

Set up a working example of Neo4j Aura dashboards.
Copy link
Collaborator

Choose a reason for hiding this comment

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

The decision was made to include Dashboards inside Desktop 2.0. The functionality will be 95% identical (everything except sharing). Does it make sense to have one docs portal for both? In that case we should call it "Neo4j Dashboards" instead of "Neo4j Aura Dashboards" I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hm... i wonder if it should be part of the aura docs then (probably yes, because UPX and aura first? @fiquick @AlexicaWright )

there's also the desktop docs here:
https://neo4j.com/docs/desktop-manual/current/

Copy link
Collaborator

Choose a reason for hiding this comment

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

Desktop 2.0 will get their own docs shortly. However, the current Desktop docs don't include anything but links to its Graph Apps. Desktop 2 docs will follow the same example, which is to say that yes, Aura first.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks @rsill-neo4j @AlexicaWright ! Good to know.
Regardless I think the name :Neo4j Aura Dashboards" doesn't fit very well. I'd rather stick with the official name "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, click **Learn** at the top right.
* In the **Beginner** page, click 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, click **Get the Northwind dataset**.
* In the **Import** page, click **Run import**.

The examples on this page refer to 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, click **Create dashboard** at the top right.
. In the **New dashboard** dialog, assign a title and an optional description to your dashboard and click **Create**.
. Click the dashboard tile.
. Your dashboard has a single page.
// add a step as soon as page titles can be edited.
. Click **Add card** to create cards which represent visualizations.


=== 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:

. Click *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, click the three dots icon at the top right, then select **Line chart** as the **Chart type**.
. Click *Edit* to edit the Cypher query of the card.
. Paste the following Cypher query to the input field:
+
[source,cypher]
----
MATCH (o:Order)-[:ORDERS]->(p:Product)
RETURN o.orderID AS OrderID, count(p) as Products
----
+
. Click **Save**.

Your line chart should look like this:

.Example line chart
image::dashboards/products-per-order-id.png[]


=== Add a card with a bar chart

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

In the dashboard page tab:

. Click *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, click the three dots icon at the top right, then select **Bar chart** as the **Chart type**.
. Click *Edit* to edit the Cypher query of the card.
. Paste the following Cypher query to the input field:
+
[source,cypher]
----
MATCH (c:Customer)-[:PURCHASED]->(o:Order)
RETURN c.contactName AS Customer, count(o) AS Orders
ORDER BY Orders DESC
----
+
. Click **Save**.

Your bar chart should look like this:

.Example bar chart
image::dashboards/orders-per-customer.png[]


== Next steps

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

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

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

== Features

* Neo4j Aura dashboards are a part of the Aura console experience
* Neo4j Aura 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


== Aura dashboards vs NeoDash commercial
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think we should position NeoDash commercial here.
For our Aura users the new Dashboards app will be the suggested experience, so introducing NeoDash could be confusing.


link:https://neo4j.com/docs/neodash-commercial/[NeoDash commercial] is Neo4j's standalone dashboard solution.
By contrast, Neo4j Aura dashboards is a part of the unified Aura console experience and lets you work with dashboards directly in Aura without application switch.

== Aura dashboards vs Bloom
Copy link
Collaborator

Choose a reason for hiding this comment

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

While I think explaining the differences between Bloom makes sense I wouldn't put this on the main page. Same goes for the BI connector.

I'd either put this inside 'Integrations' or create another page for it.


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 Aura 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.
4 changes: 4 additions & 0 deletions modules/ROOT/pages/dashboards/integrations.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
= 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 Aura dashboards with Neo4j Bloom and Neo4j Broswser.

Coming soon.
128 changes: 128 additions & 0 deletions modules/ROOT/pages/dashboards/visualizations/barchart.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
= Bar chart
:description: The Neo4j Aura dashboard bar chart.

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.


== Examples


=== Simple bar chart

A Cypher query for a bar chart which displays the number of products per category:

[source,cypher]
----
MATCH (p:Product)-[:PART_OF]->(c:Category)
RETURN c.categoryName AS Category, count(p) AS Products LIMIT 20
----

.A bar chart displaying the number of products per category
image::dashboards/visualization-bar-chart.png[]


=== Stacked Bar Chart

Coming soon.

////
[source,cypher]
----
Match (p:Person)-[e]->(m:Movie)
RETURN m.title AS Title, COUNT(p) as People, type(e) as Role ORDER BY Title, Role LIMIT 20
----

image::barstacked.png[Basic Table]
////


== Advanced settings
Copy link
Collaborator

Choose a reason for hiding this comment

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

will need to update these when we know the set of advanced settings we have for the preview release


Coming soon.

////
[width="100%",cols="19%s,17%,26%,38%",options="header",]
|===
|Name |Type |Default value |Description

|Show Legend |on/off |off |Enables a legend at the top right of the visualization.

|Custom Dimensions |on/off |off |If set, the chart no longer auto-fits to the size of the report card.
If its width extends beyond the report card, a horizontal scroll bar is added.

|Value Scale |List |Linear |If set to "symlog", the chart uses a symmetric logarithmic scale instead of the default linear scale.

|Min Value |Number |Auto |If not set to "auto", this value is minimum value for the bar chart.

|Max Value |Number |Auto |If not set to "auto", this value is the maximum value for the bar chart.

|Group Mode |List |Stacked |This setting determines how different groups are visualized when grouping is enabled.
If set to stacked, different groups of the same category are stacked on top of each other.
If set to grouped, they are placed alongside each other.

|Layout |List |Vertical |Whether to use a vertical or horizontal bar
chart layout.

|Color Scheme |List | |The color scheme to use for the category groups.
Colors are assigned automatically (consecutively) to the different groups returned by the Cypher query.

|Show values on Bars |on/off |off |If set, shows the category value inside the respective bar.

|Skip label on width (px) |Mumber |0 |Skip the label if the bar width is lower than the provided value. Ignored if 0.

|Skip label on height (px) |Number |0 |Skip the label if the bar height is lower than the provided value. Ignored if 0.

|Custom label position |off/top/bottom |off | Allow user to place label out of the bar.
This overrides any other label configuration.

|Label Rotation (degrees) |Number |45 |The angle at which the bar labels
are rotated.

|Margin Left (px) |Number |50 |The margin in pixels on the left side of the visualization.

|Margin Right (px) |Number |24 |The margin in pixels on the right side of the visualization.

|Margin Top (px) |Number |24 |The margin in pixels on the top side of the visualization.

|Margin Bottom (px) |Number |40 |The margin in pixels on the bottom side of the visualization.

|Legend Width (px) |Number |128 |The width in pixels of each legend label on top of the visualization (if enabled).

|Hide Selections |on/off |off |If set, hides the property selector (footer of the visualization).

|Auto-run query |on/off |on |If set, automatically runs the query when the report is displayed.
Otherwise, the query is displayed and must be executed manually.

|Report Description |Markdown text | | If specified, adds a button the report header that opens a pop-up.
The pop-up contains the rendered Markdown from this setting.

|Bar Width |Number |10 | Only active when "custom dimensions" is "on".
The width of each bar.
Increasing the bar width increases the width of the chart.
This setting has the largest influence on the width of the chart.

|Expand Height For Legend |on/off |off |Useful when the legend has many labels.
If set, the chart height adjusts to the number of rows returned by the query to prevent legend labels from being cut off.

|Inner Padding |Number |0 |If set, adds padding between grouped elements.

|Legend Position |Vertical/horizontal |Vertical |Dictates whether the lagend is displayed vertically on the right hand side of the chart or horizontally on the bottom of the chart.
|===
////


== Rule-based styling
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can remove rule-based styling sections for each chart, this will come later in the year.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Same goes for report actions btw


Coming soon.

////
Using the xref::/user-guide/extensions/rule-based-styling.adoc[] menu, the following style rules can be applied to the bar chart:

- The color of the bar.
////
50 changes: 50 additions & 0 deletions modules/ROOT/pages/dashboards/visualizations/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
= Visualizations
:description: The different visualization options in Neo4j Aura 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**.


Any Cypher syntax is supported, including link:https://neo4j.com/developer/neo4j-apoc/[APOC], link:https://neo4j.com/docs/graph-data-science/current/[GDS], and link:https://neo4j.com/docs/operations-manual/current/fabric/queries/[Fabric].
// the above needs verification

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