Namespace Neo4j.Driver
Classes
- AuthSchemes
Contains constants for identifying authentication schemes.
- AuthTokenAndExpiration
Represents an auth token and its expiration.
- AuthTokenManagers
This class provides common implementations of IAuthTokenManager for various types of authentication.
- AuthTokens
This provides methods to create IAuthTokens for various authentication schemes supported by this driver. The scheme used must be also supported by the Neo4j instance you are connecting to.
- AuthenticationException
Failed to authenticate the client to the server due to bad credentials To recover from this error, close the current driver and restart with the correct credentials
- AuthorizationException
The authorization information maintained on the server has expired. The client should reconnect.
- Bookmark
Identifies a point in the transactional history of the database.
When working with a casual cluster, transactions can be chained to ensure causal consistency. Causal chaining is carried out by passing bookmarks between transactions.
When a session is constructed with an initial bookmarks, the first transaction (either auto-commit or explicit) will be blocked until the server has fast forwarded to catchup with the latest of the provided initial bookmarks.
Within a session, bookmark propagation is carried out automatically and does not require any explicit signal or setting from the application.
To opt out of this mechanism for unrelated units of work, applications can use multiple sessions.
- BookmarkManagerConfig
The BookmarkManagerConfig record encapsulates configuration values for initializing a new default IBookmarkManager implementation. The BookmarkManagerConfig instance should be passed to an NewBookmarkManager(BookmarkManagerConfig) factory method to construct a new IBookmarkManager instance.
- Bookmarks
Identifies a point in the transactional history of the database.
When working with a casual cluster, transactions can be chained to ensure causal consistency. Causal chaining is carried out by passing bookmarks between transactions.
When a session is constructed with an initial bookmarks, the first transaction (either auto-commit or explicit) will be blocked until the server has fast forwarded to catchup with the latest of the provided initial bookmarks.
Within a session, bookmarks propagation is carried out automatically and does not require any explicit signal or setting from the application.
To opt out of this mechanism for unrelated units of work, applications can use multiple sessions.
- ClientCertificateProviders
This class provides static methods to create basic client certificate providers.
- ClientException
A ClientException indicates that the client has carried out an operation incorrectly. The error code provided can be used to determine further detail for the problem.
- ConfigBuilder
Provides a way to generate a Config instance fluently.
- ConnectionReadTimeoutException
A ConnectionReadTimeoutException indicates that the driver timed out trying to read from the network socket.
- DatabaseException
A DatabaseException indicates that there is a problem within the underlying database. The error code provided can be used to determine further detail for the problem.
- Duration
Represents temporal amount containing months, days, seconds and nanoseconds.
A duration can hold a negative value.
- EagerResult<T>
Complete, materialized result from a cypher query.
- FatalDiscoveryException
There was an error that points us to a fatal problem for routing table discovery, like the requested database could not be found. This kind of errors are identified as non-transient and are not retried.
- ForbiddenException
This operation is forbidden.
- GraphDatabase
Creates IDriver instances, optionally letting you configure them.
- InvalidBookmarkException
The provided bookmark is invalid. To recover from this a new session needs to be created.
- InvalidBookmarkMixtureException
The provided bookmark is invalid. To recover from this a new session needs to be created.
- LocalDate
Represents a date value, without a time zone and time related components
- LocalDateTime
Represents a local date time value, without a time zone
- LocalTime
Represents a local time value
- MessageReaderConfig
The configuration for the driver's underlying message reading from the network.
- Neo4jException
The base class for all Neo4j exceptions.
- OffsetTime
Represents a time value with a UTC offset
- Point
Represents a single three-dimensional point in a particular coordinate reference system.
- ProtocolException
There was a bolt protocol violation of the contract between the driver and the server. When seen this error, contact driver developers.
- Query
An executable query, i.e. the queries' text and its parameters.
- QueryConfig
Configuration for running queries using the simplified api.
- QueryConfig<T>
Configuration for running queries using the simplified API.
- ResultConsumedException
The result has already been consumed either by explicit consume call, or by termination of session or transaction where the result was obtained. Once a result is consumed, the records in the result is not accessible anymore.
- ResultCursorExtensions
Extension methods for IResultCursor
- SecurityException
Failed to connect the driver to the server due to security errors When this type of error happens, recreation of the driver might be required.
- ServerAddress
A server address consists of Host and Port. This address specifies where the driver to find the server.
- ServiceUnavailableException
A ServiceUnavailableException indicates that the driver cannot communicate with the cluster.
- SessionConfig
The interface that defines options applicable to session constructions. It could be populated by the provided builder-style methods. The default SessionConfig defines a Write session with the server default database using default fetch size specified in FetchSize.
- SessionConfigBuilder
The builder to build a SessionConfig.
- SessionExpiredException
A SessionExpiredException indicates that the session can no longer satisfy the criteria under which it was acquired, e.g. a server no longer accepts write requests. A new session needs to be acquired from the driver and all actions taken on the expired session must be replayed.
- StatementArgumentException
A generic argument error has occurred. To recover from this a new session needs to be created.
- TemporalValue
Base class for temporal values
- TokenExpiredException
The provided token has expired. The current driver instance is considered invalid. It should not be used anymore. The client must create a new driver instance with a valid token.
- TransactionClosedException
The exception that is thrown when calling CommitAsync() or RollbackAsync() on an IAsyncTransaction that has already been closed.
- TransactionConfig
Configuration object containing settings for explicit and auto-commit transactions. Leave the fields unmodified to use server side transaction configurations.
- TransactionConfigBuilder
The builder to create a TransactionConfig
- TransactionNestingException
An attempt to BeginTransaction has been made before the sessions existing transaction has been consumed or rolled back. e.g. An attempt to nest transactions has occurred. A session can only have a single transaction at a time.
- TransactionTerminatedException
The exception that is thrown when trying to further interact with a terminated transaction. Transactions are terminated when they incur errors.
If created by the driver the Code will be null.
- TransientException
A TransientException signals a failed operation that may be able to succeed if this operation is retried without any intervention by application-level functionality. The error code provided can be used to determine further details for the problem.
- TrustManager
This is the base class all built-in or custom trust manager implementations should be inheriting from. Trust managers are the way that one could customise how TLS trust is established.
- TypeException
An error occurred related to data typing.
- UnknownSecurityException
An unknown security error occurred.
- UnsupportedFeatureException
The exception that is thrown when calling an operation in the driver which uses a server feature that is not available on the connected server version.
- ValueExtensions
A collection of extensions to process values streamed back via Bolt.
- ValueOverflowException
A value retrieved from the database cannot be represented with the type to be converted, and will cause working with a modified data.
- ValueTruncationException
A value retrieved from the database needs to be truncated for this conversion to work, and will cause working with a modified data.
- Zone
This abstract class represents a time zone that's usable by ZonedDateTime type. A time zone can be identified either by its offset (in seconds) from UTC or its IANA/Windows time zone identifiers. You can get corresponding instances of Zone by using its Of(int) or Of(string) members.
- ZoneId
Represents a time zone specified by its time zone identifier.
- ZoneOffset
Represents a time zone specified by its offset from UTC.
- ZonedDateTime
Represents a date time value with a time zone, specified as a UTC offset
Interfaces
- IAsyncQueryRunner
Common interface for components that can execute Neo4j queries.
- IAsyncSession
A live session with a Neo4j instance. Sessions serve a role in transaction isolation and ordering semantics. Within a session, transactions run sequentially one after another. Session objects are not thread safe, if you want to run concurrent operations against the database, simply create multiple session objects.
- IAsyncTransaction
Represents a transaction in the Neo4j database.
- IAuthToken
An authentication token is used to authenticate with a Neo4j instance. It usually contains a
Principal
, for instance a username, and one or moreCredentials
, for instance a password. See AuthTokens for available types of IAuthTokens.
- IAuthTokenManager
Common interface for components that can provide auth tokens. For pre-baked implementations of this interface, see AuthTokenManagers.
- IBookmarkManager
The IBookmarkManager interface is intended for implementation by classes that provide convenient interfacing with Bookmarks in both the driver and user code.
- IBookmarkManagerFactory
The IBookmarkManagerFactory interface is intended for classes that construct instances of an IBookmarkManager implementation.
- IClientCertificateProvider
Provides a client certificate to the driver for mutual TLS.
The driver will call GetCertificateAsync() to get the latest certificate to use for new connections. The certificate is only used as a second factor for authentication authenticating the client. The DBMS user still needs to authenticate with an authentication token. All implementations of this interface must be thread-safe and non-blocking for caller threads. For instance, IO operations must not be done on the calling thread. Note that the work done in the methods of this interface count towards the connectionAcquisition. Should fetching the certificate be particularly slow, it might be necessary to increase the timeout.
- IConfiguredQuery<TIn, TOut>
A query that can no longer be configured.
- ICounters
Represents the changes to the database made as a result of a query being run.
- IDatabaseInfo
Provides information about the database that processed the query.
- IDriver
The IDriver instance maintains the connections with a Neo4j database, providing an access point via the IAsyncSession method.
- IEntity
Represents an
Entity
in the Neo4j graph database. AnEntity
could be aNode
or aRelationship
.
- IExecutableQuery<TIn, TOut>
Exposes methods for configuring and executing a driver-level query.
- IGqlStatusObject
This is a preview API, This API may change between minor revisions.
The GQL-status object as defined by the GQL standard. Returned by GqlStatusObjects
- IInputPosition
An input position refers to a specific character in a query.
- ILogger
The new ILogger differs from the legacy one in the message format the logging methods are accepting. In ILogger, each logging method accepts a message which specifies how the message would be formatted and one or many arguments that are used to replace placeholders in the message string. The following example shows a simplified version of how the ILogger is used in this driver:
logger.Info("Hello {0}, {1}", "Alice", "Bob");
- INode
Represents a
Node
in the Neo4j graph database.
- INotification
Representation for notifications found when executing a query. A notification can be visualized in a client pinpointing problems or other information about the query.
- INotificationsConfig
Marker interface for configuration objects of notifications.
Notification configuration allows the driver to specify which notification categories or severities to ignore when analyzing queries.
- IPath
A
Path
is a directed sequence of relationships between two nodes. This generally represents a traversal or walk through a graph and maintains a direction separate from that of any relationships traversed. It is allowed to be of size 0, meaning there are no relationships in it. In this case, it contains only a single node which is both the start and the end of the path.
- IPlan
This describes the
Plan
that the database planner produced and used (or will use) to execute your query. This can be extremely helpful in understanding what a query is doing, and how to optimize it. For more details, see the Neo4j Manual. The plan for the query is a tree of plans - each sub-tree containing zero or more child plans. The query starts with the root plan. Each sub-plan is of a specific OperatorType, which describes what that part of the plan does - for instance, perform an index lookup or filter results. The Neo4j Manual contains a reference of the available operator types, and these may differ across Neo4j versions.
- IProfiledPlan
This is the same as a regular IPlan - except this plan has been executed, meaning it also contains detailed information about how much work each step of the plan incurred on the database.
- IRecord
A record contains ordered key and value pairs
- IReducedExecutableQuery<TOut>
A query that has been configured fully and now can only be executed.
- IRelationship
Represents a
Relationship
in the Neo4j graph database.
- IResultCursor
Provides access to the result as an asynchronous stream of IRecords. The records in the result is lazily retrieved and can be visited only once in a sequential order.
- IResultSummary
The result summary of running a query. The result summary interface can be used to investigate details about the result, like the type of query run, how many and which kinds of updates have been executed, and query plan and profiling information if available. The result summary is only available after all result records have been consumed. Keeping the result summary around does not influence the lifecycle of any associated session and/or transaction.
- IRotatingClientCertificateProvider
This interface allows for the implementation of a client certificate provider that can be updated with new certificates.
- IServerAddressResolver
Used by routing driver to resolve the initial address used to create the driver. Such resolution happens: 1) during the very first rediscovery when driver is created. 2) when all the known routers from the current routing table have failed and driver needs to fallback to the initial address.
- IServerInfo
Provides basic information of the server where the cypher query was executed.
- ITlsNegotiator
Defines a method that negotiates a TLS connection.
Enums
- AccessMode
Used by driver to route a cypher query to a write server or a read server.
- Category
Used In conjunction with Severity to filter which INotifications will be sent in Notifications.
Can be used in WithNotifications(Severity?, Category[], Classification[]) and WithNotifications(Severity?, Category[], Classification[]).
- CertificateTrustRule
Rules for how to validate a server certificate.
- Classification
Severity to filter which IGqlStatusObject and INotifications will be sent in GqlStatusObjects and Notifications .
Can be used in WithNotifications(Severity?, Category[], Classification[]) and WithNotifications(Severity?, Category[], Classification[]).
- EncryptionLevel
Control the level of encryption to require.
- NotificationCategory
Represents the category of server notifications surfaced by INotification.
Used in conjunction with NotificationSeverity.
- NotificationClassification
This is a preview API, This API may change between minor revisions.
Represents the classification of server notifications surfaced by IGqlStatusObject.
Used in conjunction with NotificationSeverity.
- NotificationSeverity
Represents the severity of server notifications surfaced by INotification.
Used in conjunction with NotificationCategory.
- QueryType
The type of a query.
- RoutingControl
Used for specifying which members of a neo4j cluster will process the workload.
default: Writers
- Severity
Used In conjunction with Category to filter which INotifications will be sent in Notifications.
Can be used in WithNotifications(Severity?, Category[], Classification[]) and WithNotifications(Severity?, Category[], Classification[]).
- ZonedDateTime.AmbiguityReason
Used by the driver to explain the cause of a ZonedDateTime's Ambiguous being true.
Delegates
- NegotiateTlsDelegate
A delegate that negotiates a TLS connection.