From f991fe61c36f56f96ecf3fde9d33045e0d9903e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20Pryce-=C3=85klundh?= <112686610+JPryce-Aklundh@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:06:49 +0200 Subject: [PATCH 1/9] upto subclause 19.7 --- modules/ROOT/content-nav.adoc | 1 + .../gql-conformance/supported-mandatory.adoc | 152 ++++++++++++++++++ .../gql-conformance/supported-optional.adoc | 2 +- .../property-structural-constructed.adoc | 1 + 4 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/appendix/gql-conformance/supported-mandatory.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index 02c4fb3f8..5b947b624 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -125,6 +125,7 @@ * Appendix ** xref:styleguide.adoc[] ** xref:appendix/gql-conformance/index.adoc[] +*** xref:appendix/gql-conformance/supported-mandatory.adoc[] *** xref:appendix/gql-conformance/unsupported-mandatory.adoc[] *** xref:appendix/gql-conformance/supported-optional.adoc[] *** xref:appendix/gql-conformance/analogous-cypher.adoc[] diff --git a/modules/ROOT/pages/appendix/gql-conformance/supported-mandatory.adoc b/modules/ROOT/pages/appendix/gql-conformance/supported-mandatory.adoc new file mode 100644 index 000000000..ece78efeb --- /dev/null +++ b/modules/ROOT/pages/appendix/gql-conformance/supported-mandatory.adoc @@ -0,0 +1,152 @@ +:description: Information about mandatory GQL features supported by Cypher. += Supported mandatory GQL features + +Unlike optional GQL features, mandatory GQL features are not assigned a GQL feature ID code. +The below table is instead listed in order of their appearance in the link:https://www.iso.org/standard/76120.html[ISO/IEC 39075:2024(en) GQL Standard]. + +[options="header",cols="a,3a,5a"] +|=== +| GQL Standard subclause +| Description +| Comment + +| 4.11 +| Graph pattern matching +| See the section on xref:patterns/index.adoc[] for more details. + +| 4.13 +| GQL object types +| Referred to as xref:values-and-types/property-structural-constructed.adoc#structural-types[structural types] in Cypher. +Includes: `NODE` (`ANY NODE`, `VERTEX`, `ANY VERTEX`) and `RELATIONSHIP` (`ANY RELATIONSHIP`, `EDGE`, `ANY EDGE`). + +| 4.16 +| Predefined value types +| Referred to as xref:values-and-types/property-structural-constructed.adoc#property-types[property types] in Cypher. +Includes: `BOOLEAN` (`BOOL`), `FLOAT`, `INTEGER` (`SIGNED INTEGER`, `INT`), and `STRING` (`VARCHAR`). + +Cypher supports the Boolean literals `TRUE` and `FALSE`, but not `UNKNOWN`. + +| 13.2 +| +| xref:clauses/create.adoc#insert-as-synonym-of-create[`INSERT`] + +| 13.3 +| +| GQL’s `SET` has no order dependencies because all right-hand side operations are completed before any assignments occur. +In Cypher’s xref:clauses/set.adoc[`SET`], the order of rows can affect the outcome because changes made during execution may depend on the sequence of assignments. +The only way to guarantee row order in Neo4j is to use xref:clauses/order-by.adoc[`ORDER BY`]. + +| 13.4 +| +| xref:clauses/remove.adoc[`REMOVE`] + +| 13.4 +| +| xref:clauses/remove.adoc[`REMOVE`] + +| 13.5 +| +| xref:clauses/delete.adoc[`DELETE`] + +| 14.4 +| +| xref:clauses/match.adoc[`MATCH`], xref:clauses/optional-match.adoc[`OPTIONAL MATCH`] + +| 14.9 +| +| Cypher only supports xref:clauses/skip.adoc[`SKIP`], not GQL's `OFFSET`. + + +| 14.10 +| +| xref:clauses/finish.adoc[`FINISH`] + +| 14.11 +| +| xref:clauses/return.adoc[`RETURN`] + +| 14.11 +| +| xref:clauses/return.adoc[`RETURN`] + +| 15.1 +| and +| GQL defines an `OPTIONAL CALL` statement, enabling optional procedure and subquery calling. +This is not available in Cypher. + +| 15.2 +| +| xref:subqueries/call-subquery.adoc[`CALL` subqueries]. +GQL either imports variables implicitly, or explicitly using a variable scope clause. +In Cypher, `CALL` subqueries require an explicit importing `WITH` clause. + +| 15.3 +| +| xref:clauses/call.adoc[`CALL` procedure] + +| 16.2 +| +| xref:clauses/limit.adoc[`LIMIT`] + +| 16.4 +| +| + +| 16.5 +| +| See the xref:clauses/create.adoc#[`CREATE`] page for more details. + +| 16.6 +| +| xref:clauses/order-by.adoc[`ORDER-BY`] + +| 16.7 +| +| + +| 16.8 +|