Almost all administration commands have variations. The most common are parts of the command that are optional or that can have multiple values.
See below a summary of the syntax used to describe all versions of a command. These summaries use some special characters to indicate such variations.
Character | Meaning | Example |
---|---|---|
|
Used to indicate alternative parts of a command (i.e. |
If the syntax needs to specify either a name or |
|
Used to group parts of the command. Commonly found together with |
In order to use the |
|
Used to indicate an optional part of the command. It also groups alternatives together, when there can be either of the alternatives or nothing. |
If a keyword in the syntax can either be in singular or plural, we can indicate that the |
|
Repeated pattern. Related to the command part immediately before this is repeated. |
A comma separated list of names would be |
|
When a special character is part of the syntax itself, we surround it with |
To include |
The special characters in the table above are the only ones that need to be escaped using "
in the syntax summaries.
Here is an example that uses all the special characters.
It grants the READ
privilege:
GRANT READ
"{" { * | property[, ...] } "}"
ON {HOME GRAPH | GRAPH[S] { * | name[, ...] }}
[ ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }]
TO role[, ...]
Note that this command includes {
and }
in the syntax, and between them there can be a grouping of properties or the character *
.
It also has multiple optional parts, including the entity part of the command which is the grouping following the graph name.
For details about the graph privilege commands syntax, see Components of the graph privilege commands.
However, there is no need to escape any characters when creating a constraint for a node property.
This is because (
and )
are not special characters, and [
and ]
indicate that the constraint name and the IF NOT EXISTS
parts are optional, and therefore not part of the command.
CREATE CONSTRAINT [constraint_name] [IF NOT EXISTS]
FOR (n:LabelName)
REQUIRE n.propertyName IS NOT NULL
The below table covers both standard and composite databases.
Command | Syntax | ||
---|---|---|---|
|
SHOW { DATABASE[S] name | DATABASE[S] | DEFAULT DATABASE | HOME DATABASE }
[WHERE expression] SHOW { DATABASE[S] name | DATABASE[S] | DEFAULT DATABASE | HOME DATABASE }
YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]] |
||
|
CREATE DATABASE name [IF NOT EXISTS]
[TOPOLOGY n PRIMAR{Y|IES} [m SECONDAR{Y|IES}]]
[OPTIONS "{" option: value[, ...] "}"]
[WAIT [n [SEC[OND[S]]]]|NOWAIT] CREATE OR REPLACE DATABASE name
[TOPOLOGY n PRIMAR{Y|IES} [m SECONDAR{Y|IES}]]
[OPTIONS "{" option: value[, ...] "}"]
[WAIT [n [SEC[OND[S]]]]|NOWAIT] |
||
|
CREATE OR REPLACE COMPOSITE DATABASE name
[OPTIONS "{" "}"]
[WAIT [n [SEC[OND[S]]]]|NOWAIT] |
||
|
ALTER DATABASE name [IF EXISTS]
{
SET ACCESS {READ ONLY | READ WRITE} |
SET TOPOLOGY n PRIMAR{Y|IES} [m SECONDAR{Y|IES}] |
SET OPTION option value
}
[WAIT [n [SEC[OND[S]]]]|NOWAIT] ALTER DATABASE name [IF EXISTS]
REMOVE OPTION option
[WAIT [n [SEC[OND[S]]]]|NOWAIT]
|
||
|
STOP DATABASE name [WAIT [n [SEC[OND[S]]]]|NOWAIT] |
||
|
START DATABASE name [WAIT [n [SEC[OND[S]]]]|NOWAIT] |
||
|
DROP [COMPOSITE] DATABASE name [IF EXISTS] [RESTRICT | CASCADE ALIAS[ES]] [{DUMP|DESTROY} [DATA]] [WAIT [n [SEC[OND[S]]]]|NOWAIT] |
Command | Syntax |
---|---|
Show Database Alias |
SHOW ALIAS[ES] [name] FOR DATABASE[S]
[WHERE expression] SHOW ALIAS[ES] [name] FOR DATABASE[S]
YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]] Lists both local and remote database aliases, optionally filtered on the alias name. |
Create Local Alias |
CREATE ALIAS name [IF NOT EXISTS] FOR DATABASE targetName
[PROPERTIES "{" key: value[, ...] "}"] CREATE OR REPLACE ALIAS name FOR DATABASE targetName
[PROPERTIES "{" key: value[, ...] "}"] |
Create Remote Alias |
CREATE ALIAS name [IF NOT EXISTS] FOR DATABASE targetName
AT 'url' USER username PASSWORD 'password'
[DRIVER "{" setting: value[, ...] "}"]
[PROPERTIES "{" key: value[, ...] "}"] CREATE OR REPLACE ALIAS name FOR DATABASE targetName
AT 'url' USER username PASSWORD 'password'
[DRIVER "{" setting: value[, ...] "}"]
[PROPERTIES "{" key: value[, ...] "}"] |
Alter Local Alias |
ALTER ALIAS name [IF EXISTS] SET DATABASE
[TARGET targetName]
[PROPERTIES "{" key: value[, ...] "}"] |
Alter Remote Alias |
ALTER ALIAS name [IF EXISTS] SET DATABASE
[TARGET targetName AT 'url']
[USER username]
[PASSWORD 'password']
[DRIVER "{" setting: value[, ...] "}"]
[PROPERTIES "{" key: value[, ...] "}"] |
Drop Alias |
DROP ALIAS name [IF EXISTS] FOR DATABASE Drop either a local or remote database alias. |