Managing database aliases for standard databasesAuraDB Business CriticalAuraDB Virtual Dedicated CloudEnterprise Edition
Database aliases can be created and managed using a set of Cypher administration commands executed against the system database.
The required privileges are described in the The DBMS ALIAS MANAGEMENT privileges.
When connected to the DBMS over Bolt, administration commands are automatically routed to the system database.
|
If a transaction modifies a database alias, other transactions concurrently executing against that alias may be aborted and rolled back for safety. This prevents issues such as a transaction executing against multiple target databases for the same alias. |
There are two kinds of database aliases - local and remote:
- Local database aliases
-
A local database alias can only target a database within the same DBMS. It can be used in all Cypher commands in place of the target database. Please note that the local database alias will be resolved while executing the command. Privileges are defined on the target database, and not the local database alias.
- Remote database aliases
-
A remote database alias may target a database from another Neo4j DBMS. It can be used for:
-
Connecting to a database of a remote Neo4j DBMS.
Remote database aliases require configuration to safely connect to the remote target, which is described in Connecting remote databases. It is not possible to impersonate a user on the remote database or to execute an administration command on the remote database via a remote database alias. -
USEclauses. -
Defining the access privileges to the remote database.
-
Introduced in 2025.06 Setting a default Cypher version for queries to the remote database.
-
|
Starting with Neo4j 2025.06, a database or remote alias can be assigned a default Cypher version. However, local database aliases cannot be assigned a default Cypher version. They always get the Cypher version of their target database. |
When a query is run against a database alias, it will be redirected to the target database. The home database for users can be set to an alias, which will be resolved to the target database on use. Starting with Neo4j 2025.04, a database alias can also be set as the DBMS default database.
This page describes managing database aliases for standard databases. For aliases created as part of a composite database, see Managing database aliases in composite databases.
Show database aliases
You can show all available database aliases using the SHOW ALIASES FOR DATABASE command.
The command returns a table of all database aliases, whether they belong to a composite database or not.
If you need more details, you can append the command with YIELD *.
The YIELD * clause returns the full set of columns.
To run the command, the user must have the GRANT SHOW ALIAS ON DBMS TO role privilege.
For details, see the The DBMS ALIAS MANAGEMENT privileges.
|
For general information about the |
| Column | Description | Type | Default output |
|---|---|---|---|
|
The fully qualified name of the database alias. |
|
|
|
The name of the composite database this alias belongs to, or |
|
|
|
The name of the target database. This column is filtered according to the
If a user has not been granted the |
|
|
|
The location of the database, either |
|
|
|
Target location or |
|
|
|
Introduced in 2026.01 The type of credentials used to connect to the remote database, either |
|
|
|
Native user connecting to the remote database, or |
|
|
|
The driver options for connection to the remote database or |
|
|
|
Introduced in 2025.06 The default language for non-constituent remote database aliases or |
|
|
|
Any properties set on the database alias. |
|
Show all database aliases
To show all database aliases, use the SHOW ALIASES FOR DATABASE command without any additional parameters.
This command returns all database aliases, including local and remote aliases, for all databases in the DBMS.
SHOW ALIASES FOR DATABASE
+--------------------------------------------------------------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +--------------------------------------------------------------------------------------------------------------------------+ | "films" | NULL | "movies" | "local" | NULL | NULL | NULL | | "motion pictures" | NULL | "movies" | "local" | NULL | NULL | NULL | | "movie scripts" | NULL | "scripts" | "remote" | "neo4j+s://location:7687" | "STORED NATIVE CREDENTIALS" | "alice" | +--------------------------------------------------------------------------------------------------------------------------+
Show a specific database alias
To show just one database alias, the SHOW ALIASES command takes an alias name:
SHOW ALIAS films FOR DATABASES
+--------------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +--------------------------------------------------------------------------+ | "films" | NULL | "movies" | "local" | NULL | NULL | NULL | +--------------------------------------------------------------------------+
Show detailed information about all database aliases
To see all columns for all database aliases, use the YIELD * clause with the SHOW ALIASES FOR DATABASE command:
SHOW ALIASES FOR DATABASE YIELD *
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | composite | database | location | url | credentials | user | driver | defaultLanguage | properties |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| "films" | NULL | "movies" | "local" | NULL | NULL | NULL | NULL | NULL | {} |
| "motion pictures" | NULL | "movies" | "local" | NULL | NULL | NULL | NULL | NULL | {namecontainsspace: TRUE} |
| "movie scripts" | NULL | "scripts" | "remote" | "neo4j+s://location:7687" | "STORED NATIVE CREDENTIALS" | "alice" | {connection_pool_idle_test: PT2M, connection_pool_max_size: 10, logging_level: "INFO", ssl_enforced: TRUE, connection_pool_acquisition_timeout: PT1M, connection_timeout: PT5S, connection_max_lifetime: PT1H} | "CYPHER 25" | {} |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Show the number of database aliases
To see the number of database aliases, use a count() aggregation with YIELD and RETURN.
SHOW ALIASES FOR DATABASE YIELD *
RETURN count(*) as count
+-------+ | count | +-------+ | 3 | +-------+
Filter and sort database aliases
You can filter and sort the results of the SHOW ALIASES FOR DATABASE command using the YIELD, ORDER BY, and WHERE clauses.
The YIELD clause allows you to specify which columns to return, while the ORDER BY clause sorts the results based on a specified column.
The WHERE clause filters the results based on a condition.
SHOW ALIASES FOR DATABASE YIELD name, url, database
ORDER BY database
WHERE name CONTAINS 'e'
In this example:
-
The number of columns returned has been reduced with the
YIELDclause. -
The order of the returned columns has been changed.
-
The results are ordered by the
databasecolumn usingORDER BY. -
The results have been filtered to only show database alias names containing
'e'.
It is also possible to use SKIP and LIMIT to paginate the results.
+-----------------------------------------------------------+ | name | url | database | +-----------------------------------------------------------+ | "motion pictures" | NULL | "movies" | | "movie scripts" | "neo4j+s://location:7687" | "scripts" | +-----------------------------------------------------------+
Create database aliases
You can create both local and remote database aliases using the command CREATE ALIAS.
For more information on local and remote database aliases as part of a composite database, see Create database aliases in composite databases.
The required privileges are described in the The DBMS ALIAS MANAGEMENT privileges.
|
Database alias names are subject to the rules specified in the Alias names section. |
Create database aliases for local databases
A local database alias targets a database within the same DBMS. Graph or property shard targets are not supported.
CREATE ALIAS `northwind` FOR DATABASE `northwind-graph-2021`
When you create a local database alias, it shows up in the aliases column provided by the command SHOW DATABASES and in the SHOW ALIASES FOR DATABASE command.
SHOW DATABASE `northwind`
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | default | home | constituents | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | "northwind-graph-2021" | "standard" | ["northwind"] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | [] | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
SHOW ALIAS `northwind` FOR DATABASE
+-----------------------------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +-----------------------------------------------------------------------------------------+ | "northwind" | NULL | "northwind-graph-2021" | "local" | NULL | NULL | NULL | +-----------------------------------------------------------------------------------------+
Use IF EXISTS or OR REPLACE when creating database aliases
The CREATE ALIAS command is optionally idempotent, with the default behavior to fail with an error if the database alias already exists.
To work around this, you can append IF EXISTS or OR REPLACE to the command.
Both check for any remote or local database aliases with the given name, IF NOT EXISTS also check for existing databases with the given name.
-
Appending
IF NOT EXISTSto the command. This ensures that no error is returned and nothing happens should a database or database alias with that name already exist.QueryCREATE ALIAS `northwind` IF NOT EXISTS FOR DATABASE `northwind-graph-2021` -
Appending
OR REPLACEto the command. This means that if a database alias with that name already exists, it will be replaced with the new one.QueryCREATE OR REPLACE ALIAS `northwind` FOR DATABASE `northwind-graph-2021`This is equivalent to running
followed byDROP ALIAS `northwind` IF EXISTS FOR DATABASE.CREATE ALIAS `northwind` FOR DATABASE `northwind-graph-2021`
|
The |
Set properties for local database aliases
You can set properties for local database aliases using the PROPERTIES clause of the CREATE ALIAS command.
These properties can later be used in queries with the graph.propertiesByName() function.
For example:
CREATE ALIAS `northwind-2022`
FOR DATABASE `northwind-graph-2022`
PROPERTIES { newestNorthwind: true, index: 3 }
To verify that the properties have been set, use the SHOW ALIASES FOR DATABASE command with the YIELD clause:
SHOW ALIAS `northwind-2022` FOR DATABASE YIELD name, properties
+------------------------------------------------------+
| name | properties |
+------------------------------------------------------+
| "northwind-2022" | {index: 3, newestnorthwind: TRUE} |
+------------------------------------------------------+
Create database aliases for remote databases
A database alias can target a remote database by providing a URL and the credentials of a user on the remote Neo4j DBMS. See Configuring remote database aliases for the necessary configurations.
Since remote database aliases target databases that are not in this DBMS, they do not fetch the default Cypher version from their target like the local database aliases.
Instead, they are assigned the version given by db.query.default_language, which is set in the neo4j.conf file.
Alternatively, you can specify the version in the CREATE ALIAS or ALTER ALIAS commands.
See Set a default Cypher version for remote database aliases and Alter the default Cypher version of a remote database alias for more information.
When creating a remote database alias, you need to specify the credentials used to target to the remote DBMS. You can choose between two types of credentials:
-
STORED NATIVE CREDENTIALS, using the credentials of a single native user on the remote DBMS. -
Introduced in 2026.01
OIDC CREDENTIAL FORWARDING, forwarding the bearer authentication token from the logged-in user on the local DBMS. The user must be logged in with an identity provider supporting OIDC.
You can also use IF EXISTS or OR REPLACE when creating remote database aliases.
It works the same way as described in the Use IF EXISTS or OR REPLACE when creating database aliases section.
Both check for any remote or local database aliases (with IF NOT EXISTS also checking for databases).
Create remote database aliases with stored native credentials
You can create a remote database alias using stored native credentials by specifying the USER and PASSWORD clauses when creating the alias.
For example:
CREATE ALIAS `remote-northwind-stored-credentials` FOR DATABASE `northwind-graph-2020`
AT "neo4j+s://location:7687"
USER alice
PASSWORD 'example_secret'
Verify that the remote database alias has been created correctly using the SHOW ALIASES FOR DATABASE command:
SHOW ALIAS `remote-northwind-stored-credentials`
FOR DATABASE
+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | "remote-northwind-stored-credentilas" | NULL | "northwind-graph-2020" | "remote" | "neo4j+s://location:7687" | "STORED NATIVE CREDENTIALS" | "alice" | +-----------------------------------------------------------------------------------------------------------------------------------------------------------+
Create remote database aliases with OIDC credential forwarding
You can create a remote database alias using OIDC credential forwarding by specifying the OIDC CREDENTIAL FORWARDING clause when creating the alias.
The OIDC CREDENTIAL FORWARDING clause configures the remote database alias to use the logged-in user’s OIDC credentials to authenticate to it.
To use this method for authentication, both the local and remote DBMSs must have SSO authentication and authorization through identity providers that implement the OIDC standard configured.
See the SSO integration for details on how to configure OIDC identity providers.
CREATE ALIAS `remote-northwind-oidc-credential-forwarding` FOR DATABASE `northwind-graph-2020`
AT "neo4j+s://location:7687"
OIDC CREDENTIAL FORWARDING
Since the alias uses the credentials of the logged-in user when targeting the remote DBMS, there are no stored credentials, and the user will be NULL.
SHOW ALIAS `remote-northwind-oidc-credential-forwarding`
FOR DATABASE
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | "remote-northwind-oidc-credential-forwarding" | NULL | "northwind-graph-2020" | "remote" | "neo4j+s://location:7687" | "OIDC CREDENTIAL FORWARDING" | NULL | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Create remote database aliases with driver settings
It is possible to override the default driver settings per database alias, which are used for connecting to the remote database.
This is the list of the allowed driver settings for remote database aliases:
-
ssl_enforced(Default:true) — SSL for remote database alias drivers is configured through the target URL scheme. Ifssl_enforcedis set to true, a secure URL scheme is enforced. It will be validated when the command is executed. -
connection_timeout(For details, see dbms.routing.driver.connection.connect_timeout.) -
connection_max_lifetime(For details, see dbms.routing.driver.connection.max_lifetime.) -
connection_pool_acquisition_timeout — for details, see dbms.routing.driver.connection.pool.acquisition_timeout.
-
connection_pool_idle_test — for details, see dbms.routing.driver.connection.pool.idle_test.
-
connection_pool_max_size(For details, see dbms.routing.driver.connection.pool.max_size.) -
logging_level(For details, see dbms.routing.driver.logging.level.)
You can set these driver settings when creating a remote database alias using the DRIVER clause of the CREATE ALIAS or ALTER ALIAS commands.
For example, the following query creates a remote database alias using driver settings connection_timeout and
connection_pool_max_size for connecting to the remote database northwind-graph-2020:
CREATE ALIAS `remote-with-driver-settings` FOR DATABASE `northwind-graph-2020`
AT "neo4j+s://location:7687"
USER alice
PASSWORD 'example_secret'
DRIVER {
connection_timeout: duration({minutes: 1}),
connection_pool_max_size: 10
}
To view the remote database alias details, including the driver settings, use the SHOW ALIASES FOR DATABASE command with the YIELD * clause:
SHOW ALIAS `remote-with-driver-settings` FOR DATABASE YIELD *
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | composite | database | location | url | credentials | user | driver | properties |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| "remote-with-driver-settings" | NULL | "northwind-graph-2020" | "remote" | "neo4j+s://location:7687" | "STORED NATIVE CREDENTIALS" | "alice" | {connection_pool_max_size: 10, connection_timeout: PT1M} | {} |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Set a default Cypher version for remote database aliasesIntroduced in 2025.06
You can set a default Cypher version for remote database aliases using the DEFAULT LANGUAGE clause of the CREATE ALIAS or ALTER ALIAS commands.
For example, the following query creates a remote database alias with the default language CYPHER 25:
CREATE ALIAS `remote-with-default-language`
FOR DATABASE `northwind-graph-2020`
AT "neo4j+s://location:7687"
USER alice
PASSWORD 'example_secret'
DEFAULT LANGUAGE CYPHER 25
To view the remote database alias details, including the default language, use the SHOW ALIASES FOR DATABASE command with the YIELD clause:
SHOW ALIAS `remote-with-default-language` FOR DATABASE YIELD name, defaultLanguage
+--------------------------------------------------+ | name | defaultLanguage | +--------------------------------------------------+ | "remote-with-default-language" | "CYPHER 25" | +--------------------------------------------------+
|
Setting the default language to |
Set properties for remote database aliases
You can set properties for remote database aliases using the PROPERTIES clause of the CREATE ALIAS command.
These properties can then be used in queries with the graph.propertiesByName() function.
CREATE ALIAS `remote-northwind-2021` FOR DATABASE `northwind-graph-2021` AT 'neo4j+s://location:7687'
USER alice PASSWORD 'password'
PROPERTIES { newestNorthwind: false, index: 6 }
To view the remote database alias properties, use the SHOW ALIASES FOR DATABASE command with the YIELD clause:
SHOW ALIAS `remote-northwind-2021` FOR DATABASE YIELD name, properties
+--------------------------------------------------------------+
| name | properties |
+--------------------------------------------------------------+
| "remote-northwind-2021" | {index: 6, newestnorthwind: FALSE} |
+--------------------------------------------------------------+
Alter database aliases
You can alter both local and remote database aliases using the ALTER ALIAS command.
For all aliases, the command allows you to change the target database and properties of the database alias.
For remote aliases, the command also allows you to change the URL, user credentials, default language, or driver settings of the database alias.
The required privileges are described in the The DBMS ALIAS MANAGEMENT privileges.
Only the clauses used will be altered.
|
Local database aliases cannot be altered to remote aliases, or vice versa. |
Alter a local database alias target
You can alter a local database alias to target a different database using the SET DATABASE TARGET clause of the ALTER ALIAS command.
For example:
ALTER ALIAS `northwind`
SET DATABASE TARGET `northwind-graph-2021`
To verify that the local database alias has a new target database, you can use the SHOW DATABASE command.
It shows up in the aliases column for the target database.
.Query
SHOW DATABASE `northwind-graph-2021`
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | default | home | constituents | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | "northwind-graph-2021" | "standard" | ["northwind"] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | [] | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Alter a remote database alias target
You can alter a remote database alias to target a different remote database using the SET DATABASE TARGET clause of the ALTER ALIAS command.
For example:
ALTER ALIAS `remote-northwind-stored-credentials`
SET DATABASE TARGET `northwind-graph-2020` AT "neo4j+s://other-location:7687"
Alter a remote database alias stored native credentials and driver settings
You can change the stored native credentials and driver settings of a remote database alias using the USER, PASSWORD, and DRIVER subclauses of the SET DATABASE clause of the ALTER ALIAS command.
For example:
ALTER ALIAS `remote-with-driver-settings`
SET DATABASE
USER bob
PASSWORD 'new_example_secret'
DRIVER {
connection_timeout: duration({ minutes: 1}),
logging_level: 'debug'
}
|
All driver settings are replaced by the new ones.
In this case, by not repeating the driver setting |
Alter a remote database alias credential typeIntroduced in 2026.01
Changing a remote database alias credential type (STORED NATIVE CREDENTIALS or OIDC CREDENTIAL FORWARDING) using the ALTER ALIAS command is currently not supported.
To change the type of credentials, you must drop the remote database alias and replace it with a new one.
|
Any associated privileges, driver settings, and other properties will be lost when dropping the alias, and need to be respecified for the new one. See Database privileges on how to manage access to the remote database alias and other privileges. |
Remove all custom driver settings from a remote database alias
You can remove all custom driver settings from a remote database alias by setting the DRIVER clause to an empty map {}.
ALTER ALIAS `movie scripts` SET DATABASE
DRIVER {}
Alter the default Cypher version of a remote database aliasIntroduced in 2025.06
You can alter the default Cypher version of a remote database alias using the SET DATABASE DEFAULT LANGUAGE clause of the ALTER ALIAS command.
For example:
ALTER ALIAS `remote-with-default-language`
SET DATABASE DEFAULT LANGUAGE CYPHER 5
|
Setting the default language to |
Alter properties of local and remote database aliases
You can alter the properties of a local or remote database alias using the SET DATABASE PROPERTIES clause of the ALTER ALIAS command.
For example:
ALTER ALIAS `motion pictures` SET DATABASE PROPERTIES { nameContainsSpace: true, moreInfo: 'no, not really' }
ALTER ALIAS `movie scripts` SET DATABASE PROPERTIES { nameContainsSpace: true }
The updated properties can then be used in queries with the graph.propertiesByName() function.
Use IF EXISTS when altering database aliases
The ALTER ALIAS command is optionally idempotent, with the default behavior to fail with an error if the database alias does not exist.
Appending IF EXISTS to the command ensures that no error is returned and nothing happens should the alias not exist.
ALTER ALIAS `no-alias` IF EXISTS SET DATABASE TARGET `northwind-graph-2021`
(no changes, no records)
Delete database aliases
You can delete both local and remote database aliases using the DROP ALIAS command.
The required privileges are described in the The DBMS ALIAS MANAGEMENT privileges.
Delete local database aliases
You can delete a local database alias using the DROP ALIAS command.
For example:
DROP ALIAS `northwind` FOR DATABASE
To verify that the local database alias has been deleted, you can use the SHOW DATABASES command.
The deleted alias will no longer appear in the aliases column.
SHOW DATABASE `northwind-graph-2021`
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | aliases | access | address | role | writer | requestedStatus | currentStatus | statusMessage | default | home | constituents | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | "northwind-graph-2021" | "standard" | [] | "read-write" | "localhost:7687" | "primary" | TRUE | "online" | "online" | "" | FALSE | FALSE | [] | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Delete remote database aliases
You can delete a remote database alias using the DROP ALIAS command.
For example:
DROP ALIAS `remote-northwind-stored-credentials` FOR DATABASE
To verify that the remote database alias has been deleted, you can use the SHOW ALIASES FOR DATABASE command.
SHOW ALIASES `remote-northwind-stored-credentials` FOR DATABASE
+-------------------------------------------------------------------+ | name | composite | database | location | url | credentials | user | +-------------------------------------------------------------------+ +-------------------------------------------------------------------+
Use IF EXISTS when deleting database aliases
The DROP ALIAS command is optionally idempotent, with the default behavior to fail with an error if the database alias does not exist.
Inserting IF EXISTS after the alias name ensures that no error is returned and nothing happens should the alias not exist.
DROP ALIAS `northwind` IF EXISTS FOR DATABASE
(no changes, no records)
Glossary
- allocator
-
A component in the cluster that allocates databases to servers according to the topology constraints specified and an allocation strategy.
- asynchronous replication
-
Asynchronous replication is used by secondary copies to poll for new transactions, which means they cannot be guaranteed to have received the most recent transactions. This enables efficient scale-out of read-performance.
- Aura instance
-
A fully-managed DBMS represented by a single instance ID, that is running in the Neo4j Aura cloud.
- auto-commit transaction
-
An automatically committed transaction that contains a single query.
- Bolt protocol
-
Bolt is a protocol used for interaction between Neo4j instances and drivers.
- bookmark
-
A marker the client can request from the cluster to ensure that it is able to read its own writes so that the application’s state is consistent and only databases that have a copy of the bookmark are permitted to respond.
- category (Bloom)
-
A category is based on a node label and is defined in a Perspective as a way of visually distinguishing nodes with the same label(s).
- causal consistency
-
All servers in a cluster agree on the order in which transactions take place. The position of a server on the causal chain can be guaranteed using a bookmark.
- cluster
-
A Neo4j DBMS that spans multiple servers working together to increase fault tolerance and/or read scalability. Databases on a cluster may be configured to replicate across servers in the cluster thus achieving read scalability or high availability.
- client application
-
Software that interacts with a Neo4j server.
- commit
-
A commit is the successful completion of a transaction, which ensures durability of any changes made. For more details, visit Operations Manual → Transaction management.
- composite database
-
Composite databases are the means to access partitioned graph data with a single Cypher query.
- constraint
-
Constraints are sets of data modeling rules that ensure the data is consistent and reliable.
- Cypher®
-
Neo4j’s graph query language.
- data model
-
A data model defines how information is organized in a database. A good data model will make querying and understanding your data easier. In Neo4j, the data models have a graph structure.
- database
-
A database is a container used by the DBMS to manage and store graph data. The physical structure of data is controlled by the database.
- database vs graph
-
Databases are the physical containers of graph data. Graphs are the logical structure of data in Neo4j.
- Database Management System
-
Database Management System, or DBMS, capable of managing multiple databases. A DBMS may run on a single server, or span several servers configured as a cluster.
- database schema
-
The prescribed property existence and datatypes for nodes and relationships.
- deallocate
-
An act of removing a database from a server or a server from a cluster without loss of data or reduced fault tolerance.
- degree (of a node)
-
The number of relationships of a specific node; loops are counted twice.
- disaster recovery
-
A manual intervention to restore availability of a cluster, or databases within a cluster.
- driver
-
A software library that provides access to Neo4j from a particular programming language.
- election
-
In the event that the Raft leader becomes unresponsive, followers automatically trigger an election and vote for a new leader.
- entity
-
A node or a relationship.
- expression (Cypher)
-
A component of a Cypher query which produces values. It may be used in projections, as a predicate, or when setting properties on graph elements.
- fabric
-
Fabric is the architectural design of a unified system that provides a single access point to local or distributed graph data.
- fault tolerance
-
A guarantee that a cluster can maintain a database’s persistence and availability in the event of one or more servers failing.
- follower
-
A primary copy of a database acting as a follower, receives and acknowledges synchronous writes from the leader.
- Generative AI (GenAI)
-
A type of artificial intelligence (AI) system that generates text, images, or other media in response to prompts.
- graph
-
A logical representation of a set of nodes where some pairs are connected by relationships.
- index
-
Data structure that improves read performance of a database.
- knowledge graph
-
A specific type of graph that has an organizing principle so that a user (or a computer system) can reason about the underlying data. The organizing principle provides an additional layer of structure that adds context to support knowledge discovery.
- label
-
Marks a node as a member of a named and indexed subset. A node may be assigned zero or more labels.
- leader
-
A single primary copy of a database is designated as the leader. It receives all write transactions from clients and replicates writes synchronously to followers and asynchronously to secondary copies of the database.
- main database
-
In terms of Neo4j Enterprise Studio, the database(s) containing the user’s data. Can exist in the same Neo4j deployment as the tool asset database.
- motif
-
A description of a specific pattern within a graph.
- node
-
A node represents an entity or discrete object in your graph data model. Nodes can be connected by relationships, hold data in properties, and are classified by labels.
- operator
-
A symbol representing a mathematical or logical operation.
- parameter
-
Named value provided when running a Cypher statement.
- path
-
A sequence of nodes and the relationships connecting them, that does not contain duplicate relationships. Several paths can match a pattern.
- pattern
-
A specific arrangement of nodes and relationships that can be matched in a graph. A pattern follows a motif.
- perspective (Bloom)
-
A Perspective defines a certain business view or domain that can be found in the target Neo4j graph. A single Neo4j graph can be viewed through different Perspectives, each tailored for a different business purpose.
- primary
-
A copy of the database that is able to process write transactions and is eligible to be elected as a leader. It participates in fault tolerant writes as it is part of the majority required to acknowledge and commit write transactions.
- primary vs secondary
-
In a cluster, databases can operate in either primary or secondary mode. Primary databases are able to process write and read transactions, ensuring fault tolerance. Secondary databases are replicated asynchronously from primaries, and their main purpose is to provide read scaling within the cluster.
- project (Aura)
-
An isolated environment in the unified Aura console that contains its own database instances, configurations, and resources. Preceded by tenant in the classic Aura console.
- property
-
Properties are key-value pairs that are used for storing data on nodes and relationships.
- query (Cypher)
-
A statement that retrieves or writes information to a database.
- Raft group
-
A group of servers that are participating in hosting a particular database in primary mode.
- Raft group member
-
A server that is participating in a Raft group. A server can be a member of one or more groups.
- Raft log
-
A shared log between all Raft group members that is guaranteed to be consistently updated and viewed by those members. The log contains both database data and operational state of the Raft group.
- Raft protocol
-
The networking mechanism that enables a database to replicate its data across multiple servers to give high availability for accessing the data and high durability to the data stored.
- read scaling
-
Distributing query load by creating additional database copies hosted in secondary mode (read-only).
- relationship
-
A relationship represents a connection between nodes in your graph data model. Relationships connect a source node to a target node, hold data in properties, and are classified by type.
- secondary
-
An asynchronously replicated copy of the database that provides read scaling within the cluster.
- seed
-
A seed is a database dump or a full backup used to create a database on a cluster. This is sometimes called seeding.
- server
-
A physical machine, a virtual machine, or a container running an instance of Neo4j. Servers can be standalone or part of a cluster.
- session
-
A causally linked sequence of transactions.
- session consistency
-
An alternative name for Neo4j’s causal consistency.
- standalone
-
A single server running Neo4j and not part of a cluster.
- synchronous replication
-
Synchronous replication requires the leader primary to replicate a transaction and block the commit until a quorum of the follower primaries acknowledges that the transaction is successfully replicated. Once the transaction is replicated, the commit is allowed to proceed. This ensures data durability and consistency within the cluster.
- system database
-
A database used by Neo4j to store system information.
- tenant (Aura)
-
An isolated environment in the classic Aura console that contains its own database instances, configurations, and resources. Replaced by project in the unified Aura console.
- tool asset database
-
In terms of Neo4j Enterprise Studio, the database where tools' assets are stored. This can be in the same Neo4j deployment as the main database(s) or in a separate deployment.
- topology
-
A configuration that describes how the copies of a database should be spread across the servers in a cluster, see primary mode and secondary mode.
- transaction
-
A transaction comprises a unit of work performed against a database. It is treated in a coherent and reliable way, independent of other transactions. Transactions comply with the ACID consistency model (atomic, consistent, isolated, and durable).