-
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 all 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 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,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?) |
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 | ||
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, 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. |
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[] | ||
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 like the image, but the name 'mydb' might be a bit confusing for 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. "MyDashboard" instead? 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. 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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
= 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 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. | ||
//// |
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. | ||
==== |
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. |
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. | ||
|=== | ||
//// |
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.