从 .NET 使用 Neo4j
如果您是 .NET 开发人员,本指南将概述连接到 Neo4j 的选项。虽然本指南并非面面俱到,但它将介绍不同的驱动程序并链接到相关资源。
先决条件
您应该熟悉 图数据库概念 和属性图模型。您应该已经 创建了 Neo4j AuraDB 云实例,或者 在本地安装了 Neo4j。
Neo4j .Net 驱动程序
Neo4j .NET 驱动程序由 Neo4j **正式支持**,并使用二进制协议连接到数据库。它旨在保持最小化,同时保持 .NET 的习惯用法。
PM> Install-Package Neo4j.Driver-5.22.0
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 async Task PrintGreetingAsync(string message)
{
await using var session = _driver.AsyncSession();
var greeting = await session.ExecuteWriteAsync(
async tx =>
{
var result = await tx.RunAsync(
"CREATE (a:Greeting) " +
"SET a.message = $message " +
"RETURN a.message + ', from node ' + id(a)",
new { message });
var record = await result.SingleAsync();
return record[0].As<string>();
});
Console.WriteLine(greeting);
}
public void Dispose()
{
_driver?.Dispose();
}
}
驱动程序配置
从 Neo4j 版本 **4.0** 开始,默认加密设置默认情况下为 **关闭**,Neo4j 将不再生成自签名证书。这适用于默认安装、通过 Neo4j 桌面和 Docker 镜像的安装。您可以 通过检查neo4j.conf
中的dbms.connector.bolt.enabled
键来验证服务器的加密级别。
证书类型 | Neo4j 集群 | Neo4j 独立服务器 | 直接连接到集群成员 |
---|---|---|---|
未加密 |
|
|
|
使用完整证书加密 |
|
|
|
使用自签名证书加密 |
|
|
|
|
N/A |
N/A |
在投入生产时查看您的 SSL 框架设置。如有必要,您也可以 使用 Letsencrypt 为 Neo4j 生成证书
名称 |
版本 |
作者 |
Neo4j .Net 驱动程序 |
5.22.0 |
Neo4j 团队、Charlotte Skardon、Martin Jensen |
示例项目
Neo4j 示例项目是一个小型单页面 Web 应用程序,用于 Neo4j 教程中内置的电影数据库。前端页面对所有驱动程序都相同:电影搜索、电影详细信息以及演员和电影的图可视化。每个后端实现都向您展示了如何从不同的语言和驱动程序连接到 Neo4j。
您可以 在这里了解有关我们跨多种语言驱动程序的小型一致示例项目的更多信息。您将发现所有驱动程序的实现都作为 单独的 GitHub 存储库,您可以直接克隆和部署它们。