入门
关于官方 .NET 驱动程序
Neo4j 为许多流行的编程语言提供官方驱动程序。这些驱动程序由 Neo4j 支持。
许多语言也存在社区驱动程序,但其功能集、成熟度和支持差异很大。要了解有关社区驱动程序的更多信息,请访问 https://neo4j.ac.cn/developer/language-guides/。
以下语言和框架由 Neo4j 官方支持
语言/框架 | 支持的版本 |
---|---|
.NET |
.NET Standard 2.0。 |
Go |
所有 官方维护的 Go 版本。 |
Java |
Java 17。 |
JavaScript |
所有 Node.JS 的 LTS 版本。 |
Python |
Python 3.7 及以上版本。 |
驱动程序 API 旨在与拓扑无关。这意味着底层数据库拓扑(单实例、因果集群等)可以更改,而无需对应用程序代码进行相应的更改。
在一般情况下,当对拓扑进行更改时,只需要修改 连接 URI。
官方驱动程序不支持 HTTP 通信。如果您需要 HTTP 驱动程序,请选择一个社区驱动程序。 另请参阅 HTTP API 文档。 |
驱动程序版本和安装
在可能的情况下,建议使用最新的稳定驱动程序版本。这将提供最大的稳定性,并确保所有服务器功能都可用。驱动程序与 **Neo4j 企业版** 一起使用时,具有完整的集群路由支持。但是,驱动程序不会在 **企业版** 和 **社区版** 之间进行显式区分,而只是使用 **Neo4j** 本身提供的功能进行操作。
.NET 驱动程序通过 NuGet 库分发。要查找驱动程序的最新版本,请访问 https://nuget.net.cn/packages/Neo4j.Driver/。
依赖项
-
.NETStandard (^2.0)
-
System.Net.NameResolution (^4.3.0)
-
System.Net.Security (^4.3.2)
-
System.Net.Sockets (^4.3.0)
-
System.Runtime.InteropServices.RuntimeInformation (^4.3.0)
-
System.Runtime.Serialization.Primitives (^4.3.0)
-
System.Threading.Thread (^4.3.0)
-
System.ValueTuple (^4.5.0)
.NET 反应式 API 位于包 Neo4j.Driver.Reactive
中。它基于 System.Reactive
。使用 .NET 反应式 API 不需要额外的依赖项。
要在 Visual Studio 中使用 NuGet 安装驱动程序的最新版本
PM> Install-Package Neo4j.Driver
也可以选择安装特定版本的驱动程序。
PM> Install-Package Neo4j.Driver -Version $DOTNET_DRIVER_VERSION
.Net 驱动程序默认使用异步方法。如果您想使用阻塞调用,Neo4j.Driver.Simple
NuGet 包包含一组扩展。可以在 https://nuget.net.cn/packages/Neo4j.Driver.Simple/ 找到它。初始示例使用了这些扩展。
在下面的示例中,我们安装了驱动程序版本 5.26。
PM> Install-Package Neo4j.Driver -Version 5.26
此驱动程序的发行说明可在 此处 获取。
"Hello World" 示例
以下示例显示了通过 .NET 驱动程序与 **Neo4j** 交互所需的最小配置
public class HelloWorldExample : IDisposable
{
private readonly IDriver _driver;
public HelloWorldExample(string uri, string user, string password)
{
_driver = GraphDatabase.Driver(uri, AuthTokens.Basic(user, password));
}
public void PrintGreeting(string message)
{
using var session = _driver.Session();
var greeting = session.ExecuteWrite(
tx =>
{
var result = tx.Run(
"CREATE (a:Greeting) " +
"SET a.message = $message " +
"RETURN a.message + ', from node ' + id(a)",
new { message });
return result.Single()[0].As<string>();
});
Console.WriteLine(greeting);
}
public void Dispose()
{
_driver?.Dispose();
}
public static void Main()
{
using var greeter = new HelloWorldExample("bolt://localhost:7687", "neo4j", "password");
greeter.PrintGreeting("hello, world");
}
}
驱动程序 API 文档
有关所有驱动程序功能的完整列表,请参阅 .NET API 参考文档。