Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
57e75d3
review
lidiazuin Aug 21, 2023
6701038
update
lidiazuin Aug 24, 2023
f089062
fixing broken links
lidiazuin Aug 24, 2023
7b80d0b
bringing back reference to the api reference page
lidiazuin Aug 24, 2023
ff58839
Fix incorrect references to variables in Cypher (#17)
darrellwarde Aug 24, 2023
b090a77
Remove references to deprecated directives (#11)
darrellwarde Aug 24, 2023
2a1a74e
Remove references to deprecated directives (#11)
darrellwarde Aug 24, 2023
94ca419
Update `@queryOptions` to `@limit` and add migration step (#19)
darrellwarde Aug 24, 2023
8a0c77b
review
lidiazuin Aug 21, 2023
fab2617
fixing broken links
lidiazuin Aug 24, 2023
a409205
Remove references to deprecated directives (#11)
darrellwarde Aug 24, 2023
264bd4d
Remove references to deprecated directives (#11)
darrellwarde Aug 24, 2023
1dcf57b
Update `@queryOptions` to `@limit` and add migration step (#19)
darrellwarde Aug 24, 2023
5e967e4
fixing broken links
lidiazuin Aug 24, 2023
e300179
Remove references to deprecated directives (#11)
darrellwarde Aug 24, 2023
d8f8405
Update `@queryOptions` to `@limit` and add migration step (#19)
darrellwarde Aug 24, 2023
2183f20
fixing conflict
lidiazuin Aug 24, 2023
c2d50fe
Merge branch 'main' into typedefinitions
lidiazuin Aug 24, 2023
e5609a4
fixing links
lidiazuin Aug 28, 2023
4141df7
final update
lidiazuin Aug 29, 2023
19e8744
Restructure
darrellwarde Aug 31, 2023
09d7176
Fix broken references
darrellwarde Aug 31, 2023
0cf9f29
More broken references
darrellwarde Aug 31, 2023
03e3162
Final broken references
darrellwarde Aug 31, 2023
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
55 changes: 26 additions & 29 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,36 @@
** xref:getting-started/index.adoc[]
*** xref:getting-started/toolbox.adoc[]

** Type definitions
*** xref:type-definitions/types/index.adoc[]
**** xref:type-definitions/types/scalar.adoc[Scalar]
**** xref:type-definitions/types/temporal.adoc[Temporal]
**** xref:type-definitions/types/spatial.adoc[Spatial]
**** xref:type-definitions/types/interfaces.adoc[Interface]
**** xref:type-definitions/types/unions.adoc[Union]
**** xref:type-definitions/types/relationships.adoc[]
*** xref:type-definitions/directives/index.adoc[]
**** xref:type-definitions/directives/basics.adoc[]
**** xref:type-definitions/directives/autogeneration.adoc[]
**** xref:type-definitions/directives/custom-directives.adoc[]
**** xref:type-definitions/directives/cypher.adoc[]
**** xref:type-definitions/directives/default-values.adoc[]
**** xref:type-definitions/directives/database-mapping.adoc[]
**** xref:type-definitions/directives/indexes-and-constraints.adoc[]

** xref:schema-configuration/index.adoc[Schema configuration]
*** xref:schema-configuration/type-configuration.adoc[]
*** xref:schema-configuration/global-configuration.adoc[]
*** xref:schema-configuration/field-configuration.adoc[]

** xref:queries-aggregations/index.adoc[Queries and aggregations]
*** xref:queries-aggregations/queries.adoc[]
*** xref:queries-aggregations/aggregations.adoc[]
*** xref:queries-aggregations/filtering.adoc[]
*** xref:queries-aggregations/sorting.adoc[]
*** xref:queries-aggregations/pagination/index.adoc[]
**** xref:queries-aggregations/pagination/offset-based.adoc[]
**** xref:queries-aggregations/pagination/cursor-based.adoc[]

** xref:mutations/index.adoc[]
*** xref:mutations/create.adoc[]
Expand All @@ -23,10 +48,6 @@

** xref:custom-resolvers.adoc[]

** xref:pagination/index.adoc[]
*** xref:pagination/offset-based.adoc[]
*** xref:pagination/cursor-based.adoc[]

** xref:authentication-and-authorization/index.adoc[]
*** xref:authentication-and-authorization/configuration.adoc[]
*** xref:authentication-and-authorization/authentication.adoc[]
Expand All @@ -50,31 +71,7 @@
*** xref:ogm/type-generation.adoc[]
*** xref:ogm/reference.adoc[]

** Reference
*** xref:reference/api-reference/index.adoc[]
**** xref:reference/api-reference/neo4jgraphql.adoc[]
**** xref:reference/api-reference/ogm.adoc[]
*** xref:reference/type-definitions/index.adoc[]
**** xref:reference/type-definitions/indexes-and-constraints.adoc[]
**** xref:reference/type-definitions/interfaces.adoc[]
**** xref:reference/type-definitions/relationships.adoc[]
**** xref:reference/type-definitions/types.adoc[]
**** xref:reference/type-definitions/unions.adoc[]

*** xref:reference/directives/index.adoc[]
**** xref:reference/directives/schema-configuration/index.adoc[]
***** xref:reference/directives/schema-configuration/type-configuration.adoc[]
***** xref:reference/directives/schema-configuration/global-configuration.adoc[]
***** xref:reference/directives/schema-configuration/field-configuration.adoc[]

**** xref:reference/directives/autogeneration.adoc[]
**** xref:reference/directives/basics.adoc[]
**** xref:reference/directives/custom-directives.adoc[]
**** xref:reference/directives/cypher.adoc[]
**** xref:reference/directives/default-values.adoc[]
**** xref:reference/directives/database-mapping.adoc[]

*** xref:reference/driver-configuration.adoc[]
*** xref:driver-configuration.adoc[]

** xref:guides/index.adoc[]
*** xref:guides/apollo-federation.adoc[]
Expand Down
10 changes: 5 additions & 5 deletions modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ It can generate an entire executable schema with all of the additional types nee
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. This eliminates the https://www.google.com/search?q=graphql+n%2B1[N+1 Problem], which can make GraphQL implementations slow and inefficient.

- Automatic generation of xref::queries-aggregations/queries.adoc[Queries] and xref::mutations/index.adoc[Mutations] for CRUD interactions.
- xref::reference/type-definitions/types.adoc[Types], including temporal and spatial.
- xref::/type-definitions/types/index.adoc[Types], including temporal and spatial.
- Support for both node and relationship properties.
- Extensibility through the xref::reference/directives/cypher.adoc[`@cypher` directive] and/or xref::custom-resolvers.adoc[Custom Resolvers].
- Extensibility through the xref::/type-definitions/directives/cypher.adoc[`@cypher` directive] and/or xref::custom-resolvers.adoc[Custom Resolvers].
- Extensive xref::queries-aggregations/filtering.adoc[Filtering] and xref::queries-aggregations/sorting.adoc[Sorting] options.
- Options for value xref::reference/directives/autogeneration.adoc[Autogeneration] and xref::reference/directives/default-values.adoc[Default Values].
- xref::pagination/index.adoc[Pagination] options.
- xref::authentication-and-authorization/index.adoc[Authentication and authorization options] and additional xref::reference/directives/schema-configuration/index.adoc[Schema Configuration].
- Options for value xref::/type-definitions/directives/autogeneration.adoc[Autogeneration] and xref::/type-definitions/directives/default-values.adoc[Default Values].
- xref::/queries-aggregations/pagination/index.adoc[Pagination] options.
- xref::authentication-and-authorization/index.adoc[Authentication and authorization options] and additional xref::schema-configuration/index.adoc[Schema Configuration].
- An xref::ogm/index.adoc[OGM] (Object Graph Mapper) for programmatic interaction with your GraphQL API.
- A xref::getting-started/toolbox.adoc[Toolbox] (UI) to experiment with your Neo4j GraphQL API on Neo4j Desktop.

Expand Down
24 changes: 12 additions & 12 deletions modules/ROOT/pages/migration/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ type NameOfTypeToExclude @exclude {
name: String
}
----
For more information regarding the above used `@exclude` directive, see xref::reference/directives/schema-configuration/type-configuration.adoc#_exclude_deprecated[`@exclude`]
For more information regarding the above used `@exclude` directive, see xref::/schema-configuration/type-configuration.adoc#_exclude_deprecated[`@exclude`]

=== Database Configuration

Expand Down Expand Up @@ -153,7 +153,7 @@ server.listen().then(({ url }) => {
});
----

Database bookmarks are also supported. See xref::reference/driver-configuration.adoc[Driver Configuration] for more information.
Database bookmarks are also supported. See xref::driver-configuration.adoc[Driver Configuration] for more information.

[[migration-guide-type-definitions]]
== Type Definitions
Expand All @@ -173,7 +173,7 @@ Migrating this directive is trivial:

For example, `@relation(name: "ACTED_IN", direction: OUT)` becomes `@relationship(type: "ACTED_IN", direction: OUT)`.

See xref::reference/type-definitions/relationships.adoc[Relationships] for more information on relationships in `@neo4j/graphql`.
See xref::/type-definitions/types/relationships.adoc[Relationships] for more information on relationships in `@neo4j/graphql`.

==== Relationship Properties

Expand Down Expand Up @@ -226,13 +226,13 @@ And note the following changes to the two node types:

=== `@cypher`

No change. See xref::reference/directives/cypher.adoc[`@cypher` directive] for more details on this directive in `@neo4j/graphql`.
No change. See xref::/type-definitions/directives/cypher.adoc[`@cypher` directive] for more details on this directive in `@neo4j/graphql`.

==== `@neo4j_ignore`

`@neo4j/graphql` offers two directives for skipping autogeneration for specified types/fields:

* xref::reference/directives/schema-configuration/type-configuration.adoc#_exclude_deprecated[`@exclude`]: Skip generation of specified Query/Mutation fields for an object type
* xref::/schema-configuration/type-configuration.adoc#_exclude_deprecated[`@exclude`]: Skip generation of specified Query/Mutation fields for an object type
* xref::custom-resolvers.adoc#custom-resolver-directive[`@customResolver`]: Ignore a field, which will need custom logic for resolution

==== `@isAuthenticated`, `@hasRole` and `@hasScope`
Expand All @@ -245,7 +245,7 @@ Not supported at this time.

==== `@id`

There is an equivalent directive in the new library, but it does not work using database constraints as per the old library. See xref::reference/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`].
There is an equivalent directive in the new library, but it does not work using database constraints as per the old library. See xref::/type-definitions/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`].

==== `@unique`, `@index` and `@search`

Expand All @@ -255,7 +255,7 @@ These all relate to database indexes and constraints, which are not currently su

==== Scalar Types

Supported as you would expect, with additional xref::reference/type-definitions/types.adoc#type-definitions-types-bigint[`BigInt`] support for 64 bit integers.
Supported as you would expect, with additional xref::/type-definitions/types/scalar.adoc[`BigInt`] support for 64 bit integers.

==== Temporal Types (`DateTime`, `Date`)

Expand Down Expand Up @@ -285,14 +285,14 @@ Has become:

Due to the move to ISO 8601 strings, input types are no longer necessary for temporal instances, so `_Neo4jDateTimeInput` has become `DateTime` and `_Neo4jDateInput` has become `Date` for input.

See xref::reference/type-definitions/types.adoc#type-definitions-types-temporal[Temporal Types].
See xref::/type-definitions/types/temporal.adoc[Temporal Types].

==== Spatial Types

The single type in `neo4j-graphql-js`, `Point`, has been split out into two types:

* xref::reference/type-definitions/types.adoc#type-definitions-types-point[`Point`]
* xref::reference/type-definitions/types.adoc#type-definitions-types-cartesian-point[`CartesianPoint`]
* xref::/type-definitions/types/spatial.adoc#_point[`Point`]
* xref::/type-definitions/types/spatial.adoc#_cartesianpoint[`CartesianPoint`]

Correspondingly, `_Neo4jPointInput` has also been split out into two input types:

Expand All @@ -303,11 +303,11 @@ Using them in Queries and Mutations should feel remarkably similar.

==== Interface Types

Supported, queryable using inline fragments as per `neo4j-graphql-js`, but can also be created using Nested Mutations. See xref::reference/type-definitions/interfaces.adoc[Interfaces].
Supported, queryable using inline fragments as per `neo4j-graphql-js`, but can also be created using Nested Mutations. See xref::/type-definitions/types/interfaces.adoc[Interfaces].

==== Union Types

Supported, queryable using inline fragments as per `neo4j-graphql-js`, but can also be created using Nested Mutations. See xref::reference/type-definitions/unions.adoc#type-definitions-unions[Unions].
Supported, queryable using inline fragments as per `neo4j-graphql-js`, but can also be created using Nested Mutations. See xref::/type-definitions/types/unions.adoc#type-definitions-unions[Unions].

=== Fields

Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/migration/v3-migration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,12 @@ To improve consistency, some automatically generated plurals (e.g. `createActors
your types use conventions such as `snake_case`.

Because of this, you may find generated queries and mutations may have different names. If you encounter this problem,
please update your clients to use the new query names or use the `plural` option in the xref::reference/directives/database-mapping.adoc#type-definitions-node[@node directive]
please update your clients to use the new query names or use the `plural` option in the xref::/type-definitions/directives/database-mapping.adoc#type-definitions-node[@node directive]
to force a custom plural value.

== Custom Directives
Defining and applying custom directives has changed significantly, if you are using or plan to use custom directives, make
sure to check the up-to-date documentation on xref::reference/directives/custom-directives.adoc[custom directives].
sure to check the up-to-date documentation on xref::/type-definitions/directives/custom-directives.adoc[custom directives].

== Types changes
Some automatically generated types have changed to improve consistency.
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/migration/v4-migration/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@ The `resolvers` option of this is now just a warning, and `noDuplicateRelationsh
=== Opt-in Aggregation

Aggregation operations are no longer generated by default.
They can be enabled case by case using the directives xref::reference/directives/schema-configuration/type-configuration.adoc#_query[`@query`] and xref::reference/directives/schema-configuration/field-configuration.adoc#_relationship[`@relationship`].
They can be enabled case by case using the directives xref::/schema-configuration/type-configuration.adoc#_query[`@query`] and xref::/schema-configuration/field-configuration.adoc#_relationship[`@relationship`].

You can enable the operation fields `actorsAggregate` and `actedInAggregate` like this:

Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/mutations/create.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ This allows you to create not only the type in question, but to recurse down and

[NOTE]
====
The `id` field is absent from both `create` input types as the xref::reference/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`] directive has been used.
The `id` field is absent from both `create` input types as the xref::/type-definitions/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`] directive has been used.
====

== Single `create`
Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/mutations/update.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ type Mutation {

[NOTE]
====
The `id` field cannot be updated as the xref::reference/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`] directive has been used.
The `id` field cannot be updated as the xref::/type-definitions/directives/autogeneration.adoc#type-definitions-autogeneration-id[`@id`] directive has been used.
====

== Single `update`
Expand Down Expand Up @@ -412,7 +412,7 @@ mutation {
== Mathematical operators

Mathematical operators can be used to update numerical fields based on their original values in a single DB transaction.
For that, specific operators are available on different numerical types: `Int`, `Float`, xref::reference/type-definitions/types.adoc#type-definitions-types-bigint[`BigInt`].
For that, specific operators are available on different numerical types: `Int`, `Float`, xref::/type-definitions/types/scalar.adoc[`BigInt`].
They are supported within these entities:

* Nodes
Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/ogm/reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ const users = await User.find({ where: { name: "Jane Smith" }});
|`options` +
+
Type: `GraphQLOptionsArg`
|A JavaScript object representation of the GraphQL `options` input type used for xref::queries-aggregations/sorting.adoc[Sorting] and xref::pagination/index.adoc[Pagination].
|A JavaScript object representation of the GraphQL `options` input type used for xref::queries-aggregations/sorting.adoc[Sorting] and xref::/queries-aggregations/pagination/index.adoc[Pagination].

|`selectionSet` +
+
Expand Down Expand Up @@ -467,7 +467,7 @@ const { users } = await User.update({
|`options` +
+
Type: `GraphQLOptionsArg`
|A JavaScript object representation of the GraphQL `options` input type used for xref::queries-aggregations/sorting.adoc[Sorting] and xref::pagination/index.adoc[Pagination].
|A JavaScript object representation of the GraphQL `options` input type used for xref::queries-aggregations/sorting.adoc[Sorting] and xref::/queries-aggregations/pagination/index.adoc[Pagination].

|`selectionSet` +
+
Expand Down
7 changes: 0 additions & 7 deletions modules/ROOT/pages/pagination/index.adoc

This file was deleted.

4 changes: 2 additions & 2 deletions modules/ROOT/pages/queries-aggregations/filtering.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ For the `Boolean` type, equality operators are the only ones available.

== Numerical operators

These are the operators available for numeric (`Int`, `Float`, xref::reference/type-definitions/types.adoc#type-definitions-types-bigint[`BigInt`]), xref::reference/type-definitions/types.adoc#type-definitions-types-temporal[temporal] and xref::reference/type-definitions/types.adoc#type-definitions-types-spatial[spatial] types:
These are the operators available for numeric (`Int`, `Float`, xref::/type-definitions/types/scalar.adoc[`BigInt`]), xref::/type-definitions/types/temporal.adoc[temporal] and xref::/type-definitions/types/spatial.adoc[spatial] types:

* `_LT`
* `_LTE`
Expand All @@ -48,7 +48,7 @@ query {
----

Spatial types use numerical filtering differently and they also have additional options.
See xref::/reference/type-definitions/types.adoc#_filtering[Spatial types filtering] for more information.
See xref::/type-definitions/types/spatial.adoc#_filtering[Spatial types filtering] for more information.

These same operators are disabled by default in the case of String comparisons.
To enable, explicitly add them in the features options:
Expand Down
2 changes: 1 addition & 1 deletion modules/ROOT/pages/queries-aggregations/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:description: This section describes queries and aggregations.
= Queries and aggregations

Each node defined in xref::/reference/type-definitions/index.adoc[type definitions] has two query fields generated for it: one for *querying* data and another one for *aggregating* it.
Each node defined in type definitions has two query fields generated for it: one for *querying* data and another one for *aggregating* it.
Each of these fields, by their part, accepts two arguments used for *filtering*, *sorting*, and *pagination*.

This section addresses the following topics:
Expand Down
7 changes: 7 additions & 0 deletions modules/ROOT/pages/queries-aggregations/pagination/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[[pagination]]
= Pagination

The Neo4j GraphQL Library offers two mechanisms for pagination:

- xref::/queries-aggregations/pagination/offset-based.adoc[Offset-based pagination] - Pagination based on offsets, often associated with navigation via pages.
- xref::/queries-aggregations/pagination/cursor-based.adoc[Cursor-based pagination] - Pagination based on cursors, often associated with infinitely-scrolling applications.
4 changes: 2 additions & 2 deletions modules/ROOT/pages/queries-aggregations/queries.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ query {

== Undirected queries

All xref:reference/type-definitions/relationships.adoc[relationships] are created with a direction from one node to another.
All xref::/type-definitions/types/relationships.adoc[relationships] are created with a direction from one node to another.
By default, all queries follow the direction defined in the relationship.
However, in some cases it is necessary to query for all related nodes, regardless of the direction of the relationship.
This can be achieved with the argument `directed: false`.
Expand Down Expand Up @@ -68,4 +68,4 @@ query Query {
----

Keep in mind that *undirected relationships are only supported in queries*.
The xref:reference/type-definitions/relationships.adoc#_querydirection[type definitions] for a relationship may define a different behavior, so the `directed` option may not be available in some cases.
The xref::/type-definitions/types/relationships.adoc#_querydirection[type definitions] for a relationship may define a different behavior, so the `directed` option may not be available in some cases.
Loading