-
Notifications
You must be signed in to change notification settings - Fork 22
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
base: console
Are you sure you want to change the base?
Changes from 8 commits
cf99d39
254058b
51ef14a
d7bfed4
454839b
faee1c2
a8380aa
aa58d65
849ca7d
3283436
4c21d29
25b40b8
38111e2
ed611e3
65147db
f5a182c
b4fff77
27f2cd2
1ad2c4c
e98da48
13d0d30
672bcc3
7dc5b6b
c7b8049
c94a53a
547d500
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
= Advanced features | ||
: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. |
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. |
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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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: There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @rsill-neo4j @AlexicaWright ! Good to know. |
||
|
||
== 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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should have an image for this header as well There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you think an image helps here still? There was a problem hiding this comment. Choose a reason for hiding this commentThe 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) | ||
rsill-neo4j marked this conversation as resolved.
Show resolved
Hide resolved
|
||
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. |
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. | ||
rsill-neo4j marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
== 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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think we should position NeoDash commercial here. |
||
|
||
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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
= Integrations | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||
//// |
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]. | ||
rsill-neo4j marked this conversation as resolved.
Show resolved
Hide resolved
|
||
// 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. | ||
|=== | ||
//// |
There was a problem hiding this comment.
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.