diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index e51eb3bea..940644c2c 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -154,6 +154,7 @@ *** xref:appendix/gql-conformance/supported-optional.adoc[] *** xref:appendix/gql-conformance/analogous-cypher.adoc[] *** xref:appendix/gql-conformance/additional-cypher.adoc[] +** xref:appendix/grammar/index.adoc[] ** xref:appendix/tutorials/index.adoc[] *** xref:appendix/tutorials/basic-query-tuning.adoc[] *** xref:appendix/tutorials/advanced-query-tuning.adoc[] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/call-procedure.bnf b/modules/ROOT/examples/syntax/clauses/call-procedure.bnf new file mode 100644 index 000000000..2ad150550 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/call-procedure.bnf @@ -0,0 +1,2 @@ + ::= + [ "OPTIONAL" ] "CALL" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/create.bnf b/modules/ROOT/examples/syntax/clauses/create.bnf new file mode 100644 index 000000000..38e806a1a --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/create.bnf @@ -0,0 +1,2 @@ + ::= + "CREATE" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/delete.bnf b/modules/ROOT/examples/syntax/clauses/delete.bnf new file mode 100644 index 000000000..ac70cda93 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/delete.bnf @@ -0,0 +1,2 @@ + ::= + [ "DETACH" | "NODETACH" ] "DELETE" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/filter.bnf b/modules/ROOT/examples/syntax/clauses/filter.bnf new file mode 100644 index 000000000..24f73918e --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/filter.bnf @@ -0,0 +1,2 @@ + ::= + "FILTER" [ "WHERE" ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/foreach.bnf b/modules/ROOT/examples/syntax/clauses/foreach.bnf new file mode 100644 index 000000000..3d7a684ff --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/foreach.bnf @@ -0,0 +1,2 @@ + ::= + "FOREACH" "(" ")" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/let.bnf b/modules/ROOT/examples/syntax/clauses/let.bnf new file mode 100644 index 000000000..0a8e69e56 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/let.bnf @@ -0,0 +1,2 @@ + ::= + "LET" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/limit.bnf b/modules/ROOT/examples/syntax/clauses/limit.bnf new file mode 100644 index 000000000..9d9fa9c04 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/limit.bnf @@ -0,0 +1,2 @@ + ::= + "LIMIT" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/load-csv.bnf b/modules/ROOT/examples/syntax/clauses/load-csv.bnf new file mode 100644 index 000000000..ef7f0f71a --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/load-csv.bnf @@ -0,0 +1,2 @@ + ::= + "LOAD CSV" [ "WITH HEADERS" ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/match.bnf b/modules/ROOT/examples/syntax/clauses/match.bnf new file mode 100644 index 000000000..f6963d189 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/match.bnf @@ -0,0 +1,12 @@ + ::= + "MATCH" + + ::= + [ ] [ { "," }... ] [ ] + + ::= + "REPEATABLE" { "ELEMENT" [ "BINDINGS" ] | "ELEMENTS" } + | "DIFFERENT" { "RELATIONSHIP" [ "BINDINGS" ] | "RELATIONSHIPS" } + + ::= + [ "=" ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/merge.bnf b/modules/ROOT/examples/syntax/clauses/merge.bnf new file mode 100644 index 000000000..e2fe448c7 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/merge.bnf @@ -0,0 +1,2 @@ + ::= + "MERGE" [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/optional-match.bnf b/modules/ROOT/examples/syntax/clauses/optional-match.bnf new file mode 100644 index 000000000..9413fa2b1 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/optional-match.bnf @@ -0,0 +1,2 @@ + ::= + "OPTIONAL" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/order-by.bnf b/modules/ROOT/examples/syntax/clauses/order-by.bnf new file mode 100644 index 000000000..feb0597df --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/order-by.bnf @@ -0,0 +1,2 @@ + ::= + "ORDER BY" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/remove.bnf b/modules/ROOT/examples/syntax/clauses/remove.bnf new file mode 100644 index 000000000..d35d5296d --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/remove.bnf @@ -0,0 +1,2 @@ + ::= + "REMOVE" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/return.bnf b/modules/ROOT/examples/syntax/clauses/return.bnf new file mode 100644 index 000000000..87c546043 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/return.bnf @@ -0,0 +1,2 @@ + ::= + "RETURN" [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/set.bnf b/modules/ROOT/examples/syntax/clauses/set.bnf new file mode 100644 index 000000000..05489ed94 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/set.bnf @@ -0,0 +1,2 @@ + ::= + "SET" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/show-functions.bnf b/modules/ROOT/examples/syntax/clauses/show-functions.bnf new file mode 100644 index 000000000..3bac0f2f1 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/show-functions.bnf @@ -0,0 +1,9 @@ + ::= + "SHOW" [ "ALL" | "BUILT IN" | "USER DEFINED" ] { "FUNCTION" | "FUNCTIONS" } [ ] [ ] + + ::= + "EXECUTABLE" [ "BY CURRENT USER" | "BY" ] + + ::= + "YIELD" [ ] [ ] [ ] [ ] [ ] + | \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/show-procedures.bnf b/modules/ROOT/examples/syntax/clauses/show-procedures.bnf new file mode 100644 index 000000000..c981e699d --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/show-procedures.bnf @@ -0,0 +1,2 @@ + ::= + "SHOW" [ ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/show-settings.bnf b/modules/ROOT/examples/syntax/clauses/show-settings.bnf new file mode 100644 index 000000000..0b7a9b8c8 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/show-settings.bnf @@ -0,0 +1,2 @@ + ::= + "SHOW" [ ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/show-transactions.bnf b/modules/ROOT/examples/syntax/clauses/show-transactions.bnf new file mode 100644 index 000000000..305289175 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/show-transactions.bnf @@ -0,0 +1,6 @@ + ::= + "SHOW" { "TRANSACTION" | "TRANSACTIONS" } [ ] [ ] + + ::= + "YIELD" [ ] [ ] [ ] [ ] [ ] + | \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/skip.bnf b/modules/ROOT/examples/syntax/clauses/skip.bnf new file mode 100644 index 000000000..613fa02ab --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/skip.bnf @@ -0,0 +1,2 @@ + ::= + \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/terminate-transactions.bnf b/modules/ROOT/examples/syntax/clauses/terminate-transactions.bnf new file mode 100644 index 000000000..2b6d4a54c --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/terminate-transactions.bnf @@ -0,0 +1,5 @@ + ::= + "TERMINATE" { "TRANSACTION" | "TRANSACTIONS" } [ ] + + ::= + "YIELD" [ ] [ ] [ ] [ ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/unwind.bnf b/modules/ROOT/examples/syntax/clauses/unwind.bnf new file mode 100644 index 000000000..f7fdf1117 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/unwind.bnf @@ -0,0 +1,2 @@ + ::= + "UNWIND" "AS" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/use.bnf b/modules/ROOT/examples/syntax/clauses/use.bnf new file mode 100644 index 000000000..298388c88 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/use.bnf @@ -0,0 +1,2 @@ + ::= + "USE" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/where.bnf b/modules/ROOT/examples/syntax/clauses/where.bnf new file mode 100644 index 000000000..cef4ae644 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/where.bnf @@ -0,0 +1,2 @@ + ::= + "WHERE" \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/clauses/with.bnf b/modules/ROOT/examples/syntax/clauses/with.bnf new file mode 100644 index 000000000..40c870e63 --- /dev/null +++ b/modules/ROOT/examples/syntax/clauses/with.bnf @@ -0,0 +1,2 @@ + ::= + "WITH" [ ] [ ] \ No newline at end of file diff --git a/modules/ROOT/examples/syntax/constraints/create.bnf b/modules/ROOT/examples/syntax/constraints/create.bnf new file mode 100644 index 000000000..b2ee2a9a0 --- /dev/null +++ b/modules/ROOT/examples/syntax/constraints/create.bnf @@ -0,0 +1,62 @@ + ::= + "CREATE CONSTRAINT" [ | ] [ "IF NOT EXISTS" ] [ ] + + ::= + "OPTIONS" + + ::= + + | "(" [ { "," }... ] ")" + + ::= + "." + + ::= + + | + + ::= + + | + | + | + + ::= + + | + | + | + + ::= + "FOR" "REQUIRE" "IS" [ "NODE" ] "KEY" + + ::= + "FOR" "REQUIRE" "IS" [ "NODE" ] "UNIQUE" + + ::= + "FOR" "REQUIRE" "IS NOT NULL" + + ::= + "FOR" "REQUIRE" { [ "IS" ] "::" | "IS TYPED" } + + ::= + "FOR" "REQUIRE" "IS" [ "RELATIONSHIP" | "REL" ] "KEY" + + ::= + "FOR" "REQUIRE" "IS" [ "RELATIONSHIP" | "REL" ] "UNIQUE" + + ::= + "FOR" "REQUIRE" "IS NOT NULL" + + ::= + "FOR" "REQUIRE" { [ "IS" ] "::" | "IS TYPED" } + + ::= + "(" ":"