Click or drag to resize

Neo4j.Driver Namespace

The base namespace for interaction with the Neo4j .NET Driver.
Classes
  ClassDescription
Public classArgumentErrorException
A generic argument error has occurred. To recover from this a new session needs to be created.
Public classAuthenticationException
Failed to authentication the client to the server due to bad credentials To recover from this error, close the current driver and restart with the correct credentials
Public classAuthorizationException
The authorization information maintained on the server has expired. The client should reconnect.
Public classAuthSchemes
Contains constants for identifying authentication schemes.
Public classAuthTokens
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.
Public classBookmark Obsolete.
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.
Public classBookmarkManagerConfig
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.
Public classBookmarks
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.
Public classClientException
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.
Public classConfig
Use this class to configure the IDriver.
Public classConfigBuilder
Provides a way to generate a Config instance fluently.
Public classConnectionReadTimeoutException
A ConnectionReadTimeoutException indicates that the driver timed out trying to read from the network socket.
Public classDatabaseException
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.
Public classDriverExtensions
Provides extension methods on IDriver for acquiring synchronous session instances.
Public classDuration
Represents temporal amount containing months, days, seconds and nanoseconds.
Remarks
A duration can hold a negative value.
Public classEagerResultT
Complete, materialized result from a cypher query.
Public classFatalDiscoveryException
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.
Public classForbiddenException
This operation is forbidden.
Public classGraphDatabase
Creates IDriver instances, optionally letting you configure them.
Public classInvalidBookmarkException
The provided bookmark is invalid. To recover from this a new session needs to be created.
Public classInvalidBookmarkMixtureException
The provided bookmark is invalid. To recover from this a new session needs to be created.
Public classLocalDate
Represents a date value, without a time zone and time related components
Public classLocalDateTime
Represents a local date time value, without a time zone
Public classLocalTime
Represents a local time value
Public classNeo4jException
The base class for all Neo4j exceptions.
Public classOffsetTime
Represents a time value with a UTC offset
Public classPoint
Represents a single three-dimensional point in a particular coordinate reference system.
Public classProtocolException
There was a bolt protocol violation of the contract between the driver and the server. When seen this error, contact driver developers.
Public classQuery
An executable query, i.e. the queries' text and its parameters.
Public classQueryConfig
Configuration for running queries using the simplified api.
Public classQueryConfigT
Configuration for running queries using the simplified API.
Public classResultConsumedException
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.
Public classResultCursorExtensions
Extension methods for IResultCursor
Public classSecurityException
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.
Public classServerAddress
A server address consists of Host and Port. This address specifies where the driver to find the server.
Public classServiceUnavailableException
A ServiceUnavailableException indicates that the driver cannot communicate with the cluster.
Public classSessionConfig
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.
Public classSessionConfigBuilder
The builder to build a SessionConfig.
Public classSessionExpiredException
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.
Public classTemporalValue
Base class for temporal values
Public classTokenExpiredException
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.
Public classTransactionClosedException
Public classTransactionConfig
Configuration object containing settings for explicit and auto-commit transactions. Leave the fields unmodified to use server side transaction configurations.

For example, the following code starts a transaction using server default transaction configurations.

session.BeginTransaction(b=>{});
Public classTransactionConfigBuilder
The builder to create a TransactionConfig
Public classTransactionNestingException
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.
Public classTransientException
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.
Public classTrustManager
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.
Public classTypeException
An error occurred related to data typing.
Public classUnknownSecurityException
An unknown security error occurred.
Public classUnsupportedFeatureException
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.
Public classValueExtensions
A collection of extensions to process values streamed back via Bolt.
Public classValueOverflowException
A value retrieved from the database cannot be represented with the type to be converted, and will cause working with a modified data.
Public classValueTruncationException
A value retrieved from the database needs to be truncated for this conversion to work, and will cause working with a modified data.
Public classZone
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(Int32) or Of(String) members.
Public classZonedDateTime
Represents a date time value with a time zone, specified as a UTC offset
Public classZoneId
Represents a time zone specified by its time zone identifier.
Public classZoneOffset
Represents a time zone specified by its offset from UTC.
Interfaces
  InterfaceDescription
Public interfaceIAsyncQueryRunner
Common interface for components that can execute Neo4j queries.
Public interfaceIAsyncSession
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.
Public interfaceIAsyncTransaction
Represents a transaction in the Neo4j database.
Public interfaceIAuthToken
An authentication token is used to authenticate with a Neo4j instance. It usually contains a Principal, for instance a username, and one or more Credentials, for instance a password. See AuthTokens for available types of IAuthTokens.
Public interfaceIBookmarkManager
The IBookmarkManager interface is intended for implementation by classes that provide convenient interfacing with Bookmarks in both the driver and user code.
Public interfaceIBookmarkManagerFactory
The IBookmarkManagerFactory interface is intended for classes that construct instances of an IBookmarkManager implementation.
Public interfaceIConfiguredQueryTIn, TOut
A query that can no longer be configured.
Public interfaceICounters
Represents the changes to the database made as a result of a query being run.
Public interfaceIDatabaseInfo
Provides information about the database that processed the query.
Public interfaceIDriver
The IDriver instance maintains the connections with a Neo4j database, providing an access point via the IAsyncSession method.
Public interfaceIEntity
Represents an Entity in the Neo4j graph database. An Entity could be a Node or a Relationship.
Public interfaceIExecutableQueryTIn, TOut
Exposes methods for configuring and executing a driver-level query.
Public interfaceIInputPosition
An input position refers to a specific character in a query.
Public interfaceILogger
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");
Public interfaceINode
Represents a Node in the Neo4j graph database.
Public interfaceINotification
Representation for notifications found when executing a query. A notification can be visualized in a client pinpointing problems or other information about the query.
Public interfaceINotificationsConfig
Marker interface for configuration objects of notifications.

Notification configuration allows the driver to specify which notification categories or severities to ignore when analyzing queries.
Public interfaceIPath
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.
Public interfaceIPlan
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.
Public interfaceIProfiledPlan
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.
Public interfaceIQueryRunner
Common interface for components that can execute Neo4j queries.
Public interfaceIRecord
A record contains ordered key and value pairs
Public interfaceIReducedExecutableQueryTOut
A query that has been configured fully and now can only be executed.
Public interfaceIRelationship
Represents a Relationship in the Neo4j graph database.
Public interfaceIResult
Provides access to the result as an IEnumerableT of IRecords. The records in the result is lazily retrieved and could only be visited once.
Public interfaceIResultCursor
Provides access to the result as an asynchronous stream of IRecords. The records in the result is lazily retrieved and could only be visited once in a sequential order.
Public interfaceIResultSummary
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.
Public interfaceIRxResult
The reactive result interface
Public interfaceIRxRunnable
Common interface that enables execution of Neo4j query using Reactive API.
Public interfaceIRxSession
A reactive session, which provides the same functionality as IAsyncSession but with reactive API.
Public interfaceIRxTransaction
A reactive transaction, which provides the same functionality as IAsyncTransaction but with reactive API.
Public interfaceIServerAddressResolver
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.
Public interfaceIServerInfo
Provides basic information of the server where the cypher query was executed.
Public interfaceISession
A live session with a Neo4j instance. Sessions serve two purposes. For one, they are an optimization. By keeping state on the database side, we can avoid re-transmitting certain metadata over and over. Sessions also serve a role in transaction isolation and ordering semantics. Neo4j requires "sticky sessions", meaning all requests within one session must always go to the same Neo4j instance. AsyncSession objects are not thread safe, if you want to run concurrent operations against the database, simply create multiple session objects.
Public interfaceITransaction
Represents a transaction in the Neo4j database. This interface may seem surprising in that it does not have explicit Commit or Rollback methods. It is designed to minimize the complexity of the code you need to write to use transactions in a safe way, ensuring that transactions are properly rolled back even if there is an exception while the transaction is running.
Enumerations
  EnumerationDescription
Public enumerationAccessMode
Used by driver to route a cypher query to a write server or a read server.
Public enumerationCategory
Public enumerationCertificateTrustRule
Rules for how to validate a server certificate.
Public enumerationEncryptionLevel
Control the level of encryption to require.
Public enumerationNotificationCategory
Represents the category of server notifications surfaced by INotification.
Used in conjunction with NotificationSeverity.
Public enumerationNotificationSeverity
Represents the severity of server notifications surfaced by INotification.
Used in conjunction with NotificationCategory.
Public enumerationQueryType
The type of a query.
Public enumerationRoutingControl
Used for specifying which members of a neo4j cluster will process the workload.
default: Writers
Public enumerationSeverity
Public enumerationZonedDateTimeAmbiguityReason
Used by the driver to explain the cause of a ZonedDateTime's Ambiguous being true.