Skip to content

Commit 8010594

Browse files
committed
review suggestions
1 parent 5c42503 commit 8010594

File tree

6 files changed

+62
-42
lines changed

6 files changed

+62
-42
lines changed

modules/ROOT/content-nav.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
* xref:index.adoc[Introduction]
2-
* xref:using-the-library.adoc[]
2+
* xref:integrating-the-library.adoc[]
33
44
* *Getting started*
55

modules/ROOT/pages/getting-started/graphql-self-hosted.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This tutorial shows you how to:
1414
- Make sure that you have https://nodejs.org/en/[Node.js] 20+ installed.
1515
- The examples use the default `npm` package manager, but you can use other package managers.
1616
- Set up a https://neo4j.com[Neo4j database].
17-
Make sure it fulfills the xref::index.adoc#_requirements[requirements], including the necessary plugins.
17+
Make sure it fulfills the xref::integrating-the-library.adoc#_requirements[requirements], including the necessary plugins.
1818

1919

2020
== Set up a directory

modules/ROOT/pages/getting-started/toolbox.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ With it, you can:
1515

1616
== Connect to a Neo4j database
1717

18-
Before you start using the Toolbox, make sure you have followed all xref:index.adoc#_requirements[requirements] to run a Neo4j database.
18+
Before you start using the Toolbox, make sure you have followed all xref::integrating-the-library.adoc#_requirements[requirements] to run a Neo4j database.
1919
You can use https://neo4j.com/docs/desktop-manual/current/[Neo4j Desktop] or https://neo4j.com/docs/aura/auradb/[Neo4j AuraDB] for that.
2020

2121

modules/ROOT/pages/index.adoc

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,45 @@
33
:page-aliases: introduction.adoc
44
:description: An introduction to the Neo4j GraphQL Library.
55

6-
The Neo4j GraphQL Library is:
6+
The Neo4j GraphQL Library is a highly flexible, low-code, open source JavaScript library that enables rapid API development for cross-platform and mobile applications by tapping into the power of connected data.
77

8-
* highly flexible and low-code
9-
* open source
10-
* a JavaScript library
11-
* leveraging graph-native data
8+
== How it works
129

13-
It enables rapid API development for cross-platform and mobile applications.
10+
Here is an example of how you can query existing data:
1411

15-
== How it works
12+
[source, graphql, indent=0]
13+
----
14+
query {
15+
products {
16+
productName
17+
category {
18+
categoryName
19+
}
20+
}
21+
}
22+
----
1623

17-
The Neo4j GraphQL Library requires a set of type definitions that describes the shape of your graph data and creates an API layer to communicate with the data.
24+
The response looks like this:
1825

19-
It generates an entire executable schema with all additional types needed to execute queries and mutations to interact with your Neo4j database.
26+
[source, json, indent=0]
27+
----
28+
{
29+
"data": {
30+
"products": [
31+
{
32+
"productName": "New Product",
33+
"category": [
34+
{
35+
"categoryName": "New Category"
36+
}
37+
]
38+
}
39+
]
40+
}
41+
}
42+
----
2043

21-
For example, consider these type definitions:
44+
For the example query to work, the library requires the following type definitions:
2245

2346
[source, graphql, indent=0]
2447
----
@@ -35,7 +58,7 @@ type Category @node {
3558

3659
Based on these type definitions, the library generates query and mutation templates to create new instances of the types as well as query existing instances.
3760

38-
The following mutation creates a new product as well as a new category:
61+
The following mutation creates the new product and the new category which were queried above:
3962

4063
[source, graphql, indent=0]
4164
----
@@ -58,27 +81,26 @@ mutation {
5881
}
5982
----
6083

61-
Here is an example of how you can query existing data:
62-
63-
[source, graphql, indent=0]
64-
----
65-
query {
66-
products {
67-
productName
68-
category {
69-
categoryName
70-
}
71-
}
72-
}
73-
----
74-
7584
For every query and mutation that is executed against this generated schema, the Neo4j GraphQL Library generates a single Cypher query which is executed against the database.
7685
This eliminates the https://www.google.com/search?q=graphql+n%2B1[N+1 Problem], which can make GraphQL implementations slow and inefficient.
7786

7887
See xref:using-the-library.adoc[] to learn how to use the GraphQL Library in your technology stack.
7988
Check out xref:getting-started/index.adoc[] to create a new project, either based on Neo4j Aura or self-hosted.
8089

8190

91+
== Library features
92+
93+
- Automatic generation of xref::queries-aggregations/queries.adoc[Queries] and xref::mutations/index.adoc[Mutations] for CRUD interactions.
94+
- xref::/types/index.adoc[Types], including temporal and spatial.
95+
- Support for both node and relationship properties.
96+
- Extensive xref::filtering.adoc[Filtering], xref::queries-aggregations/sorting.adoc[Sorting] and xref::/queries-aggregations/pagination.adoc[Pagination] options.
97+
- xref::/security/index.adoc[Security options] and additional xref::schema-configuration/index.adoc[Schema Configuration].
98+
- xref:/subscriptions/index.adoc[Subscriptions] to server events.
99+
- xref:integrations/apollo-federation.adoc[Apollo federation integration].
100+
- Extensibility through the xref::/directives/custom-logic.adoc#_cypher[`@cypher` directive] and/or xref::/directives/custom-logic.adoc#_customresolver[Custom Resolvers].
101+
- A xref::getting-started/toolbox.adoc[Toolbox] (UI) to experiment with your Neo4j GraphQL API on Neo4j Desktop.
102+
103+
82104
== Resources
83105

84106
. https://github.com/neo4j/graphql[GitHub]

modules/ROOT/pages/using-the-library.adoc renamed to modules/ROOT/pages/integrating-the-library.adoc

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
1-
= Using the library
1+
= Integrating the library
22
:description: Learn how to use the Neo4j GraphQL Library with your technology stack.
33

4-
== Library features
5-
6-
The Neo4j GraphQL Library features:
7-
8-
- Automatic generation of xref::queries-aggregations/queries.adoc[Queries] and xref::mutations/index.adoc[Mutations] for CRUD interactions.
9-
- xref::/types/index.adoc[Types], including temporal and spatial.
10-
- Support for both node and relationship properties.
11-
- Extensibility through the xref::/directives/custom-logic.adoc#_cypher[`@cypher` directive] and/or xref::/directives/custom-logic.adoc#_customresolver[Custom Resolvers].
12-
- Extensive xref::filtering.adoc[Filtering], xref::queries-aggregations/sorting.adoc[Sorting] and xref::/queries-aggregations/pagination.adoc[Pagination] options.
13-
- Options for xref::/directives/database-mapping.adoc[Database mapping] and value xref::/directives/autogeneration.adoc[Autogeneration].
14-
- xref::/security/index.adoc[Security options] and additional xref::schema-configuration/index.adoc[Schema Configuration].
15-
- A xref::getting-started/toolbox.adoc[Toolbox] (UI) to experiment with your Neo4j GraphQL API on Neo4j Desktop.
16-
174

185
== Interaction
196

modules/ROOT/pages/versioning.adoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
= Versioning
22
:description: The approach to versioning of the Neo4j GraphQL Library.
33

4+
5+
== LTS version
6+
7+
GraphQL Library version 5 is the long-term support (LTS) version.
8+
It is maintained but no new features are added to it.
9+
10+
Version 7 is the recommended version and actively being developed.
11+
12+
13+
== Semantic versioning
14+
415
The Neo4j GraphQL Library uses https://semver.org/[Semantic Versioning].
516
Given a version number `MAJOR.MINOR.PATCH`, the increment is based on:
617

0 commit comments

Comments
 (0)